From 0086c78c2738a4b5ceec6669e031ed331a50b522 Mon Sep 17 00:00:00 2001 From: Austin Date: Sun, 10 Jun 2018 09:54:14 -0500 Subject: [PATCH] fix(schematics): add app prefix to components --- src/lib/schematics/utils/devkit-utils/component.ts | 8 ++++---- src/lib/schematics/utils/devkit-utils/config.ts | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/schematics/utils/devkit-utils/component.ts b/src/lib/schematics/utils/devkit-utils/component.ts index b50fa178639f..d917621ff954 100644 --- a/src/lib/schematics/utils/devkit-utils/component.ts +++ b/src/lib/schematics/utils/devkit-utils/component.ts @@ -82,17 +82,17 @@ function addDeclarationToNgModule(options: any): Rule { }; } - -function buildSelector(options: any) { +function buildSelector(options: any, projectPrefix: string) { let selector = strings.dasherize(options.name); if (options.prefix) { selector = `${options.prefix}-${selector}`; + } else if (options.prefix === undefined && projectPrefix) { + selector = `${projectPrefix}-${selector}`; } return selector; } - export function buildComponent(options: any): Rule { return (host: Tree, context: SchematicContext) => { const workspace = getWorkspace(host); @@ -105,7 +105,7 @@ export function buildComponent(options: any): Rule { options.path = `/${project.root}/src/app`; } - options.selector = options.selector || buildSelector(options); + options.selector = options.selector || buildSelector(options, project.prefix); options.module = findModuleFromOptions(host, options); const parsedPath = parseName(options.path, options.name); diff --git a/src/lib/schematics/utils/devkit-utils/config.ts b/src/lib/schematics/utils/devkit-utils/config.ts index 838e44a3dca6..c2bd6ffcdb04 100755 --- a/src/lib/schematics/utils/devkit-utils/config.ts +++ b/src/lib/schematics/utils/devkit-utils/config.ts @@ -49,6 +49,9 @@ export interface Workspace { export interface Project { name: string; + /** Application prefix. */ + prefix: string; + /** Project type. */ projectType: 'application' | 'library'; /** Root of the project sourcefiles. */