Skip to content

Commit 93f229a

Browse files
authored
build: esm only output (#161)
* build: only target esm * fix: correct export * fix: restore node-resolve
1 parent ffe9b85 commit 93f229a

File tree

9 files changed

+47
-98
lines changed

9 files changed

+47
-98
lines changed

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ We target by default Node@14 but you can add a browser output by adding a `brows
155155

156156
```js
157157
"browser": {
158-
"dist/index.js": "dist/index.browser.js",
159158
"dist/module.js": "dist/module.browser.js"
160159
}
161160
```
@@ -166,7 +165,7 @@ The browserlist we are currently using is available in the [rollup.config.mjs](.
166165
167166
### On build outputs
168167

169-
We output both UMD and ESM files for each target.
168+
We only output ESM modules.
170169

171170
### On commits
172171

package.json

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414
"@commitlint/cli": "^12.0.0",
1515
"@commitlint/config-conventional": "^12.0.0",
1616
"@rollup/plugin-babel": "^5.2.2",
17-
"@rollup/plugin-commonjs": "^18.0.0",
18-
"@rollup/plugin-node-resolve": "^11.0.1",
17+
"@rollup/plugin-node-resolve": "^13.0.0",
1918
"@testing-library/jest-dom": "^5.11.9",
2019
"@testing-library/react": "^11.2.5",
2120
"@testing-library/react-hooks": "^5.1.0",
@@ -31,13 +30,12 @@
3130
"prettier": "^2.2.1",
3231
"read-pkg": "^6.0.0",
3332
"rollup": "^2.36.1",
34-
"rollup-plugin-analyzer": "^4.0.0",
35-
"rollup-plugin-preserve-shebangs": "^0.2.0"
33+
"rollup-plugin-visualizer": "^5.5.0"
3634
},
3735
"scripts": {
3836
"lint": "eslint --cache .",
3937
"lint:fix": "yarn run lint --fix",
40-
"build": "lerna exec --ignore @scaleway/eslint-* --ignore @scaleway/countries -- rollup -c ../../rollup.config.mjs",
38+
"build": "lerna exec --stream --ignore @scaleway/eslint-* --ignore @scaleway/countries -- rollup -c ../../rollup.config.mjs",
4139
"build:profile": "cross-env PROFILE=true yarn run build",
4240
"commit": "npx git-cz -a",
4341
"test": "jest",

packages/random-name/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
"name": "@scaleway/random-name",
33
"version": "1.3.0",
44
"description": "A small utility to generate a random name",
5-
"main": "dist/index.js",
65
"module": "dist/module.js",
6+
"type": "module",
77
"browser": {
8-
"dist/index.js": "./dist/index.browser.js",
98
"dist/module.js": "./dist/module.browser.js"
109
},
1110
"publishConfig": {

packages/regex/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
"name": "@scaleway/regex",
33
"version": "1.4.1",
44
"description": "A small utility to use regex",
5-
"main": "dist/index.js",
5+
"type": "module",
66
"module": "dist/module.js",
77
"browser": {
8-
"dist/index.js": "./dist/index.browser.js",
98
"dist/module.js": "./dist/module.browser.js"
109
},
1110
"publishConfig": {

packages/use-dataloader/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@
88
"hooks",
99
"dataloader"
1010
],
11-
"main": "dist/index.js",
11+
"type": "module",
1212
"module": "dist/module.js",
1313
"browser": {
14-
"dist/index.js": "./dist/index.browser.js",
1514
"dist/module.js": "./dist/module.browser.js"
1615
},
1716
"publishConfig": {

packages/use-i18n/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@
1010
"intl",
1111
"react-intl"
1212
],
13-
"main": "dist/index.js",
13+
"type": "module",
1414
"module": "dist/module.js",
1515
"browser": {
16-
"dist/index.js": "./dist/index.browser.js",
1716
"dist/module.js": "./dist/module.browser.js"
1817
},
1918
"publishConfig": {

packages/use-query-params/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@
1111
"react-router-dom",
1212
"query-params"
1313
],
14-
"main": "dist/index.js",
14+
"type": "module",
1515
"module": "dist/module.js",
1616
"browser": {
17-
"dist/index.js": "./dist/index.browser.js",
1817
"dist/module.js": "./dist/module.browser.js"
1918
},
2019
"publishConfig": {

rollup.config.mjs

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import { babel } from '@rollup/plugin-babel'
2-
import commonjs from '@rollup/plugin-commonjs'
32
import { nodeResolve } from '@rollup/plugin-node-resolve'
43
import builtins from 'builtin-modules'
54
import { readPackageAsync } from 'read-pkg'
6-
import analyze from 'rollup-plugin-analyzer'
7-
import { preserveShebangs } from 'rollup-plugin-preserve-shebangs'
5+
import { visualizer } from 'rollup-plugin-visualizer'
86

97
const PROFILE = !!process.env.PROFILE
108

@@ -44,24 +42,19 @@ const getConfig = (pkg, isBrowser = false) => {
4442
browser: isBrowser,
4543
preferBuiltins: true,
4644
}),
47-
commonjs({
48-
include: '**/node_modules/**',
49-
}),
50-
preserveShebangs(),
51-
PROFILE && analyze({ summaryOnly: true }),
45+
PROFILE &&
46+
visualizer({
47+
gzipSize: true,
48+
brotliSize: true,
49+
open: true,
50+
filename: '.reports/report.html',
51+
}),
5252
].filter(Boolean),
5353
external,
54-
output: [
55-
{
56-
format: 'umd',
57-
name: pkg.name,
58-
file: isBrowser ? 'dist/index.browser.js' : 'dist/index.js',
59-
},
60-
{
61-
format: 'es',
62-
file: isBrowser ? 'dist/module.browser.js' : 'dist/module.js',
63-
},
64-
],
54+
output: {
55+
format: 'es',
56+
file: isBrowser ? 'dist/module.browser.js' : 'dist/module.js',
57+
},
6558
}
6659
}
6760

yarn.lock

Lines changed: 26 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -2225,23 +2225,10 @@
22252225
"@babel/helper-module-imports" "^7.10.4"
22262226
"@rollup/pluginutils" "^3.1.0"
22272227

2228-
"@rollup/plugin-commonjs@^18.0.0":
2229-
version "18.1.0"
2230-
resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-18.1.0.tgz#5a760d757af168a50727c0ae080251fbfcc5eb02"
2231-
integrity sha512-h3e6T9rUxVMAQswpDIobfUHn/doMzM9sgkMrsMWCFLmB84PSoC8mV8tOloAJjSRwdqhXBqstlX2BwBpHJvbhxg==
2232-
dependencies:
2233-
"@rollup/pluginutils" "^3.1.0"
2234-
commondir "^1.0.1"
2235-
estree-walker "^2.0.1"
2236-
glob "^7.1.6"
2237-
is-reference "^1.2.1"
2238-
magic-string "^0.25.7"
2239-
resolve "^1.17.0"
2240-
2241-
"@rollup/plugin-node-resolve@^11.0.1":
2242-
version "11.2.1"
2243-
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60"
2244-
integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==
2228+
"@rollup/plugin-node-resolve@^13.0.0":
2229+
version "13.0.0"
2230+
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz#352f07e430ff377809ec8ec8a6fd636547162dc4"
2231+
integrity sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ==
22452232
dependencies:
22462233
"@rollup/pluginutils" "^3.1.0"
22472234
"@types/resolve" "1.17.1"
@@ -2364,11 +2351,6 @@
23642351
dependencies:
23652352
"@babel/types" "^7.3.0"
23662353

2367-
"@types/estree@*":
2368-
version "0.0.45"
2369-
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884"
2370-
integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==
2371-
23722354
23732355
version "0.0.39"
23742356
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
@@ -3330,11 +3312,6 @@ commander@^7.2.0:
33303312
resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
33313313
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
33323314

3333-
commondir@^1.0.1:
3334-
version "1.0.1"
3335-
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
3336-
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
3337-
33383315
compare-func@^2.0.0:
33393316
version "2.0.0"
33403317
resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
@@ -4171,11 +4148,6 @@ estree-walker@^1.0.1:
41714148
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
41724149
integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
41734150

4174-
estree-walker@^2.0.1:
4175-
version "2.0.1"
4176-
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.1.tgz#f8e030fb21cefa183b44b7ad516b747434e7a3e0"
4177-
integrity sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==
4178-
41794151
esutils@^2.0.2:
41804152
version "2.0.3"
41814153
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@@ -5305,13 +5277,6 @@ is-potential-custom-element-name@^1.0.0:
53055277
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
53065278
integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c=
53075279

5308-
is-reference@^1.2.1:
5309-
version "1.2.1"
5310-
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
5311-
integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
5312-
dependencies:
5313-
"@types/estree" "*"
5314-
53155280
is-regex@^1.1.2:
53165281
version "1.1.2"
53175282
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
@@ -5381,7 +5346,7 @@ is-windows@^1.0.2:
53815346
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
53825347
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
53835348

5384-
is-wsl@^2.2.0:
5349+
is-wsl@^2.1.1, is-wsl@^2.2.0:
53855350
version "2.2.0"
53865351
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
53875352
integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
@@ -6281,13 +6246,6 @@ lz-string@^1.4.4:
62816246
resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26"
62826247
integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=
62836248

6284-
magic-string@^0.25.7:
6285-
version "0.25.7"
6286-
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
6287-
integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
6288-
dependencies:
6289-
sourcemap-codec "^1.4.4"
6290-
62916249
make-dir@^2.1.0:
62926250
version "2.1.0"
62936251
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@@ -6616,6 +6574,11 @@ [email protected], mute-stream@~0.0.4:
66166574
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
66176575
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
66186576

6577+
nanoid@^3.1.22:
6578+
version "3.1.22"
6579+
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844"
6580+
integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==
6581+
66196582
nanomatch@^1.2.9:
66206583
version "1.2.13"
66216584
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -6979,6 +6942,14 @@ onetime@^5.1.0, onetime@^5.1.2:
69796942
dependencies:
69806943
mimic-fn "^2.1.0"
69816944

6945+
open@^7.4.2:
6946+
version "7.4.2"
6947+
resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321"
6948+
integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
6949+
dependencies:
6950+
is-docker "^2.0.0"
6951+
is-wsl "^2.1.1"
6952+
69826953
optionator@^0.8.1:
69836954
version "0.8.3"
69846955
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
@@ -7981,17 +7952,15 @@ rimraf@^3.0.0, rimraf@^3.0.2:
79817952
dependencies:
79827953
glob "^7.1.3"
79837954

7984-
rollup-plugin-analyzer@^4.0.0:
7985-
version "4.0.0"
7986-
resolved "https://registry.yarnpkg.com/rollup-plugin-analyzer/-/rollup-plugin-analyzer-4.0.0.tgz#96b757ed64a098b59d72f085319e68cdd86d5798"
7987-
integrity sha512-LL9GEt3bkXp6Wa19SNR5MWcvHNMvuTFYg+eYBZN2OIFhSWN+pEJUQXEKu5BsOeABob3x9PDaLKW7w5iOJnsESQ==
7988-
7989-
rollup-plugin-preserve-shebangs@^0.2.0:
7990-
version "0.2.0"
7991-
resolved "https://registry.yarnpkg.com/rollup-plugin-preserve-shebangs/-/rollup-plugin-preserve-shebangs-0.2.0.tgz#e48894c1f68c6fd54b0de10bd26906224d5dc7cd"
7992-
integrity sha512-OEyTIfZwUJ7yUAVAbegac/bNvp1WJzgZcQNCFprWX42wwwOqlJwrev9lUmzZdYVgCWct+03xUPvZg4RfgkM9oQ==
7955+
rollup-plugin-visualizer@^5.5.0:
7956+
version "5.5.0"
7957+
resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.5.0.tgz#dbe9daa3a46576fb697eb62b19ed251112b85d1e"
7958+
integrity sha512-QUd0ZHGYn6rgogS+yzG08AvMk9J4kR1lO1cpLJCIAQhbyIGSBdqCddKWtxDsdmsxhkY/GCGw8CvoSB3MwMQOIQ==
79937959
dependencies:
7994-
magic-string "^0.25.7"
7960+
nanoid "^3.1.22"
7961+
open "^7.4.2"
7962+
source-map "^0.7.3"
7963+
yargs "^16.2.0"
79957964

79967965
rollup@^2.36.1:
79977966
version "2.47.0"
@@ -8330,11 +8299,6 @@ source-map@^0.7.3:
83308299
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
83318300
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
83328301

8333-
sourcemap-codec@^1.4.4:
8334-
version "1.4.8"
8335-
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
8336-
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
8337-
83388302
spdx-correct@^3.0.0:
83398303
version "3.1.1"
83408304
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"

0 commit comments

Comments
 (0)