From 02613adf06e84b5bb0fdc26aec980e3af8145a60 Mon Sep 17 00:00:00 2001 From: Carlo Dapor Date: Tue, 7 Feb 2017 15:38:18 +0100 Subject: [PATCH] Bail out if output path is the root folder, as `ng serve` --output-path=. would wipe out the entire root folder. --- packages/@angular/cli/tasks/serve.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/@angular/cli/tasks/serve.ts b/packages/@angular/cli/tasks/serve.ts index 6a376f35ac86..10458b4f9938 100644 --- a/packages/@angular/cli/tasks/serve.ts +++ b/packages/@angular/cli/tasks/serve.ts @@ -24,6 +24,9 @@ export default Task.extend({ const appConfig = projectConfig.apps[0]; const outputPath = serveTaskOptions.outputPath || appConfig.outDir; + if (this.project.root === outputPath) { + throw new SilentError ('Output path MUST not be project root directory!'); + } rimraf.sync(path.resolve(this.project.root, outputPath)); const serveDefaults = {