From 7c666de8cc3527dabd904e61bc8752e8a1fc8add Mon Sep 17 00:00:00 2001 From: Filipe Silva Date: Mon, 16 Jan 2017 12:57:05 +0000 Subject: [PATCH] fix(build): don't leave dist folder on fail --- package.json | 2 +- packages/angular-cli/models/webpack-configs/common.ts | 1 + tests/e2e/tests/build/fail-build.ts | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 27645b0c11eb..e630725a4724 100644 --- a/package.json +++ b/package.json @@ -137,7 +137,7 @@ "@types/rimraf": "0.0.25-alpha", "@types/semver": "^5.3.30", "@types/source-map": "^0.5.0", - "@types/webpack": "2.2.0", + "@types/webpack": "^2.2.1", "chai": "^3.5.0", "conventional-changelog": "^1.1.0", "dtsgenerator": "^0.7.1", diff --git a/packages/angular-cli/models/webpack-configs/common.ts b/packages/angular-cli/models/webpack-configs/common.ts index f04558041db6..1835704df9b9 100644 --- a/packages/angular-cli/models/webpack-configs/common.ts +++ b/packages/angular-cli/models/webpack-configs/common.ts @@ -133,6 +133,7 @@ export function getCommonConfig(wco: WebpackConfigOptions) { ].concat(extraRules) }, plugins: [ + new webpack.NoEmitOnErrorsPlugin(), new HtmlWebpackPlugin({ template: path.resolve(appRoot, appConfig.index), filename: path.resolve(buildOptions.outputPath, appConfig.index), diff --git a/tests/e2e/tests/build/fail-build.ts b/tests/e2e/tests/build/fail-build.ts index 3bbc8eff3158..4dd01b1e7eb4 100644 --- a/tests/e2e/tests/build/fail-build.ts +++ b/tests/e2e/tests/build/fail-build.ts @@ -1,9 +1,11 @@ import {ng} from '../../utils/process'; import {expectToFail} from '../../utils/utils'; -import {deleteFile} from '../../utils/fs'; +import {deleteFile, expectFileToExist} from '../../utils/fs'; export default function() { return deleteFile('src/app/app.component.ts') // This is supposed to fail since there's a missing file - .then(() => expectToFail(() => ng('build'))); + .then(() => expectToFail(() => ng('build'))) + // Failed builds don't leave behind dist/ + .then(() => expectToFail(() => expectFileToExist('dist/'))); }