1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | const path = require('path')
|
7 | const rollup = require('rollup')
|
8 | const rollupEach = require('gulp-rollup-each')
|
9 | const babel = require('rollup-plugin-babel')
|
10 | const commonjs = require('rollup-plugin-commonjs')
|
11 | const resolve = require('rollup-plugin-node-resolve')
|
12 | const babelConfig = {
|
13 | babelrc: false,
|
14 | presets: [[require('babel-preset-env'), {
|
15 | modules: false
|
16 | }]],
|
17 | plugins: [
|
18 | require('babel-plugin-external-helpers')
|
19 | ]
|
20 | }
|
21 |
|
22 | module.exports = function(gulp, $, conf, browserSync) {
|
23 | gulp.task('rollup', () => {
|
24 | return gulp.src(conf.parsePwd(conf.es6Files), {base: conf.parsePwd(conf.app)})
|
25 | .pipe(rollupEach({
|
26 | plugins: [babel(babelConfig), commonjs(), resolve()],
|
27 | external: ['jquery']
|
28 | }, (file) => {
|
29 | return {
|
30 | format: 'umd',
|
31 | globals: { jquery: '$' },
|
32 | name: path.basename(file.path, '.js')
|
33 | }
|
34 | }, rollup))
|
35 | .pipe(gulp.dest(conf.parsePwd(conf.tmp)))
|
36 | .pipe(browserSync.stream())
|
37 | })
|
38 | }
|