mirror of
https://github.com/getrebuild/rebuild.git
synced 2024-09-20 15:35:55 +08:00
gulp for production
This commit is contained in:
parent
584d405b67
commit
4d25fc8a8e
|
@ -1,27 +0,0 @@
|
||||||
const gulp = require('gulp')
|
|
||||||
const babel = require('gulp-babel')
|
|
||||||
const uglify = require('gulp-uglify')
|
|
||||||
const cssclean = require('gulp-clean-css')
|
|
||||||
const rename = require('gulp-rename')
|
|
||||||
|
|
||||||
|
|
||||||
gulp.task('es62es5', () => {
|
|
||||||
return gulp.src('../src/main/webapp/assets/js/**/*.js*')
|
|
||||||
.pipe(gulp.dest('./js/es6'))
|
|
||||||
.pipe(babel())
|
|
||||||
.pipe(gulp.dest('./js/es5'))
|
|
||||||
.pipe(uglify({ mangle: true }))
|
|
||||||
.pipe(rename({ extname: '.min.js' }))
|
|
||||||
.pipe(gulp.dest('./build/js'))
|
|
||||||
})
|
|
||||||
|
|
||||||
gulp.task('css', () => {
|
|
||||||
return gulp.src('../src/main/webapp/assets/css/**/*.css')
|
|
||||||
.pipe(cssclean())
|
|
||||||
.pipe(rename({ extname: '.min.css' }))
|
|
||||||
.pipe(gulp.dest('./build/css'))
|
|
||||||
})
|
|
||||||
|
|
||||||
gulp.task('default', ['es62es5'])
|
|
||||||
|
|
||||||
gulp.task('all', ['es62es5', 'css'])
|
|
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -29,7 +29,7 @@ hs_err_pid*
|
||||||
/.project
|
/.project
|
||||||
/bin/
|
/bin/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
/.babel/node_modules/
|
/.production/node_modules/
|
||||||
/.babel/package-lock.json
|
/.production/package-lock.json
|
||||||
/.babel/js/
|
/.production/js/
|
||||||
/.babel/build/
|
/.production/build/
|
||||||
|
|
59
.production/gulpfile.js
Normal file
59
.production/gulpfile.js
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
const gulp = require('gulp')
|
||||||
|
const babel = require('gulp-babel')
|
||||||
|
const uglify = require('gulp-uglify')
|
||||||
|
const cssclean = require('gulp-clean-css')
|
||||||
|
const rename = require('gulp-rename')
|
||||||
|
const replace = require('gulp-replace')
|
||||||
|
const debug = require('gulp-debug')
|
||||||
|
const fs = require('graceful-fs')
|
||||||
|
|
||||||
|
// compress js (and ES6 > ES5)
|
||||||
|
gulp.task('es62es5', () => {
|
||||||
|
return gulp.src('../src/main/webapp/assets/js/**/*.js?(x)')
|
||||||
|
.pipe(gulp.dest('./js/es6'))
|
||||||
|
.pipe(babel())
|
||||||
|
.pipe(gulp.dest('./js/es5'))
|
||||||
|
.pipe(uglify({ mangle: true }))
|
||||||
|
.pipe(debug({ title: 'compress file : ' }))
|
||||||
|
//.pipe(rename({ extname: '.min.js' }))
|
||||||
|
.pipe(gulp.dest('./build/js'))
|
||||||
|
})
|
||||||
|
|
||||||
|
// compress css
|
||||||
|
gulp.task('css', () => {
|
||||||
|
return gulp.src('../src/main/webapp/assets/css/**/*.css')
|
||||||
|
.pipe(cssclean())
|
||||||
|
//.pipe(rename({ extname: '.min.css' }))
|
||||||
|
.pipe(gulp.dest('./build/css'))
|
||||||
|
})
|
||||||
|
|
||||||
|
// replace compressed js/css in jsp
|
||||||
|
// compress and replace inline js
|
||||||
|
gulp.task('repljsp', () => {
|
||||||
|
return gulp.src('../src/main/webapp/**/*-list.jsp')
|
||||||
|
// .pipe(replace(/<script type="text\/babel">([\s]+[\d\D]*)<\/script>/igm, (m, p, o, s) => {
|
||||||
|
// // console.log('ES6 >>>>>>>>>> ' + p)
|
||||||
|
|
||||||
|
// let es6_temp = './build/js/temp-es6.js'
|
||||||
|
// let es5_temp = './build/js/temp-es5.js'
|
||||||
|
// fs.writeFileSync(es6_temp, p)
|
||||||
|
|
||||||
|
// gulp.src(es6_temp)
|
||||||
|
// // .pipe(babel())
|
||||||
|
// .pipe(debug({ title: 'compress temp file : ' }))
|
||||||
|
// // .pipe(uglify({ mangle: true }))
|
||||||
|
// .pipe(gulp.dest(es5_temp))
|
||||||
|
|
||||||
|
// // let es52str = fs.readFileSync(es5_temp)
|
||||||
|
// // console.log('ES5 >>>>>>>>>> ' + es52str)
|
||||||
|
|
||||||
|
// return '<script></script>'
|
||||||
|
// }))
|
||||||
|
.pipe(replace(/ type="text\/babel"/ig, ''))
|
||||||
|
.pipe(gulp.dest('./build/jsp'))
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
gulp.task('default', ['es62es5'])
|
||||||
|
|
||||||
|
gulp.task('all', ['es62es5', 'css', 'repljsp'])
|
|
@ -17,10 +17,15 @@
|
||||||
"@babel/plugin-proposal-class-properties": "^7.1.0",
|
"@babel/plugin-proposal-class-properties": "^7.1.0",
|
||||||
"@babel/preset-env": "^7.1.6",
|
"@babel/preset-env": "^7.1.6",
|
||||||
"@babel/preset-react": "^7.0.0",
|
"@babel/preset-react": "^7.0.0",
|
||||||
|
"graceful-fs": "^4.1.15",
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^3.9.1",
|
||||||
"gulp-babel": "^8.0.0",
|
"gulp-babel": "^8.0.0",
|
||||||
"gulp-clean-css": "^3.10.0",
|
"gulp-clean-css": "^3.10.0",
|
||||||
|
"gulp-debug": "^4.0.0",
|
||||||
|
"gulp-read": "^1.0.1",
|
||||||
"gulp-rename": "^1.4.0",
|
"gulp-rename": "^1.4.0",
|
||||||
"gulp-uglify": "^3.0.1"
|
"gulp-replace": "^1.0.0",
|
||||||
|
"gulp-uglify": "^3.0.1",
|
||||||
|
"vinyl": "^2.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue