mirror of
https://github.com/Foltik/Shimapan
synced 2024-11-30 14:31:42 -05:00
76 lines
1.8 KiB
JavaScript
76 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
const gulp = require('gulp');
|
|
const gutil = require('gutil');
|
|
|
|
const watchify = require('watchify');
|
|
const browserify = require('browserify');
|
|
|
|
const source = require('vinyl-source-stream');
|
|
const buffer = require('vinyl-buffer');
|
|
|
|
const rename = require('gulp-rename');
|
|
const uglify = require('gulp-uglify-es').default;
|
|
const es = require('event-stream');
|
|
const cleanCSS = require('gulp-clean-css');
|
|
const nodemon = require('gulp-nodemon');
|
|
const sourcemaps = require('gulp-sourcemaps');
|
|
const path = require('path');
|
|
const glob = require('glob');
|
|
|
|
let jsFiles = {
|
|
src: [
|
|
glob.sync('app/public/services/*.js'),
|
|
glob.sync('app/public/panel/**/*.js'),
|
|
glob.sync('app/public/shimapan/**/*.js'),
|
|
],
|
|
dest: 'shimapan.bundle.js'
|
|
};
|
|
|
|
let staticJs = [{
|
|
src: 'app/public/index/typegraph.js',
|
|
dest: 'typegraph.min.js'
|
|
}];
|
|
|
|
const bundler = () =>
|
|
browserify({
|
|
entries: jsFiles.src,
|
|
debug: true,
|
|
cache: {},
|
|
packageCache: {}
|
|
});
|
|
|
|
const watcher = watchify(bundler());
|
|
watcher.on('log', gutil.log);
|
|
|
|
const bundle = pkg =>
|
|
pkg.bundle()
|
|
.pipe(source(jsFiles.dest))
|
|
.pipe(buffer())
|
|
.pipe(sourcemaps.init({loadMaps: true}))
|
|
.pipe(uglify())
|
|
.pipe(sourcemaps.write('./'))
|
|
.pipe(gulp.dest('public/js'));
|
|
|
|
gulp.task('build', () => bundle(bundler()));
|
|
|
|
gulp.task('watch', () => {
|
|
bundle(watcher);
|
|
watcher.on('update', () => bundle(watcher));
|
|
});
|
|
|
|
gulp.task('minify', () => {
|
|
const tasks = staticJs.map(file =>
|
|
gulp.src(file.src)
|
|
.pipe(rename(file.dest))
|
|
.pipe(buffer())
|
|
.pipe(sourcemaps.init({loadMaps: true}))
|
|
.pipe(uglify())
|
|
.pipe(sourcemaps.write('./')));
|
|
|
|
return es.merge(tasks)
|
|
.pipe(gulp.dest('public/js'));
|
|
});
|
|
|
|
gulp.task('default', gulp.parallel('build', 'minify'));
|