Unverified Commit 202a2e45 authored by Adrien HARNAY's avatar Adrien HARNAY Committed by GitHub
Browse files

fix(builds): setup rollup once and for all (#56)

Fixed problems on all builds and clarified config
Showing with 60 additions and 52 deletions
+60 -52
......@@ -9,27 +9,19 @@
]
},
"modules": false,
"loose": true,
"useBuiltIns": "usage"
"loose": true
}
],
"react",
"stage-2"
],
"env": {
"rollup": {
"plugins": [
"external-helpers"
]
},
"test": {
"presets": [
[
"env",
{
"targets": {
"node": "8.9.3"
}
"loose": true
}
],
"react",
......
......@@ -2,12 +2,11 @@
"name": "@brigad/redux-rest-easy",
"version": "2.7.0",
"description": "Redux/React/React Native framework generating actions, reducers and selectors to perform network requests",
"main": "lib/index.js",
"module": "es/index.js",
"main": "dist/redux-rest-easy.cjs.js",
"jsnext:main": "dist/redux-rest-easy.es.js",
"module": "dist/redux-rest-easy.es.js",
"files": [
"dist",
"lib",
"es",
"src"
],
"repository": {
......@@ -31,6 +30,7 @@
"bugs": {
"url": "https://github.com/Brigad/redux-rest-easy/issues"
},
"homepage": "https://github.com/Brigad/redux-rest-easy#readme",
"npmName": "@brigad/redux-rest-easy",
"npmFileMap": [
{
......@@ -44,11 +44,11 @@
"prepare": "yarn build:clean && yarn build",
"modules:clean": "rimraf node_modules",
"build": "yarn build:commonjs && yarn build:es && yarn build:umd && yarn build:umd:min",
"build:commonjs": "cross-env BABEL_ENV=commonjs babel src --out-dir lib",
"build:es": "cross-env BABEL_ENV=es babel src --out-dir es",
"build:umd": "cross-env BABEL_ENV=rollup NODE_ENV=development rollup -c -o dist/index.js",
"build:umd:min": "cross-env BABEL_ENV=rollup NODE_ENV=production rollup -c -o dist/index.min.js",
"build:clean": "rimraf lib dist es coverage",
"build:commonjs": "cross-env FORMAT=cjs rollup -c",
"build:es": "cross-env FORMAT=es rollup -c",
"build:umd": "cross-env FORMAT=umd rollup -c",
"build:umd:min": "cross-env FORMAT=umd MINIFY=true rollup -c",
"build:clean": "rimraf dist",
"lint": "eslint src",
"test": "jest",
"test:clean": "yarn test --no-cache",
......
import nodeResolve from 'rollup-plugin-node-resolve';
import builtins from 'rollup-plugin-node-builtins';
import babel from 'rollup-plugin-babel';
import replace from 'rollup-plugin-replace';
import commonjs from 'rollup-plugin-commonjs';
import resolve from 'rollup-plugin-node-resolve';
import replace from 'rollup-plugin-replace';
import uglify from 'rollup-plugin-uglify';
import pkg from './package.json';
const minify = process.env.MINIFY;
const format = process.env.FORMAT;
const env = process.env.NODE_ENV;
const umd = format === 'umd';
const config = {
input: 'src/index.js',
external: ['react', 'react-redux'],
output: {
name: 'ReduxRestEasy',
format: 'umd',
globals: {
react: 'React',
'react-redux': 'ReactRedux',
},
file: `dist/redux-rest-easy.${format}${minify ? '.min' : ''}.js`,
format,
...(umd
? {
name: 'ReduxRestEasy',
indent: false,
globals: {
react: 'React',
'react-redux': 'ReactRedux',
},
}
: {}),
},
external: [
...(!umd ? Object.keys(pkg.dependencies || {}) : []),
...Object.keys(pkg.peerDependencies || {}),
],
context: 'window',
plugins: [
nodeResolve({
preferBuiltins: true,
resolve({
jsnext: true,
main: true,
}),
builtins(),
babel({
exclude: '**/node_modules/**',
commonjs({
include: 'node_modules/**',
}),
replace({
'process.env.NODE_ENV': JSON.stringify(env),
babel({
exclude: 'node_modules/**',
plugins: ['external-helpers'],
}),
commonjs(),
],
umd
? replace({
'process.env.NODE_ENV': JSON.stringify(
minify ? 'production' : 'development',
),
})
: null,
minify
? uglify({
compress: {
pure_getters: true,
unsafe: true,
unsafe_comps: true,
warnings: false,
},
})
: null,
].filter(Boolean),
};
if (env === 'production') {
config.plugins.push(
uglify({
compress: {
pure_getters: true,
unsafe: true,
unsafe_comps: true,
warnings: false,
},
}),
);
}
export default config;
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment