@rxap/plugin-angular 16.1.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/GETSTARTED.md +0 -0
  3. package/GUIDES.md +0 -0
  4. package/README.md +62 -0
  5. package/generators.json +29 -0
  6. package/package.json +73 -0
  7. package/src/generators/fix-schematic/generator.d.ts +4 -0
  8. package/src/generators/fix-schematic/generator.js +66 -0
  9. package/src/generators/fix-schematic/generator.js.map +1 -0
  10. package/src/generators/fix-schematic/schema.d.ts +3 -0
  11. package/src/generators/fix-schematic/schema.json +21 -0
  12. package/src/generators/init/generator.d.ts +4 -0
  13. package/src/generators/init/generator.js +38 -0
  14. package/src/generators/init/generator.js.map +1 -0
  15. package/src/generators/init/schema.d.ts +3 -0
  16. package/src/generators/init/schema.json +16 -0
  17. package/src/generators/init-application/files/shared/.gitkeep +0 -0
  18. package/src/generators/init-application/files/shared/assets/.dockerignore +1 -0
  19. package/src/generators/init-application/files/shared/assets/Dockerfile +5 -0
  20. package/src/generators/init-application/files/shared/assets/nginx.conf +74 -0
  21. package/src/generators/init-application/files/shared/i18n.index.html.hbs +40 -0
  22. package/src/generators/init-application/files/shared/ngsw-config.json +62 -0
  23. package/src/generators/init-application/files/shared/proxy.conf.json +6 -0
  24. package/src/generators/init-application/generator.d.ts +4 -0
  25. package/src/generators/init-application/generator.js +263 -0
  26. package/src/generators/init-application/generator.js.map +1 -0
  27. package/src/generators/init-application/schema.d.ts +12 -0
  28. package/src/generators/init-application/schema.json +46 -0
  29. package/src/generators/init-library/generator.d.ts +4 -0
  30. package/src/generators/init-library/generator.js +109 -0
  31. package/src/generators/init-library/generator.js.map +1 -0
  32. package/src/generators/init-library/schema.d.ts +3 -0
  33. package/src/generators/init-library/schema.json +16 -0
  34. package/src/generators/schematic/files/schematic/__fileName__/index.ts.template +8 -0
  35. package/src/generators/schematic/files/schematic/__fileName__/schema.d.ts.template +3 -0
  36. package/src/generators/schematic/files/schematic/__fileName__/schema.json.template +18 -0
  37. package/src/generators/schematic/generator.d.ts +6 -0
  38. package/src/generators/schematic/generator.js +137 -0
  39. package/src/generators/schematic/generator.js.map +1 -0
  40. package/src/generators/schematic/schema.d.ts +6 -0
  41. package/src/generators/schematic/schema.json +43 -0
  42. package/src/index.d.ts +3 -0
  43. package/src/index.js +10 -0
  44. package/src/index.js.map +1 -0
  45. package/src/lib/skip-project.d.ts +1 -0
  46. package/src/lib/skip-project.js +19 -0
  47. package/src/lib/skip-project.js.map +1 -0
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initApplicationGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const generator_utilities_1 = require("@rxap/generator-utilities");
7
+ const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
8
+ const workspace_ts_morph_1 = require("@rxap/workspace-ts-morph");
9
+ const workspace_utilities_1 = require("@rxap/workspace-utilities");
10
+ const path_1 = require("path");
11
+ const skip_project_1 = require("../../lib/skip-project");
12
+ function skipProject(tree, options, project, projectName) {
13
+ if ((0, skip_project_1.SkipNonAngularProject)(tree, options, project, projectName)) {
14
+ return true;
15
+ }
16
+ if ((0, generator_utilities_1.SkipNonApplicationProject)(tree, options, project, projectName)) {
17
+ return true;
18
+ }
19
+ return false;
20
+ }
21
+ function updateProjectTargets(project, options) {
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
23
+ var _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
24
+ (_a = project.targets) !== null && _a !== void 0 ? _a : (project.targets = {});
25
+ if (!project.targets['build']) {
26
+ throw new Error(`The project '${project.name}' has no build target`);
27
+ }
28
+ (_b = (_s = project.targets)['config']) !== null && _b !== void 0 ? _b : (_s['config'] = {
29
+ executor: '@rxap/plugin-application:config',
30
+ options: {},
31
+ configurations: {
32
+ production: {},
33
+ development: {},
34
+ },
35
+ });
36
+ if (project.targets['extract-i18n']) {
37
+ if (options.i18n) {
38
+ (_c = options.languages) !== null && _c !== void 0 ? _c : (options.languages = []);
39
+ if (options.languages.length === 0) {
40
+ options.languages.push('en');
41
+ }
42
+ (_d = (_t = project.targets)['i18n']) !== null && _d !== void 0 ? _d : (_t['i18n'] = {
43
+ executor: '@rxap/plugin-application:i18n',
44
+ options: {
45
+ availableLanguages: options.languages,
46
+ defaultLanguage: options.languages[0],
47
+ indexHtmlTemplate: 'shared/i18n.index.html.hbs',
48
+ assets: true,
49
+ },
50
+ configurations: {
51
+ production: {},
52
+ development: {},
53
+ },
54
+ });
55
+ project.targets['build'].configurations.production.localize = options.languages;
56
+ (_e = project.i18n) !== null && _e !== void 0 ? _e : (project.i18n = {});
57
+ (_f = (_u = project.i18n).sourceLocale) !== null && _f !== void 0 ? _f : (_u.sourceLocale = 'en-US');
58
+ (_g = (_v = project.i18n).locales) !== null && _g !== void 0 ? _g : (_v.locales = {});
59
+ for (const language of options.languages) {
60
+ (_h = (_w = project.i18n.locales)[language]) !== null && _h !== void 0 ? _h : (_w[language] = {
61
+ translation: `${project.sourceRoot}/i18n/${language}.xlf`,
62
+ baseHref: `${language}/`,
63
+ });
64
+ }
65
+ }
66
+ (_j = (_x = project.targets['extract-i18n']).options) !== null && _j !== void 0 ? _j : (_x.options = {});
67
+ project.targets['extract-i18n'].options.format = 'xliff2';
68
+ project.targets['extract-i18n'].options.outputPath = (0, path_1.join)(project.sourceRoot, 'i18n');
69
+ if (options.localazy) {
70
+ (_k = (_y = project.targets)['localazy-download']) !== null && _k !== void 0 ? _k : (_y['localazy-download'] = {
71
+ executor: '@rxap/plugin-localazy:download',
72
+ options: {
73
+ workingDirectory: project.root,
74
+ },
75
+ configurations: {
76
+ production: {},
77
+ development: {},
78
+ },
79
+ });
80
+ (_l = (_z = project.targets)['localazy-upload']) !== null && _l !== void 0 ? _l : (_z['localazy-upload'] = {
81
+ executor: '@rxap/plugin-localazy:upload',
82
+ options: {
83
+ extractTarget: `${project.name}:extract-i18n`,
84
+ },
85
+ });
86
+ }
87
+ }
88
+ (_m = (_0 = project.targets['build']).options) !== null && _m !== void 0 ? _m : (_0.options = {});
89
+ project.targets['build'].options.sourceMap = true;
90
+ (_o = (_1 = project.targets['build'].options).assets) !== null && _o !== void 0 ? _o : (_1.assets = []);
91
+ (0, generator_utilities_1.CoerceAssets)(project.targets['build'].options.assets, [
92
+ {
93
+ glob: '*.json',
94
+ input: 'config/',
95
+ output: '/',
96
+ },
97
+ {
98
+ glob: '*',
99
+ input: 'shared/assets/',
100
+ output: '/',
101
+ },
102
+ ]);
103
+ if (options.serviceWorker) {
104
+ (0, generator_utilities_1.CoerceAssets)(project.targets['build'].options.assets, [
105
+ (0, path_1.join)(project.sourceRoot, 'manifest.webmanifest'),
106
+ ]);
107
+ (_p = (_2 = project.targets['build']).configurations) !== null && _p !== void 0 ? _p : (_2.configurations = {});
108
+ (_q = (_3 = project.targets['build'].configurations).production) !== null && _q !== void 0 ? _q : (_3.production = {});
109
+ project.targets['build'].configurations.production.serviceWorker = true;
110
+ (_r = (_4 = project.targets['build'].configurations.production).ngswConfigPath) !== null && _r !== void 0 ? _r : (_4.ngswConfigPath = 'shared/ngsw-config.json');
111
+ }
112
+ }
113
+ function updateTargetDefaults(tree, options) {
114
+ const nxJson = (0, devkit_1.readNxJson)(tree);
115
+ if (options.i18n) {
116
+ (0, workspace_utilities_1.CoerceTargetDefaultsDependency)(nxJson, 'i18n', 'build');
117
+ }
118
+ if (options.localazy) {
119
+ (0, workspace_utilities_1.CoerceTargetDefaultsDependency)(nxJson, 'build', 'localazy-download');
120
+ (0, workspace_utilities_1.CoerceTargetDefaultsDependency)(nxJson, 'localazy-upload', 'extract-i18n');
121
+ }
122
+ (0, devkit_1.updateNxJson)(tree, nxJson);
123
+ }
124
+ function updateGitIgnore(project, tree, options) {
125
+ if (options.i18n) {
126
+ const gitIgnorePath = (0, path_1.join)(project.sourceRoot, '.gitignore');
127
+ (0, generator_utilities_1.CoerceIgnorePattern)(tree, gitIgnorePath, [
128
+ '/i18n',
129
+ ]);
130
+ }
131
+ }
132
+ function updateTags(project, options) {
133
+ const tags = ['frontend'];
134
+ if (options.i18n) {
135
+ tags.push('i18n');
136
+ }
137
+ if (options.localazy) {
138
+ tags.push('localazy');
139
+ }
140
+ (0, generator_utilities_1.CoerceProjectTags)(project, tags);
141
+ }
142
+ const MAIN_BOOTSTRAP_STATEMENT = `application.bootstrap().catch((err) => console.error(err));`;
143
+ function assertMainStatements(sourceFile) {
144
+ var _a;
145
+ const statements = [];
146
+ statements.push('const application = new StandaloneApplication(');
147
+ statements.push('application.importProvidersFrom(LoggerModule.forRoot({');
148
+ const existingStatements = (_a = sourceFile.getStatements().map(s => s.getText())) !== null && _a !== void 0 ? _a : [];
149
+ for (const statement of statements) {
150
+ if (!existingStatements.includes(statement)) {
151
+ console.error(`Missing statement from main.ts: ${statement}`);
152
+ sourceFile.set({
153
+ statements: [
154
+ `const application = new StandaloneApplication(
155
+ environment,
156
+ AppComponent,
157
+ appConfig,
158
+ );`,
159
+ `application.importProvidersFrom(LoggerModule.forRoot({
160
+ serverLoggingUrl: '/api/logs',
161
+ level: NgxLoggerLevel.DEBUG,
162
+ serverLogLevel: NgxLoggerLevel.ERROR
163
+ }));`,
164
+ MAIN_BOOTSTRAP_STATEMENT,
165
+ ],
166
+ });
167
+ (0, schematics_ts_morph_1.CoerceImports)(sourceFile, [
168
+ {
169
+ moduleSpecifier: './app/app.component',
170
+ namedImports: ['AppComponent'],
171
+ },
172
+ {
173
+ moduleSpecifier: './app/app.config',
174
+ namedImports: ['appConfig'],
175
+ },
176
+ {
177
+ moduleSpecifier: './environment',
178
+ namedImports: ['environment'],
179
+ },
180
+ {
181
+ moduleSpecifier: 'ngx-logger',
182
+ namedImports: ['NgxLoggerLevel', 'LoggerModule'],
183
+ },
184
+ {
185
+ moduleSpecifier: '@rxap/ngx-bootstrap',
186
+ namedImports: ['StandaloneApplication'],
187
+ },
188
+ ]);
189
+ return;
190
+ }
191
+ }
192
+ }
193
+ function updateMainFile(tree, project, options) {
194
+ (0, workspace_ts_morph_1.TsMorphAngularProjectTransform)(tree, {
195
+ project: project.name,
196
+ // directory: '..' // to move from the apps/demo/src/app folder into the apps/demo/src folder
197
+ }, (project, [sourceFile]) => {
198
+ var _a;
199
+ assertMainStatements(sourceFile);
200
+ const importDeclarations = [];
201
+ const statements = [];
202
+ if (options.serviceWorker) {
203
+ importDeclarations.push({ moduleSpecifier: '@rxap/service-worker', namedImports: ['UnregisterServiceWorker'] });
204
+ statements.push('application.before(() => UnregisterServiceWorker(environment));');
205
+ }
206
+ if (options.openApi) {
207
+ importDeclarations.push({ moduleSpecifier: '@rxap/open-api', namedImports: ['OpenApiInit'] });
208
+ statements.push('application.before(() => OpenApiInit());');
209
+ }
210
+ if (options.sentry) {
211
+ importDeclarations.push({ moduleSpecifier: '@rxap/ngx-sentry', namedImports: ['SentryInit'] });
212
+ statements.push('application.before(() => SentryInit(environment));');
213
+ }
214
+ (0, schematics_ts_morph_1.CoerceImports)(sourceFile, importDeclarations);
215
+ for (let i = 0; i < statements.length; i++) {
216
+ const statement = statements[i];
217
+ const lastStatement = i > 0 ? statements[i - 1] : null;
218
+ const nestStatement = i < statements.length - 1 ? statements[i + 1] : null;
219
+ const existingStatements = (_a = sourceFile.getStatements().map(s => s.getText())) !== null && _a !== void 0 ? _a : [];
220
+ if (!existingStatements.includes(statement)) {
221
+ let index;
222
+ if (lastStatement) {
223
+ index = existingStatements.findIndex(s => s.includes(lastStatement)) + 1;
224
+ }
225
+ else if (nestStatement) {
226
+ index = existingStatements.findIndex(s => s.includes(nestStatement));
227
+ }
228
+ else {
229
+ index = existingStatements.findIndex(s => s.includes(MAIN_BOOTSTRAP_STATEMENT));
230
+ }
231
+ console.log(`insert statement: ${statement} at index ${index}`);
232
+ sourceFile.insertStatements(index, statement);
233
+ }
234
+ }
235
+ }, ['main.ts']);
236
+ }
237
+ function initApplicationGenerator(tree, options) {
238
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
239
+ console.log('angular application init generator:', options);
240
+ // only add the shared folder if it does not exist
241
+ if (!tree.exists('shared')) {
242
+ (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'files', 'shared'), 'shared', options);
243
+ }
244
+ for (const [projectName, project] of (0, devkit_1.getProjects)(tree).entries()) {
245
+ if (skipProject(tree, options, project, projectName)) {
246
+ continue;
247
+ }
248
+ console.log(`init project: ${projectName}`);
249
+ updateProjectTargets(project, options);
250
+ updateTags(project, options);
251
+ updateTargetDefaults(tree, options);
252
+ updateGitIgnore(project, tree, options);
253
+ if (options.generateMain) {
254
+ updateMainFile(tree, project, options);
255
+ }
256
+ // apply changes to the project configuration
257
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, project);
258
+ }
259
+ });
260
+ }
261
+ exports.initApplicationGenerator = initApplicationGenerator;
262
+ exports.default = initApplicationGenerator;
263
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init-application/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface InitApplicationGeneratorSchema {
2
+ sentry?: boolean;
3
+ openApi?: boolean;
4
+ config?: boolean;
5
+ projects?: string[];
6
+ localazy?: boolean;
7
+ i18n?: boolean;
8
+ serviceWorker?: boolean;
9
+ languages?: string[];
10
+ material?: boolean;
11
+ generateMain?: boolean;
12
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "InitApplication",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "projects": {
8
+ "alias": "project",
9
+ "type": "array",
10
+ "items": {
11
+ "type": "string"
12
+ }
13
+ },
14
+ "sentry": {
15
+ "type": "boolean"
16
+ },
17
+ "openApi": {
18
+ "type": "boolean"
19
+ },
20
+ "config": {
21
+ "type": "boolean"
22
+ },
23
+ "localazy": {
24
+ "type": "boolean"
25
+ },
26
+ "i18n": {
27
+ "type": "boolean"
28
+ },
29
+ "serviceWorker": {
30
+ "type": "boolean"
31
+ },
32
+ "languages": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string"
36
+ }
37
+ },
38
+ "material": {
39
+ "type": "boolean"
40
+ },
41
+ "generateMain": {
42
+ "type": "boolean"
43
+ }
44
+ },
45
+ "required": []
46
+ }
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { InitLibraryGeneratorSchema } from './schema';
3
+ export declare function initLibraryGenerator(tree: Tree, options: InitLibraryGeneratorSchema): Promise<void>;
4
+ export default initLibraryGenerator;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initLibraryGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const generator_utilities_1 = require("@rxap/generator-utilities");
7
+ const path_1 = require("path");
8
+ const skip_project_1 = require("../../lib/skip-project");
9
+ function hasIndexScss(tree, project) {
10
+ return tree.exists((0, path_1.join)(project.sourceRoot, '_index.scss'));
11
+ }
12
+ function readNgPackageJson(tree, project) {
13
+ if (!tree.exists((0, path_1.join)(project.root, 'ng-package.json'))) {
14
+ throw new Error(`The project ${project.name} has no ng-package.json file.`);
15
+ }
16
+ return (0, devkit_1.readJson)(tree, (0, path_1.join)(project.root, 'ng-package.json'));
17
+ }
18
+ function writeNgPackageJson(tree, project, ngPackageJson) {
19
+ (0, devkit_1.writeJson)(tree, (0, path_1.join)(project.root, 'ng-package.json'), ngPackageJson);
20
+ }
21
+ function updateProjectNgPackageConfiguration(tree, project) {
22
+ var _a;
23
+ const ngPackageJson = readNgPackageJson(tree, project);
24
+ (_a = ngPackageJson.assets) !== null && _a !== void 0 ? _a : (ngPackageJson.assets = []);
25
+ (0, generator_utilities_1.CoerceAssets)(ngPackageJson.assets, ['README.md', 'CHANGELOG.md', 'LICENSE']);
26
+ const assetThemes = {
27
+ input: '.',
28
+ glob: '**/*.theme.scss',
29
+ output: '.',
30
+ };
31
+ const assetIndex = {
32
+ input: '.',
33
+ glob: '_index.scss',
34
+ output: '.',
35
+ };
36
+ if (hasIndexScss(tree, project)) {
37
+ (0, generator_utilities_1.CoerceAssets)(ngPackageJson.assets, [assetThemes, assetIndex]);
38
+ }
39
+ else {
40
+ (0, generator_utilities_1.RemoveAssets)(ngPackageJson.assets, [assetThemes, assetIndex]);
41
+ }
42
+ writeNgPackageJson(tree, project, ngPackageJson);
43
+ }
44
+ function skipProject(tree, options, project, projectName) {
45
+ if ((0, skip_project_1.SkipNonAngularProject)(tree, options, project, projectName)) {
46
+ return true;
47
+ }
48
+ if ((0, generator_utilities_1.SkipNonLibraryProject)(tree, options, project, projectName)) {
49
+ return true;
50
+ }
51
+ return false;
52
+ }
53
+ function extendAngularSpecificEslint(tree, project) {
54
+ const projectRoot = project.root;
55
+ const relativeToAngularRoot = (0, path_1.relative)(projectRoot, 'packages/angular');
56
+ console.log('relativeToAngularRoot', relativeToAngularRoot);
57
+ const extendsPath = relativeToAngularRoot + '/.eslintrc.json';
58
+ const eslintConfigFilaPath = `${projectRoot}/.eslintrc.json`;
59
+ const defaultEslintConfig = {
60
+ extends: [extendsPath],
61
+ ignorePatterns: ['!**/*'],
62
+ overrides: [],
63
+ };
64
+ (0, generator_utilities_1.CoerceFile)(tree, eslintConfigFilaPath, JSON.stringify(defaultEslintConfig, null, 2));
65
+ const eslintConfig = JSON.parse(tree.read(eslintConfigFilaPath).toString('utf-8'));
66
+ if (eslintConfig.extends[0] !== extendsPath) {
67
+ tree.write(eslintConfigFilaPath, JSON.stringify(defaultEslintConfig, null, 2));
68
+ }
69
+ }
70
+ function updateProjectTargets(project) {
71
+ var _a;
72
+ (_a = project.targets) !== null && _a !== void 0 ? _a : (project.targets = {});
73
+ project.targets['check-version'] = {
74
+ executor: '@rxap/plugin-library:check-version',
75
+ options: {
76
+ packageName: '@angular/core',
77
+ },
78
+ };
79
+ }
80
+ function setGeneralTargetDefaults(tree) {
81
+ var _a, _b, _c, _d;
82
+ var _e;
83
+ const nxJson = (0, devkit_1.readNxJson)(tree);
84
+ (_a = nxJson.targetDefaults) !== null && _a !== void 0 ? _a : (nxJson.targetDefaults = {});
85
+ (_b = (_e = nxJson.targetDefaults)['build']) !== null && _b !== void 0 ? _b : (_e['build'] = { dependsOn: ['^build'] });
86
+ if (!((_d = (_c = nxJson.targetDefaults['build']) === null || _c === void 0 ? void 0 : _c.dependsOn) === null || _d === void 0 ? void 0 : _d.includes('check-version'))) {
87
+ nxJson.targetDefaults['build'].dependsOn.push('check-version');
88
+ }
89
+ (0, devkit_1.updateNxJson)(tree, nxJson);
90
+ }
91
+ function initLibraryGenerator(tree, options) {
92
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
93
+ console.log('angular library init generator:', options);
94
+ setGeneralTargetDefaults(tree);
95
+ for (const [projectName, project] of (0, devkit_1.getProjects)(tree).entries()) {
96
+ if (skipProject(tree, options, project, projectName)) {
97
+ continue;
98
+ }
99
+ console.log(`init project: ${projectName}`);
100
+ updateProjectNgPackageConfiguration(tree, project);
101
+ extendAngularSpecificEslint(tree, project);
102
+ updateProjectTargets(project);
103
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
104
+ }
105
+ });
106
+ }
107
+ exports.initLibraryGenerator = initLibraryGenerator;
108
+ exports.default = initLibraryGenerator;
109
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init-library/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export interface InitLibraryGeneratorSchema {
2
+ projects?: string[];
3
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "InitLibrary",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "projects": {
8
+ "alias": "project",
9
+ "type": "array",
10
+ "items": {
11
+ "type": "string"
12
+ }
13
+ }
14
+ },
15
+ "required": []
16
+ }
@@ -0,0 +1,8 @@
1
+ import {Tree} from "@angular-devkit/schematics";
2
+ import { <%= className %>SchematicSchema } from './schema';
3
+
4
+ export default function(options: <%= schemaInterfaceName %>) {
5
+ return (host: Tree) => {
6
+ return host;
7
+ }
8
+ }
@@ -0,0 +1,3 @@
1
+ export interface <%= className %>SchematicSchema {
2
+ name: string;
3
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "<%= className %>",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "What name would you like to use?"
15
+ }
16
+ },
17
+ "required": ["name"]
18
+ }
@@ -0,0 +1,6 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { SchematicGeneratorSchema } from './schema';
3
+ export declare function createCollectionJson(host: Tree, projectRoot: string): Promise<void>;
4
+ export declare function hasSchematic(tree: Tree, projectName: string, schematicName: string): boolean;
5
+ export declare function schematicGenerator(host: Tree, _options: SchematicGeneratorSchema): Promise<void>;
6
+ export default schematicGenerator;