From bab2e3de8bbab630b47bcafd2febcd01e6a724f7 Mon Sep 17 00:00:00 2001 From: Filipe Silva Date: Mon, 20 Nov 2017 13:27:00 +0000 Subject: [PATCH] fix(@angular/cli): fix generate app root in windows Fix #7960 --- packages/@angular/cli/commands/generate.ts | 8 ++++---- packages/@angular/cli/utilities/dynamic-path-parser.ts | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/@angular/cli/commands/generate.ts b/packages/@angular/cli/commands/generate.ts index 8602367f8d0b..e9a4d79b3585 100644 --- a/packages/@angular/cli/commands/generate.ts +++ b/packages/@angular/cli/commands/generate.ts @@ -138,15 +138,15 @@ export default Command.extend({ dryRun: commandOptions.dryRun }; const parsedPath = dynamicPathParser(dynamicPathOptions); - commandOptions.sourceDir = appConfig.root; - const root = appConfig.root + path.sep; - commandOptions.appRoot = parsedPath.appRoot === appConfig.root ? '' : + commandOptions.sourceDir = parsedPath.sourceDir; + const root = parsedPath.sourceDir + path.sep; + commandOptions.appRoot = parsedPath.appRoot === parsedPath.sourceDir ? '' : parsedPath.appRoot.startsWith(root) ? parsedPath.appRoot.substr(root.length) : parsedPath.appRoot; commandOptions.path = parsedPath.dir.replace(separatorRegEx, '/'); - commandOptions.path = parsedPath.dir === appConfig.root ? '' : + commandOptions.path = parsedPath.dir === parsedPath.sourceDir ? '' : parsedPath.dir.startsWith(root) ? commandOptions.path.substr(root.length) : commandOptions.path; diff --git a/packages/@angular/cli/utilities/dynamic-path-parser.ts b/packages/@angular/cli/utilities/dynamic-path-parser.ts index c41f5e06ff78..b6795b928a09 100644 --- a/packages/@angular/cli/utilities/dynamic-path-parser.ts +++ b/packages/@angular/cli/utilities/dynamic-path-parser.ts @@ -12,9 +12,11 @@ export interface DynamicPathOptions { export function dynamicPathParser(options: DynamicPathOptions) { const projectRoot = options.project.root; - const sourceDir = options.appConfig.root; + const sourceDir = options.appConfig.root.replace('/', path.sep); - const p = options.appConfig.appRoot === undefined ? 'app' : options.appConfig.appRoot; + const p = options.appConfig.appRoot === undefined + ? 'app' + : options.appConfig.appRoot.replace('/', path.sep); const appRoot = path.join(sourceDir, p); const cwd = process.env.PWD;