UNPKG

@angular/cli

Version:
1,464 lines (1,463 loc) • 181 kB
{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "ng-cli://config/schema.json", "title": "Angular CLI Workspace Configuration", "type": "object", "properties": { "$schema": { "type": "string" }, "version": { "$ref": "#/definitions/fileVersion" }, "cli": { "$ref": "#/definitions/cliOptions" }, "schematics": { "$ref": "#/definitions/schematicOptions" }, "newProjectRoot": { "type": "string", "description": "Path where new projects will be created." }, "projects": { "type": "object", "patternProperties": { "^(?:@[a-zA-Z0-9._-]+/)?[a-zA-Z0-9._-]+$": { "$ref": "#/definitions/project" } }, "additionalProperties": false } }, "additionalProperties": false, "required": [ "version" ], "definitions": { "cliOptions": { "type": "object", "properties": { "schematicCollections": { "type": "array", "description": "The list of schematic collections to use.", "items": { "type": "string", "uniqueItems": true } }, "packageManager": { "description": "Specify which package manager tool to use.", "type": "string", "enum": [ "npm", "cnpm", "yarn", "pnpm", "bun" ] }, "warnings": { "description": "Control CLI specific console warnings", "type": "object", "properties": { "versionMismatch": { "description": "Show a warning when the global version is newer than the local one.", "type": "boolean" } }, "additionalProperties": false }, "analytics": { "type": [ "boolean", "string" ], "description": "Share pseudonymous usage data with the Angular Team at Google." }, "cache": { "description": "Control disk cache.", "type": "object", "properties": { "environment": { "description": "Configure in which environment disk cache is enabled.", "type": "string", "enum": [ "local", "ci", "all" ] }, "enabled": { "description": "Configure whether disk caching is enabled.", "type": "boolean" }, "path": { "description": "Cache base path.", "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, "cliGlobalOptions": { "type": "object", "properties": { "schematicCollections": { "type": "array", "description": "The list of schematic collections to use.", "items": { "type": "string", "uniqueItems": true } }, "packageManager": { "description": "Specify which package manager tool to use.", "type": "string", "enum": [ "npm", "cnpm", "yarn", "pnpm", "bun" ] }, "warnings": { "description": "Control CLI specific console warnings", "type": "object", "properties": { "versionMismatch": { "description": "Show a warning when the global version is newer than the local one.", "type": "boolean" } }, "additionalProperties": false }, "analytics": { "type": [ "boolean", "string" ], "description": "Share pseudonymous usage data with the Angular Team at Google." }, "completion": { "type": "object", "description": "Angular CLI completion settings.", "properties": { "prompted": { "type": "boolean", "description": "Whether the user has been prompted to add completion command prompt." } }, "additionalProperties": false } }, "additionalProperties": false }, "schematicOptions": { "type": "object", "properties": { "@schematics/angular:application": { "$ref": "#/definitions/SchematicsAngularApplicationSchema" }, "@schematics/angular:class": { "$ref": "#/definitions/SchematicsAngularClassSchema" }, "@schematics/angular:component": { "$ref": "#/definitions/SchematicsAngularComponentSchema" }, "@schematics/angular:directive": { "$ref": "#/definitions/SchematicsAngularDirectiveSchema" }, "@schematics/angular:enum": { "$ref": "#/definitions/SchematicsAngularEnumSchema" }, "@schematics/angular:guard": { "$ref": "#/definitions/SchematicsAngularGuardSchema" }, "@schematics/angular:interceptor": { "$ref": "#/definitions/SchematicsAngularInterceptorSchema" }, "@schematics/angular:interface": { "$ref": "#/definitions/SchematicsAngularInterfaceSchema" }, "@schematics/angular:library": { "$ref": "#/definitions/SchematicsAngularLibrarySchema" }, "@schematics/angular:pipe": { "$ref": "#/definitions/SchematicsAngularPipeSchema" }, "@schematics/angular:ng-new": { "$ref": "#/definitions/SchematicsAngularNgNewSchema" }, "@schematics/angular:resolver": { "$ref": "#/definitions/SchematicsAngularResolverSchema" }, "@schematics/angular:service": { "$ref": "#/definitions/SchematicsAngularServiceSchema" }, "@schematics/angular:web-worker": { "$ref": "#/definitions/SchematicsAngularWebWorkerSchema" } }, "additionalProperties": true }, "fileVersion": { "type": "integer", "description": "File format version", "minimum": 1 }, "project": { "type": "object", "properties": { "cli": { "schematicCollections": { "type": "array", "description": "The list of schematic collections to use.", "items": { "type": "string", "uniqueItems": true } } }, "schematics": { "$ref": "#/definitions/schematicOptions" }, "prefix": { "type": "string", "format": "html-selector", "description": "The prefix to apply to generated selectors." }, "root": { "type": "string", "description": "Root of the project files." }, "i18n": { "$ref": "#/definitions/project/definitions/i18n" }, "sourceRoot": { "type": "string", "description": "The root of the source files, assets and index.html file structure." }, "projectType": { "type": "string", "description": "Project type.", "enum": [ "application", "library" ] }, "architect": { "type": "object", "additionalProperties": { "$ref": "#/definitions/project/definitions/target" } }, "targets": { "type": "object", "additionalProperties": { "$ref": "#/definitions/project/definitions/target" } } }, "required": [ "root", "projectType" ], "anyOf": [ { "required": [ "architect" ], "not": { "required": [ "targets" ] } }, { "required": [ "targets" ], "not": { "required": [ "architect" ] } }, { "not": { "required": [ "targets", "architect" ] } } ], "additionalProperties": false, "patternProperties": { "^[a-z]{1,3}-.*": {} }, "definitions": { "i18n": { "description": "Project i18n options", "type": "object", "properties": { "sourceLocale": { "oneOf": [ { "type": "string", "description": "Specifies the source locale of the application.", "default": "en-US", "$comment": "IETF BCP 47 language tag (simplified)", "pattern": "^[a-zA-Z]{2,3}(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-[a-zA-Z]{5,8})?(-x(-[a-zA-Z0-9]{1,8})+)?$" }, { "type": "object", "description": "Localization options to use for the source locale", "properties": { "code": { "type": "string", "description": "Specifies the locale code of the source locale", "pattern": "^[a-zA-Z]{2,3}(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-[a-zA-Z]{5,8})?(-x(-[a-zA-Z0-9]{1,8})+)?$" }, "baseHref": { "type": "string", "description": "HTML base HREF to use for the locale (defaults to the locale code)" } }, "additionalProperties": false } ] }, "locales": { "type": "object", "additionalProperties": false, "patternProperties": { "^[a-zA-Z]{2,3}(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-[a-zA-Z]{5,8})?(-x(-[a-zA-Z0-9]{1,8})+)?$": { "oneOf": [ { "type": "string", "description": "Localization file to use for i18n" }, { "type": "array", "description": "Localization files to use for i18n", "items": { "type": "string", "uniqueItems": true } }, { "type": "object", "description": "Localization options to use for the locale", "properties": { "translation": { "oneOf": [ { "type": "string", "description": "Localization file to use for i18n" }, { "type": "array", "description": "Localization files to use for i18n", "items": { "type": "string", "uniqueItems": true } } ] }, "baseHref": { "type": "string", "description": "HTML base HREF to use for the locale (defaults to the locale code)" } }, "additionalProperties": false } ] } } } }, "additionalProperties": false }, "target": { "oneOf": [ { "$comment": "Extendable target with custom builder", "type": "object", "properties": { "builder": { "type": "string", "description": "The builder used for this package.", "not": { "enum": [ "@angular/build:application", "@angular/build:dev-server", "@angular/build:extract-i18n", "@angular-devkit/build-angular:application", "@angular-devkit/build-angular:app-shell", "@angular-devkit/build-angular:browser", "@angular-devkit/build-angular:browser-esbuild", "@angular-devkit/build-angular:dev-server", "@angular-devkit/build-angular:extract-i18n", "@angular-devkit/build-angular:karma", "@angular-devkit/build-angular:ng-packagr", "@angular-devkit/build-angular:prerender", "@angular-devkit/build-angular:jest", "@angular-devkit/build-angular:web-test-runner", "@angular-devkit/build-angular:protractor", "@angular-devkit/build-angular:server", "@angular-devkit/build-angular:ssr-dev-server" ] } }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "type": "object" }, "configurations": { "type": "object", "description": "A map of alternative target options.", "additionalProperties": { "type": "object" } } }, "additionalProperties": false, "required": [ "builder" ] }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular/build:application" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularBuildBuildersApplicationSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularBuildBuildersApplicationSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:application" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularBuildBuildersApplicationSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularBuildBuildersApplicationSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:app-shell" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersAppShellSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersAppShellSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:browser" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersBrowserSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersBrowserSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:browser-esbuild" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersBrowserEsbuildSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersBrowserEsbuildSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular/build:dev-server" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularBuildBuildersDevServerSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularBuildBuildersDevServerSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:dev-server" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersDevServerSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersDevServerSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular/build:extract-i18n" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularBuildBuildersExtractI18nSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularBuildBuildersExtractI18nSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:extract-i18n" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersExtractI18nSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersExtractI18nSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:karma" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersKarmaSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersKarmaSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:jest" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersJestSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersJestSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:web-test-runner" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersWebTestRunnerSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersWebTestRunnerSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:protractor" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersProtractorSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersProtractorSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:prerender" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersPrerenderSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersPrerenderSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:ssr-dev-server" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersSsrDevServerSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersSsrDevServerSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:server" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersServerSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersServerSchema" } } } }, { "type": "object", "additionalProperties": false, "properties": { "builder": { "const": "@angular-devkit/build-angular:ng-packagr" }, "defaultConfiguration": { "type": "string", "description": "A default named configuration to use when a target configuration is not provided." }, "options": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersNgPackagrSchema" }, "configurations": { "type": "object", "additionalProperties": { "$ref": "#/definitions/AngularDevkitBuildAngularBuildersNgPackagrSchema" } } } } ] } } }, "global": { "type": "object", "properties": { "$schema": { "type": "string" }, "version": { "$ref": "#/definitions/fileVersion" }, "cli": { "$ref": "#/definitions/cliGlobalOptions" }, "schematics": { "$ref": "#/definitions/schematicOptions" } }, "required": [ "version" ] }, "SchematicsAngularApplicationSchema": { "title": "Angular Application Options Schema", "type": "object", "description": "Generates a new basic application definition in the \"projects\" subfolder of the workspace.", "additionalProperties": false, "properties": { "projectRoot": { "description": "The root directory of the new application.", "type": "string" }, "name": { "description": "The name of the new application.", "type": "string", "pattern": "^(?:@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*/)?[a-zA-Z0-9-~][a-zA-Z0-9-._~]*$", "$default": { "$source": "argv", "index": 0 } }, "inlineStyle": { "description": "Include styles inline in the root component.ts file. Only CSS styles can be included inline. Default is false, meaning that an external styles file is created and referenced in the root component.ts file.", "type": "boolean", "alias": "s" }, "inlineTemplate": { "description": "Include template inline in the root component.ts file. Default is false, meaning that an external template file is created and referenced in the root component.ts file. ", "type": "boolean", "alias": "t" }, "viewEncapsulation": { "description": "The view encapsulation strategy to use in the new application.", "enum": [ "Emulated", "None", "ShadowDom" ], "type": "string" }, "routing": { "type": "boolean", "description": "Creates an application with routing enabled.", "default": true }, "prefix": { "type": "string", "format": "html-selector", "description": "A prefix to apply to generated selectors.", "default": "app", "alias": "p" }, "style": { "description": "The file extension or preprocessor to use for style files.", "type": "string", "default": "css", "enum": [ "css", "scss", "sass", "less" ] }, "skipTests": { "description": "Do not create \"spec.ts\" test files for the application.", "type": "boolean", "default": false, "alias": "S" }, "skipPackageJson": { "type": "boolean", "default": false, "description": "Do not add dependencies to the \"package.json\" file." }, "minimal": { "description": "Create a bare-bones project without any testing frameworks. (Use for learning purposes only.)", "type": "boolean", "default": false }, "skipInstall": { "description": "Skip installing dependency packages.", "type": "boolean", "default": false }, "strict": { "description": "Creates an application with stricter bundle budgets settings.", "type": "boolean", "default": true }, "standalone": { "description": "Creates an application based upon the standalone API, without NgModules.", "type": "boolean", "default": true }, "ssr": { "description": "Creates an application with Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) enabled.", "type": "boolean", "default": false } } }, "SchematicsAngularClassSchema": { "title": "Angular Class Options Schema", "type": "object", "description": "Creates a new, generic class definition in the given project.", "additionalProperties": false, "properties": { "name": { "type": "string", "description": "The name of the new class.", "$default": { "$source": "argv", "index": 0 } }, "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory" }, "description": "The path at which to create the class, relative to the workspace root.", "visible": false }, "project": { "type": "string", "description": "The name of the project.", "$default": { "$source": "projectName" } }, "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new class.", "default": false }, "type": { "type": "string", "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\"." } } }, "SchematicsAngularComponentSchema": { "title": "Angular Component Options Schema", "type": "object", "description": "Creates a new, generic component definition in the given project.", "additionalProperties": false, "properties": { "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory" }, "description": "The path at which to create the component file, relative to the current workspace. Default is a folder with the same name as the component in the project root.", "visible": false }, "project": { "type": "string", "description": "The name of the project.", "$default": { "$source": "projectName" } }, "name": { "type": "string", "description": "The name of the component.", "$default": { "$source": "argv", "index": 0 } }, "displayBlock": { "description": "Specifies if the style will contain `:host { display: block; }`.", "type": "boolean", "default": false, "alias": "b" }, "inlineStyle": { "description": "Include styles inline in the component.ts file. Only CSS styles can be included inline. By default, an external styles file is created and referenced in the component.ts file.", "type": "boolean", "default": false, "alias": "s" }, "inlineTemplate": { "description": "Include template inline in the component.ts file. By default, an external template file is created and referenced in the component.ts file.", "type": "boolean", "default": false, "alias": "t" }, "standalone": { "description": "Whether the generated component is standalone.", "type": "boolean", "default": true }, "viewEncapsulation": { "description": "The view encapsulation strategy to use in the new component.", "enum": [ "Emulated", "None", "ShadowDom" ], "type": "string", "alias": "v" }, "changeDetection": { "description": "The change detection strategy to use in the new component.", "enum": [ "Default", "OnPush" ], "type": "string", "default": "Default", "alias": "c" }, "prefix": { "type": "string", "description": "The prefix to apply to the generated component selector.", "alias": "p", "oneOf": [ { "maxLength": 0 }, { "minLength": 1, "format": "html-selector" } ] }, "style": { "description": "The file extension or preprocessor to use for style files, or 'none' to skip generating the style file.", "type": "string", "default": "css", "enum": [ "css", "scss", "sass", "less", "none" ] }, "type": { "type": "string", "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\".", "default": "Component" }, "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new component.", "default": false }, "flat": { "type": "boolean", "description": "Create the new files at the top level of the current project.", "default": false }, "skipImport": { "type": "boolean", "description": "Do not import this component into the owning NgModule.", "default": false }, "selector": { "type": "string", "format": "html-selector", "description": "The HTML selector to use for this component." }, "skipSelector": { "type": "boolean", "default": false, "description": "Specifies if the component should have a selector or not." }, "module": { "type": "string", "description": "The declaring NgModule.", "alias": "m" }, "export": { "type": "boolean", "default": false, "description": "The declaring NgModule exports this component." } } }, "SchematicsAngularDirectiveSchema": { "title": "Angular Directive Options Schema", "type": "object", "description": "Creates a new, generic directive definition in the given project.", "additionalProperties": false, "properties": { "name": { "type": "string", "description": "The name of the new directive.", "$default": { "$source": "argv", "index": 0 } }, "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory" }, "description": "The path at which to create the interface that defines the directive, relative to the workspace root.", "visible": false }, "project": { "type": "string", "description": "The name of the project.", "$default": { "$source": "projectName" } }, "prefix": { "type": "string", "description": "A prefix to apply to generated selectors.", "alias": "p", "oneOf": [ { "maxLength": 0 }, { "minLength": 1, "format": "html-selector" } ] }, "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new class.", "default": false }, "skipImport": { "type": "boolean", "description": "Do not import this directive into the owning NgModule.", "default": false }, "selector": { "type": "string", "format": "html-selector", "description": "The HTML selector to use for this directive." }, "standalone": { "description": "Whether the generated directive is standalone.", "type": "boolean", "default": true }, "flat": { "type": "boolean", "description": "When true (the default), creates the new files at the top level of the current project.", "default": true }, "module": { "type": "string", "description": "The declaring NgModule.", "alias": "m" }, "export": { "type": "boolean", "default": false, "description": "The declaring NgModule exports this directive." } } }, "SchematicsAngularEnumSchema": { "title": "Angular Enum Options Schema", "type": "object", "description": "Generates a new, generic enum definition in the given project.", "additionalProperties": false, "properties": { "name": { "type": "string", "description": "The name of the enum.", "$default": { "$source": "argv", "index": 0 } }, "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory" }, "description": "The path at which to create the enum definition, relative to the current workspace.", "visible": false }, "project": { "type": "string", "description": "The name of the project in which to create the enum. Default is the configured default project for the workspace.", "$default": { "$source": "projectName" } }, "type": { "type": "string", "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\"." } } }, "SchematicsAngularGuardSchema": { "title": "Angular Guard Options Schema", "type": "object", "description": "Generates a new, generic route guard definition in the given project.", "additionalProperties": false, "properties": { "name": { "type": "string", "description": "The name of the new route guard.", "$default": { "$source": "argv", "index": 0 } }, "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new guard.", "default": false }, "flat": { "type": "boolean", "description": "When true (the default), creates the new files at the top level of the current project.", "default": true }, "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory" }, "description": "The path at which to create the interface that defines the guard, relative to the current workspace.", "visible": false }, "project": { "type": "string", "description": "The name of the project.", "$default": { "$source": "projectName" } }, "functional": { "type": "boolean", "description": "Specifies whether to generate a guard as a function.", "default": true }, "implements": { "alias": "guardType", "type": "array", "description": "Specifies which type of guard to create.", "uniqueItems": true, "minItems": 1, "items": { "enum": [ "CanActivate", "CanActivateChild", "CanDeactivate", "CanMatch" ], "type": "string" }, "default": [ "CanActivate" ] } } }, "SchematicsAngularInterceptorSchema": { "title": "Angular Interceptor Options Schema", "type": "object", "additionalProperties": false, "description": "Creates a new, generic interceptor definition in the given project.", "properties": { "name": { "type": "string", "description": "The name of the interceptor.", "$default": { "$source": "argv", "index": 0 } }, "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory" }, "description": "The path at which to create the interceptor, relative to the workspace root.", "visible": false }, "project": { "type": "string", "description": "The name of the project.", "$default": { "$source": "projectName" } }, "flat": { "type": "boolean", "default": true, "description": "When true (the default), creates files at the top level of the project." }, "skipTests": { "type": "boolean", "description": "Do not create \"spec.ts\" test files for the new interceptor.", "default": false }, "functional": { "type": "boolean", "description": "Creates the interceptor as a `HttpInterceptorFn`.", "default": true } } }, "SchematicsAngularInterfaceSchema": { "title": "Angular Interface Options Schema", "type": "object", "additionalProperties": false, "description": "Creates a new, generic interface definition in the given project.", "properties": { "name": { "type": "string", "description": "The name of the interface.", "$default": { "$source": "argv", "index": 0 } }, "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory" }, "description": "The path at which to create the interface, relative to the workspace root.", "visible": false }, "project": { "type": "string", "description": "The name of the project.", "$default": { "$source": "projectName" } }, "prefix": { "type": "string", "description": "A prefix to apply to generated selectors." }, "type": { "type": "string", "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\".", "$default": { "$source": "argv", "index": 1 } } } }, "SchematicsAngularLibrarySchema": { "title": "Library Options Schema", "type": "object", "description": "Creates a new, generic library project in the current workspace.", "additionalProperties": false, "properties": { "name": { "type": "string", "description": "The name of the library.", "pattern": "^(?:@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*/)?[a-zA-Z0-9-~][a-zA-Z0-9-._~]*$", "$default": { "$source": "argv", "index": 0 } }, "entryFile": { "type": "string", "format": "path", "description": "The path at which to create the library's public API file, relative to the workspace root.", "default": "public-api" }, "prefix": { "type": "string", "format": "html-selector", "description": "A prefix to apply to generated selectors.", "default": "lib", "alias": "p" }, "skipPackageJson": { "type": "boolean", "default": false, "description": "Do not add dependencies to the \"package.json\" file. " }, "skipInstall": { "description": "Do not install dependency packages.", "type": "boolean", "default": false }, "skipTsConfig": { "type": "boolean", "default": false, "description": "Do not update \"tsconfig.json\" to add a path mapping for the new library. The path mapping is needed to use the library in an app, but can be disabled here to simplify development." }, "projectRoot": { "type": "string", "description": "The root directory of the new library." }, "standalone": { "description": "Creates a library based upon the standalone API, without NgModules.", "type": "boolean", "default": true } } }, "SchematicsAngularPipeSchema": { "title": "Angular Pipe Options Schema", "type": "object", "additionalProperties": false, "description": "Creates a new, generic pipe definition in the given project.", "properties": { "name": { "type": "string", "description": "The name of the pipe.", "$default": { "$source": "argv", "index": 0 } }, "path": { "type": "string", "format": "path", "$default": { "$source": "workingDirectory"