Skip to content

Commit e7b46cb

Browse files
authored
Merge pull request #184 from deini/external
chore(build): makes redux a peerDependency
2 parents 9f855ae + 187534a commit e7b46cb

File tree

4 files changed

+36
-14
lines changed

4 files changed

+36
-14
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ npm-debug.log
33
.DS_Store
44
lib
55
es
6+
umd
67
coverage
78
*.tgz
89
examples/**/dist

README.md

+12-4
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,26 @@ npm install --save ng-redux
3030
```
3131

3232
#### bower (deprecated)
33-
**Warning!** Bower recommends using yarn and webpack as an alternative for new projects. `ng-redux` will no longer version compiled versions of code. The latest version of ng-redux supported for bower use is `3.5.2`
33+
**Warning!** Starting with 4.0.0, we will no longer be publishing new releases on Bower. You can continue using Bower for old releases, or point your bower config to the UMD build hosted on unpkg that mirrors our npm releases.
3434

35-
```js
36-
bower install --save ng-redux#3.5.2
35+
```json
36+
{
37+
"dependencies": {
38+
"ng-redux": "https://unpkg.com/ng-redux/umd/ng-redux.min.js"
39+
}
40+
}
3741
```
3842

3943
Add the following script tag to your html:
40-
4144
```html
4245
<script src="bower_components/ng-redux/dist/ng-redux.js"></script>
4346
```
4447

48+
Or directly from unpkg
49+
```html
50+
<script src="https://unpkg.com/ng-redux/umd/ng-redux.min.js"></script>
51+
```
52+
4553
## Quick Start
4654

4755
#### Initialization

package.json

+13-7
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,20 @@
99
"lib",
1010
"es",
1111
"src",
12+
"umd",
1213
"index.d.ts"
1314
],
1415
"scripts": {
15-
"clean": "rimraf lib dist es",
16-
"commitmsg": "commitlint -e $GIT_PARAMS",
16+
"build": "npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min",
1717
"build:commonjs": "cross-env NODE_ENV=cjs rollup -c -o lib/ng-redux.js",
1818
"build:es": "cross-env NODE_ENV=es rollup -c -o es/ng-redux.js",
19-
"build": "npm run build:commonjs && npm run build:es",
20-
"test": "cross-env NODE_ENV=test mocha --compilers js:babel-register --recursive",
19+
"build:umd": "cross-env NODE_ENV=development rollup -c -o umd/ng-redux.js",
20+
"build:umd:min": "cross-env NODE_ENV=production rollup -c -o umd/ng-redux.min.js",
21+
"clean": "rimraf lib umd es",
22+
"commitmsg": "commitlint -e $GIT_PARAMS",
2123
"prepublish": "npm run clean && npm test && npm run build",
22-
"prerelease": "npm run prepublish"
24+
"prerelease": "npm run prepublish",
25+
"test": "cross-env NODE_ENV=test mocha --compilers js:babel-register --recursive"
2326
},
2427
"repository": {
2528
"type": "git",
@@ -41,6 +44,7 @@
4144
"expect": "^1.20.2",
4245
"husky": "^0.14.3",
4346
"mocha": "^3.5.0",
47+
"redux": "^3.7.2",
4448
"rimraf": "^2.6.1",
4549
"rollup": "^0.47.4",
4650
"rollup-plugin-babel": "^3.0.2",
@@ -58,7 +62,9 @@
5862
"lodash.isfunction": "^3.0.8",
5963
"lodash.isobject": "^3.0.2",
6064
"lodash.isplainobject": "^4.0.6",
61-
"lodash.map": "^4.6.0",
62-
"redux": "^3.7.2"
65+
"lodash.map": "^4.6.0"
66+
},
67+
"peerDependencies": {
68+
"redux": "^3.0.0"
6369
}
6470
}

rollup.config.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@ import commonjs from 'rollup-plugin-commonjs';
33
import nodeResolve from 'rollup-plugin-node-resolve';
44
import replace from 'rollup-plugin-replace';
55
import uglify from 'rollup-plugin-uglify';
6-
import { dependencies } from './package.json'
6+
import { dependencies, devDependencies } from './package.json'
77

88
const env = process.env.NODE_ENV;
99
const config = {
1010
entry: 'src/index.js',
1111
plugins: [],
1212
};
1313

14-
const externals = Object.keys(dependencies).join('|');
14+
const externals = [
15+
...Object.keys(dependencies),
16+
...Object.keys(devDependencies),
17+
].join('|');
1518

1619
if (env === 'es' || env === 'cjs') {
1720
config.format = env;
@@ -28,6 +31,10 @@ if (env === 'development' || env === 'production') {
2831
config.format = 'umd';
2932
config.moduleName = 'NgRedux';
3033
config.sourceMap = true;
34+
config.external = ['redux'];
35+
config.globals = {
36+
redux: 'Redux',
37+
};
3138
config.plugins.push(
3239
replace({
3340
'process.env.NODE_ENV': JSON.stringify(env)
@@ -38,7 +45,7 @@ if (env === 'development' || env === 'production') {
3845
commonjs(),
3946
babel({
4047
runtimeHelpers: true,
41-
exclude: 'node_modules/**'
48+
exclude: 'node_modules/**',
4249
})
4350
)
4451
}

0 commit comments

Comments
 (0)