diff --git a/.gitignore b/.gitignore
index c3152f4..9906396 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@ npm-debug.log
.DS_Store
lib
es
+umd
coverage
*.tgz
examples/**/dist
diff --git a/README.md b/README.md
index 095593f..60dcf15 100644
--- a/README.md
+++ b/README.md
@@ -30,18 +30,26 @@ npm install --save ng-redux
```
#### bower (deprecated)
-**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`
+**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.
-```js
-bower install --save ng-redux#3.5.2
+```json
+{
+ "dependencies": {
+ "ng-redux": "https://unpkg.com/ng-redux/umd/ng-redux.min.js"
+ }
+}
```
Add the following script tag to your html:
-
```html
```
+Or directly from unpkg
+```html
+
+```
+
## Quick Start
#### Initialization
diff --git a/package.json b/package.json
index 8b29932..c90d5fe 100644
--- a/package.json
+++ b/package.json
@@ -9,17 +9,20 @@
"lib",
"es",
"src",
+ "umd",
"index.d.ts"
],
"scripts": {
- "clean": "rimraf lib dist es",
- "commitmsg": "commitlint -e $GIT_PARAMS",
+ "build": "npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min",
"build:commonjs": "cross-env NODE_ENV=cjs rollup -c -o lib/ng-redux.js",
"build:es": "cross-env NODE_ENV=es rollup -c -o es/ng-redux.js",
- "build": "npm run build:commonjs && npm run build:es",
- "test": "cross-env NODE_ENV=test mocha --compilers js:babel-register --recursive",
+ "build:umd": "cross-env NODE_ENV=development rollup -c -o umd/ng-redux.js",
+ "build:umd:min": "cross-env NODE_ENV=production rollup -c -o umd/ng-redux.min.js",
+ "clean": "rimraf lib umd es",
+ "commitmsg": "commitlint -e $GIT_PARAMS",
"prepublish": "npm run clean && npm test && npm run build",
- "prerelease": "npm run prepublish"
+ "prerelease": "npm run prepublish",
+ "test": "cross-env NODE_ENV=test mocha --compilers js:babel-register --recursive"
},
"repository": {
"type": "git",
@@ -41,6 +44,7 @@
"expect": "^1.20.2",
"husky": "^0.14.3",
"mocha": "^3.5.0",
+ "redux": "^3.7.2",
"rimraf": "^2.6.1",
"rollup": "^0.47.4",
"rollup-plugin-babel": "^3.0.2",
@@ -58,7 +62,9 @@
"lodash.isfunction": "^3.0.8",
"lodash.isobject": "^3.0.2",
"lodash.isplainobject": "^4.0.6",
- "lodash.map": "^4.6.0",
- "redux": "^3.7.2"
+ "lodash.map": "^4.6.0"
+ },
+ "peerDependencies": {
+ "redux": "^3.0.0"
}
}
diff --git a/rollup.config.js b/rollup.config.js
index 7dc80be..430472f 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -3,7 +3,7 @@ import commonjs from 'rollup-plugin-commonjs';
import nodeResolve from 'rollup-plugin-node-resolve';
import replace from 'rollup-plugin-replace';
import uglify from 'rollup-plugin-uglify';
-import { dependencies } from './package.json'
+import { dependencies, devDependencies } from './package.json'
const env = process.env.NODE_ENV;
const config = {
@@ -11,7 +11,10 @@ const config = {
plugins: [],
};
-const externals = Object.keys(dependencies).join('|');
+const externals = [
+ ...Object.keys(dependencies),
+ ...Object.keys(devDependencies),
+].join('|');
if (env === 'es' || env === 'cjs') {
config.format = env;
@@ -28,6 +31,10 @@ if (env === 'development' || env === 'production') {
config.format = 'umd';
config.moduleName = 'NgRedux';
config.sourceMap = true;
+ config.external = ['redux'];
+ config.globals = {
+ redux: 'Redux',
+ };
config.plugins.push(
replace({
'process.env.NODE_ENV': JSON.stringify(env)
@@ -38,7 +45,7 @@ if (env === 'development' || env === 'production') {
commonjs(),
babel({
runtimeHelpers: true,
- exclude: 'node_modules/**'
+ exclude: 'node_modules/**',
})
)
}