1 | const gulp = require('gulp')
|
2 | const browserSync = require('browser-sync')
|
3 | const rollup = require('rollup')
|
4 | const babel = require('rollup-plugin-babel')
|
5 | const uglify = require('rollup-plugin-uglify')
|
6 | const resolve = require('rollup-plugin-node-resolve')
|
7 | const commonjs = require('rollup-plugin-commonjs')
|
8 | const gzip = require('gulp-gzip')
|
9 |
|
10 | gulp.task('build', () => {
|
11 | return rollup.rollup({
|
12 | input: './index.js',
|
13 | plugins: [
|
14 | babel({
|
15 | exclude: 'node_modules/**'
|
16 | }),
|
17 | resolve({
|
18 | jsnext: true,
|
19 | main: true,
|
20 | browser: true
|
21 | }),
|
22 | commonjs(),
|
23 | uglify({
|
24 | compress: {
|
25 | collapse_vars: true
|
26 | }
|
27 | })
|
28 | ]
|
29 | })
|
30 | .then((bundle) => {
|
31 | return bundle.write({
|
32 | format: 'umd',
|
33 | name: 'composi',
|
34 | file: './dist/composi.js',
|
35 | sourcemap: true
|
36 | })
|
37 | })
|
38 | .then((bundle) => {
|
39 | gulp.src('./dist/composi.js')
|
40 | .pipe(gzip({ extension: 'gzip' }))
|
41 | .pipe(gulp.dest('./dist'))
|
42 | })
|
43 | })
|
44 |
|
45 |
|
46 | gulp.task('test', function() {
|
47 |
|
48 | browserSync({
|
49 | port: 4040,
|
50 | server: {
|
51 | open: false,
|
52 | baseDir: "./",
|
53 | index: "./test/index.html"
|
54 | }
|
55 | }).reload
|
56 | })
|
57 |
|
58 | gulp.task('default', ['build'])
|