UNPKG

coveo-search-ui

Version:

Coveo JavaScript Search Framework

55 lines (42 loc) 2.31 kB
'use strict'; const gulp = require('gulp'); const shell = require('gulp-shell'); const eol = require('gulp-eol'); const rename = require('gulp-rename'); const event_stream = require('event-stream'); const { fileTypes } = require('./filetypes'); const { setNodeProdEnv } = require('./nodeEnv'); const prepareSass = gulp.series(fileTypes, pipeModalBoxFiles); const executeWebpack = gulp.series(gulp.parallel(addEolDependencies, deprecatedDependencies, prepareSass), shell.task(['npx webpack'])); const compile = gulp.series(executeWebpack, gulp.parallel(duplicateCssFile, duplicateCssMapFile)); const compileTSOnly = shell.task(['npx webpack --config ./webpack.tsonly.config.js']); const minimize = gulp.series( gulp.parallel(addEolDependencies, setNodeProdEnv), shell.task(['node --max_old_space_size=8192 node_modules/webpack/bin/webpack.js --env minimize']) ); const analyze = gulp.series( gulp.parallel(addEolDependencies, setNodeProdEnv), shell.task(['node --max_old_space_size=8192 node_modules/webpack/bin/webpack.js --env minimize --env analyze']) ); function pipeModalBoxFiles() { return event_stream .merge(gulp.src('./lib/modal-box/modalBox.css').pipe(rename('_ModalBox.scss')).pipe(gulp.dest('./bin/sass/'))) .pipe(event_stream.wait()); } function deprecatedDependencies() { return gulp.src('./src/Dependencies.js').pipe(rename('CoveoJsSearch.Dependencies.js')).pipe(gulp.dest('./bin/js/')); } // We duplicate css file to help on upgrade (deployments using the "NewDesign" file) // This should help mitigate 404 on those files, and hopefully possible maintenance case(s). function duplicateCssFile() { return gulp.src('./bin/css/CoveoFullSearch.css').pipe(rename('CoveoFullSearchNewDesign.css')).pipe(gulp.dest('./bin/css')); } function duplicateCssMapFile() { return gulp.src('./bin/css/CoveoFullSearch.css.map').pipe(rename('CoveulFullSearchNewDesign.css.map')).pipe(gulp.dest('./bin/css')); } // This cause an issue when dep are bundled together : the lack of EOL makes it so // that part of the bundled code can be commented out or not valid function addEolDependencies() { return gulp.src('./node_modules/underscore/underscore-min.js').pipe(eol()).pipe(gulp.dest('./node_modules/underscore/')); } module.exports = { compile, compileTSOnly, minimize, analyze };