Skip to content

Commit ac3bd7c

Browse files
generate UMD packages as well
1 parent 729f621 commit ac3bd7c

File tree

3 files changed

+140
-5
lines changed

3 files changed

+140
-5
lines changed

package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@
103103
"rollup": "^1.4.1",
104104
"rollup-plugin-babel": "^4.3.2",
105105
"rollup-plugin-commonjs": "^9.2.1",
106-
"rollup-plugin-node-resolve": "^4.0.1"
106+
"rollup-plugin-node-resolve": "^4.0.1",
107+
"rollup-plugin-replace": "^2.2.0",
108+
"rollup-plugin-terser": "^5.1.0"
107109
}
108110
}

rollup.config.js

+50-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import path from 'path';
22
import babel from 'rollup-plugin-babel';
3+
import replace from 'rollup-plugin-replace';
4+
import { terser } from 'rollup-plugin-terser';
35
import commonjs from 'rollup-plugin-commonjs';
46
import nodeResolve from 'rollup-plugin-node-resolve';
57

@@ -9,6 +11,16 @@ const input = './src/index.js';
911

1012
const external = id => !id.startsWith('.') && !path.isAbsolute(id);
1113

14+
const babelConfigEsModules = babel({
15+
runtimeHelpers: true,
16+
plugins: [['@babel/transform-runtime', { useESModules: true }]],
17+
sourceMaps: true,
18+
});
19+
20+
const umdGlobals = {
21+
react: 'React',
22+
};
23+
1224
export default [
1325
{
1426
input,
@@ -37,14 +49,48 @@ export default [
3749
sourcemap: true,
3850
},
3951
external,
52+
plugins: [babelConfigEsModules, nodeResolve(), commonjs()],
53+
},
54+
55+
{
56+
input,
57+
output: {
58+
file: 'dist/index-dev.umd.js',
59+
format: 'umd',
60+
sourcemap: true,
61+
name: 'ReactWindow',
62+
globals: umdGlobals,
63+
},
64+
external: Object.keys(umdGlobals),
4065
plugins: [
41-
babel({
42-
runtimeHelpers: true,
43-
plugins: [['@babel/transform-runtime', { useESModules: true }]],
44-
sourceMaps: true,
66+
babelConfigEsModules,
67+
nodeResolve(),
68+
commonjs(),
69+
replace({
70+
'process.env.NODE_ENV': JSON.stringify('development'),
4571
}),
72+
terser(),
73+
],
74+
},
75+
76+
{
77+
input,
78+
output: {
79+
file: 'dist/index-prod.umd.js',
80+
format: 'umd',
81+
sourcemap: true,
82+
name: 'ReactWindow',
83+
globals: umdGlobals,
84+
},
85+
external: Object.keys(umdGlobals),
86+
plugins: [
87+
babelConfigEsModules,
4688
nodeResolve(),
4789
commonjs(),
90+
replace({
91+
'process.env.NODE_ENV': JSON.stringify('production'),
92+
}),
93+
terser(),
4894
],
4995
},
5096
];

yarn.lock

+87
Original file line numberDiff line numberDiff line change
@@ -2223,6 +2223,11 @@ [email protected], commander@^2.11.0, commander@^2.14.1, commander@^2.9.0, comman
22232223
version "2.15.1"
22242224
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
22252225

2226+
commander@^2.19.0:
2227+
version "2.20.0"
2228+
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
2229+
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
2230+
22262231
commondir@^1.0.1:
22272232
version "1.0.1"
22282233
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -3310,6 +3315,11 @@ estree-walker@^0.6.0:
33103315
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.0.tgz#5d865327c44a618dde5699f763891ae31f257dae"
33113316
integrity sha512-peq1RfVAVzr3PU/jL31RaOjUKLoZJpObQWJJ+LgfcxDUifyLZ1RjPQZTl0pzj2uJ45b7A7XpyppXvxdEqzo4rw==
33123317

3318+
estree-walker@^0.6.1:
3319+
version "0.6.1"
3320+
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
3321+
integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
3322+
33133323
esutils@^2.0.2:
33143324
version "2.0.2"
33153325
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -5073,6 +5083,14 @@ jest-validate@^22.4.0, jest-validate@^22.4.3:
50735083
leven "^2.1.0"
50745084
pretty-format "^22.4.3"
50755085

5086+
jest-worker@^24.6.0:
5087+
version "24.6.0"
5088+
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3"
5089+
integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==
5090+
dependencies:
5091+
merge-stream "^1.0.1"
5092+
supports-color "^6.1.0"
5093+
50765094
50775095
version "20.0.4"
50785096
resolved "https://registry.yarnpkg.com/jest/-/jest-20.0.4.tgz#3dd260c2989d6dad678b1e9cc4d91944f6d602ac"
@@ -5560,6 +5578,13 @@ magic-string@^0.25.1:
55605578
dependencies:
55615579
sourcemap-codec "^1.4.4"
55625580

5581+
magic-string@^0.25.2:
5582+
version "0.25.3"
5583+
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.3.tgz#34b8d2a2c7fec9d9bdf9929a3fd81d271ef35be9"
5584+
integrity sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==
5585+
dependencies:
5586+
sourcemap-codec "^1.4.4"
5587+
55635588
make-dir@^1.0.0:
55645589
version "1.2.0"
55655590
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b"
@@ -5638,6 +5663,13 @@ [email protected]:
56385663
version "1.0.1"
56395664
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
56405665

5666+
merge-stream@^1.0.1:
5667+
version "1.0.1"
5668+
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
5669+
integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=
5670+
dependencies:
5671+
readable-stream "^2.0.1"
5672+
56415673
merge@^1.1.3:
56425674
version "1.2.0"
56435675
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
@@ -7402,6 +7434,25 @@ rollup-plugin-node-resolve@^4.0.1:
74027434
is-module "^1.0.0"
74037435
resolve "^1.10.0"
74047436

7437+
rollup-plugin-replace@^2.2.0:
7438+
version "2.2.0"
7439+
resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz#f41ae5372e11e7a217cde349c8b5d5fd115e70e3"
7440+
integrity sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==
7441+
dependencies:
7442+
magic-string "^0.25.2"
7443+
rollup-pluginutils "^2.6.0"
7444+
7445+
rollup-plugin-terser@^5.1.0:
7446+
version "5.1.0"
7447+
resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.1.0.tgz#82e637613d5af6c85ac4319b508b1c065d64075c"
7448+
integrity sha512-tvJweguo+f9T1SBcSmEMaArCUM07mIg61ArqPj3Fty9OdwTLCxBUBdxS3e1cU68Z1lXf52JBhbt3yRuQoHLtQg==
7449+
dependencies:
7450+
"@babel/code-frame" "^7.0.0"
7451+
jest-worker "^24.6.0"
7452+
rollup-pluginutils "^2.8.1"
7453+
serialize-javascript "^1.7.0"
7454+
terser "^4.0.0"
7455+
74057456
rollup-pluginutils@^2.3.0:
74067457
version "2.3.1"
74077458
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.1.tgz#760d185ccc237dedc12d7ae48c6bcd127b4892d0"
@@ -7417,6 +7468,13 @@ rollup-pluginutils@^2.3.3:
74177468
estree-walker "^0.6.0"
74187469
micromatch "^3.1.10"
74197470

7471+
rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1:
7472+
version "2.8.1"
7473+
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97"
7474+
integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==
7475+
dependencies:
7476+
estree-walker "^0.6.1"
7477+
74207478
rollup@^1.4.1:
74217479
version "1.4.1"
74227480
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.4.1.tgz#cc03ef6fb49dd72a878e3da0131c0a3696de14a7"
@@ -7546,6 +7604,11 @@ [email protected]:
75467604
range-parser "~1.2.0"
75477605
statuses "~1.4.0"
75487606

7607+
serialize-javascript@^1.7.0:
7608+
version "1.7.0"
7609+
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
7610+
integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==
7611+
75497612
serve-index@^1.7.2:
75507613
version "1.9.1"
75517614
resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
@@ -7741,6 +7804,14 @@ source-map-support@^0.5.0:
77417804
buffer-from "^1.0.0"
77427805
source-map "^0.6.0"
77437806

7807+
source-map-support@~0.5.10:
7808+
version "0.5.12"
7809+
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
7810+
integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==
7811+
dependencies:
7812+
buffer-from "^1.0.0"
7813+
source-map "^0.6.0"
7814+
77447815
source-map-url@^0.4.0:
77457816
version "0.4.0"
77467817
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@@ -7999,6 +8070,13 @@ supports-color@^5.3.0, supports-color@^5.4.0:
79998070
dependencies:
80008071
has-flag "^3.0.0"
80018072

8073+
supports-color@^6.1.0:
8074+
version "6.1.0"
8075+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
8076+
integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
8077+
dependencies:
8078+
has-flag "^3.0.0"
8079+
80028080
svgo@^0.7.0:
80038081
version "0.7.2"
80048082
resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
@@ -8097,6 +8175,15 @@ term-size@^1.2.0:
80978175
dependencies:
80988176
execa "^0.7.0"
80998177

8178+
terser@^4.0.0:
8179+
version "4.0.2"
8180+
resolved "https://registry.yarnpkg.com/terser/-/terser-4.0.2.tgz#580cea06c4932f46a48ed13804c93bc93c275968"
8181+
integrity sha512-IWLuJqTvx97KP3uTYkFVn93cXO+EtlzJu8TdJylq+H0VBDlPMIfQA9MBS5Vc5t3xTEUG1q0hIfHMpAP2R+gWTw==
8182+
dependencies:
8183+
commander "^2.19.0"
8184+
source-map "~0.6.1"
8185+
source-map-support "~0.5.10"
8186+
81008187
test-exclude@^4.2.1:
81018188
version "4.2.1"
81028189
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa"

0 commit comments

Comments
 (0)