Skip to content

Commit 2b38d1b

Browse files
author
Justin Schrader
authored
Merge pull request #9 from mhelmer/master
Use rollup to bundle es6 and umd modules
2 parents f1132c7 + dd35438 commit 2b38d1b

File tree

5 files changed

+151
-16
lines changed

5 files changed

+151
-16
lines changed

.babelrc

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
11
{
2-
"presets": ["env", "react", "stage-1"],
3-
}
2+
"presets": [
3+
["env", {"modules": false}],
4+
"react",
5+
"stage-1"
6+
],
7+
"env": {
8+
"test": {
9+
"plugins": ["transform-es2015-modules-commonjs"]
10+
}
11+
}
12+
}

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
node_modules
2-
index.js
3-
yarn-error.log
4-
coverage
1+
/node_modules
2+
/dist/*
3+
/yarn-error.log
4+
/coverage

package.json

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"react-router",
1111
"react-router 4"
1212
],
13-
"main": "index.js",
13+
"main": "dist/index.js",
14+
"module": "dist/index.mjs",
1415
"author": "Koan Inc.",
1516
"license": "MIT",
1617
"peerDependencies": {
@@ -20,8 +21,11 @@
2021
},
2122
"devDependencies": {
2223
"babel-cli": "^6.26.0",
24+
"babel-core": "^6.8.0",
2325
"babel-eslint": "^8.0.3",
2426
"babel-jest": "^22.0.0",
27+
"babel-plugin-external-helpers": "^6.22.0",
28+
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
2529
"babel-preset-env": "^1.6.1",
2630
"babel-preset-react": "^6.24.1",
2731
"babel-preset-stage-1": "^6.24.1",
@@ -39,13 +43,17 @@
3943
"react": "^16.2.0",
4044
"react-dom": "^16.2.0",
4145
"react-router": "^4.2.0",
42-
"react-router-dom": "^4.2.2"
46+
"react-router-dom": "^4.2.2",
47+
"rollup": "^0.52.3",
48+
"rollup-plugin-babel": "^3.0.3",
49+
"rollup-plugin-commonjs": "^8.2.6",
50+
"rollup-plugin-node-resolve": "^3.0.0"
4351
},
4452
"scripts": {
4553
"prepublishOnly": "npm run build",
46-
"build": "babel src/index.jsx -o index.js",
47-
"test": "jest",
48-
"test:watch": "jest --watch",
54+
"build": "rollup -c",
55+
"test": "NODE_ENV=test jest",
56+
"test:watch": "npm run test -- --watch",
4957
"travis": "jest && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
5058
"lint": "eslint ./src/**"
5159
}

rollup.config.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import babel from 'rollup-plugin-babel';
2+
import commonjs from 'rollup-plugin-commonjs';
3+
import resolve from 'rollup-plugin-node-resolve';
4+
5+
const pkg = require('./package.json');
6+
7+
const external = Object.keys(pkg.peerDependencies);
8+
9+
const config = {
10+
input: 'src/index.jsx',
11+
globals: {
12+
react: 'React',
13+
'react-router': 'ReactRouter',
14+
},
15+
plugins: [
16+
babel({
17+
exclude: 'node_modules/**',
18+
plugins: ['external-helpers'],
19+
}),
20+
resolve({
21+
module: true,
22+
jsnext: true,
23+
main: true,
24+
}),
25+
commonjs(),
26+
],
27+
external,
28+
output: [
29+
{
30+
file: pkg.main,
31+
format: 'umd',
32+
name: 'BreadCrumbs',
33+
sourcemap: true,
34+
},
35+
{
36+
file: pkg.module,
37+
format: 'es',
38+
sourcemap: true,
39+
},
40+
],
41+
};
42+
43+
export default config;

yarn.lock

Lines changed: 80 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
313313
esutils "^2.0.2"
314314
js-tokens "^3.0.2"
315315

316-
babel-core@^6.0.0, babel-core@^6.26.0:
316+
babel-core@^6.0.0, babel-core@^6.26.0, babel-core@^6.8.0:
317317
version "6.26.0"
318318
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
319319
dependencies:
@@ -504,6 +504,12 @@ babel-plugin-check-es2015-constants@^6.22.0:
504504
dependencies:
505505
babel-runtime "^6.22.0"
506506

507+
babel-plugin-external-helpers@^6.22.0:
508+
version "6.22.0"
509+
resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1"
510+
dependencies:
511+
babel-runtime "^6.22.0"
512+
507513
babel-plugin-istanbul@^4.1.5:
508514
version "4.1.5"
509515
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e"
@@ -691,7 +697,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
691697
babel-runtime "^6.22.0"
692698
babel-template "^6.24.1"
693699

694-
babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
700+
babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.0:
695701
version "6.26.0"
696702
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
697703
dependencies:
@@ -1064,7 +1070,7 @@ browser-process-hrtime@^0.1.2:
10641070
version "0.1.2"
10651071
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e"
10661072

1067-
browser-resolve@^1.11.2:
1073+
browser-resolve@^1.11.0, browser-resolve@^1.11.2:
10681074
version "1.11.2"
10691075
resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
10701076
dependencies:
@@ -1083,7 +1089,7 @@ bser@^2.0.0:
10831089
dependencies:
10841090
node-int64 "^0.4.0"
10851091

1086-
builtin-modules@^1.0.0, builtin-modules@^1.1.1:
1092+
builtin-modules@^1.0.0, builtin-modules@^1.1.0, builtin-modules@^1.1.1:
10871093
version "1.1.1"
10881094
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
10891095

@@ -1723,6 +1729,18 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
17231729
version "4.2.0"
17241730
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
17251731

1732+
estree-walker@^0.2.1:
1733+
version "0.2.1"
1734+
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
1735+
1736+
estree-walker@^0.3.0:
1737+
version "0.3.1"
1738+
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.3.1.tgz#e6b1a51cf7292524e7237c312e5fe6660c1ce1aa"
1739+
1740+
estree-walker@^0.5.0:
1741+
version "0.5.1"
1742+
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.1.tgz#64fc375053abc6f57d73e9bd2f004644ad3c5854"
1743+
17261744
esutils@^2.0.2:
17271745
version "2.0.2"
17281746
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -2314,6 +2332,10 @@ is-glob@^2.0.0, is-glob@^2.0.1:
23142332
dependencies:
23152333
is-extglob "^1.0.0"
23162334

2335+
is-module@^1.0.0:
2336+
version "1.0.0"
2337+
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
2338+
23172339
is-number@^2.1.0:
23182340
version "2.1.0"
23192341
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
@@ -2923,6 +2945,12 @@ lru-cache@^4.0.1:
29232945
pseudomap "^1.0.2"
29242946
yallist "^2.1.2"
29252947

2948+
magic-string@^0.22.4:
2949+
version "0.22.4"
2950+
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.4.tgz#31039b4e40366395618c1d6cf8193c53917475ff"
2951+
dependencies:
2952+
vlq "^0.2.1"
2953+
29262954
29272955
version "1.0.11"
29282956
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -3710,7 +3738,7 @@ [email protected]:
37103738
version "1.1.7"
37113739
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
37123740

3713-
resolve@^1.2.0:
3741+
resolve@^1.1.6, resolve@^1.2.0, resolve@^1.4.0:
37143742
version "1.5.0"
37153743
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
37163744
dependencies:
@@ -3739,6 +3767,49 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
37393767
dependencies:
37403768
glob "^7.0.5"
37413769

3770+
rollup-plugin-babel@^3.0.3:
3771+
version "3.0.3"
3772+
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-3.0.3.tgz#63adedc863130327512a4a9006efc2241c5b7c15"
3773+
dependencies:
3774+
rollup-pluginutils "^1.5.0"
3775+
3776+
rollup-plugin-commonjs@^8.2.6:
3777+
version "8.2.6"
3778+
resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.6.tgz#27e5b9069ff94005bb01e01bb46a1e4873784677"
3779+
dependencies:
3780+
acorn "^5.2.1"
3781+
estree-walker "^0.5.0"
3782+
magic-string "^0.22.4"
3783+
resolve "^1.4.0"
3784+
rollup-pluginutils "^2.0.1"
3785+
3786+
rollup-plugin-node-resolve@^3.0.0:
3787+
version "3.0.0"
3788+
resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0"
3789+
dependencies:
3790+
browser-resolve "^1.11.0"
3791+
builtin-modules "^1.1.0"
3792+
is-module "^1.0.0"
3793+
resolve "^1.1.6"
3794+
3795+
rollup-pluginutils@^1.5.0:
3796+
version "1.5.2"
3797+
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
3798+
dependencies:
3799+
estree-walker "^0.2.1"
3800+
minimatch "^3.0.2"
3801+
3802+
rollup-pluginutils@^2.0.1:
3803+
version "2.0.1"
3804+
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0"
3805+
dependencies:
3806+
estree-walker "^0.3.0"
3807+
micromatch "^2.3.11"
3808+
3809+
rollup@^0.52.3:
3810+
version "0.52.3"
3811+
resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.52.3.tgz#020d99fffe9619351e47b3894fd397c26f5e1bf6"
3812+
37423813
rst-selector-parser@^2.2.3:
37433814
version "2.2.3"
37443815
resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91"
@@ -4165,6 +4236,10 @@ [email protected]:
41654236
core-util-is "1.0.2"
41664237
extsprintf "^1.2.0"
41674238

4239+
vlq@^0.2.1:
4240+
version "0.2.3"
4241+
resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
4242+
41684243
walker@~1.0.5:
41694244
version "1.0.7"
41704245
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"

0 commit comments

Comments
 (0)