diff --git a/README.md b/README.md index 28c6bb7b..c4e6f815 100755 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ [![npm download][download-image]][download-url]   + [download-image]: https://img.shields.io/npm/dm/react-tooltip.svg?style=flat-square @@ -17,7 +18,7 @@
-If you like the project, please give the project a GitHub 🌟 +If you like the project, please give the project a GitHub 🌟 ## Demo @@ -56,6 +57,7 @@ yarn add react-tooltip ## Usage > :warning: If you were already using `react-tooltip<=5.7.5`, you'll be getting some deprecation warnings regarding the `anchorId` prop and some other features. + In versions >=5.8.0, we've introduced the `data-tooltip-id` attribute, and the `anchorSelect` prop, which are our recommended methods of using the tooltip moving forward. Check [the docs](https://react-tooltip.com/docs/getting-started) for more details. ### Using NPM package @@ -121,11 +123,11 @@ Check [the V5 docs](https://react-tooltip.com/docs/getting-started) for more com You can import `node_modules/react-tooltip/dist/react-tooltip.[mode].js` into your page. Please make sure that you have already imported `react` and `react-dom` into your page. -mode: `esm` `cjs` `umd` +mode: `esm` `cjs` `iife` Don't forget to import the CSS file from `node_modules/react-tooltip/dist/react-tooltip.css` to set default styling. This needs to be done only once in your application. -PS: all the files have a minified version and a non-minified version. +PS: all the files have a minified version and a non-minified version and the default to be imported are the minified files.  @@ -145,7 +147,7 @@ You can use [`renderToStaticMarkup()` function](https://reactjs.org/docs/react-d ```jsx import ReactDOMServer from 'react-dom/server'; [...] -I am JSX content)} > @@ -175,7 +177,6 @@ import ReactDOMServer from 'react-dom/server'; [wwayne](https://github.com/wwayne) (inactive) - Creator of the original React Tooltip (V1.x ~ V4.x.) - We would gladly accept a new maintainer to help out! ## Contributing diff --git a/bundlesize.config.json b/bundlesize.config.json index 2880c41a..11f7f95c 100644 --- a/bundlesize.config.json +++ b/bundlesize.config.json @@ -1,15 +1,15 @@ { "files": [ { - "path": "./dist/react-tooltip.cjs.min.js", + "path": "./dist/react-tooltip.min.cjs", "maxSize": "10 kB" }, { - "path": "./dist/react-tooltip.esm.min.js", + "path": "./dist/react-tooltip.min.mjs", "maxSize": "10 kB" }, { - "path": "./dist/react-tooltip.iife.min.js", + "path": "./dist/react-tooltip.min.iife.js", "maxSize": "10 kB" } ] diff --git a/esbuild.config.prod.mjs b/esbuild.config.prod.mjs index 695dabfd..264b637f 100644 --- a/esbuild.config.prod.mjs +++ b/esbuild.config.prod.mjs @@ -5,12 +5,12 @@ import fs from 'fs' const buildsConfig = [ { format: 'esm', - outfile: 'dist/react-tooltip.esm.js', + outfile: 'dist/react-tooltip.mjs', minify: false, }, { format: 'cjs', - outfile: 'dist/react-tooltip.cjs.js', + outfile: 'dist/react-tooltip.cjs', minify: false, }, { @@ -25,22 +25,17 @@ const buildsConfig = [ }, { format: 'esm', - outfile: 'dist/react-tooltip.esm.min.js', + outfile: 'dist/react-tooltip.min.mjs', minify: true, }, { format: 'cjs', - outfile: 'dist/react-tooltip.cjs.min.js', + outfile: 'dist/react-tooltip.min.cjs', minify: true, }, { format: 'iife', - outfile: 'dist/react-tooltip.iife.min.js', - minify: true, - }, - { - format: 'esm', - outfile: 'dist/react-tooltip.min.js', + outfile: 'dist/react-tooltip.min.iife.js', minify: true, }, ] diff --git a/package.json b/package.json index 85d4e550..0b741dff 100644 --- a/package.json +++ b/package.json @@ -18,9 +18,20 @@ "postbuild": "npm run types && npm run bundlesize", "prepublishOnly": "npm run build" }, - "main": "dist/react-tooltip.cjs.min.js", - "module": "dist/react-tooltip.esm.min.js", + "main": "dist/react-tooltip.min.cjs", + "module": "dist/react-tooltip.min.mjs", "types": "dist/react-tooltip.d.ts", + "exports": { + ".": { + "types": "./dist/react-tooltip.d.ts", + "require": "./dist/react-tooltip.min.cjs", + "import": "./dist/react-tooltip.min.mjs", + "default": "./dist/react-tooltip.min.cjs" + }, + "./dist/react-tooltip.css": "./dist/react-tooltip.css", + "./dist/react-tooltip.d.ts": "./dist/react-tooltip.d.ts", + "./package.json": "./package.json" + }, "license": "MIT", "private": false, "author": "ReactTooltip", diff --git a/rollup.config.prod.js b/rollup.config.prod.js index 8794ab45..9b6b0723 100644 --- a/rollup.config.prod.js +++ b/rollup.config.prod.js @@ -27,11 +27,11 @@ const buildFormats = [ format: 'umd', }, { - file: 'dist/react-tooltip.cjs.js', + file: 'dist/react-tooltip.cjs', format: 'cjs', }, { - file: 'dist/react-tooltip.esm.js', + file: 'dist/react-tooltip.mjs', format: 'es', }, ] @@ -96,7 +96,7 @@ const defaultOutputData = buildFormats.map(({ file, format }) => ({ // this step is just to build the minified css and es modules javascript const minifiedOutputData = buildFormats.map(({ file, format }) => ({ - file: file.replace('.js', '.min.js'), + file: file.replace('.js', '.min.js').replace('.cjs', '.min.cjs').replace('.mjs', '.min.mjs'), format, plugins: [...pluginsForCSSMinification, terser(), filesize()], }))