mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 12:33:56 +00:00
118 lines
4.0 KiB
JavaScript
Vendored
118 lines
4.0 KiB
JavaScript
Vendored
const pkg = require('./package.json');
|
|
const gulp = require('gulp');
|
|
const fancyLog = require('fancy-log');
|
|
const del = require('del');
|
|
const plugins = require('gulp-load-plugins')({
|
|
lazy: true,
|
|
postRequireTransforms: {
|
|
print: (plugin) => plugin.default,
|
|
uglifyEs: (plugin) => plugin.default
|
|
}
|
|
});
|
|
|
|
const onError = (error) => {
|
|
fancyLog(error);
|
|
};
|
|
|
|
const sassOptions = {style: 'compressed'};
|
|
|
|
gulp.task('vendorJs', () => {
|
|
|
|
fancyLog('Compiling vendor JS dependencies');
|
|
|
|
return gulp.src(pkg.globs.vendorJs)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(plugins.concat('vendor.js'))
|
|
.pipe(plugins.uglify())
|
|
.pipe(gulp.dest(pkg.paths.build.js));
|
|
});
|
|
|
|
gulp.task('vendorCss', () => {
|
|
fancyLog('Compiling vendor CSS dependencies');
|
|
return gulp.src(pkg.globs.vendorCss)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(plugins.concatCss('vendor.css'))
|
|
.pipe(plugins.cleanCss())
|
|
.pipe(plugins.replace('../../../font-awesome/', './'))
|
|
.pipe(plugins.replace('../../jquery-ui-dist/', ''))
|
|
.pipe(gulp.dest(pkg.paths.build.css));
|
|
});
|
|
|
|
gulp.task('vendorFonts', () => {
|
|
fancyLog('Copying vendor fonts for dependencies');
|
|
return gulp.src(pkg.globs.vendorFlags)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(gulp.dest(pkg.paths.build.flags));
|
|
});
|
|
|
|
gulp.task('vendorFlags', () => {
|
|
fancyLog('Copying flags svg for dependencies');
|
|
return gulp.src(pkg.globs.vendorFonts)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(gulp.dest(pkg.paths.build.fonts));
|
|
});
|
|
|
|
gulp.task('vendorImages', () => {
|
|
fancyLog('Copying vendor images for dependencies');
|
|
return gulp.src(pkg.globs.vendorImages)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(gulp.dest(pkg.paths.build.images));
|
|
});
|
|
|
|
gulp.task('sourceImages', () => {
|
|
fancyLog('Compiling source image files');
|
|
return gulp.src(pkg.globs.sourceImages)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(gulp.dest(pkg.paths.build.images));
|
|
});
|
|
|
|
gulp.task('sourceCss', gulp.series('sourceImages', () => {
|
|
fancyLog('Compiling source CSS files');
|
|
return gulp.src(pkg.globs.sourceCss)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(plugins.sass(sassOptions).on('error', plugins.sass.logError))
|
|
.pipe(plugins.autoprefixer())
|
|
.pipe(plugins.concatCss('site.css'))
|
|
.pipe(gulp.dest(pkg.paths.build.css));
|
|
}));
|
|
|
|
gulp.task('sourceJs', () => {
|
|
fancyLog('Compiling source JS dependencies');
|
|
return gulp.src(pkg.globs.sourceJs)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(plugins.concat('site.js'))
|
|
.pipe(plugins.uglifyEs())
|
|
.pipe(gulp.dest(pkg.paths.build.js));
|
|
});
|
|
|
|
gulp.task('sourceFonts', () => {
|
|
fancyLog('Compiling source font files');
|
|
return gulp.src(pkg.globs.sourceFonts)
|
|
.pipe(plugins.plumber({errorHandler: onError}))
|
|
.pipe(plugins.print())
|
|
.pipe(gulp.dest(pkg.paths.build.fonts));
|
|
});
|
|
|
|
gulp.task('clean', () => {
|
|
return del([pkg.paths.build.css + '/*', pkg.paths.build.js + '/*', !pkg.paths.build.js + '/app.js', pkg.paths.build.images + '/*', pkg.paths.build.fonts + '/*']);
|
|
});
|
|
|
|
gulp.task('vendor', gulp.series('vendorJs', 'vendorCss', 'vendorFonts', 'vendorFlags', 'vendorImages'));
|
|
gulp.task('source', gulp.series('sourceCss', 'sourceImages', 'sourceJs', 'sourceFonts'));
|
|
gulp.task('build', gulp.series('clean', 'vendor', 'source'));
|
|
|
|
gulp.task('watch', (done) => {
|
|
gulp.watch(pkg.globs.sourceCss, gulp.series('sourceCss'));
|
|
gulp.watch(pkg.globs.sourceImages, gulp.series('sourceImages'));
|
|
gulp.watch(pkg.globs.sourceJs, gulp.series('sourceJs'));
|
|
gulp.watch(pkg.globs.sourceJs, gulp.series('sourceFonts'));
|
|
done();
|
|
}); |