diff --git a/README.md b/README.md index 8172f68da..c07247072 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,6 @@ We target by default Node@14 but you can add a browser output by adding a `brows ```js "browser": { - "dist/index.js": "dist/index.browser.js", "dist/module.js": "dist/module.browser.js" } ``` @@ -166,7 +165,7 @@ The browserlist we are currently using is available in the [rollup.config.mjs](. ### On build outputs -We output both UMD and ESM files for each target. +We only output ESM modules. ### On commits diff --git a/package.json b/package.json index d99d7abaf..c26e4063e 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,7 @@ "@commitlint/cli": "^12.0.0", "@commitlint/config-conventional": "^12.0.0", "@rollup/plugin-babel": "^5.2.2", - "@rollup/plugin-commonjs": "^18.0.0", - "@rollup/plugin-node-resolve": "^11.0.1", + "@rollup/plugin-node-resolve": "^13.0.0", "@testing-library/jest-dom": "^5.11.9", "@testing-library/react": "^11.2.5", "@testing-library/react-hooks": "^5.1.0", @@ -31,13 +30,12 @@ "prettier": "^2.2.1", "read-pkg": "^6.0.0", "rollup": "^2.36.1", - "rollup-plugin-analyzer": "^4.0.0", - "rollup-plugin-preserve-shebangs": "^0.2.0" + "rollup-plugin-visualizer": "^5.5.0" }, "scripts": { "lint": "eslint --cache .", "lint:fix": "yarn run lint --fix", - "build": "lerna exec --ignore @scaleway/eslint-* --ignore @scaleway/countries -- rollup -c ../../rollup.config.mjs", + "build": "lerna exec --stream --ignore @scaleway/eslint-* --ignore @scaleway/countries -- rollup -c ../../rollup.config.mjs", "build:profile": "cross-env PROFILE=true yarn run build", "commit": "npx git-cz -a", "test": "jest", diff --git a/packages/random-name/package.json b/packages/random-name/package.json index 0ad72f209..39a903729 100644 --- a/packages/random-name/package.json +++ b/packages/random-name/package.json @@ -2,10 +2,9 @@ "name": "@scaleway/random-name", "version": "1.3.0", "description": "A small utility to generate a random name", - "main": "dist/index.js", "module": "dist/module.js", + "type": "module", "browser": { - "dist/index.js": "./dist/index.browser.js", "dist/module.js": "./dist/module.browser.js" }, "publishConfig": { diff --git a/packages/regex/package.json b/packages/regex/package.json index e6e9d687c..2f735ab35 100644 --- a/packages/regex/package.json +++ b/packages/regex/package.json @@ -2,10 +2,9 @@ "name": "@scaleway/regex", "version": "1.4.1", "description": "A small utility to use regex", - "main": "dist/index.js", + "type": "module", "module": "dist/module.js", "browser": { - "dist/index.js": "./dist/index.browser.js", "dist/module.js": "./dist/module.browser.js" }, "publishConfig": { diff --git a/packages/use-dataloader/package.json b/packages/use-dataloader/package.json index 263f650f7..a054c4b01 100644 --- a/packages/use-dataloader/package.json +++ b/packages/use-dataloader/package.json @@ -8,10 +8,9 @@ "hooks", "dataloader" ], - "main": "dist/index.js", + "type": "module", "module": "dist/module.js", "browser": { - "dist/index.js": "./dist/index.browser.js", "dist/module.js": "./dist/module.browser.js" }, "publishConfig": { diff --git a/packages/use-i18n/package.json b/packages/use-i18n/package.json index 0c271b5d1..5b5f90748 100644 --- a/packages/use-i18n/package.json +++ b/packages/use-i18n/package.json @@ -10,10 +10,9 @@ "intl", "react-intl" ], - "main": "dist/index.js", + "type": "module", "module": "dist/module.js", "browser": { - "dist/index.js": "./dist/index.browser.js", "dist/module.js": "./dist/module.browser.js" }, "publishConfig": { diff --git a/packages/use-query-params/package.json b/packages/use-query-params/package.json index 534dda815..bef3584bb 100644 --- a/packages/use-query-params/package.json +++ b/packages/use-query-params/package.json @@ -11,10 +11,9 @@ "react-router-dom", "query-params" ], - "main": "dist/index.js", + "type": "module", "module": "dist/module.js", "browser": { - "dist/index.js": "./dist/index.browser.js", "dist/module.js": "./dist/module.browser.js" }, "publishConfig": { diff --git a/rollup.config.mjs b/rollup.config.mjs index 8c722c0da..c9564faef 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -1,10 +1,8 @@ import { babel } from '@rollup/plugin-babel' -import commonjs from '@rollup/plugin-commonjs' import { nodeResolve } from '@rollup/plugin-node-resolve' import builtins from 'builtin-modules' import { readPackageAsync } from 'read-pkg' -import analyze from 'rollup-plugin-analyzer' -import { preserveShebangs } from 'rollup-plugin-preserve-shebangs' +import { visualizer } from 'rollup-plugin-visualizer' const PROFILE = !!process.env.PROFILE @@ -44,24 +42,19 @@ const getConfig = (pkg, isBrowser = false) => { browser: isBrowser, preferBuiltins: true, }), - commonjs({ - include: '**/node_modules/**', - }), - preserveShebangs(), - PROFILE && analyze({ summaryOnly: true }), + PROFILE && + visualizer({ + gzipSize: true, + brotliSize: true, + open: true, + filename: '.reports/report.html', + }), ].filter(Boolean), external, - output: [ - { - format: 'umd', - name: pkg.name, - file: isBrowser ? 'dist/index.browser.js' : 'dist/index.js', - }, - { - format: 'es', - file: isBrowser ? 'dist/module.browser.js' : 'dist/module.js', - }, - ], + output: { + format: 'es', + file: isBrowser ? 'dist/module.browser.js' : 'dist/module.js', + }, } } diff --git a/yarn.lock b/yarn.lock index 98e67e64a..5112e6909 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2225,23 +2225,10 @@ "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" -"@rollup/plugin-commonjs@^18.0.0": - version "18.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-18.1.0.tgz#5a760d757af168a50727c0ae080251fbfcc5eb02" - integrity sha512-h3e6T9rUxVMAQswpDIobfUHn/doMzM9sgkMrsMWCFLmB84PSoC8mV8tOloAJjSRwdqhXBqstlX2BwBpHJvbhxg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - commondir "^1.0.1" - estree-walker "^2.0.1" - glob "^7.1.6" - is-reference "^1.2.1" - magic-string "^0.25.7" - resolve "^1.17.0" - -"@rollup/plugin-node-resolve@^11.0.1": - version "11.2.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" - integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== +"@rollup/plugin-node-resolve@^13.0.0": + version "13.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz#352f07e430ff377809ec8ec8a6fd636547162dc4" + integrity sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -2364,11 +2351,6 @@ dependencies: "@babel/types" "^7.3.0" -"@types/estree@*": - version "0.0.45" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" - integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== - "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -3330,11 +3312,6 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - compare-func@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" @@ -4171,11 +4148,6 @@ estree-walker@^1.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== -estree-walker@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.1.tgz#f8e030fb21cefa183b44b7ad516b747434e7a3e0" - integrity sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -5305,13 +5277,6 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-reference@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - is-regex@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" @@ -5381,7 +5346,7 @@ is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^2.2.0: +is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -6281,13 +6246,6 @@ lz-string@^1.4.4: resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= -magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -6616,6 +6574,11 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +nanoid@^3.1.22: + version "3.1.22" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" + integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -6979,6 +6942,14 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -7981,17 +7952,15 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup-plugin-analyzer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-analyzer/-/rollup-plugin-analyzer-4.0.0.tgz#96b757ed64a098b59d72f085319e68cdd86d5798" - integrity sha512-LL9GEt3bkXp6Wa19SNR5MWcvHNMvuTFYg+eYBZN2OIFhSWN+pEJUQXEKu5BsOeABob3x9PDaLKW7w5iOJnsESQ== - -rollup-plugin-preserve-shebangs@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-preserve-shebangs/-/rollup-plugin-preserve-shebangs-0.2.0.tgz#e48894c1f68c6fd54b0de10bd26906224d5dc7cd" - integrity sha512-OEyTIfZwUJ7yUAVAbegac/bNvp1WJzgZcQNCFprWX42wwwOqlJwrev9lUmzZdYVgCWct+03xUPvZg4RfgkM9oQ== +rollup-plugin-visualizer@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.5.0.tgz#dbe9daa3a46576fb697eb62b19ed251112b85d1e" + integrity sha512-QUd0ZHGYn6rgogS+yzG08AvMk9J4kR1lO1cpLJCIAQhbyIGSBdqCddKWtxDsdmsxhkY/GCGw8CvoSB3MwMQOIQ== dependencies: - magic-string "^0.25.7" + nanoid "^3.1.22" + open "^7.4.2" + source-map "^0.7.3" + yargs "^16.2.0" rollup@^2.36.1: version "2.47.0" @@ -8330,11 +8299,6 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"