@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.
- package/README.md +25 -6
- package/cli/commands/generate/widget.d.ts +6 -0
- package/cli/commands/generate/widget.js +46 -0
- package/cli/commands/generate/widget.js.map +1 -0
- package/cli/options/options-generate-widget.json +19 -0
- package/cli/utils.d.ts +6 -0
- package/cli/utils.js +24 -0
- package/cli/utils.js.map +1 -1
- package/package.json +2 -1
- package/schematics/app-manifest.d.ts +4 -1
- package/schematics/app-manifest.js +3 -2
- package/schematics/app-manifest.js.map +1 -1
- package/schematics/commands/angular-json.d.ts +8 -2
- package/schematics/commands/angular-json.js +36 -13
- package/schematics/commands/angular-json.js.map +1 -1
- package/schematics/commands/app-requirements-ts.d.ts +11 -0
- package/schematics/commands/app-requirements-ts.js +59 -0
- package/schematics/commands/app-requirements-ts.js.map +1 -0
- package/schematics/commands/typescript-file.d.ts +25 -0
- package/schematics/commands/typescript-file.js +95 -14
- package/schematics/commands/typescript-file.js.map +1 -1
- package/schematics/factories/add-app/index.d.ts +1 -1
- package/schematics/factories/add-app/index.js +8 -0
- package/schematics/factories/add-app/index.js.map +1 -1
- package/schematics/factories/collection.json +5 -0
- package/schematics/factories/generate-app/index.js +1 -0
- package/schematics/factories/generate-app/index.js.map +1 -1
- package/schematics/factories/generate-widget/index.d.ts +11 -0
- package/schematics/factories/generate-widget/index.js +67 -0
- package/schematics/factories/generate-widget/index.js.map +1 -0
- package/schematics/factories/generate-widget/schema.json +41 -0
- package/schematics/factories/new/index.js +18 -22
- package/schematics/factories/new/index.js.map +1 -1
- package/schematics/files/_scripts/i18n-collect.js +1 -2
- package/schematics/files/_src/main.ts.template +2 -1
- package/schematics/files/_src/styles.scss +2 -5
- package/schematics/files/_src_app/app.component.ts.template +4 -3
- package/schematics/files/_src_app/app.requirements.ts.template +3 -0
- package/schematics/files/_src_styles/global.scss +4 -0
- package/schematics/project-util.d.ts +6 -0
- package/schematics/project-util.js +25 -0
- package/schematics/project-util.js.map +1 -1
- package/schematics/rules/copy-resources.d.ts +1 -0
- package/schematics/rules/copy-resources.js +16 -0
- package/schematics/rules/copy-resources.js.map +1 -1
- package/schematics/rules/generate-component.d.ts +2 -0
- package/schematics/rules/generate-component.js +18 -0
- package/schematics/rules/generate-component.js.map +1 -0
- package/schematics/rules/update-app-requirements.d.ts +2 -0
- package/schematics/rules/update-app-requirements.js +27 -0
- 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
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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":";;;;;;;;;;;;;;;AAAA,
|
|
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
|
|
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":";;;;;;;;;;;;;;
|
|
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",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/factories/generate-app/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAwBA,kCAiCC;AAzDD,gDAAwB;AACxB,2DAA0F;AAC1F,uCAA0D;AAC1D,mEAA+D;AAE/D,+EAA4E;AAC5E,uDAA6D;AAC7D,uDAA6D;AAC7D,8DAA2F;AAC3F,gEAAiG;AACjG,6DAAyD;AACzD,gEAAoF;AACpF,oEAAuF;AACvF,wEAAsI;AACtI,oEAA8H;AAC9H,+DAA+F;AAS/F,SAAgB,WAAW,CAAC,OAAY;IACtC,OAAO,CAAO,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,eAAe,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAChD,OAAO,CAAC,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC;QACtD,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAEhD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAE1J,MAAM,KAAK,GAAW;YACpB,IAAA,kCAAe,EAAC,OAAO,CAAC;YACxB,IAAA,+CAAsB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;YACjD,IAAA,4BAAW,EAAC,OAAO,CAAC;YACpB,IAAA,gCAAe,EAAC,OAAO,CAAC;YACxB,qBAAqB,CAAC,WAAW,CAAC;YAClC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;YAC1D,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;YAC9D,qBAAqB,CAAC,WAAW,CAAC;YAClC,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;YAC3D,IAAA,gCAAmB,EAAC,WAAW,EAAE,WAAW,CAAC;SAC9C,CAAC;QAEF,IAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GAAG,GAAG,WAAW,aAAa,CAAA;YACxD,KAAK,CAAC,IAAI,CAAC,IAAA,oCAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,SAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAA,CAAC;AACJ,CAAC;AAED,iDAAiD;AACjD,SAAS,iBAAiB,CAAC,aAAqB,EAAE,KAAa,EAAE,KAAa,EAAE,aAAsB,EAAE,SAAkB,EAAE,WAAoB;IAC9I,MAAM,QAAQ,GAAgB;QAC5B,EAAE,EAAE,GAAG,KAAK,EAAE;QACd,KAAK,EAAE,GAAG,oBAAO,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ;
|
|
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
|
|
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
|
-
{
|
|
60
|
-
{
|
|
61
|
-
{
|
|
62
|
-
{
|
|
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
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;
|
|
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
|
-
|
|
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,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
|
-
|
|
14
|
+
#featureService = inject(FeatureService);
|
|
15
|
+
apps: App[] = this.#featureService.getAvailableApps(apps);
|
|
15
16
|
shellConfig: ClientShellConfig = {};
|
|
16
17
|
title = "<%= name %>";
|
|
17
18
|
}
|
|
@@ -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":";;;;;;;;;;;
|
|
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;
|