Skip to content

Commit

Permalink
fix(bazel): update ng new schema to match the current ng new schema o…
Browse files Browse the repository at this point in the history
…f @schematics/angular

The schema used in ng-new bazel, includes several outdated options. With this update we match the current version of @schematics/angular: https://github.com/angular/angular-cli/blob/master/packages/schematics/angular/ng-new/schema.json

Relates to angular#31233
  • Loading branch information
alan-agius4 committed Jun 24, 2019
1 parent 6f5d910 commit 1e4b260
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 80 deletions.
77 changes: 43 additions & 34 deletions packages/bazel/src/schematics/ng-new/schema.d.ts
Expand Up @@ -2,102 +2,111 @@
// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).

// tslint:disable:no-global-tslint-disable
// tslint:disable

export interface Schema {
/**
* Initial repository commit information.
* Initial git repository commit information.
*/
commit?: CommitUnion;
/**
* Flag to toggle creation of an application in the new workspace.
* When true (the default), creates a new initial app project in the src folder of the new
* workspace. When false, creates an empty workspace with no initial app. You can then use
* the generate application command so that all apps are created in the projects folder.
*/
createApplication?: boolean;
/**
* The directory name to create the workspace in.
*/
directory?: string;
/**
* EXPERIMENTAL: Specifies whether to create a new application which uses the Ivy rendering
* engine.
* When true, creates a new app that uses the Ivy rendering engine.
*/
experimentalIvy?: boolean;
enableIvy?: boolean;
/**
* Specifies if the style will be in the ts file.
* When true, includes styles inline in the component TS file. By default, an external
* styles file is created and referenced in the component TS file.
*/
inlineStyle?: boolean;
/**
* Specifies if the template will be in the ts file.
* When true, includes template inline in the component TS file. By default, an external
* template file is created and referenced in the component TS file.
*/
inlineTemplate?: boolean;
/**
* Link CLI to global version (internal development only).
* When true, links the CLI to the global version (internal development only).
*/
linkCli?: boolean;
/**
* Create a barebones project without any testing frameworks
* When true, creates a project without any testing frameworks. (Use for learning purposes
* only.)
*/
minimal?: boolean;
/**
* The name of the workspace.
* The name of the new workspace and initial project.
*/
name: string;
/**
* The path where new projects will be created.
* The path where new projects will be created, relative to the new workspace root.
*/
newProjectRoot?: string;
/**
* The prefix to apply to generated selectors.
* The prefix to apply to generated selectors for the initial project.
*/
prefix?: string;
/**
* Generates a routing module.
* When true, generates a routing module for the initial project.
*/
routing?: boolean;
/**
* Skip initializing a git repository.
* When true, does not initialize a git repository.
*/
skipGit?: boolean;
/**
* Skip installing dependency packages.
* When true, does not install dependency packages.
*/
skipInstall?: boolean;
/**
* Skip creating spec files.
* When true, does not generate "spec.ts" test files for the new project.
*/
skipTests?: boolean;
/**
* The file extension to be used for style files.
* The file extension or preprocessor to use for style files.
*/
style?: string;
style?: Style;
/**
* The version of the Angular CLI to use.
*/
version: string;
/**
* Specifies the view encapsulation strategy.
* The view encapsulation strategy to use in the initial project.
*/
viewEncapsulation?: ViewEncapsulation;
}

/**
* Initial repository commit information.
*/
export type CommitUnion = boolean | CommitObject;

* Initial git repository commit information.
*/
export declare type CommitUnion = boolean | CommitObject;
export interface CommitObject {
email: string;
message?: string;
name: string;
}

