diff --git a/scripts/gulp/tasks/e2e.prod.ts b/scripts/gulp/tasks/e2e.prod.ts index 9838205326..920797c579 100644 --- a/scripts/gulp/tasks/e2e.prod.ts +++ b/scripts/gulp/tasks/e2e.prod.ts @@ -34,6 +34,7 @@ task('e2e.prod', ['e2e.prepare'], (done: Function) => { done(); }).catch((err: Error) => { done(err); + process.exit(1); }); }); @@ -106,13 +107,10 @@ function buildTest(filePath: string) { const sassConfigPath = join('scripts', 'e2e', 'sass.config.js'); const copyConfigPath = join('scripts', 'e2e', 'copy.config.js'); - - - const appNgModulePath = join(dirname(appEntryPoint), 'app.module.ts'); const distDir = join(distTestRoot, 'www'); - return runAppScriptsBuild(appEntryPoint, appNgModulePath, ionicAngularDir, distDir, pathToWriteFile, ionicAngularDir, sassConfigPath, copyConfigPath).then(() => { + return runAppScriptsBuild(appEntryPoint, appNgModulePath, ionicAngularDir, distDir, pathToWriteFile, ionicAngularDir, sassConfigPath, copyConfigPath, argv.dev).then(() => { const end = Date.now(); console.log(`${filePath} took a total of ${(end - start) / 1000} seconds to build`); }); diff --git a/scripts/gulp/util.ts b/scripts/gulp/util.ts index 651eb26e21..0564137789 100644 --- a/scripts/gulp/util.ts +++ b/scripts/gulp/util.ts @@ -236,10 +236,10 @@ export function runAppScriptsServe(testOrDemoName: string, appEntryPoint: string }); } -export function runAppScriptsBuild(appEntryPoint: string, appNgModulePath: string, srcDir: string, distDir: string, tsConfig: string, ionicAngularDir: string, sassConfigPath: string, copyConfigPath: string) { +export function runAppScriptsBuild(appEntryPoint: string, appNgModulePath: string, srcDir: string, distDir: string, tsConfig: string, ionicAngularDir: string, sassConfigPath: string, copyConfigPath: string, isDev: boolean = false) { const pathToAppScripts = join(NODE_MODULES_ROOT, '.bin', 'ionic-app-scripts'); const debug: boolean = argv.debug; - return runWorker(pathToAppScripts, debug, appEntryPoint, appNgModulePath, srcDir, distDir, tsConfig, ionicAngularDir, sassConfigPath, copyConfigPath); + return runWorker(pathToAppScripts, debug, appEntryPoint, appNgModulePath, srcDir, distDir, tsConfig, ionicAngularDir, sassConfigPath, copyConfigPath, isDev); } /** Resolves the path for a node package executable. */ diff --git a/scripts/gulp/utils/app-scripts-worker-client.ts b/scripts/gulp/utils/app-scripts-worker-client.ts index 31f24d1981..073aa0c193 100644 --- a/scripts/gulp/utils/app-scripts-worker-client.ts +++ b/scripts/gulp/utils/app-scripts-worker-client.ts @@ -3,7 +3,7 @@ import { join } from 'path'; import { MessageToWorker, WorkerProcess } from './interfaces'; -export function runWorker(pathToAppScripts: string, debug: boolean, appEntryPoint: string, appNgModulePath: string, srcDir: string, distDir: string, tsConfig: string, ionicAngularDir: string, sassConfigPath: string, copyConfigPath: string) { +export function runWorker(pathToAppScripts: string, debug: boolean, appEntryPoint: string, appNgModulePath: string, srcDir: string, distDir: string, tsConfig: string, ionicAngularDir: string, sassConfigPath: string, copyConfigPath: string, isDev: boolean) { return new Promise((resolve, reject) => { const msgToWorker: MessageToWorker = { @@ -16,11 +16,13 @@ export function runWorker(pathToAppScripts: string, debug: boolean, appEntryPoin tsConfig: tsConfig, ionicAngularDir: ionicAngularDir, sassConfigPath: sassConfigPath, - copyConfigPath: copyConfigPath + copyConfigPath: copyConfigPath, + isDev: isDev }; const worker = createWorker(msgToWorker); - console.log(`Starting to build test ${appEntryPoint}`); + + console.log(`Starting to do a ${isDev ? 'dev' : 'prod'} build test ${appEntryPoint}`); worker.on('error', (err: any) => { console.error(`worker error, entrypoint: ${appEntryPoint}, pid: ${worker.pid}, error: ${err}`); @@ -56,8 +58,6 @@ export function createWorker(msg: MessageToWorker): any { try { let scriptArgs = [ 'build', - '--aot', - '--optimizejs', '--appEntryPoint', msg.appEntryPoint, '--appNgModulePath', msg.appNgModulePath, '--srcDir', msg.srcDir, @@ -71,9 +71,13 @@ export function createWorker(msg: MessageToWorker): any { '--sass', msg.sassConfigPath, '--copy', msg.copyConfigPath, '--enableLint', 'false', - // '--disableLogging', 'true' ]; + // TODO, use prod once we're a little more settled + if (!msg.isDev) { + scriptArgs.push('--aot'); + } + if (msg.debug) { scriptArgs.push('--debug'); } diff --git a/scripts/gulp/utils/interfaces.ts b/scripts/gulp/utils/interfaces.ts index 454118a118..9af879f82a 100644 --- a/scripts/gulp/utils/interfaces.ts +++ b/scripts/gulp/utils/interfaces.ts @@ -15,4 +15,5 @@ export interface MessageToWorker { ionicAngularDir: string; sassConfigPath: string; copyConfigPath: string; + isDev: boolean; };