Skip to content
This repository was archived by the owner on Dec 30, 2022. It is now read-only.

Commit 5261883

Browse files
author
Yannick Croissant
authored
fix(esm): fix tree shaking on ESM build (#866)
1 parent 986a992 commit 5261883

File tree

4 files changed

+56
-49
lines changed

4 files changed

+56
-49
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
dist/
2+
es/
23
yarn-error.log
34
node_modules/
45
coverage

package.json

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@
1919
"version": "3.2.0",
2020
"files": [
2121
"dist",
22-
"src"
22+
"src",
23+
"es"
2324
],
2425
"main": "dist/vue-instantsearch.common.js",
25-
"module": "dist/vue-instantsearch.esm.js",
26+
"module": "es/src/instantsearch.js",
2627
"sideEffects": false,
2728
"repository": "https://github.com/algolia/vue-instantsearch",
2829
"scripts": {
29-
"build": "rollup -c",
30+
"build": "rm -rf dist es && rollup -c",
3031
"storybook": "start-storybook -p 9001 -c .storybook",
3132
"storybook:build": "build-storybook -c .storybook -o website/stories",
3233
"examples:build": "yarn build && ./examples/build.sh",
@@ -87,7 +88,7 @@
8788
"jest-watch-typeahead": "0.2.1",
8889
"lodash": "4.17.19",
8990
"prettier": "1.14.3",
90-
"rollup": "1.16.7",
91+
"rollup": "1.32.1",
9192
"rollup-plugin-buble": "0.19.6",
9293
"rollup-plugin-commonjs": "10.0.1",
9394
"rollup-plugin-filesize": "9.0.0",
@@ -115,10 +116,6 @@
115116
"path": "./dist/vue-instantsearch.js",
116117
"maxSize": "48.00 kB"
117118
},
118-
{
119-
"path": "./dist/vue-instantsearch.esm.js",
120-
"maxSize": "15.75 kB"
121-
},
122119
{
123120
"path": "./dist/vue-instantsearch.common.js",
124121
"maxSize": "16 kB"

rollup.config.js

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,22 @@ const processEnv = conf => ({
1212
'process.env': `(${JSON.stringify(conf)})`,
1313
});
1414

15+
const plugins = [
16+
commonjs(),
17+
vue({ compileTemplate: true, css: false }),
18+
json(),
19+
buble({
20+
transforms: {
21+
dangerousForOf: true,
22+
},
23+
}),
24+
replace(processEnv({ NODE_ENV: 'production' })),
25+
terser({
26+
sourcemap: true,
27+
}),
28+
filesize(),
29+
];
30+
1531
export default [
1632
{
1733
input: 'src/instantsearch.js',
@@ -28,26 +44,26 @@ export default [
2844
format: 'cjs',
2945
exports: 'named',
3046
},
47+
],
48+
plugins: [...plugins],
49+
},
50+
{
51+
input: 'src/instantsearch.js',
52+
external: [
53+
'algoliasearch-helper',
54+
'instantsearch.js/es',
55+
'instantsearch.js/es/connectors',
56+
'vue',
57+
],
58+
output: [
3159
{
3260
sourcemap: true,
33-
file: `dist/vue-instantsearch.esm.js`,
61+
dir: `es`,
3462
format: 'es',
3563
},
3664
],
37-
plugins: [
38-
commonjs(),
39-
vue({ compileTemplate: true, css: false }),
40-
json(),
41-
buble({
42-
transforms: {
43-
dangerousForOf: true,
44-
},
45-
}),
46-
terser({
47-
sourcemap: true,
48-
}),
49-
filesize(),
50-
],
65+
preserveModules: true,
66+
plugins: [...plugins],
5167
},
5268
{
5369
input: 'src/instantsearch.umd.js',
@@ -65,23 +81,11 @@ export default [
6581
},
6682
],
6783
plugins: [
68-
vue({ compileTemplate: true, css: false }),
69-
json(),
84+
...plugins,
7085
resolve({
7186
browser: true,
7287
preferBuiltins: false,
7388
}),
74-
buble({
75-
transforms: {
76-
dangerousForOf: true,
77-
},
78-
}),
79-
replace(processEnv({ NODE_ENV: 'production' })),
80-
commonjs(),
81-
terser({
82-
sourcemap: true,
83-
}),
84-
filesize(),
8589
],
8690
},
8791
];

yarn.lock

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,11 @@
680680
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
681681
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
682682

683+
"@types/estree@*":
684+
version "0.0.45"
685+
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884"
686+
integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==
687+
683688
684689
version "0.0.39"
685690
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
@@ -730,11 +735,6 @@
730735
resolved "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz#ee1128e881b874c371374c1f72201893616417c9"
731736
integrity sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==
732737

733-
"@types/node@^12.0.10":
734-
version "12.6.3"
735-
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.3.tgz#44d507c5634f85e7164707ca36bba21b5213d487"
736-
integrity sha512-7TEYTQT1/6PP53NftXXabIZDaZfaoBdeBm8Md/i7zsWRoBe0YwOXguyK8vhHs8ehgB/w9U4K/6EWuTyp0W6nIA==
737-
738738
"@types/normalize-package-data@^2.4.0":
739739
version "2.4.0"
740740
resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
@@ -1025,11 +1025,16 @@ acorn@^5.5.0:
10251025
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
10261026
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
10271027

1028-
acorn@^6.0.7, acorn@^6.1.1:
1028+
acorn@^6.0.7:
10291029
version "6.1.1"
10301030
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
10311031
integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
10321032

1033+
acorn@^7.1.0:
1034+
version "7.4.0"
1035+
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
1036+
integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
1037+
10331038
add-stream@^1.0.0:
10341039
version "1.0.0"
10351040
resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
@@ -13355,14 +13360,14 @@ [email protected]:
1335513360
require-relative "0.8.7"
1335613361
rollup-pluginutils "^2.0.1"
1335713362

13358-
rollup@1.16.7:
13359-
version "1.16.7"
13360-
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.16.7.tgz#4b539ca22465df39f6c963d2001d95f6527e97e1"
13361-
integrity sha512-P3GVcbVSLLjHWFLKGerYRe3Q/yggRXmTZFx/4WZf4wzGwO6hAg5jyMAFMQKc0dts8rFID4BQngfoz6yQbI7iMQ==
13363+
rollup@1.32.1:
13364+
version "1.32.1"
13365+
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4"
13366+
integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==
1336213367
dependencies:
13363-
"@types/estree" "0.0.39"
13364-
"@types/node" "^12.0.10"
13365-
acorn "^6.1.1"
13368+
"@types/estree" "*"
13369+
"@types/node" "*"
13370+
acorn "^7.1.0"
1336613371

1336713372
rsvp@^3.3.3:
1336813373
version "3.6.2"

0 commit comments

Comments
 (0)