Skip to content

Commit cf3bd1b

Browse files
authored
Merge pull request #64 from imcvampire/rollup
Rollup
2 parents 9f1aef1 + 6bf1661 commit cf3bd1b

File tree

4 files changed

+1563
-207
lines changed

4 files changed

+1563
-207
lines changed

Gulpfile.js

Lines changed: 64 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,72 @@
1-
const { src, dest, series } = require('gulp');
2-
const babel = require('gulp-babel');
3-
const uglify = require('gulp-uglifyjs');
1+
// Gulp
2+
const gulp = require('gulp');
3+
const plumber = require('gulp-plumber');
4+
const file = require('gulp-file');
5+
const filter = require('gulp-filter');
46
const rename = require('gulp-rename');
7+
const sourcemaps = require('gulp-sourcemaps');
8+
const uglify = require ('gulp-uglify');
59
const clean = require('gulp-clean');
10+
const commonjs = require('@rollup/plugin-commonjs')
611

7-
function build() {
8-
return src('src/index.js')
9-
.pipe(babel({
10-
presets: [
11-
'@babel/env'
12-
]
13-
}))
14-
.pipe(rename('vue-axios.es5.js'))
15-
.pipe(dest('dist'))
16-
.pipe(uglify())
17-
.pipe(rename('vue-axios.min.js'))
18-
.pipe(dest('dist'));
12+
// Rollup
13+
const { rollup } = require('rollup');
14+
const babel = require('rollup-plugin-babel');
15+
const { nodeResolve }= require('@rollup/plugin-node-resolve')
16+
17+
// Misc
18+
const runSequence = require('run-sequence');
19+
20+
// Const
21+
const buildPath = 'dist/';
22+
23+
function _generate(bundle){
24+
return bundle.generate({
25+
format: 'commonjs',
26+
});
27+
}
28+
29+
function bundle(opts) {
30+
return rollup({
31+
input: 'src/index.js',
32+
plugins: [
33+
nodeResolve({ browser: true }),
34+
commonjs(),
35+
babel({
36+
presets: [
37+
["@babel/env"]
38+
],
39+
sourceMaps: true
40+
})
41+
]
42+
}).then(bundle => {
43+
return _generate(bundle);
44+
});
1945
}
2046

21-
function clear() {
22-
return src('dist/*').pipe(clean({
47+
gulp.task('build', function(){
48+
return bundle().then(gen => {
49+
return file('vue-axios.es5.js', gen.output.map(o => o.code).join(" "), {src: true})
50+
.pipe(plumber())
51+
.pipe(sourcemaps.init({loadMaps: true}))
52+
.pipe(sourcemaps.write('./'))
53+
.pipe(gulp.dest(buildPath))
54+
.pipe(filter(['*', '!**/*.js.map']))
55+
.pipe(rename('vue-axios.min.js'))
56+
.pipe(sourcemaps.init({loadMaps: true}))
57+
.pipe(uglify({
58+
preserveComments: 'license'
59+
}))
60+
.pipe(sourcemaps.write('./'))
61+
.pipe(gulp.dest(buildPath));
62+
});
63+
});
64+
65+
gulp.task('clean', function() {
66+
return gulp.src('dist/*').pipe(clean({
2367
force: true
2468
}));
25-
}
69+
})
70+
71+
gulp.task('default', gulp.series('clean', 'build'))
2672

27-
exports.default = series(clear, build)

0 commit comments

Comments
 (0)