@yuuvis/client-cli 19.4.0 → 19.6.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 (51) hide show
  1. package/README.md +25 -6
  2. package/cli/commands/generate/widget.d.ts +6 -0
  3. package/cli/commands/generate/widget.js +46 -0
  4. package/cli/commands/generate/widget.js.map +1 -0
  5. package/cli/options/options-generate-widget.json +19 -0
  6. package/cli/utils.d.ts +6 -0
  7. package/cli/utils.js +24 -0
  8. package/cli/utils.js.map +1 -1
  9. package/package.json +2 -1
  10. package/schematics/app-manifest.d.ts +4 -1
  11. package/schematics/app-manifest.js +3 -2
  12. package/schematics/app-manifest.js.map +1 -1
  13. package/schematics/commands/angular-json.d.ts +8 -2
  14. package/schematics/commands/angular-json.js +36 -13
  15. package/schematics/commands/angular-json.js.map +1 -1
  16. package/schematics/commands/app-requirements-ts.d.ts +11 -0
  17. package/schematics/commands/app-requirements-ts.js +59 -0
  18. package/schematics/commands/app-requirements-ts.js.map +1 -0
  19. package/schematics/commands/typescript-file.d.ts +25 -0
  20. package/schematics/commands/typescript-file.js +95 -14
  21. package/schematics/commands/typescript-file.js.map +1 -1
  22. package/schematics/factories/add-app/index.d.ts +1 -1
  23. package/schematics/factories/add-app/index.js +8 -0
  24. package/schematics/factories/add-app/index.js.map +1 -1
  25. package/schematics/factories/collection.json +5 -0
  26. package/schematics/factories/generate-app/index.js +1 -0
  27. package/schematics/factories/generate-app/index.js.map +1 -1
  28. package/schematics/factories/generate-widget/index.d.ts +11 -0
  29. package/schematics/factories/generate-widget/index.js +67 -0
  30. package/schematics/factories/generate-widget/index.js.map +1 -0
  31. package/schematics/factories/generate-widget/schema.json +41 -0
  32. package/schematics/factories/new/index.js +18 -22
  33. package/schematics/factories/new/index.js.map +1 -1
  34. package/schematics/files/_scripts/i18n-collect.js +1 -2
  35. package/schematics/files/_src/main.ts.template +2 -1
  36. package/schematics/files/_src/styles.scss +2 -5
  37. package/schematics/files/_src_app/app.component.ts.template +4 -3
  38. package/schematics/files/_src_app/app.requirements.ts.template +3 -0
  39. package/schematics/files/_src_styles/global.scss +4 -0
  40. package/schematics/project-util.d.ts +6 -0
  41. package/schematics/project-util.js +25 -0
  42. package/schematics/project-util.js.map +1 -1
  43. package/schematics/rules/copy-resources.d.ts +1 -0
  44. package/schematics/rules/copy-resources.js +16 -0
  45. package/schematics/rules/copy-resources.js.map +1 -1
  46. package/schematics/rules/generate-component.d.ts +2 -0
  47. package/schematics/rules/generate-component.js +18 -0
  48. package/schematics/rules/generate-component.js.map +1 -0
  49. package/schematics/rules/update-app-requirements.d.ts +2 -0
  50. package/schematics/rules/update-app-requirements.js +27 -0
  51. package/schematics/rules/update-app-requirements.js.map +1 -0
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TypeScriptFileEditor = exports.AddImportToFileCommand = exports.CompositeTypeScriptFileCommand = void 0;
15
+ exports.TypeScriptFileEditor = exports.AddPropertyToClassCommand = exports.AddImplementsClauseToClassCommand = exports.AddImportToFileCommand = exports.CompositeTypeScriptFileCommand = void 0;
16
16
  const schematics_1 = require("@angular-devkit/schematics");
17
17
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
18
18
  const change_1 = require("@schematics/angular/utility/change");
@@ -45,19 +45,22 @@ class AddImportToFileCommand {
45
45
  this.moduleName = moduleName;
46
46
  }
