import gulp from 'gulp'; import changed from 'gulp-changed'; import minify from 'gulp-minify'; import include from 'gulp-include'; import dartSass from 'sass'; import gulpSass from 'gulp-sass'; const sass = gulpSass(dartSass); const publicSCSSDestination = 'public/stylesheets'; const publicSCSSFunction = () => { return gulp .src('public-scss/*.scss') .pipe(sass({ outputStyle: 'compressed', includePaths: ['node_modules'] }).on('error', sass.logError)) .pipe(gulp.dest(publicSCSSDestination)); }; gulp.task('public-scss', publicSCSSFunction); const publicJavascriptsDestination = 'public/javascripts'; const publicJavascriptsMinFunction = () => { return gulp .src('public-typescript/*.js', { allowEmpty: true }) .pipe(changed(publicJavascriptsDestination, { extension: '.min.js' })) .pipe(minify({ noSource: true, ext: { min: '.min.js' } })) .pipe(gulp.dest(publicJavascriptsDestination)); }; const publicJavascriptsAdminTablesFunction = () => { return gulp .src('public-typescript/adminTables/adminTables.js') .pipe(include()) .pipe(gulp.dest('public-typescript')); }; const publicJavascriptsLotOccupancyEditFunction = () => { return gulp .src('public-typescript/lotOccupancyEdit/lotOccupancyEdit.js') .pipe(include()) .pipe(gulp.dest('public-typescript')); }; const publicJavascriptsWorkOrderEditFunction = () => { return gulp .src('public-typescript/workOrderEdit/workOrderEdit.js') .pipe(include()) .pipe(gulp.dest('public-typescript')); }; gulp.task('public-javascript-adminTables', publicJavascriptsAdminTablesFunction); gulp.task('public-javascript-lotOccupancyEdit', publicJavascriptsLotOccupancyEditFunction); gulp.task('public-javascript-workOrderEdit', publicJavascriptsWorkOrderEditFunction); gulp.task('public-javascript-min', publicJavascriptsMinFunction); const watchFunction = () => { gulp.watch('public-scss/*.scss', publicSCSSFunction); gulp.watch('public-typescript/adminTables/*.js', publicJavascriptsAdminTablesFunction); gulp.watch('public-typescript/lotOccupancyEdit/*.js', publicJavascriptsLotOccupancyEditFunction); gulp.watch('public-typescript/workOrderEdit/*.js', publicJavascriptsWorkOrderEditFunction); gulp.watch('public-typescript/*.js', publicJavascriptsMinFunction); }; gulp.task('watch', watchFunction); gulp.task('default', () => { publicJavascriptsAdminTablesFunction(); publicJavascriptsLotOccupancyEditFunction(); publicJavascriptsWorkOrderEditFunction(); publicJavascriptsMinFunction(); publicSCSSFunction(); watchFunction(); });