From 1609554c4d04176041ddf7c0bcba68842c5695da Mon Sep 17 00:00:00 2001 From: Mike Brocchi Date: Tue, 28 Feb 2017 00:22:19 -0500 Subject: [PATCH] refactor(@angular/cli): consolidate config reading logic (#5023) --- packages/@angular/cli/addon/index.js | 7 ---- .../@angular/cli/blueprints/class/index.ts | 8 +--- .../cli/blueprints/component/index.ts | 38 +++++-------------- .../cli/blueprints/directive/index.ts | 16 ++------ .../@angular/cli/blueprints/enum/index.ts | 2 +- .../@angular/cli/blueprints/guard/index.ts | 13 ++----- .../cli/blueprints/interface/index.ts | 8 +--- .../@angular/cli/blueprints/module/index.ts | 11 ++---- packages/@angular/cli/blueprints/ng/index.ts | 6 ++- .../@angular/cli/blueprints/pipe/index.ts | 15 ++------ .../@angular/cli/blueprints/service/index.ts | 15 ++------ packages/@angular/cli/commands/e2e.ts | 1 - packages/@angular/cli/commands/generate.ts | 2 - packages/@angular/cli/commands/test.ts | 2 - packages/@angular/cli/models/config.ts | 16 ++++++++ packages/@angular/cli/plugins/karma.ts | 4 +- packages/@angular/cli/tasks/build.ts | 3 +- packages/@angular/cli/tasks/eject.ts | 2 +- packages/@angular/cli/tasks/extract-i18n.ts | 3 +- packages/@angular/cli/tasks/serve.ts | 2 +- packages/@angular/cli/tasks/test.ts | 2 +- packages/@angular/cli/utilities/app-utils.ts | 5 ++- 22 files changed, 64 insertions(+), 117 deletions(-) diff --git a/packages/@angular/cli/addon/index.js b/packages/@angular/cli/addon/index.js index 90bd861a3f6b..b5b84ffdb5aa 100644 --- a/packages/@angular/cli/addon/index.js +++ b/packages/@angular/cli/addon/index.js @@ -1,18 +1,11 @@ /* jshint node: true */ 'use strict'; -const config = require('../models/config'); const path = require('path'); module.exports = { name: 'ng', - config: function () { - this.project.ngConfigObj = this.project.ngConfigObj || config.CliConfig.fromProject(); - this.project.ngConfig = this.project.ngConfig || ( - this.project.ngConfigObj && this.project.ngConfigObj.config); - }, - blueprintsPath: function () { return path.join(__dirname, '../blueprints'); }, diff --git a/packages/@angular/cli/blueprints/class/index.ts b/packages/@angular/cli/blueprints/class/index.ts index f463fd89a907..0b4ffe85eeb7 100644 --- a/packages/@angular/cli/blueprints/class/index.ts +++ b/packages/@angular/cli/blueprints/class/index.ts @@ -24,9 +24,7 @@ export default Blueprint.extend({ ], normalizeEntityName: function (entityName: string) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName.split('.')[0], appConfig); this.dynamicPath = parsedPath; @@ -44,10 +42,8 @@ export default Blueprint.extend({ this.fileName += '.' + classType.toLowerCase(); } - const cliConfig = CliConfig.fromProject(); options.spec = options.spec !== undefined ? - options.spec : - cliConfig && cliConfig.get('defaults.class.spec'); + options.spec : CliConfig.getValue('defaults.class.spec'); return { dynamicPath: this.dynamicPath.dir, diff --git a/packages/@angular/cli/blueprints/component/index.ts b/packages/@angular/cli/blueprints/component/index.ts index 7eded42892e5..ef5d9bcbd45c 100644 --- a/packages/@angular/cli/blueprints/component/index.ts +++ b/packages/@angular/cli/blueprints/component/index.ts @@ -83,9 +83,7 @@ export default Blueprint.extend({ ], beforeInstall: function (options: any) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); if (options.module) { // Resolve path to module const modulePath = options.module.endsWith('.ts') ? options.module : `${options.module}.ts`; @@ -108,9 +106,7 @@ export default Blueprint.extend({ }, normalizeEntityName: function (entityName: string) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; @@ -131,37 +127,25 @@ export default Blueprint.extend({ }, locals: function (options: any) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - - this.styleExt = 'css'; - if (ngConfig && ngConfig.defaults && ngConfig.defaults.styleExt) { - this.styleExt = ngConfig.defaults.styleExt; - } + this.styleExt = CliConfig.getValue('defaults.styleExt') || 'css'; options.inlineStyle = options.inlineStyle !== undefined ? - options.inlineStyle : - cliConfig && cliConfig.get('defaults.component.inlineStyle'); + options.inlineStyle : CliConfig.getValue('defaults.component.inlineStyle'); options.inlineTemplate = options.inlineTemplate !== undefined ? - options.inlineTemplate : - cliConfig && cliConfig.get('defaults.component.inlineTemplate'); + options.inlineTemplate : CliConfig.getValue('defaults.component.inlineTemplate'); options.flat = options.flat !== undefined ? - options.flat : - cliConfig && cliConfig.get('defaults.component.flat'); + options.flat : CliConfig.getValue('defaults.component.flat'); options.spec = options.spec !== undefined ? - options.spec : - cliConfig && cliConfig.get('defaults.component.spec'); + options.spec : CliConfig.getValue('defaults.component.spec'); options.viewEncapsulation = options.viewEncapsulation !== undefined ? - options.viewEncapsulation : - cliConfig && cliConfig.get('defaults.component.viewEncapsulation'); + options.viewEncapsulation : CliConfig.getValue('defaults.component.viewEncapsulation'); options.changeDetection = options.changeDetection !== undefined ? - options.changeDetection : - cliConfig && cliConfig.get('defaults.component.changeDetection'); + options.changeDetection : CliConfig.getValue('defaults.component.changeDetection'); return { dynamicPath: this.dynamicPath.dir.replace(this.dynamicPath.appRoot, ''), @@ -195,9 +179,7 @@ export default Blueprint.extend({ }, fileMapTokens: function (options: any) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); // Return custom template variables here. return { diff --git a/packages/@angular/cli/blueprints/directive/index.ts b/packages/@angular/cli/blueprints/directive/index.ts index 30e720f22e3c..d5b02d81d22e 100644 --- a/packages/@angular/cli/blueprints/directive/index.ts +++ b/packages/@angular/cli/blueprints/directive/index.ts @@ -58,9 +58,7 @@ export default Blueprint.extend({ ], beforeInstall: function(options: any) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); if (options.module) { // Resolve path to module const modulePath = options.module.endsWith('.ts') ? options.module : `${options.module}.ts`; @@ -83,9 +81,7 @@ export default Blueprint.extend({ }, normalizeEntityName: function (entityName: string) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; @@ -102,15 +98,11 @@ export default Blueprint.extend({ }, locals: function (options: any) { - const cliConfig = CliConfig.fromProject(); - options.spec = options.spec !== undefined ? - options.spec : - cliConfig && cliConfig.get('defaults.directive.spec'); + options.spec : CliConfig.getValue('defaults.directive.spec'); options.flat = options.flat !== undefined ? - options.flat : - cliConfig && cliConfig.get('defaults.directive.flat'); + options.flat : CliConfig.getValue('defaults.directive.flat'); return { dynamicPath: this.dynamicPath.dir, diff --git a/packages/@angular/cli/blueprints/enum/index.ts b/packages/@angular/cli/blueprints/enum/index.ts index e6875c9723ff..94ddb8d5f4ab 100644 --- a/packages/@angular/cli/blueprints/enum/index.ts +++ b/packages/@angular/cli/blueprints/enum/index.ts @@ -17,7 +17,7 @@ export default Blueprint.extend({ ], normalizeEntityName: function (entityName: string) { - const appConfig = getAppFromConfig(this.project.ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; diff --git a/packages/@angular/cli/blueprints/guard/index.ts b/packages/@angular/cli/blueprints/guard/index.ts index 4dfd8ef84772..52652086ff09 100644 --- a/packages/@angular/cli/blueprints/guard/index.ts +++ b/packages/@angular/cli/blueprints/guard/index.ts @@ -35,9 +35,7 @@ export default Blueprint.extend({ ], beforeInstall: function(options: any) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); if (options.module) { // Resolve path to module const modulePath = options.module.endsWith('.ts') ? options.module : `${options.module}.ts`; @@ -51,9 +49,7 @@ export default Blueprint.extend({ }, normalizeEntityName: function (entityName: string) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; @@ -61,12 +57,11 @@ export default Blueprint.extend({ }, locals: function (options: any) { - const cliConfig = CliConfig.fromProject(); options.flat = options.flat !== undefined ? - options.flat : cliConfig.get('defaults.guard.flat'); + options.flat : CliConfig.getValue('defaults.guard.flat'); options.spec = options.spec !== undefined ? - options.spec : cliConfig.get('defaults.guard.spec'); + options.spec : CliConfig.getValue('defaults.guard.spec'); return { dynamicPath: this.dynamicPath.dir, diff --git a/packages/@angular/cli/blueprints/interface/index.ts b/packages/@angular/cli/blueprints/interface/index.ts index 096ab4d39c0a..46f73c7cba7b 100644 --- a/packages/@angular/cli/blueprints/interface/index.ts +++ b/packages/@angular/cli/blueprints/interface/index.ts @@ -22,9 +22,7 @@ export default Blueprint.extend({ ], normalizeEntityName: function (entityName: string) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; @@ -32,14 +30,12 @@ export default Blueprint.extend({ }, locals: function (options: any) { - const cliConfig = CliConfig.fromProject(); - const interfaceType = options.args[2]; this.fileName = stringUtils.dasherize(options.entity.name); if (interfaceType) { this.fileName += '.' + interfaceType; } - const prefix = cliConfig && cliConfig.get('defaults.interface.prefix'); + const prefix = CliConfig.getValue('defaults.interface.prefix'); return { dynamicPath: this.dynamicPath.dir, flat: options.flat, diff --git a/packages/@angular/cli/blueprints/module/index.ts b/packages/@angular/cli/blueprints/module/index.ts index 19a77e326da0..3332033cc503 100644 --- a/packages/@angular/cli/blueprints/module/index.ts +++ b/packages/@angular/cli/blueprints/module/index.ts @@ -36,9 +36,7 @@ export default Blueprint.extend({ normalizeEntityName: function (entityName: string) { this.entityName = entityName; - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; @@ -46,14 +44,11 @@ export default Blueprint.extend({ }, locals: function (options: any) { - const cliConfig = CliConfig.fromProject(); options.flat = options.flat !== undefined ? - options.flat : - cliConfig && cliConfig.get('defaults.module.flat'); + options.flat : CliConfig.getValue('defaults.module.flat'); options.spec = options.spec !== undefined ? - options.spec : - cliConfig && cliConfig.get('defaults.module.spec'); + options.spec : CliConfig.getValue('defaults.module.spec'); return { dynamicPath: this.dynamicPath.dir, diff --git a/packages/@angular/cli/blueprints/ng/index.ts b/packages/@angular/cli/blueprints/ng/index.ts index 3310b5c03e47..4de8a42cf01d 100644 --- a/packages/@angular/cli/blueprints/ng/index.ts +++ b/packages/@angular/cli/blueprints/ng/index.ts @@ -11,7 +11,7 @@ export default Blueprint.extend({ availableOptions: [ { name: 'source-dir', type: String, default: 'src', aliases: ['sd'] }, { name: 'prefix', type: String, default: 'app', aliases: ['p'] }, - { name: 'style', type: String, default: 'css' }, + { name: 'style', type: String }, { name: 'routing', type: Boolean, default: false }, { name: 'inline-style', type: Boolean, default: false, aliases: ['is'] }, { name: 'inline-template', type: Boolean, default: false, aliases: ['it'] }, @@ -27,6 +27,10 @@ export default Blueprint.extend({ locals: function(options: any) { this.styleExt = options.style === 'stylus' ? 'styl' : options.style; + if (!options.style) { + this.styleExt = CliConfig.getValue('defaults.styleExt') || 'css'; + } + this.version = require(path.resolve(__dirname, '../../package.json')).version; // set this.tests to opposite of skipTest options, // meaning if tests are being skipped then the default.spec.BLUEPRINT will be false diff --git a/packages/@angular/cli/blueprints/pipe/index.ts b/packages/@angular/cli/blueprints/pipe/index.ts index f7d6d6995a0d..9cf81773a420 100644 --- a/packages/@angular/cli/blueprints/pipe/index.ts +++ b/packages/@angular/cli/blueprints/pipe/index.ts @@ -53,9 +53,7 @@ export default Blueprint.extend({ ], beforeInstall: function(options: any) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); if (options.module) { // Resolve path to module const modulePath = options.module.endsWith('.ts') ? options.module : `${options.module}.ts`; @@ -78,9 +76,7 @@ export default Blueprint.extend({ }, normalizeEntityName: function (entityName: string) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; @@ -88,14 +84,11 @@ export default Blueprint.extend({ }, locals: function (options: any) { - const cliConfig = CliConfig.fromProject(); options.flat = options.flat !== undefined ? - options.flat : - cliConfig && cliConfig.get('defaults.pipe.flat'); + options.flat : CliConfig.getValue('defaults.pipe.flat'); options.spec = options.spec !== undefined ? - options.spec : - cliConfig && cliConfig.get('defaults.pipe.spec'); + options.spec : CliConfig.getValue('defaults.pipe.spec'); return { dynamicPath: this.dynamicPath.dir, diff --git a/packages/@angular/cli/blueprints/service/index.ts b/packages/@angular/cli/blueprints/service/index.ts index 67d33555d46e..bb41938f3532 100644 --- a/packages/@angular/cli/blueprints/service/index.ts +++ b/packages/@angular/cli/blueprints/service/index.ts @@ -43,9 +43,7 @@ export default Blueprint.extend({ if (options.module) { // Resolve path to module const modulePath = options.module.endsWith('.ts') ? options.module : `${options.module}.ts`; - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, modulePath, appConfig); this.pathToModule = path.join(this.project.root, parsedPath.dir, parsedPath.base); @@ -56,9 +54,7 @@ export default Blueprint.extend({ }, normalizeEntityName: function (entityName: string) { - const cliConfig = CliConfig.fromProject(); - const ngConfig = cliConfig && cliConfig.config; - const appConfig = getAppFromConfig(ngConfig.apps, this.options.app); + const appConfig = getAppFromConfig(this.options.app); const parsedPath = dynamicPathParser(this.project, entityName, appConfig); this.dynamicPath = parsedPath; @@ -66,14 +62,11 @@ export default Blueprint.extend({ }, locals: function (options: any) { - const cliConfig = CliConfig.fromProject(); options.flat = options.flat !== undefined ? - options.flat : - cliConfig && cliConfig.get('defaults.service.flat'); + options.flat : CliConfig.getValue('defaults.service.flat'); options.spec = options.spec !== undefined ? - options.spec : - cliConfig && cliConfig.get('defaults.service.spec'); + options.spec : CliConfig.getValue('defaults.service.spec'); return { dynamicPath: this.dynamicPath.dir, diff --git a/packages/@angular/cli/commands/e2e.ts b/packages/@angular/cli/commands/e2e.ts index a937814e98d8..c4496b948893 100644 --- a/packages/@angular/cli/commands/e2e.ts +++ b/packages/@angular/cli/commands/e2e.ts @@ -80,7 +80,6 @@ const E2eCommand = Command.extend({ ]), run: function (commandOptions: E2eTaskOptions) { const E2eTask = require('../tasks/e2e').E2eTask; - this.project.ngConfig = this.project.ngConfig || CliConfig.fromProject(); const e2eTask = new E2eTask({ ui: this.ui, diff --git a/packages/@angular/cli/commands/generate.ts b/packages/@angular/cli/commands/generate.ts index 6d0c1bd4e6b4..830a93a2d35d 100644 --- a/packages/@angular/cli/commands/generate.ts +++ b/packages/@angular/cli/commands/generate.ts @@ -1,7 +1,6 @@ import * as fs from 'fs'; import * as path from 'path'; import * as os from 'os'; -import {CliConfig} from '../models/config'; const chalk = require('chalk'); const EmberGenerateCommand = require('../ember-cli/lib/commands/generate'); @@ -26,7 +25,6 @@ const GenerateCommand = EmberGenerateCommand.extend({ // map the blueprint name to allow for aliases rawArgs[0] = mapBlueprintName(rawArgs[0]); - this.project.ngConfig = this.project.ngConfig || CliConfig.fromProject(); if (rawArgs[0] !== '--help' && !fs.existsSync(path.join(__dirname, '..', 'blueprints', rawArgs[0]))) { diff --git a/packages/@angular/cli/commands/test.ts b/packages/@angular/cli/commands/test.ts index 08fb1fb358e2..6c95597b1eb6 100644 --- a/packages/@angular/cli/commands/test.ts +++ b/packages/@angular/cli/commands/test.ts @@ -113,8 +113,6 @@ const TestCommand = EmberTestCommand.extend({ ], run: function(commandOptions: TestOptions) { - this.project.ngConfig = this.project.ngConfig || CliConfig.fromProject(); - const testTask = new TestTask({ ui: this.ui, project: this.project diff --git a/packages/@angular/cli/models/config.ts b/packages/@angular/cli/models/config.ts index 896b062946ba..35bd06da11b9 100644 --- a/packages/@angular/cli/models/config.ts +++ b/packages/@angular/cli/models/config.ts @@ -30,6 +30,22 @@ export class CliConfig extends CliConfigBase { || findUp(configNames, __dirname); } + static getValue(jsonPath: string): any { + let value; + + const projectConfig = CliConfig.fromProject(); + if (projectConfig) { + value = projectConfig.get(jsonPath); + } else { + const globalConfig = CliConfig.fromGlobal(); + if (globalConfig) { + value = globalConfig.get(jsonPath); + } + } + + return value; + } + static globalConfigFilePath(): string { let globalConfigPath = path.join(getUserHome(), CLI_CONFIG_FILE_NAME); const altGlobalConfigPath = path.join(getUserHome(), CLI_CONFIG_FILE_NAME_ALT); diff --git a/packages/@angular/cli/plugins/karma.ts b/packages/@angular/cli/plugins/karma.ts index cb8c7893986c..e761d8dba145 100644 --- a/packages/@angular/cli/plugins/karma.ts +++ b/packages/@angular/cli/plugins/karma.ts @@ -2,7 +2,6 @@ import * as path from 'path'; import * as fs from 'fs'; import * as glob from 'glob'; -import { CliConfig } from '../models/config'; import { Pattern } from './glob-copy-webpack-plugin'; import { extraEntryParser } from '../models/webpack-configs/utils'; import { WebpackTestConfig, WebpackTestOptions } from '../models/webpack-test-config'; @@ -41,8 +40,7 @@ function addKarmaFiles(files: any[], newFiles: any[], prepend = false) { } const init: any = (config: any) => { - const apps = CliConfig.fromProject().config.apps; - const appConfig = getAppFromConfig(apps, config.angularCli.app); + const appConfig = getAppFromConfig(config.angularCli.app); const appRoot = path.join(config.basePath, appConfig.root); const testConfig: WebpackTestOptions = Object.assign({ environment: 'dev', diff --git a/packages/@angular/cli/tasks/build.ts b/packages/@angular/cli/tasks/build.ts index 785be973ae8d..cdbc1f6cbd18 100644 --- a/packages/@angular/cli/tasks/build.ts +++ b/packages/@angular/cli/tasks/build.ts @@ -18,8 +18,7 @@ export default Task.extend({ const project = this.cliProject; const config = CliConfig.fromProject().config; - const apps = CliConfig.fromProject().config.apps; - const app = getAppFromConfig(apps, runTaskOptions.app); + const app = getAppFromConfig(runTaskOptions.app); const outputPath = runTaskOptions.outputPath || app.outDir; if (project.root === outputPath) { diff --git a/packages/@angular/cli/tasks/eject.ts b/packages/@angular/cli/tasks/eject.ts index 728b08d6884d..4292a55fb96a 100644 --- a/packages/@angular/cli/tasks/eject.ts +++ b/packages/@angular/cli/tasks/eject.ts @@ -401,7 +401,7 @@ export default Task.extend({ const project = this.cliProject; const cliConfig = CliConfig.fromProject(); const config = cliConfig.config; - const appConfig = getAppFromConfig(config.apps, runTaskOptions.app); + const appConfig = getAppFromConfig(runTaskOptions.app); const tsConfigPath = path.join(process.cwd(), appConfig.root, appConfig.tsconfig); const outputPath = runTaskOptions.outputPath || appConfig.outDir; diff --git a/packages/@angular/cli/tasks/extract-i18n.ts b/packages/@angular/cli/tasks/extract-i18n.ts index fc1a4ee32096..fb8c52d477c5 100644 --- a/packages/@angular/cli/tasks/extract-i18n.ts +++ b/packages/@angular/cli/tasks/extract-i18n.ts @@ -5,7 +5,6 @@ import * as rimraf from 'rimraf'; const Task = require('../ember-cli/lib/models/task'); import {XI18nWebpackConfig} from '../models/webpack-xi18n-config'; -import {CliConfig} from '../models/config'; import {getAppFromConfig} from '../utilities/app-utils'; export const Extracti18nTask = Task.extend({ @@ -13,7 +12,7 @@ export const Extracti18nTask = Task.extend({ const project = this.project; - const appConfig = getAppFromConfig(CliConfig.fromProject().config.apps, runTaskOptions.app); + const appConfig = getAppFromConfig(runTaskOptions.app); const buildDir = '.tmp'; const genDir = runTaskOptions.outputPath || appConfig.root; diff --git a/packages/@angular/cli/tasks/serve.ts b/packages/@angular/cli/tasks/serve.ts index af7b6d6f0467..a455ef8e2afd 100644 --- a/packages/@angular/cli/tasks/serve.ts +++ b/packages/@angular/cli/tasks/serve.ts @@ -22,7 +22,7 @@ export default Task.extend({ let webpackCompiler: any; const projectConfig = CliConfig.fromProject().config; - const appConfig = getAppFromConfig(projectConfig.apps, serveTaskOptions.app); + const appConfig = getAppFromConfig(serveTaskOptions.app); const outputPath = serveTaskOptions.outputPath || appConfig.outDir; if (this.project.root === outputPath) { diff --git a/packages/@angular/cli/tasks/test.ts b/packages/@angular/cli/tasks/test.ts index 77fc19148054..f3a245d4361d 100644 --- a/packages/@angular/cli/tasks/test.ts +++ b/packages/@angular/cli/tasks/test.ts @@ -20,7 +20,7 @@ export default Task.extend({ return new Promise((resolve) => { const karma = requireProjectModule(projectRoot, 'karma'); const karmaConfig = path.join(projectRoot, options.config || - this.project.ngConfig.config.test.karma.config); + CliConfig.getValue('test.karma.config')); let karmaOptions: any = Object.assign({}, options); diff --git a/packages/@angular/cli/utilities/app-utils.ts b/packages/@angular/cli/utilities/app-utils.ts index b3fc8f65dbde..d355fd7b6172 100644 --- a/packages/@angular/cli/utilities/app-utils.ts +++ b/packages/@angular/cli/utilities/app-utils.ts @@ -1,6 +1,7 @@ -import {CliConfig as CliConfigInterface} from '../lib/config/schema'; +import { CliConfig } from '../models/config'; -export function getAppFromConfig(apps: CliConfigInterface['apps'], nameOrIndex: String) { +export function getAppFromConfig(nameOrIndex?: String) { + const apps: any[] = CliConfig.getValue('apps'); let app = apps[0]; if (nameOrIndex) { if (nameOrIndex.match(/^[0-9]+$/)) {