FIX: npm build WORKS now w/ gulp@4. Added more tasks, and task groups

This commit is contained in:
Geoff Doty 2018-11-30 04:39:58 -05:00
parent 245569db7a
commit 467e0d9cde
1 changed files with 26 additions and 8 deletions

View File

@ -9,10 +9,10 @@ const gulp = require('gulp'),
// build riotjs tags (components) // build riotjs tags (components)
gulp.task('tags', () => { gulp.task('tags', () => {
return gulp.src('./src/public/views/**/*.tag.html') return gulp.src('./src/public/tags/**/*.tag.html')
.pipe(concat('tags.js')) .pipe(concat('tags.js'))
.pipe(riot({compact: true, whitespace: false})) .pipe(riot({compact: true, whitespace: false}))
.pipe(minify()) .pipe(minify({ext: {min: '.min.js'}}))
.pipe(gulp.dest('./dist/js')); .pipe(gulp.dest('./dist/js'));
}); });
@ -20,7 +20,7 @@ gulp.task('tags', () => {
gulp.task('javascript', () => { gulp.task('javascript', () => {
return gulp.src('./src/public/js/**/*.js') return gulp.src('./src/public/js/**/*.js')
.pipe(concat('combined.js')) .pipe(concat('combined.js'))
.pipe(minify()) .pipe(minify({ext: {min: '.min.js'}}))
.pipe(gulp.dest('./dist/js')); .pipe(gulp.dest('./dist/js'));
}); });
@ -34,23 +34,41 @@ gulp.task('fonts', () => {
// TODO: minimize // TODO: minimize
gulp.task('images', () => { gulp.task('images', () => {
return gulp.src('./src/public/images/**/*') return gulp.src('./src/public/images/**/*')
.pipe(gulp.dest('./dist/img')); .pipe(gulp.dest('./dist/images'));
}); });
// combine css // combine css
gulp.task('css', () => { gulp.task('css', () => {
return gulp.src('css/*.css') return gulp.src('./src/public/css/*.css')
.pipe(concat('styles.css')) .pipe(concat('styles.css'))
.pipe(cssmin()) .pipe(cssmin())
.pipe(gulp.dest('./dist/css')); .pipe(gulp.dest('./dist/css'));
}); });
// build everything for production distribution // move vendor deps
gulp.task('build', gulp.series('tags', 'javascript', 'css', 'fonts', 'images'), () => { gulp.task('vendor', () => {
return gulp.src(['./src/public/index.html']) return gulp.src('./src/public/vendor/**/*.min.*')
.pipe(gulp.dest('./dist/vendor'));
});
// move public files
gulp.task('public', () => {
return gulp.src('./src/public/*.*')
.pipe(gulp.dest('./dist'));
});
// build index
gulp.task('index', () => {
return gulp.src(['./src/public/*.html'])
.pipe(ref()) .pipe(ref())
.pipe(gulp.dest('./dist')); .pipe(gulp.dest('./dist'));
}); });
// build all assets
gulp.task('assets', gulp.parallel('css', 'fonts', 'images', 'javascript', 'vendor'), () => {});
// build everything for production distribution
gulp.task('build', gulp.series('assets', 'public', 'index', 'tags'), () => {});
// create task // create task
gulp.task('default', gulp.series('build'), () => {}); gulp.task('default', gulp.series('build'), () => {});