mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-03 11:25:29 -04:00
Clearer gulpfile
This commit is contained in:
parent
50d4ffdb7b
commit
32b0384ea0
64
gulpfile.js
64
gulpfile.js
@ -4,30 +4,36 @@ const minify = require('gulp-babel-minify');
|
|||||||
const minifyCss = require('gulp-minify-css');
|
const minifyCss = require('gulp-minify-css');
|
||||||
const less = require('gulp-less');
|
const less = require('gulp-less');
|
||||||
|
|
||||||
gulp.task('copy-uikit-js', () => {
|
// Copy libraries from node_moduels to public/js
|
||||||
|
gulp.task('copy-js', () => {
|
||||||
return gulp.src([
|
return gulp.src([
|
||||||
|
'node_modules/@fortawesome/fontawesome-free/js/fontawesome.min.js',
|
||||||
|
'node_modules/@fortawesome/fontawesome-free/js/solid.min.js',
|
||||||
'node_modules/uikit/dist/js/uikit.min.js',
|
'node_modules/uikit/dist/js/uikit.min.js',
|
||||||
'node_modules/uikit/dist/js/uikit-icons.min.js'
|
'node_modules/uikit/dist/js/uikit-icons.min.js'
|
||||||
])
|
])
|
||||||
.pipe(gulp.dest('public/js'));
|
.pipe(gulp.dest('public/js'));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('copy-fontawesome', () => {
|
// Copy UIKit SVG icons to public/img
|
||||||
return gulp.src([
|
gulp.task('copy-uikit-icons', () => {
|
||||||
'node_modules/@fortawesome/fontawesome-free/js/fontawesome.min.js',
|
return gulp.src('node_modules/uikit/src/images/backgrounds/*.svg')
|
||||||
'node_modules/@fortawesome/fontawesome-free/js/solid.min.js'
|
.pipe(gulp.dest('public/img'));
|
||||||
])
|
|
||||||
.pipe(gulp.dest('public/js'));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('copy-js', gulp.series('copy-uikit-js', 'copy-fontawesome'));
|
// Compile less
|
||||||
|
gulp.task('less', () => {
|
||||||
|
return gulp.src('public/css/*.less')
|
||||||
|
.pipe(less())
|
||||||
|
.pipe(gulp.dest('public/css'));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Transpile and minify JS files and output to dist
|
||||||
gulp.task('babel', () => {
|
gulp.task('babel', () => {
|
||||||
return gulp.src(['public/js/*.js'])
|
return gulp.src(['public/js/*.js', '!public/js/*.min.js'])
|
||||||
.pipe(babel({
|
.pipe(babel({
|
||||||
presets: [
|
presets: [
|
||||||
['@babel/preset-env', {
|
['@babel/preset-env', {
|
||||||
debug: true,
|
|
||||||
targets: '>0.25%, not dead, ios>=9'
|
targets: '>0.25%, not dead, ios>=9'
|
||||||
}]
|
}]
|
||||||
],
|
],
|
||||||
@ -39,40 +45,26 @@ gulp.task('babel', () => {
|
|||||||
.pipe(gulp.dest('dist/js'));
|
.pipe(gulp.dest('dist/js'));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('less', () => {
|
// Minify CSS and output to dist
|
||||||
return gulp.src('public/css/*.less')
|
|
||||||
.pipe(less())
|
|
||||||
.pipe(gulp.dest('public/css'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('minify-css', () => {
|
gulp.task('minify-css', () => {
|
||||||
return gulp.src('public/css/*.css')
|
return gulp.src('public/css/*.css')
|
||||||
.pipe(minifyCss())
|
.pipe(minifyCss())
|
||||||
.pipe(gulp.dest('dist/css'));
|
.pipe(gulp.dest('dist/css'));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('copy-uikit-icons', () => {
|
// Copy static files (includeing images) to dist
|
||||||
return gulp.src('node_modules/uikit/src/images/backgrounds/*.svg')
|
|
||||||
.pipe(gulp.dest('public/img'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('img', () => {
|
|
||||||
return gulp.src('public/img/*')
|
|
||||||
.pipe(gulp.dest('dist/img'));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('copy-files', () => {
|
gulp.task('copy-files', () => {
|
||||||
return gulp.src('public/*.*')
|
return gulp.src(['public/img/*', 'public/*.*', 'public/js/*.min.js'], {
|
||||||
|
base: 'public'
|
||||||
|
})
|
||||||
.pipe(gulp.dest('dist'));
|
.pipe(gulp.dest('dist'));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('default', gulp.parallel(
|
// Set up the public folder for development
|
||||||
gulp.series('copy-js', 'babel'),
|
gulp.task('dev', gulp.parallel('copy-js', 'copy-uikit-icons', 'less'));
|
||||||
gulp.series('less', 'minify-css'),
|
|
||||||
gulp.series('copy-uikit-icons', 'img'),
|
|
||||||
'copy-files'
|
|
||||||
));
|
|
||||||
|
|
||||||
gulp.task('dev', gulp.parallel(
|
// Set up the dist folder for deployment
|
||||||
'copy-js', 'less', 'copy-uikit-icons'
|
gulp.task('deploy', gulp.parallel('babel', 'minify-css', 'copy-files'));
|
||||||
));
|
|
||||||
|
// Default task
|
||||||
|
gulp.task('default', gulp.series('dev', 'deploy'));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user