Replace webpack with rollup (#138)
parent
80974cb685
commit
a56ccb3cd5
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"presets": [
|
"presets": [
|
||||||
["es2015", { "modules": false }]
|
["es2015", { "modules": false }]
|
||||||
]
|
],
|
||||||
|
"plugins": ["external-helpers"]
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,4 +1,61 @@
|
|||||||
|
const babel = require('rollup-plugin-babel');
|
||||||
|
const resolve = require('rollup-plugin-node-resolve');
|
||||||
|
const commonjs = require('rollup-plugin-commonjs');
|
||||||
|
const uglify = require('rollup-plugin-uglify');
|
||||||
|
|
||||||
module.exports = {
|
const commonjsOptions = {
|
||||||
watch: false,
|
include: 'node_modules/**',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const babelOptions = {
|
||||||
|
exclude: 'node_modules/**',
|
||||||
|
};
|
||||||
|
|
||||||
|
const uglifyOptions = {
|
||||||
|
sourceMap: true,
|
||||||
|
comments: false,
|
||||||
|
screw_ie8: true,
|
||||||
|
compress: {
|
||||||
|
warnings: true,
|
||||||
|
drop_console: true,
|
||||||
|
},
|
||||||
|
mangle: true,
|
||||||
|
};
|
||||||
|
|
||||||
|
const entry = './src/shuffle.js';
|
||||||
|
const moduleName = 'shuffle';
|
||||||
|
const format = 'umd';
|
||||||
|
const sourceMap = true;
|
||||||
|
|
||||||
|
module.exports.configs = [
|
||||||
|
{
|
||||||
|
entry,
|
||||||
|
cache: undefined,
|
||||||
|
plugins: [
|
||||||
|
resolve(),
|
||||||
|
commonjs(commonjsOptions),
|
||||||
|
babel(babelOptions),
|
||||||
|
],
|
||||||
|
dest: './dist/shuffle.js',
|
||||||
|
sourceMap,
|
||||||
|
moduleName,
|
||||||
|
format,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
entry,
|
||||||
|
cache: undefined,
|
||||||
|
plugins: [
|
||||||
|
resolve(),
|
||||||
|
commonjs(commonjsOptions),
|
||||||
|
babel(babelOptions),
|
||||||
|
uglify(uglifyOptions),
|
||||||
|
],
|
||||||
|
dest: './dist/shuffle.min.js',
|
||||||
|
sourceMap,
|
||||||
|
moduleName,
|
||||||
|
format,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
module.exports.watch = false;
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const gutil = require('gulp-util');
|
|
||||||
const webpack = require('webpack');
|
|
||||||
const config = require('../config');
|
|
||||||
|
|
||||||
module.exports = function compile(done) {
|
|
||||||
let main = Object.assign({}, require('../../webpack.config.js'));
|
|
||||||
let min = Object.assign({}, require('../../webpack.config.min.js'));
|
|
||||||
let compiler = webpack([main, min]);
|
|
||||||
|
|
||||||
let isDone = false;
|
|
||||||
function callback(err, stats) {
|
|
||||||
if (err) {
|
|
||||||
throw new Error(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
gutil.log(stats.toString({ colors: true }));
|
|
||||||
|
|
||||||
if (!isDone) {
|
|
||||||
isDone = true;
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (config.watch) {
|
|
||||||
compiler.watch({}, callback);
|
|
||||||
} else {
|
|
||||||
compiler.run(callback);
|
|
||||||
}
|
|
||||||
};
|
|
@ -0,0 +1,11 @@
|
|||||||
|
const rollup = require('rollup').rollup;
|
||||||
|
const configs = require('../config').configs;
|
||||||
|
|
||||||
|
module.exports = function scripts() {
|
||||||
|
const bundles = configs.map(config => rollup(config).then((bundle) => {
|
||||||
|
config.cache = bundle;
|
||||||
|
return bundle.write(config);
|
||||||
|
}));
|
||||||
|
|
||||||
|
return Promise.all(bundles);
|
||||||
|
};
|
@ -1,13 +1,13 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const gulp = require('gulp');
|
const gulp = require('gulp');
|
||||||
const config = require('../config');
|
const config = require('../config');
|
||||||
const cssTask = require('./css');
|
const cssTask = require('./css');
|
||||||
const testTask = require('./test');
|
const testTask = require('./test');
|
||||||
|
const scriptsTask = require('./scripts');
|
||||||
|
|
||||||
module.exports = function setWatching(done) {
|
module.exports = function setWatching(done) {
|
||||||
config.watch = true;
|
config.watch = true;
|
||||||
gulp.watch('_scss/*.scss', cssTask);
|
gulp.watch('_scss/*.scss', cssTask);
|
||||||
gulp.watch('test/*', testTask);
|
gulp.watch('test/*', testTask);
|
||||||
|
gulp.watch('src/*', scriptsTask);
|
||||||
done();
|
done();
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
export default function arrayMax(array) {
|
||||||
|
return Math.max.apply(Math, array);
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
export default function arrayMin(array) {
|
||||||
|
return Math.min.apply(Math, array);
|
||||||
|
}
|
@ -1 +0,0 @@
|
|||||||
module.exports = require('./shuffle').default;
|
|
@ -1,29 +0,0 @@
|
|||||||
const path = require('path');
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
name: 'build',
|
|
||||||
devtool: 'source-map',
|
|
||||||
entry: './src/index.js',
|
|
||||||
output: {
|
|
||||||
filename: 'shuffle.js',
|
|
||||||
path: './dist',
|
|
||||||
library: 'shuffle',
|
|
||||||
libraryTarget: 'umd',
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
modules: [
|
|
||||||
path.resolve('./src'),
|
|
||||||
'node_modules',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
module: {
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
test: /\.js$/,
|
|
||||||
exclude: /node_modules/,
|
|
||||||
loader: 'babel-loader',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
plugins: [],
|
|
||||||
};
|
|
@ -1,41 +0,0 @@
|
|||||||
const path = require('path');
|
|
||||||
const webpack = require('webpack');
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
name: 'minified',
|
|
||||||
devtool: 'source-map',
|
|
||||||
entry: './src/index.js',
|
|
||||||
output: {
|
|
||||||
filename: 'shuffle.min.js',
|
|
||||||
path: './dist',
|
|
||||||
library: 'shuffle',
|
|
||||||
libraryTarget: 'umd',
|
|
||||||
},
|
|
||||||
resolve: {
|
|
||||||
modules: [
|
|
||||||
path.resolve('./src'),
|
|
||||||
'node_modules',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
module: {
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
test: /\.js$/,
|
|
||||||
exclude: /node_modules/,
|
|
||||||
loader: 'babel-loader',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
new webpack.optimize.UglifyJsPlugin({
|
|
||||||
sourceMap: true,
|
|
||||||
comments: false,
|
|
||||||
screw_ie8: true,
|
|
||||||
compress: {
|
|
||||||
warnings: true,
|
|
||||||
drop_console: true,
|
|
||||||
},
|
|
||||||
mangle: true,
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
};
|
|
Loading…
Reference in New Issue