-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4bc5f04
commit a377231
Showing
6 changed files
with
168 additions
and
22 deletions.
There are no files selected for viewing
17 changes: 14 additions & 3 deletions
17
tools/workspace-plugin/src/generators/primitive/component/component.spec.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
...space-plugin/src/generators/primitive/component/files/src/__fileName__.component.template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import { Component } from '@angular/core'; | ||
|
||
@Component({ | ||
selector: 'app-<%= fileName %>', | ||
templateUrl: './<%= fileName %>.component.html', | ||
styleUrls: ['./<%= fileName %>.component.scss'], | ||
}) | ||
export class <%= className %>Component { | ||
} |
35 changes: 34 additions & 1 deletion
35
tools/workspace-plugin/src/generators/primitive/component/schema.d.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,36 @@ | ||
export interface PrimitiveComponentGeneratorGeneratorSchema { | ||
export interface BaseAngularComponentSchema { | ||
path: string; | ||
name?: string; | ||
displayBlock?: boolean; | ||
inlineStyle?: boolean; | ||
inlineTemplate?: boolean; | ||
standalone?: boolean; | ||
viewEncapsulation?: 'Emulated' | 'None' | 'ShadowDom'; | ||
changeDetection?: 'Default' | 'OnPush'; | ||
style?: 'css' | 'scss' | 'sass' | 'less' | 'none'; | ||
skipTests?: boolean; | ||
type?: string; | ||
skipImport?: boolean; | ||
selector?: string; | ||
module?: string; | ||
skipSelector?: boolean; | ||
export?: boolean; | ||
exportDefault?: boolean; | ||
prefix?: string; | ||
skipFormat?: boolean; | ||
} | ||
|
||
export interface NormalizedComponentSchema extends BaseAngularComponentSchema { | ||
directory: string; | ||
filePath: string; | ||
projectName: string; | ||
projectSourceRoot: string; | ||
projectRoot: string; | ||
selector: string; | ||
|
||
fileName: string; | ||
symbolName: string; | ||
} | ||
export interface PrimitiveComponentGeneratorGeneratorSchema extends NormalizedComponentSchema { | ||
name: string; | ||
} |
114 changes: 107 additions & 7 deletions
114
tools/workspace-plugin/src/generators/primitive/component/schema.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,118 @@ | ||
{ | ||
"$schema": "https://json-schema.org/schema", | ||
"$id": "PrimitiveComponentGenerator", | ||
"title": "", | ||
"$id": "Schematics Angular Primitive Component", | ||
"title": "Primitive Component Schema", | ||
"type": "object", | ||
"description": "Creates a new Angular Primitive component.", | ||
"properties": { | ||
"name": { | ||
"path": { | ||
"type": "string", | ||
"description": "", | ||
"description": "The file path to the component. Relative to the current working directory.", | ||
"$default": { | ||
"$source": "argv", | ||
"index": 0 | ||
}, | ||
"x-prompt": "What name would you like to use?" | ||
"x-prompt": "What is the component file path?" | ||
}, | ||
"name": { | ||
"type": "string", | ||
"description": "The component symbol name. Defaults to the last segment of the file path." | ||
}, | ||
"prefix": { | ||
"type": "string", | ||
"description": "The prefix to apply to the generated component selector.", | ||
"alias": "p" | ||
}, | ||
"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, | ||
"x-priority": "important" | ||
}, | ||
"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" | ||
}, | ||
"module": { | ||
"type": "string", | ||
"description": "The filename or path to the NgModule that will declare this component.", | ||
"alias": "m" | ||
}, | ||
"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"] | ||
}, | ||
"skipTests": { | ||
"type": "boolean", | ||
"description": "Do not create `spec.ts` test files for the new component.", | ||
"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." | ||
}, | ||
"type": { | ||
"type": "string", | ||
"description": "Adds a developer-defined type to the filename, in the format `name.type.ts`.", | ||
"default": "component" | ||
}, | ||
"export": { | ||
"type": "boolean", | ||
"description": "Specifies if the component should be exported in the declaring `NgModule`. Additionally, if the project is a library, the component will be exported from the project's entry point (normally `index.ts`) if the module it belongs to is also exported or if the component is standalone.", | ||
"default": false, | ||
"x-priority": "important" | ||
}, | ||
"exportDefault": { | ||
"type": "boolean", | ||
"default": false, | ||
"description": "Use default export for the component instead of a named export." | ||
}, | ||
"skipFormat": { | ||
"description": "Skip formatting files.", | ||
"type": "boolean", | ||
"default": false, | ||
"x-priority": "internal" | ||
} | ||
}, | ||
"required": ["name"] | ||
} | ||
"required": ["name", "path"] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters