From 82649b639bc0cf8811d9751262d950de97fbc3ca Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Tue, 4 Sep 2018 14:36:30 -0400 Subject: [PATCH] feat(@angular/cli): add `--defaults` option to `ng new` Any option with a default value will not be prompted (if a prompt is defined) and the default will be used instead. Closes #12084 --- packages/angular/cli/commands/definitions.json | 5 +++++ packages/angular/cli/models/schematic-command.ts | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/angular/cli/commands/definitions.json b/packages/angular/cli/commands/definitions.json index 5dd2700d5321..c03816dcc0e6 100644 --- a/packages/angular/cli/commands/definitions.json +++ b/packages/angular/cli/commands/definitions.json @@ -57,6 +57,11 @@ "type": "boolean", "default": "true", "description": "Disables interactive inputs (i.e., prompts)." + }, + "defaults": { + "type": "boolean", + "default": "false", + "description": "Disables interactive inputs (i.e., prompts) for options with a default." } } } diff --git a/packages/angular/cli/models/schematic-command.ts b/packages/angular/cli/models/schematic-command.ts index bf87b7559ada..229f43df762c 100644 --- a/packages/angular/cli/models/schematic-command.ts +++ b/packages/angular/cli/models/schematic-command.ts @@ -53,6 +53,7 @@ export interface BaseSchematicOptions extends BaseCommandOptions { dryRun?: boolean; force?: boolean; interactive?: boolean; + defaults?: boolean; } export interface RunSchematicOptions { @@ -234,7 +235,11 @@ export abstract class SchematicCommand< this._engineHost.registerOptionsTransform(validateOptionsWithSchema(workflow.registry)); - workflow.registry.addPostTransform(schema.transforms.addUndefinedDefaults); + if (options.defaults) { + workflow.registry.addPreTransform(schema.transforms.addUndefinedDefaults); + } else { + workflow.registry.addPostTransform(schema.transforms.addUndefinedDefaults); + } workflow.registry.addSmartDefaultProvider('projectName', () => { if (this._workspace) {