/**
* Specifies the view encapsulation strategy.
*/
export enum ViewEncapsulation {
Emulated = 'Emulated',
Native = 'Native',
None = 'None',
ShadowDOM = 'ShadowDom',
* The file extension or preprocessor to use for style files.
*/
export declare enum Style {
Css = "css",
Less = "less",
Sass = "sass",
Scss = "scss",
Styl = "styl"
}
/**
* The view encapsulation strategy to use in the initial project.
*/
export declare enum ViewEncapsulation {
Emulated = "Emulated",
Native = "Native",
None = "None",
ShadowDom = "ShadowDom"
}
81 changes: 35 additions & 46 deletions packages/bazel/src/schematics/ng-new/schema.json
Expand Up @@ -9,43 +9,41 @@
"description": "The directory name to create the workspace in."
},
"name": {
"description": "The name of the workspace.",
"description": "The name of the new workspace and initial project.",
"type": "string",
"format": "html-selector",
"$default": {
"$source": "argv",
"index": 0
},
"x-prompt": "What name would you like to use for the project?"
"x-prompt": "What name would you like to use for the new workspace and initial project?"
},
"experimentalIvy": {
"description": "EXPERIMENTAL: Specifies whether to create a new application which uses the Ivy rendering engine.",
"enableIvy": {
"description": "When true, creates a new app that uses the Ivy rendering engine.",
"type": "boolean",
"default": false
},
"skipInstall": {
"description": "Skip installing dependency packages.",
"description": "When true, does not install dependency packages.",
"type": "boolean",
"default": false
},
"linkCli": {
"description": "Link CLI to global version (internal development only).",
"description": "When true, links the CLI to the global version (internal development only).",
"type": "boolean",
"default": false,
"visible": false
},
"skipGit": {
"description": "Skip initializing a git repository.",
"description": "When true, does not initialize a git repository.",
"type": "boolean",
"default": false,
"alias": "g"
},
"commit": {
"description": "Initial repository commit information.",
"description": "Initial git repository commit information.",
"oneOf": [
{
"type": "boolean"
},
{ "type": "boolean" },
{
"type": "object",
"properties": {
Expand All @@ -69,30 +67,25 @@
"default": true
},
"newProjectRoot": {
"description": "The path where new projects will be created.",
"description": "The path where new projects will be created, relative to the new workspace root.",
"type": "string",
"default": "projects"
},
"inlineStyle": {
"description": "Specifies if the style will be in the ts file.",
"description": "When true, includes styles inline in the component TS file. By default, an external styles file is created and referenced in the component TS file.",
"type": "boolean",
"default": false,
"alias": "s"
},
"inlineTemplate": {
"description": "Specifies if the template will be in the ts file.",
"description": "When true, includes 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"
},
"viewEncapsulation": {
"description": "Specifies the view encapsulation strategy.",
"enum": [
"Emulated",
"Native",
"None",
"ShadowDom"
],
"description": "The view encapsulation strategy to use in the initial project.",
"enum": ["Emulated", "Native", "None", "ShadowDom"],
"type": "string"
},
"version": {
Expand All @@ -105,58 +98,54 @@
},
"routing": {
"type": "boolean",
"description": "Generates a routing module.",
"description": "When true, generates a routing module for the initial project.",
"default": false,
"x-prompt": "Would you like to add Angular routing?"
},
"prefix": {
"type": "string",
"format": "html-selector",
"description": "The prefix to apply to generated selectors.",
"description": "The prefix to apply to generated selectors for the initial project.",
"minLength": 1,
"default": "app",
"alias": "p"
},
"style": {
"description": "The file extension to be used for style files.",
"description": "The file extension or preprocessor to use for style files.",
"type": "string",
"default": "css",
"enum": [
"css",
"scss",
"sass",
"less",
"styl"
],
"x-prompt": {
"message": "Which stylesheet format would you like to use?",
"type": "list",
"items": [
{
"value": "css",
"label": "CSS"
},
{
"value": "sass",
"label": "Sass [ http://sass-lang.com ]"
},
{
"value": "less",
"label": "Less [ http://lesscss.org ]"
},
{
"value": "styl",
"label": "Stylus [ http://stylus-lang.com ]"
}
{ "value": "css", "label": "CSS" },
{ "value": "scss", "label": "SCSS [ http://sass-lang.com/documentation/file.SASS_REFERENCE.html#syntax ]" },
{ "value": "sass", "label": "Sass [ http://sass-lang.com/documentation/file.INDENTED_SYNTAX.html ]" },
{ "value": "less", "label": "Less [ http://lesscss.org ]" },
{ "value": "styl", "label": "Stylus [ http://stylus-lang.com ] " }
]
}
},
"x-user-analytics": 5
},
"skipTests": {
"description": "Skip creating spec files.",
"description": "When true, does not generate \"spec.ts\" test files for the new project. ",
"type": "boolean",
"default": false,
"alias": "S"
"default": false
},
"createApplication": {
"description": "Flag to toggle creation of an application in the new workspace.",
"description": "When true (the default), creates a new initial app project in the src folder of the new workspace. When false, creates an empty workspace with no initial app. You can then use the generate application command so that all apps are created in the projects folder.",
"type": "boolean",
"default": true
},
"minimal": {
"description": "Create a barebones project without any testing frameworks",
"description": "When true, creates a project without any testing frameworks. (Use for learning purposes only.)",
"type": "boolean",
"default": false
}
Expand Down

0 comments on commit 1e4b260

Please sign in to comment.