ft-webplatform/aurelia_project/tasks/build.js

102 lines
2.3 KiB
JavaScript
Raw Permalink Normal View History

2017-09-28 12:04:16 +00:00
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();
}