import gulp from 'gulp'; import transpile from './transpile'; import processMarkup from './process-markup'; import processAssets from './process-assets'; import lintJS from './lint-js'; import {build, CLIOptions} from 'aurelia-cli'; import project from '../aurelia.json'; import processDocs from './process-docs'; import livesiteJS from './livesite-js'; import cleanAssets from './clean'; import copyJsFilesToPL from './copy-js'; import copyDataToPL from './copy-data'; import concatWpJs from './concat-wp'; export function buildJs(done) { // TODO : review if --dev still required, since au run --watch now works as expected if (CLIOptions.hasFlag('dev')) { return gulp.series( readProjectConfiguration, gulp.parallel( transpile, livesiteJS, processMarkup ), writeBundles, concatWpJs, copyJsFilesToPL )(done); } return gulp.series( readProjectConfiguration, gulp.parallel( lintJS, transpile, livesiteJS, processMarkup, processAssets ), writeBundles, concatWpJs, copyJsFilesToPL )(done); } export function buildDocs(done) { return gulp.series( readProjectConfiguration, processDocs )(done); } export function buildAll(done) { // TODO : review if --dev still required, since au run --watch now works as expected if (CLIOptions.hasFlag('js') || CLIOptions.hasFlag('dev')) { return buildJs(done); } else if (CLIOptions.hasFlag('docs')) { return gulp.series( readProjectConfiguration, gulp.parallel( processDocs, transpile, processMarkup, processAssets ), writeBundles )(done); } else if (CLIOptions.hasFlag('data')) { return gulp.series( readProjectConfiguration, copyDataToPL )(done); } return gulp.series( cleanAssets, readProjectConfiguration, gulp.parallel( processDocs, lintJS, transpile, livesiteJS, processMarkup, processAssets ), writeBundles, concatWpJs, copyJsFilesToPL, copyDataToPL )(done); } export default function buildDefault(done) { return buildAll(done); } function readProjectConfiguration() { return build.src(project); } function writeBundles() { return build.dest(); }