47
47
  execute(sourceFile, recorder, filePath) {
48
- // Check if the import already exists
49
- const hasExistingImport = sourceFile.statements.some(statement => {
50
- var _a;
51
- return typescript_1.default.isImportDeclaration(statement) &&
52
- statement.moduleSpecifier &&
53
- typescript_1.default.isStringLiteral(statement.moduleSpecifier) &&
54
- statement.moduleSpecifier.text === this.moduleName &&
55
- ((_a = statement.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings) &&
56
- typescript_1.default.isNamedImports(statement.importClause.namedBindings) &&
57
- statement.importClause.namedBindings.elements.some(element => element.name.text === this.className);
58
- });
59
- if (hasExistingImport) {
60
- return; // the class is already imported
48
+ var _a;
49
+ const existingImport = sourceFile.statements.find((statement) => typescript_1.default.isImportDeclaration(statement) &&
50
+ !!statement.moduleSpecifier &&
51
+ typescript_1.default.isStringLiteral(statement.moduleSpecifier) &&
52
+ statement.moduleSpecifier.text === this.moduleName);
53
+ if (existingImport) {
54
+ const namedBindings = (_a = existingImport.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings;
55
+ if (namedBindings && typescript_1.default.isNamedImports(namedBindings)) {
56
+ const alreadyImported = namedBindings.elements.some(element => element.name.text === this.className);
57
+ if (alreadyImported) {
58
+ return;
59
+ }
60
+ const lastElement = namedBindings.elements[namedBindings.elements.length - 1];
61
+ recorder.insertRight(lastElement.end, `, ${this.className}`);
62
+ return;
63
+ }
61
64
  }
62
65
  const importChange = (0, ast_utils_1.insertImport)(sourceFile, filePath, this.className, this.moduleName);
63
66
  if (importChange) {
@@ -69,6 +72,84 @@ class AddImportToFileCommand {
69
72
  }
70
73
  }
71
74
  exports.AddImportToFileCommand = AddImportToFileCommand;
75
+ /**
76
+ * Adds an implements clause to a TypeScript class. If the class already implements the interface, no changes are made.
77
+ */
78
+ class AddImplementsClauseToClassCommand {
79
+ constructor(interfaceName, genericType) {
80
+ this.fullInterfaceName = genericType ? `${interfaceName}<${genericType}>` : interfaceName;
81
+ }
82
+ execute(sourceFile, recorder, filePath) {
83
+ var _a;
84
+ const classDeclaration = sourceFile.statements.find(typescript_1.default.isClassDeclaration);
85
+ if (!classDeclaration || !classDeclaration.name) {
86
+ throw new schematics_1.SchematicsException(`No class declaration found in ${filePath}`);
87
+ }
88
+ const implementsClause = (_a = classDeclaration.heritageClauses) === null || _a === void 0 ? void 0 : _a.find(clause => clause.token === typescript_1.default.SyntaxKind.ImplementsKeyword);
89
+ if (implementsClause) {
90
+ // Check if the interface is already implemented
91
+ const alreadyImplements = implementsClause.types.some(type => type.getText(sourceFile) === this.fullInterfaceName);
92
+ if (alreadyImplements) {
93
+ return; // the interface is already implemented
94
+ }
95
+ // Add to existing implements clause
96
+ const lastType = implementsClause.types[implementsClause.types.length - 1];
97
+ recorder.insertRight(lastType.end, `, ${this.fullInterfaceName}`);
98
+ }
99
+ else {
100
+ // Create a new implements clause
101
+ const classNameEnd = classDeclaration.name.end;
102
+ recorder.insertRight(classNameEnd, ` implements ${this.fullInterfaceName}`);
103
+ }
104
+ }
105
+ }
106
+ exports.AddImplementsClauseToClassCommand = AddImplementsClauseToClassCommand;
107
+ /**
108
+ * Adds a property statement to a TypeScript class. If the property already exists, no changes are made.
109
+ * Takes the complete property statement as a string for maximum flexibility.
110
+ *
111
+ * Examples:
112
+ * new AddPropertyToClassCommand('widgetConfig = input<any>()')
113
+ * new AddPropertyToClassCommand('name: string = "default"')
114
+ * new AddPropertyToClassCommand('private count = 0')
115
+ * new AddPropertyToClassCommand('readonly items: string[]')
116
+ */
117
+ class AddPropertyToClassCommand {
118
+ constructor(propertyStatement) {
119
+ this.propertyStatement = propertyStatement;
120
+ this.propertyName = this.extractPropertyName(propertyStatement);
121
+ }
122
+ extractPropertyName(statement) {
123
+ // Match property name after optional modifiers (private, public, protected, readonly, static)
124
+ const match = statement.match(/^(?:(?:private|public|protected|readonly|static)\s+)*(\w+)/);
125
+ if (!match) {
126
+ throw new schematics_1.SchematicsException(`Cannot extract property name from: ${statement}`);
127
+ }
128
+ return match[1];
129
+ }
130
+ execute(sourceFile, recorder, filePath) {
131
+ const classDeclaration = sourceFile.statements.find(typescript_1.default.isClassDeclaration);
132
+ if (!classDeclaration || !classDeclaration.name) {
133
+ throw new schematics_1.SchematicsException(`No class declaration found in ${filePath}`);
134
+ }
135
+ const propertyExists = classDeclaration.members.some(member => typescript_1.default.isPropertyDeclaration(member) &&
136
+ member.name &&
137
+ typescript_1.default.isIdentifier(member.name) &&
138
+ member.name.text === this.propertyName);
139
+ if (propertyExists) {
140
+ return;
141
+ }
142
+ if (classDeclaration.members.length > 0) {
143
+ const firstMember = classDeclaration.members[0];
144
+ recorder.insertLeft(firstMember.getStart(sourceFile), `${this.propertyStatement}; `);
145
+ }
146
+ else {
147
+ const classStart = classDeclaration.members.pos;
148
+ recorder.insertLeft(classStart, `\n ${this.propertyStatement};`);
149
+ }
150
+ }
151
+ }
152
+ exports.AddPropertyToClassCommand = AddPropertyToClassCommand;
72
153
  /**
73
154
  * Class for editing a typescript file.
74
155
  */
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-file.js","sourceRoot":"","sources":["../../../src/schematics/commands/typescript-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-file.js","sourceRoot":"","sources":["../../../src/schematics/commands/typescript-file.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { Rule } from "@angular-devkit/schematics";
1
+ import { Rule } from '@angular-devkit/schematics';
2
2
  export declare function addApp(options: any): Rule;
@@ -18,8 +18,10 @@ const schematics_util_1 = require("../../schematics-util");
18
18
  const utils_1 = require("../../utils");
19
19
  const app_routes_1 = require("../../rules/app-routes");
20
20
  const app_config_1 = require("../../rules/app-config");
21
+ const update_app_requirements_1 = require("../../rules/update-app-requirements");
21
22
  const npm_install_1 = __importDefault(require("../../rules/npm-install"));
22
23
  const project_metadata_1 = require("../../project-metadata");
24
+ const copy_resources_1 = require("../../rules/copy-resources");
23
25
  function addApp(options) {
24
26
  return (tree, context) => __awaiter(this, void 0, void 0, function* () {
25
27
  const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
@@ -37,6 +39,12 @@ function addApp(options) {
37
39
  const extensionsEntryPoint = `${parsedPackageName.libraryFullName}/extensions`;
38
40
  rules.push((0, app_config_1.updateAppConfigRule)(appManifest.id, appManifest.extension, extensionsEntryPoint));
39
41
  }
42
+ if (!!appManifest.requires && appManifest.requires.length > 0) {
43
+ if (!tree.exists('/src/app/app.requirements.ts')) {
44
+ rules.push((0, copy_resources_1.copyAppRequirementsFile)());
45
+ }
46
+ rules.push((0, update_app_requirements_1.updateAppDependenciesRule)(appManifest.id, appManifest.requires));
47
+ }
40
48
  rules.push((0, npm_install_1.default)('./', options.name));
41
49
  return (0, schematics_1.chain)(rules);
42
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/add-app/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,wBA4BC;AApCD,2DAA8E;AAC9E,2DAAsD;AACtD,uCAA+C;AAC/C,uDAA6D;AAC7D,uDAA6D;AAC7D,0EAAiD;AACjD,6DAAyD;AAEzD,SAAgB,MAAM,CAAC,OAAY;IACjC,OAAO,CAAO,IAAS,EAAE,OAAY,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,gCAAmB,CAAC,WAAW,OAAO,CAAC,IAAI,6DAA6D,CAAC,CAAC;QACtH,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAa,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAExE,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,iBAAiB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,oBAAoB,GAAG,GAAG,iBAAiB,CAAC,eAAe,aAAa,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAA,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/add-app/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAUA,wBAmCC;AA7CD,2DAA8E;AAC9E,2DAAsD;AACtD,uCAA+C;AAC/C,uDAA6D;AAC7D,uDAA6D;AAC7D,iFAAgF;AAChF,0EAAiD;AACjD,6DAAyD;AACzD,+DAAqE;AAErE,SAAgB,MAAM,CAAC,OAAY;IACjC,OAAO,CAAO,IAAS,EAAE,OAAY,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,gCAAmB,CAAC,WAAW,OAAO,CAAC,IAAI,6DAA6D,CAAC,CAAC;QACtH,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAa,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAExE,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,iBAAiB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,oBAAoB,GAAG,GAAG,iBAAiB,CAAC,eAAe,aAAa,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,IAAA,wCAAuB,GAAE,CAAC,CAAC;YACxC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAA,mDAAyB,EAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAA,CAAC;AACJ,CAAC"}
@@ -10,6 +10,11 @@
10
10
  "factory": "./generate-app/index#generateApp",
11
11
  "schema": "./generate-app/schema.json"
12
12
  },
13
+ "generate-widget": {
14
+ "description": "Generates a new yuuvis widget",
15
+ "factory": "./generate-widget/index#generateWidget",
16
+ "schema": "./generate-widget/schema.json"
17
+ },
13
18
  "add-app": {
14
19
  "description": "Adds a new app to the yuuvis client project",
15
20
  "factory": "./add-app/index#addApp",
@@ -62,6 +62,7 @@ function createAppManifest(componentName, route, appId, skipExtension, appHeader
62
62
  const manifest = {
63
63
  id: `${appId}`,
64
64
  title: `${schematics_1.strings.capitalize(componentName)} Title`,
65
+ requires: []
65
66
  };
66
67
  manifest.ui = {
67
68
  path: `${route}`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/generate-app/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/generate-app/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Rule } from "@angular-devkit/schematics";
2
+ export interface WidgetOptions {
3
+ name: string;
4
+ project?: string;
5
+ path?: string;
6
+ prefix?: string;
7
+ pathForComponent?: string;
8
+ workingdirectory?: string;
9
+ generateSetupComponent?: boolean;
10
+ }
11
+ export declare function generateWidget(options: WidgetOptions): Rule;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.generateWidget = generateWidget;
13
+ const schematics_1 = require("@angular-devkit/schematics");
14
+ const generate_component_1 = require("../../rules/generate-component");
15
+ const project_util_1 = require("../../project-util");
16
+ const utils_1 = require("../../utils");
17
+ const typescript_file_1 = require("../../commands/typescript-file");
18
+ function generateWidget(options) {
19
+ return (_tree, _context) => __awaiter(this, void 0, void 0, function* () {
20
+ options.pathForComponent = options.path || options.workingdirectory;
21
+ const targetPathData = yield (0, project_util_1.calculateComponentPath)(_tree, options.name, options.project, options.path, options.workingdirectory);
22
+ const targetPath = (0, utils_1.buildPath)(targetPathData.path, targetPathData.name);
23
+ const rules = [
24
+ (0, generate_component_1.generateComponent)(options.name, options.project, options.prefix, options.pathForComponent),
25
+ updateWidgetComponentRule(targetPathData.name, targetPath)
26
+ ];
27
+ if (options.generateSetupComponent) {
28
+ const setupComponentName = `${targetPathData.name}Setup`;
29
+ const setupComponentPath = (0, utils_1.buildPath)(targetPath, 'setup');
30
+ rules.push((0, generate_component_1.generateComponent)(setupComponentName, options.project, options.prefix, setupComponentPath, true));
31
+ rules.push(updateWidgetSetupComponentRule(setupComponentName, setupComponentPath));
32
+ }
33
+ return (0, schematics_1.chain)(rules);
34
+ });
35
+ }
36
+ function updateWidgetComponentRule(componentName, componentPath) {
37
+ return (tree, context) => __awaiter(this, void 0, void 0, function* () {
38
+ const filePath = (0, utils_1.buildPath)(componentPath, `${schematics_1.strings.dasherize(componentName)}.component.ts`);
39
+ const command = new typescript_file_1.CompositeTypeScriptFileCommand([
40
+ new typescript_file_1.AddImportToFileCommand('input', '@angular/core'),
41
+ new typescript_file_1.AddImportToFileCommand('IWidgetComponent', '@yuuvis/client-framework/widget-grid'),
42
+ new typescript_file_1.AddImplementsClauseToClassCommand('IWidgetComponent', 'any'),
43
+ new typescript_file_1.AddPropertyToClassCommand('widgetConfig = input<any>()')
44
+ ]);
45
+ const editor = yield typescript_file_1.TypeScriptFileEditor.create(tree, filePath);
46
+ editor.run(command, context);
47
+ return tree;
48
+ });
49
+ }
50
+ function updateWidgetSetupComponentRule(componentName, componentPath) {
51
+ return (tree, context) => __awaiter(this, void 0, void 0, function* () {
52
+ const filePath = (0, utils_1.buildPath)(componentPath, `${schematics_1.strings.dasherize(componentName)}.component.ts`);
53
+ const command = new typescript_file_1.CompositeTypeScriptFileCommand([
54
+ new typescript_file_1.AddImportToFileCommand('input', '@angular/core'),
55
+ new typescript_file_1.AddImportToFileCommand('output', '@angular/core'),
56
+ new typescript_file_1.AddImportToFileCommand('IWidgetSetupComponent', '@yuuvis/client-framework/widget-grid'),
57
+ new typescript_file_1.AddImplementsClauseToClassCommand('IWidgetSetupComponent', 'any'),
58
+ new typescript_file_1.AddPropertyToClassCommand('widgetConfig = input<any>()'),
59
+ new typescript_file_1.AddPropertyToClassCommand('widgetConfigChange = output<any>()'),
60
+ new typescript_file_1.AddPropertyToClassCommand('widgetConfigStateChange = output<any>()')
61
+ ]);
62
+ const editor = yield typescript_file_1.TypeScriptFileEditor.create(tree, filePath);
63
+ editor.run(command, context);
64
+ return tree;
65
+ });
66
+ }
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/generate-widget/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "generate-widget",
4
+ "title": "Generate Widget Schematic",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "The name of the widget including filepath.",
10
+ "pattern": "^(\\.{1,2}[/\\\\])?([a-zA-Z][a-zA-Z0-9._-]*[/\\\\])*[a-zA-Z][a-zA-Z0-9._-]*$",
11
+ "$default": {
12
+ "$source": "argv",
13
+ "index": 0
14
+ }
15
+ },
16
+ "path": {
17
+ "type": "string",
18
+ "description": "The path where the widget component should be created."
19
+ },
20
+ "generateSetupComponent": {
21
+ "type": "boolean",
22
+ "description": "Generate setup component.",
23
+ "default": false
24
+ },
25
+ "project": {
26
+ "type": "string",
27
+ "description": "The name of the project where the widget component should be added. If not specified, the schematic will determine the project from the current directory.",
28
+ "pattern": "^[a-zA-Z0-9_](?:[a-zA-Z0-9._-]*[a-zA-Z0-9_])?$"
29
+ },
30
+ "prefix": {
31
+ "type": "string",
32
+ "description": "A prefix to be added to the widget components's selector.",
33
+ "pattern": "^[a-z0-9]+$"
34
+ },
35
+ "cwd": {
36
+ "type": "string",
37
+ "description": "The current working directory when the schematic is invoked."
38
+ }
39
+ },
40
+ "required": ["name"]
41
+ }
@@ -14,14 +14,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.newProject = newProject;
16
16
  const schematics_1 = require("@angular-devkit/schematics");
17
+ const angular_json_1 = require("../../commands/angular-json");
18
+ const package_json_1 = require("../../commands/package-json");
19
+ const constants_1 = require("../../constants");
20
+ const clean_up_ng_app_1 = __importDefault(require("../../rules/clean-up-ng-app"));
21
+ const copy_resources_1 = require("../../rules/copy-resources");
17
22
  const ng_new_1 = __importDefault(require("../../rules/ng-new"));
18
23
  const npm_install_1 = __importDefault(require("../../rules/npm-install"));
19
- const clean_up_ng_app_1 = __importDefault(require("../../rules/clean-up-ng-app"));
20
- const constants_1 = require("../../constants");
21
24
  const schematics_util_1 = require("../../schematics-util");
22
- const package_json_1 = require("../../commands/package-json");
23
- const angular_json_1 = require("../../commands/angular-json");
24
- const copy_resources_1 = require("../../rules/copy-resources");
25
25
  function newProject(options) {
26
26
  return (tree, context) => __awaiter(this, void 0, void 0, function* () {
27
27
  options.schematicsVersion = constants_1.NG_SCHEMATICS_VERSION;
@@ -36,7 +36,7 @@ function newProject(options) {
36
36
  context.logger.error(`Invalid shell version tag: ${options.shellVersion}. Available tags: ${Object.keys(shellPackageInfo['dist-tags']).join(', ')}`);
37
37
  throw new schematics_1.SchematicsException(`Invalid shell version tag: ${options.shellVersion}`);
38
38
  }
39
- context.logger.info(`Version tagged as '${options.shellVersion}' is: ${calculatedVersion}`);
39
+ context.logger.info(`Version tagged as '${options.shellVersion}' is resolved to ${calculatedVersion}`);
40
40
  options.shellVersion = calculatedVersion;
41
41
  }
42
42
  const rules = [
@@ -56,23 +56,19 @@ function updateAngularJsonRule(projectName) {
56
56
  return (tree) => __awaiter(this, void 0, void 0, function* () {
57
57
  const command = new angular_json_1.CompositeAngularJsonCommand([
58
58
  new angular_json_1.AddBuildOptionsAssetsToProjectCommand(projectName, [
59
- { "glob": "**/*", "input": "node_modules/monaco-editor", "output": "/assets/monaco/" },
60
- { "glob": "**/*", "input": "node_modules/@yuuvis/media-viewer/lib/assets/i18n", "output": "/assets/media-viewer/i18n" },
61
- { "glob": "**/*", "input": "node_modules/@yuuvis/media-viewer/lib/assets/xslt", "output": "/assets/xslt" },
62
- { "glob": "**/*", "input": "node_modules/@yuuvis/client-shell/i18n", "output": "./assets/@yuuvis/i18n/" },
59
+ { glob: '**/*', input: 'node_modules/monaco-editor', output: '/assets/monaco/' },
60
+ { glob: '**/*', input: 'node_modules/@yuuvis/media-viewer/lib/assets/i18n', output: '/assets/media-viewer/i18n' },
61
+ { glob: '**/*', input: 'node_modules/@yuuvis/media-viewer/lib/assets/xslt', output: '/assets/xslt' },
62
+ { glob: '**/*', input: 'node_modules/@yuuvis/client-shell/i18n', output: './assets/@yuuvis/i18n/' },
63
63
  'src/assets/'
64
64
  ]),
65
- new angular_json_1.AddBuildOptionsScriptsToProjectCommand(projectName, [
66
- 'node_modules/@yuuvis/media-viewer/lib/assets/saxon-js/SaxonJS3.rt.js'
67
- ]),
68
- new angular_json_1.AdddAllowedCommonJsDependenciesToProjectCommand(projectName, [
69
- "pdfjs-dist",
70
- "pdfjs-dist/web/pdf_viewer"
71
- ]),
65
+ new angular_json_1.AddBuildOptionsScriptsToProjectCommand(projectName, ['node_modules/@yuuvis/media-viewer/lib/assets/saxon-js/SaxonJS3.rt.js']),
66
+ new angular_json_1.AddAllowedCommonJsDependenciesToProjectCommand(projectName, ['pdfjs-dist', 'pdfjs-dist/web/pdf_viewer']),
72
67
  new angular_json_1.UpdateInitialBudgetForProjectCommand(projectName, { maximumWarning: '3MB', maximumError: '5MB' }),
73
68
  new angular_json_1.UpdateDevFileReplacementsForProjectCommand(projectName, [
74
69
  { replace: `src/environments/environment.ts`, with: `src/environments/environment.development.ts` }
75
- ])
70
+ ]),
71
+ new angular_json_1.UpdateStylePreprocessorOptionsForTestsCommand(projectName, ['node_modules'])
76
72
  ]);
77
73
  const angularJsonPath = `/${projectName}/angular.json`;
78
74
  const editor = yield angular_json_1.AngularJsonEditor.create(tree, angularJsonPath);
@@ -96,12 +92,12 @@ function updatePackageJsonRule(projectName, shellVersion) {
96
92
  '@vendure/ngx-translate-extract': '^9.4.0'
97
93
  }),
98
94
  new package_json_1.AddScriptsCommand({
99
- 'prestart': 'npm run i18n:collect',
100
- 'start': 'ng serve --configuration development --proxy-config proxy.config.js',
101
- 'prebuild': 'node ./scripts/extract-client-version.js && node ./scripts/extract-component-data.js',
95
+ prestart: 'npm run i18n:collect',
96
+ start: 'ng serve --configuration development --proxy-config proxy.config.js',
97
+ prebuild: 'node ./scripts/extract-client-version.js && node ./scripts/extract-component-data.js',
102
98
  'i18n:collect': 'node ./scripts/i18n-collect.js',
103
99
  'i18n:extract': 'node ./scripts/i18n-extract.js',
104
- "update:shell": "node ./scripts/update-shell.js"
100
+ 'update:shell': 'node ./scripts/update-shell.js'
105
101
  })
106
102
  ]);
107
103
  const editor = yield package_json_1.PackageJsonEditor.create(tree, `${projectName}/package.json`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/new/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAUA,gCAkCC;AA5CD,2DAAoF;AACpF,gEAAuC;AACvC,0EAAiD;AACjD,kFAAuD;AACvD,+CAAiG;AACjG,2DAAyD;AACzD,8DAAmK;AACnK,8DAA+S;AAC/S,+DAA2D;AAE3D,SAAgB,UAAU,CAAC,OAAY;IACrC,OAAO,CAAO,IAAS,EAAE,OAAY,EAAE,EAAE;QACvC,OAAO,CAAC,iBAAiB,GAAG,iCAAqB,CAAC;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,YAAY,GAAG,iCAAqB,CAAC;QAC/C,CAAC;QAED,IAAI,4BAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACpD,MAAM,gBAAgB,GAAG,MAAM,IAAA,kCAAgB,EAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;YACjF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9E,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,YAAY,qBAAqB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrJ,MAAM,IAAI,gCAAmB,CAAC,8BAA8B,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,YAAY,SAAS,iBAAiB,EAAE,CAAC,CAAC;YAC5F,OAAO,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAW;YACpB,IAAA,gBAAK,EAAC,OAAO,CAAC;YACd,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC;YACxD,qBAAqB,CAAC,WAAW,CAAC;YAClC,IAAA,8BAAa,EAAC,OAAO,CAAC;YACtB,IAAA,yBAAY,EAAC,OAAO,CAAC;SACtB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAA,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,CAAO,IAAU,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,IAAI,0CAA2B,CAAC;YAC9C,IAAI,oDAAqC,CAAC,WAAW,EAAE;gBACrD,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBACtF,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mDAAmD,EAAE,QAAQ,EAAE,2BAA2B,EAAE;gBACvH,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mDAAmD,EAAE,QAAQ,EAAE,cAAc,EAAE;gBAC1G,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wCAAwC,EAAE,QAAQ,EAAE,wBAAwB,EAAE;gBACzG,aAAa;aACd,CAAC;YACF,IAAI,qDAAsC,CAAC,WAAW,EAAE;gBACtD,sEAAsE;aACvE,CAAC;YACF,IAAI,8DAA+C,CAAC,WAAW,EAAE;gBAC/D,YAAY;gBACZ,2BAA2B;aAC5B,CAAC;YACF,IAAI,mDAAoC,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YACrG,IAAI,yDAA0C,CAAC,WAAW,EAAE;gBAC1D,EAAE,OAAO,EAAE,iCAAiC,EAAE,IAAI,EAAE,6CAA6C,EAAE;aACpG,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,WAAW,eAAe,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,gCAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB,EAAE,YAAoB;IACtE,OAAO,CAAO,IAAU,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,IAAI,0CAA2B,CAAC;YAC9C,IAAI,qCAAsB,CAAC;gBACzB,qBAAqB,EAAE,SAAS;gBAChC,qBAAqB,EAAE,IAAI,YAAY,EAAE;gBACzC,2BAA2B,EAAE,IAAI,YAAY,EAAE;gBAC/C,0BAA0B,EAAE,IAAI,YAAY,EAAE;gBAC9C,sBAAsB,EAAE,IAAI,YAAY,EAAE;gBAC1C,kBAAkB,EAAE,IAAI,YAAY,EAAE;aACvC,CAAC;YACF,IAAI,wCAAyB,CAAC;gBAC5B,0CAA0C,EAAE,IAAI;gBAChD,gCAAgC,EAAE,QAAQ;aAC3C,CAAC;YACF,IAAI,gCAAiB,CAAC;gBACpB,UAAU,EAAE,sBAAsB;gBAClC,OAAO,EAAE,qEAAqE;gBAC9E,UAAU,EAAE,sFAAsF;gBAClG,cAAc,EAAE,gCAAgC;gBAChD,cAAc,EAAE,gCAAgC;gBAChD,cAAc,EAAE,gCAAgC;aACjD,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gCAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,WAAW,eAAe,CAAC,CAAC;QACnF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC,CAAA,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/new/index.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,7 @@ async function copyTo(srcDirectories, outputDir) {
44
44
  for (const lang in languageFiles) {
45
45
  const mergedData = languageFiles[lang].reduce((acc, filePath) => {
46
46
  const data = fs.existsSync(filePath) ? JSON.parse(fs.readFileSync(filePath, 'utf-8')) : {};
47
- const filteredData = data && typeof data === 'object' ? Object.fromEntries(Object.entries(data).filter(([, v]) => v.length > 0)) : {};
48
- return { ...acc, ...filteredData };
47
+ return { ...acc, ...data };
49
48
  }, {});
50
49
  const sortedMergedData = Object.keys(mergedData)
51
50
  .sort()
@@ -1,8 +1,9 @@
1
1
  import { bootstrapShellApplication } from '@yuuvis/client-shell-core';
2
2
  import { AppComponent } from './app/app.component';
3
3
  import { appConfig } from './app/app.config';
4
+ import { requirements } from './app/app.requirements';
4
5
 
5
6
  bootstrapShellApplication(AppComponent, appConfig, {
6
7
  enableFeatureConfig: true,
7
8
  enableObjectTypeConfig: true
8
- }).catch((err) => console.error(err));
9
+ }, requirements).catch((err) => console.error(err));
@@ -1,5 +1,2 @@
1
- @use "sass:map";
2
- @use "@yuuvis/material/scss" as ymt;
3
- @use "@yuuvis/media-viewer/scss";
4
-
5
- @include ymt.global-styles();
1
+ @use '@yuuvis/media-viewer/scss';
2
+ @use 'styles/global';
@@ -1,6 +1,6 @@
1
- import { Component } from "@angular/core";
1
+ import { Component, inject } from "@angular/core";
2
2
  import { ClientShellComponent } from "@yuuvis/client-shell";
3
- import { App, ClientShellConfig } from "@yuuvis/client-shell-core";
3
+ import { App, ClientShellConfig, FeatureService } from "@yuuvis/client-shell-core";
4
4
  import { apps } from "./app.routes";
5
5
 
6
6
  @Component({
@@ -11,7 +11,8 @@ import { apps } from "./app.routes";
11
11
  styles: [],
12
12
  })
13
13
  export class AppComponent {
14
- apps: App[] = apps;
14
+ #featureService = inject(FeatureService);
15
+ apps: App[] = this.#featureService.getAvailableApps(apps);
15
16
  shellConfig: ClientShellConfig = {};
16
17
  title = "<%= name %>";
17
18
  }
@@ -0,0 +1,3 @@
1
+ import { Requirements } from '@yuuvis/client-core';
2
+
3
+ export const requirements: Requirements = {};
@@ -0,0 +1,4 @@
1
+ @use '@angular/material' as mat;
2
+ @use '@yuuvis/material/scss' as ymt;
3
+
4
+ @include ymt.global-styles();
@@ -1,6 +1,10 @@
1
1
  import { Tree } from "@angular-devkit/schematics";
2
2
  import { ProjectMetadata } from "./project-metadata";
3
3
  import { PackageJson } from "./types/package-json";
4
+ export interface PathCalculationResult {
5
+ name: string;
6
+ path: string;
7
+ }
4
8
  export declare function getProjectRootPath(tree: Tree): Promise<string>;
5
9
  export declare function getScriptsRootPath(tree: Tree): Promise<string>;
6
10
  export declare function getProjectMetadata(tree: Tree): Promise<ProjectMetadata>;
@@ -8,3 +12,5 @@ export declare function getPackageJsonPath(tree: Tree): Promise<string>;
8
12
  export declare function getPackageJson(tree: Tree, packageJsonPath?: string): Promise<PackageJson>;
9
13
  export declare function getAngularJsonPath(tree: Tree): Promise<string>;
10
14
  export declare function getAngularJson(tree: Tree, angularJsonPath?: string): Promise<any>;
15
+ export declare function calculateComponentPath(tree: Tree, name: string, projectName: string, path?: string, workingDirectory?: string): Promise<PathCalculationResult>;
16
+ export declare function getWorkingDirectory(workspaceRoot: string, cwd?: string): string | undefined;
@@ -16,8 +16,13 @@ exports.getPackageJsonPath = getPackageJsonPath;
16
16
  exports.getPackageJson = getPackageJson;
17
17
  exports.getAngularJsonPath = getAngularJsonPath;
18
18
  exports.getAngularJson = getAngularJson;
19
+ exports.calculateComponentPath = calculateComponentPath;
20
+ exports.getWorkingDirectory = getWorkingDirectory;
19
21
  const utils_1 = require("./utils");
20
22
  const project_metadata_1 = require("./project-metadata");
23
+ const core_1 = require("@angular-devkit/core");
24
+ const workspace_1 = require("@schematics/angular/utility/workspace");
25
+ const parse_name_1 = require("@schematics/angular/utility/parse-name");
21
26
  function getProjectRootPath(tree) {
22
27
  return __awaiter(this, void 0, void 0, function* () {
23
28
  return (yield getProjectMetadata(tree)).projectRoot;
@@ -72,4 +77,24 @@ function getAngularJson(tree, angularJsonPath) {
72
77
  return JSON.parse(buffer.toString('utf-8'));
73
78
  });
74
79
  }
80
+ function calculateComponentPath(tree, name, projectName, path, workingDirectory) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const workspace = yield (0, workspace_1.getWorkspace)(tree);
83
+ const project = workspace.projects.get(projectName);
84
+ if (!project) {
85
+ throw new Error(`Project "${projectName}" does not exist.`);
86
+ }
87
+ const basePath = path || workingDirectory || (0, workspace_1.buildDefaultPath)(project);
88
+ const parsed = (0, parse_name_1.parseName)(basePath, name);
89
+ return {
90
+ name: core_1.strings.dasherize(parsed.name),
91
+ path: parsed.path
92
+ };
93
+ });
94
+ }
95
+ function getWorkingDirectory(workspaceRoot, cwd) {
96
+ const currentDir = cwd || process.cwd();
97
+ const workingDir = (0, core_1.normalize)((0, core_1.relative)((0, core_1.normalize)(workspaceRoot), (0, core_1.normalize)(currentDir)));
98
+ return (workingDir === '' || workingDir === '.') ? undefined : workingDir;
99
+ }
75
100
  //# sourceMappingURL=project-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-util.js","sourceRoot":"","sources":["../../src/schematics/project-util.ts"],"names":[],"mappings":";;;;;;;;;;;AAKA,gDAEC;AAED,gDAEC;AAED,gDAEC;AAED,gDAGC;AAGD,wCAYC;AAED,gDAGC;AAED,wCAYC;AArDD,mCAAoC;AACpC,yDAAqD;AAGrD,SAAsB,kBAAkB,CAAC,IAAU;;QACjD,OAAO,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IACtD,CAAC;CAAA;AAED,SAAsB,kBAAkB,CAAC,IAAU;;QACjD,OAAO,IAAA,iBAAS,EAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CAAA;AAED,SAAsB,kBAAkB,CAAC,IAAU;;QACjD,OAAO,MAAM,kCAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CAAA;AAED,SAAsB,kBAAkB,CAAC,IAAU;;QACjD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,IAAA,iBAAS,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;CAAA;AAED,mDAAmD;AACnD,SAAsB,cAAc,CAAC,IAAU,EAAE,eAAwB;;QACvE,eAAe,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;CAAA;AAED,SAAsB,kBAAkB,CAAC,IAAU;;QACjD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,IAAA,iBAAS,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;CAAA;AAED,SAAsB,cAAc,CAAC,IAAU,EAAE,eAAwB;;QACvE,eAAe,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;CAAA"}
1
+ {"version":3,"file":"project-util.js","sourceRoot":"","sources":["../../src/schematics/project-util.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ export declare function copyMainFiles(options: any): Rule;
3
3
  export declare function copyUiFiles(options: any): Rule;
4
4
  export declare function copyExtensionsFiles(options: any): Rule;
5
5
  export declare function copySharedFiles(options: any): Rule;
6
+ export declare function copyAppRequirementsFile(): Rule;