Converted Gulp 3.9 → 4.0, removed livereload, and fixed security issues
All done in one go, because things wouldn't build otherwise.
This commit is contained in:
96
gulpfile.js
96
gulpfile.js
@@ -1,37 +1,35 @@
|
|||||||
var argv = require('minimist')(process.argv.slice(2));
|
let argv = require('minimist')(process.argv.slice(2));
|
||||||
var autoprefixer = require('gulp-autoprefixer');
|
let autoprefixer = require('gulp-autoprefixer');
|
||||||
var cache = require('gulp-cached');
|
let cache = require('gulp-cached');
|
||||||
var chmod = require('gulp-chmod');
|
let chmod = require('gulp-chmod');
|
||||||
var concat = require('gulp-concat');
|
let concat = require('gulp-concat');
|
||||||
var git = require('gulp-git');
|
let git = require('gulp-git');
|
||||||
var gulp = require('gulp');
|
let gulp = require('gulp');
|
||||||
var gulpif = require('gulp-if');
|
let gulpif = require('gulp-if');
|
||||||
var livereload = require('gulp-livereload');
|
let plumber = require('gulp-plumber');
|
||||||
var plumber = require('gulp-plumber');
|
let pug = require('gulp-pug');
|
||||||
var pug = require('gulp-pug');
|
let rename = require('gulp-rename');
|
||||||
var rename = require('gulp-rename');
|
let sass = require('gulp-sass');
|
||||||
var sass = require('gulp-sass');
|
let sourcemaps = require('gulp-sourcemaps');
|
||||||
var sourcemaps = require('gulp-sourcemaps');
|
let uglify = require('gulp-uglify-es').default;
|
||||||
var uglify = require('gulp-uglify-es').default;
|
let browserify = require('browserify');
|
||||||
var browserify = require('browserify');
|
let babelify = require('babelify');
|
||||||
var babelify = require('babelify');
|
let sourceStream = require('vinyl-source-stream');
|
||||||
var sourceStream = require('vinyl-source-stream');
|
let glob = require('glob');
|
||||||
var glob = require('glob');
|
let es = require('event-stream');
|
||||||
var es = require('event-stream');
|
let path = require('path');
|
||||||
var path = require('path');
|
let buffer = require('vinyl-buffer');
|
||||||
var buffer = require('vinyl-buffer');
|
|
||||||
|
|
||||||
var enabled = {
|
let enabled = {
|
||||||
chmod: argv.production,
|
chmod: argv.production,
|
||||||
cleanup: argv.production,
|
cleanup: argv.production,
|
||||||
failCheck: argv.production,
|
failCheck: argv.production,
|
||||||
liveReload: !argv.production,
|
|
||||||
maps: argv.production,
|
maps: argv.production,
|
||||||
prettyPug: !argv.production,
|
prettyPug: !argv.production,
|
||||||
uglify: argv.production,
|
uglify: argv.production,
|
||||||
};
|
};
|
||||||
|
|
||||||
var destination = {
|
let destination = {
|
||||||
css: 'attract/static/assets/css',
|
css: 'attract/static/assets/css',
|
||||||
pug: 'attract/templates',
|
pug: 'attract/templates',
|
||||||
js: 'attract/static/assets/js/generated',
|
js: 'attract/static/assets/js/generated',
|
||||||
@@ -39,7 +37,7 @@ var destination = {
|
|||||||
|
|
||||||
|
|
||||||
/* CSS */
|
/* CSS */
|
||||||
gulp.task('styles', function() {
|
gulp.task('styles', function(done) {
|
||||||
gulp.src('src/styles/**/*.sass')
|
gulp.src('src/styles/**/*.sass')
|
||||||
.pipe(gulpif(enabled.failCheck, plumber()))
|
.pipe(gulpif(enabled.failCheck, plumber()))
|
||||||
.pipe(gulpif(enabled.maps, sourcemaps.init()))
|
.pipe(gulpif(enabled.maps, sourcemaps.init()))
|
||||||
@@ -48,26 +46,26 @@ gulp.task('styles', function() {
|
|||||||
))
|
))
|
||||||
.pipe(autoprefixer("last 3 versions"))
|
.pipe(autoprefixer("last 3 versions"))
|
||||||
.pipe(gulpif(enabled.maps, sourcemaps.write(".")))
|
.pipe(gulpif(enabled.maps, sourcemaps.write(".")))
|
||||||
.pipe(gulp.dest(destination.css))
|
.pipe(gulp.dest(destination.css));
|
||||||
.pipe(gulpif(enabled.liveReload, livereload()));
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
/* Templates - Pug */
|
/* Templates - Pug */
|
||||||
gulp.task('templates', function() {
|
gulp.task('templates', function(done) {
|
||||||
gulp.src('src/templates/**/*.pug')
|
gulp.src('src/templates/**/*.pug')
|
||||||
.pipe(gulpif(enabled.failCheck, plumber()))
|
.pipe(gulpif(enabled.failCheck, plumber()))
|
||||||
.pipe(cache('templating'))
|
.pipe(cache('templating'))
|
||||||
.pipe(pug({
|
.pipe(pug({
|
||||||
pretty: enabled.prettyPug
|
pretty: enabled.prettyPug
|
||||||
}))
|
}))
|
||||||
.pipe(gulp.dest(destination.pug))
|
.pipe(gulp.dest(destination.pug));
|
||||||
.pipe(gulpif(enabled.liveReload, livereload()));
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
/* Individual Uglified Scripts */
|
/* Individual Uglified Scripts */
|
||||||
gulp.task('scripts', function() {
|
gulp.task('scripts', function(done) {
|
||||||
gulp.src('src/scripts/*.js')
|
gulp.src('src/scripts/*.js')
|
||||||
.pipe(gulpif(enabled.failCheck, plumber()))
|
.pipe(gulpif(enabled.failCheck, plumber()))
|
||||||
.pipe(cache('scripting'))
|
.pipe(cache('scripting'))
|
||||||
@@ -76,8 +74,8 @@ gulp.task('scripts', function() {
|
|||||||
.pipe(rename({suffix: '.min'}))
|
.pipe(rename({suffix: '.min'}))
|
||||||
.pipe(gulpif(enabled.maps, sourcemaps.write(".")))
|
.pipe(gulpif(enabled.maps, sourcemaps.write(".")))
|
||||||
.pipe(gulpif(enabled.chmod, chmod(0o644)))
|
.pipe(gulpif(enabled.chmod, chmod(0o644)))
|
||||||
.pipe(gulp.dest(destination.js))
|
.pipe(gulp.dest(destination.js));
|
||||||
.pipe(gulpif(enabled.liveReload, livereload()));
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
function browserify_base(entry) {
|
function browserify_base(entry) {
|
||||||
@@ -106,7 +104,7 @@ gulp.task('scripts_browserify', function(done) {
|
|||||||
glob('src/scripts/js/es6/individual/**/init.js', function(err, files) {
|
glob('src/scripts/js/es6/individual/**/init.js', function(err, files) {
|
||||||
if(err) done(err);
|
if(err) done(err);
|
||||||
|
|
||||||
var tasks = files.map(function(entry) {
|
let tasks = files.map(function(entry) {
|
||||||
return browserify_base(entry)
|
return browserify_base(entry)
|
||||||
.pipe(gulpif(enabled.maps, sourcemaps.init()))
|
.pipe(gulpif(enabled.maps, sourcemaps.init()))
|
||||||
.pipe(gulpif(enabled.uglify, uglify()))
|
.pipe(gulpif(enabled.uglify, uglify()))
|
||||||
@@ -131,30 +129,24 @@ gulp.task('scripts_tutti', function(done) {
|
|||||||
.pipe(gulpif(enabled.uglify, uglify()))
|
.pipe(gulpif(enabled.uglify, uglify()))
|
||||||
.pipe(gulpif(enabled.maps, sourcemaps.write(".")))
|
.pipe(gulpif(enabled.maps, sourcemaps.write(".")))
|
||||||
.pipe(gulpif(enabled.chmod, chmod(0o644)))
|
.pipe(gulpif(enabled.chmod, chmod(0o644)))
|
||||||
.pipe(gulp.dest(destination.js))
|
.pipe(gulp.dest(destination.js));
|
||||||
.pipe(gulpif(enabled.liveReload, livereload()));
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// While developing, run 'gulp watch'
|
// While developing, run 'gulp watch'
|
||||||
gulp.task('watch',function(done) {
|
gulp.task('watch',function(done) {
|
||||||
// Only listen for live reloads if ran with --livereload
|
gulp.watch('src/styles/**/*.sass', gulp.series('styles'));
|
||||||
if (argv.livereload){
|
gulp.watch('src/templates/**/*.pug', gulp.series('templates'));
|
||||||
livereload.listen();
|
gulp.watch('src/scripts/*.js', gulp.series('scripts'));
|
||||||
}
|
gulp.watch('src/scripts/tutti/*.js', gulp.series('scripts_tutti'));
|
||||||
|
gulp.watch('src/scripts/js/**/*.js', gulp.series('scripts_browserify', 'scripts_tutti'));
|
||||||
gulp.watch('src/styles/**/*.sass',['styles']);
|
|
||||||
gulp.watch('src/templates/**/*.pug',['templates']);
|
|
||||||
gulp.watch('src/scripts/*.js',['scripts']);
|
|
||||||
gulp.watch('src/scripts/tutti/*.js',['scripts_tutti']);
|
|
||||||
gulp.watch('src/scripts/js/**/*.js', ['scripts_browserify', 'scripts_tutti']);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Erases all generated files in output directories.
|
// Erases all generated files in output directories.
|
||||||
gulp.task('cleanup', function() {
|
gulp.task('cleanup', function(done) {
|
||||||
var paths = [];
|
let paths = [];
|
||||||
for (attr in destination) {
|
for (attr in destination) {
|
||||||
paths.push(destination[attr]);
|
paths.push(destination[attr]);
|
||||||
}
|
}
|
||||||
@@ -162,11 +154,11 @@ gulp.task('cleanup', function() {
|
|||||||
git.clean({ args: '-f -X ' + paths.join(' ') }, function (err) {
|
git.clean({ args: '-f -X ' + paths.join(' ') }, function (err) {
|
||||||
if(err) throw err;
|
if(err) throw err;
|
||||||
});
|
});
|
||||||
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// Run 'gulp' to build everything at once
|
// Run 'gulp' to build everything at once
|
||||||
var tasks = [];
|
let tasks = [];
|
||||||
if (enabled.cleanup) tasks.push('cleanup');
|
if (enabled.cleanup) tasks.push('cleanup');
|
||||||
gulp.task('default', tasks.concat(['styles', 'templates', 'scripts', 'scripts_tutti']));
|
gulp.task('default', gulp.parallel(tasks.concat(['styles', 'templates', 'scripts', 'scripts_tutti'])));
|
||||||
|
4167
package-lock.json
generated
4167
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
14
package.json
14
package.json
@@ -13,14 +13,13 @@
|
|||||||
"babel-core": "7.0.0-bridge.0",
|
"babel-core": "7.0.0-bridge.0",
|
||||||
"babelify": "10.0.0",
|
"babelify": "10.0.0",
|
||||||
"browserify": "16.2.3",
|
"browserify": "16.2.3",
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^4.0",
|
||||||
"gulp-autoprefixer": "^6.0.0",
|
"gulp-autoprefixer": "^6.0.0",
|
||||||
"gulp-cached": "^1.1.1",
|
"gulp-cached": "^1.1.1",
|
||||||
"gulp-chmod": "^2.0.0",
|
"gulp-chmod": "^2.0.0",
|
||||||
"gulp-concat": "^2.6.1",
|
"gulp-concat": "^2.6.1",
|
||||||
"gulp-if": "^2.0.2",
|
"gulp-if": "^2.0.2",
|
||||||
"gulp-git": "^2.8.0",
|
"gulp-git": "^2.8.0",
|
||||||
"gulp-livereload": "^4.0.0",
|
|
||||||
"gulp-plumber": "^1.2.0",
|
"gulp-plumber": "^1.2.0",
|
||||||
"gulp-pug": "^4.0.1",
|
"gulp-pug": "^4.0.1",
|
||||||
"gulp-rename": "^1.4.0",
|
"gulp-rename": "^1.4.0",
|
||||||
@@ -32,15 +31,10 @@
|
|||||||
"vinyl-source-stream": "2.0.0"
|
"vinyl-source-stream": "2.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap": "^4.1.3",
|
"bootstrap": "^4.3.1",
|
||||||
"jquery": "^3.3.1",
|
"event-stream": "^4.0.1",
|
||||||
|
"jquery": "^3.4.1",
|
||||||
"natives": "^1.1.6",
|
"natives": "^1.1.6",
|
||||||
"popper.js": "^1.14.4"
|
"popper.js": "^1.14.4"
|
||||||
},
|
|
||||||
"__COMMENTS__": [
|
|
||||||
"natives@1.1.6 for Gulp 3.x on Node 10.x: https://github.com/gulpjs/gulp/issues/2162#issuecomment-385197164"
|
|
||||||
],
|
|
||||||
"resolutions": {
|
|
||||||
"natives": "1.1.6"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user