@o3r/schematics 8.4.0-alpha.2 → 8.4.0-alpha.20

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/schematics",
3
- "version": "8.4.0-alpha.2",
3
+ "version": "8.4.0-alpha.20",
4
4
  "description": "Schematics module of the Otter framework",
5
5
  "main": "./src/index.js",
6
6
  "keywords": [
@@ -36,7 +36,7 @@
36
36
  "comment-json": "^4.1.0",
37
37
  "globby": "^11.1.0",
38
38
  "minimatch": "^6.1.6",
39
- "semver": "^7.3.2",
39
+ "semver": "^7.5.2",
40
40
  "tslib": "^2.4.1"
41
41
  },
42
42
  "devDependencies": {
@@ -58,9 +58,9 @@
58
58
  "@nrwl/jest": "~15.9.0",
59
59
  "@nrwl/js": "~15.9.0",
60
60
  "@nrwl/linter": "~15.9.0",
61
- "@o3r/build-helpers": "^8.4.0-alpha.2",
62
- "@o3r/dev-tools": "^8.4.0-alpha.2",
63
- "@o3r/eslint-plugin": "^8.4.0-alpha.2",
61
+ "@o3r/build-helpers": "^8.4.0-alpha.20",
62
+ "@o3r/dev-tools": "^8.4.0-alpha.20",
63
+ "@o3r/eslint-plugin": "^8.4.0-alpha.20",
64
64
  "@schematics/angular": "~15.2.0",
65
65
  "@types/jest": "~28.1.2",
66
66
  "@types/node": "^17.0.45",
@@ -92,22 +92,27 @@
92
92
  "contributors": [
93
93
  {
94
94
  "name": "Yannick Adam",
95
+ "url": "https://github.com/yannickadam",
95
96
  "email": "yannickadam@users.noreply.github.com"
96
97
  },
97
98
  {
98
99
  "name": "Kilian Panot",
100
+ "url": "https://github.com/kpanot",
99
101
  "email": "kpanot@users.noreply.github.com"
100
102
  },
101
103
  {
102
104
  "name": "Jeremy Bourgeois",
105
+ "url": "https://github.com/jbourgeois-1A",
103
106
  "email": "jbourgeois-1A@users.noreply.github.com"
104
107
  },
105
108
  {
106
109
  "name": "Pierre Henri Ginoux",
110
+ "url": "https://github.com/pginoux-1A",
107
111
  "email": "pginoux-1A@users.noreply.github.com"
108
112
  },
109
113
  {
110
114
  "name": "Mircea Vasile Rednic",
115
+ "url": "https://github.com/mrednic-1A",
111
116
  "email": "mrednic-1A@users.noreply.github.com"
112
117
  },
113
118
  {
@@ -116,26 +121,32 @@
116
121
  },
117
122
  {
118
123
  "name": "Nicolas Hoffmann",
124
+ "url": "https://github.com/nhoffmann-1A",
119
125
  "email": "nhoffmann-1A@users.noreply.github.com"
120
126
  },
121
127
  {
122
128
  "name": "Victor Scaiceanu",
129
+ "url": "https://github.com/vscaiceanu-1a",
123
130
  "email": "vscaiceanu-1A@users.noreply.github.com"
124
131
  },
125
132
  {
126
133
  "name": "Florian Paul",
134
+ "url": "https://github.com/fpaul-1A",
127
135
  "email": "fpaul-1A@users.noreply.github.com"
128
136
  },
129
137
  {
130
138
  "name": "Corinne Paulve",
139
+ "url": "https://github.com/cpaulve-1A",
131
140
  "email": "cpaulve-1A@users.noreply.github.com"
132
141
  },
133
142
  {
134
143
  "name": "Matthieu Crouzet",
144
+ "url": "https://github.com/matthieu-crouzet",
135
145
  "email": "matthieu-crouzet@users.noreply.github.com"
136
146
  },
137
147
  {
138
148
  "name": "Salome Do",
149
+ "url": "https://github.com/sdo-1A",
139
150
  "email": "sdo-1A@users.noreply.github.com"
140
151
  }
141
152
  ],
@@ -0,0 +1,6 @@
1
+ import type { Rule } from '@angular-devkit/schematics';
2
+ /**
3
+ * Add Otter schematics to an Angular Project
4
+ */
5
+ export declare function ngAdd(): Rule;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AA+B/E;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAsB5B"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ngAdd = void 0;
4
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
5
+ const fs = require("node:fs");
6
+ const path = require("node:path");
7
+ const rxjs_1 = require("rxjs");
8
+ const options_1 = require("@angular-devkit/schematics/tasks/package-manager/options");
9
+ /**
10
+ * Install dev dependency on your application
11
+ *
12
+ * Note: it should not be moved to other packages as it should run before the installation
13
+ * of peer dependencies
14
+ */
15
+ class DevInstall extends tasks_1.NodePackageInstallTask {
16
+ /** @inheritDoc */
17
+ toConfiguration() {
18
+ const installOptions = process.env && process.env.npm_execpath && process.env.npm_execpath.indexOf('yarn') === -1 ? 'npm' : 'yarn';
19
+ return {
20
+ name: options_1.NodePackageName,
21
+ options: {
22
+ command: 'install',
23
+ quiet: this.quiet,
24
+ workingDirectory: this.workingDirectory,
25
+ packageName: `${this.packageName} ${installOptions === 'yarn' ? '--prefer-dev' : '-D'}`,
26
+ packageManager: installOptions
27
+ }
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Add Otter schematics to an Angular Project
33
+ */
34
+ function ngAdd() {
35
+ const schematicsDependencies = ['@angular-devkit/architect', '@angular-devkit/schematics', '@angular-devkit/core', '@schematics/angular', 'comment-json', 'eslint', 'globby'];
36
+ return async (tree, context) => {
37
+ context.logger.info('Running ng add for schematics');
38
+ const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
39
+ const treePackageJson = tree.readJson('./package.json');
40
+ const packageJsonContent = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf-8' }));
41
+ const getDependencyVersion = (dependency) => packageJsonContent?.dependencies?.[dependency] || packageJsonContent?.peerDependencies?.[dependency];
42
+ for (const dependency of schematicsDependencies) {
43
+ const version = getDependencyVersion(dependency);
44
+ context.logger.info(`Installing ${dependency}${version || ''}`);
45
+ treePackageJson.devDependencies = { ...treePackageJson.devDependencies, [dependency]: version };
46
+ context.addTask(new DevInstall({
47
+ hideOutput: false,
48
+ packageName: `${dependency}${version ? '@' + version : ''}`,
49
+ quiet: false
50
+ }));
51
+ await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
52
+ }
53
+ tree.overwrite('./package.json', JSON.stringify(treePackageJson));
54
+ return () => tree;
55
+ };
56
+ }
57
+ exports.ngAdd = ngAdd;
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ import { JsonObject } from '@angular-devkit/core';
2
+ export interface NgAddSchematicsSchema extends JsonObject {
3
+ /** Project name */
4
+ projectName: string | null;
5
+ }
6
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,mBAAmB;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modules.helpers.d.ts","sourceRoot":"","sources":["../../../src/modules/modules.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuH,MAAM,qBAAqB,CAAC;AAG9K,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA6CpD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,0CAA2C,GAAG,+EAGpE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAqBhK;AAGD;;;;;;;;GAQG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,GAAE,MAA6B,EACtC,cAAc,GAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAkC,EAC5E,gBAAgB,UAAQ,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAmB3D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,GAAE,KAAK,GAAG,MAAc,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,UA8B3K"}
1
+ {"version":3,"file":"modules.helpers.d.ts","sourceRoot":"","sources":["../../../src/modules/modules.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuH,MAAM,qBAAqB,CAAC;AAG9K,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA8CpD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,0CAA2C,GAAG,+EAGpE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAqBhK;AAGD;;;;;;;;GAQG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,GAAE,MAA6B,EACtC,cAAc,GAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAkC,EAC5E,gBAAgB,UAAQ,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAmB3D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,GAAE,KAAK,GAAG,MAAc,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,UA8B3K"}
@@ -7,6 +7,7 @@ const semver_1 = require("semver");
7
7
  const node_https_1 = require("node:https");
8
8
  const node_os_1 = require("node:os");
9
9
  const fs = require("node:fs");
10
+ const path = require("node:path");
10
11
  const node_util_1 = require("node:util");
11
12
  const node_child_process_1 = require("node:child_process");
12
13
  const chalk = require("chalk");
@@ -71,7 +72,7 @@ async function getAvailableModules(keyword, scopeWhitelist, onlyNotInstalled = f
71
72
  packages = packages
72
73
  .filter((pck) => {
73
74
  try {
74
- require(pck.name);
75
+ require.resolve(path.posix.join(pck.name, 'package.json'));
75
76
  return false;
76
77
  }
77
78
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"modules.helpers.js","sourceRoot":"","sources":["../../../src/modules/modules.helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.helpers.js","sourceRoot":"","sources":["../../../src/modules/modules.helpers.ts"],"names":[],"mappings":"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"}
@@ -32,4 +32,59 @@ export declare function parseImportsFromFile(sourceFile: ts.SourceFile): {
32
32
  * @param sourcePath
33
33
  */
34
34
  export declare function getExportedSymbolsFromFile(program: ts.Program, sourcePath: string): ts.Symbol[];
35
+ /**
36
+ * Decorator with arguments
37
+ *
38
+ * @example `@Decorator({ propName: 'value' })`
39
+ */
40
+ export type DecoratorWithArg = ts.Decorator & {
41
+ expression: ts.CallExpression & {
42
+ expression: ts.Identifier;
43
+ };
44
+ };
45
+ /**
46
+ * Returns true if it is a decorator with arguments
47
+ *
48
+ * @param node decorator node
49
+ */
50
+ export declare const isDecoratorWithArg: (node: ts.Node) => node is DecoratorWithArg;
51
+ /**
52
+ * Returns the value of {@link argName} in the first argument
53
+ *
54
+ * @param decorator
55
+ * @param argName
56
+ */
57
+ export declare const getPropertyFromDecoratorFirstArgument: (decorator: DecoratorWithArg, argName: string) => ts.Expression | undefined;
58
+ /**
59
+ * Returns `ExpressionWithTypeArguments[]` of a class that implements {@link str}
60
+ *
61
+ * @param str
62
+ */
63
+ export declare const generateImplementsExpressionWithTypeArguments: (str: string) => ts.ExpressionWithTypeArguments[];
64
+ /**
65
+ * Returns `ClassElement[]` of a class that have {@link str} has body
66
+ *
67
+ * @param str
68
+ */
69
+ export declare const generateClassElementsFromString: (str: string) => ts.ClassElement[];
70
+ /**
71
+ * Returns `Statement[]` of a function that have {@link str} has body
72
+ *
73
+ * @param str
74
+ */
75
+ export declare const generateBlockStatementsFromString: (str: string) => ts.Statement[];
76
+ /**
77
+ * Returns `ParameterDeclaration[]` of a function that have {@link str} has parameters
78
+ *
79
+ * @param str
80
+ */
81
+ export declare const generateParametersDeclarationFromString: (str: string) => ts.ParameterDeclaration[];
82
+ /**
83
+ * Method to sort ClassElement based on the kind of it
84
+ * order will be PropertyDeclaration, Constructor then MethodDeclaration
85
+ *
86
+ * @param classElement1
87
+ * @param classElement2
88
+ */
89
+ export declare const sortClassElement: (classElement1: ts.ClassElement, classElement2: ts.ClassElement) => 1 | -1;
35
90
  //# sourceMappingURL=ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gFAAgF,CAAC;AAGrG;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAa/I;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAc9I;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU;;;;IAc7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,eAajF"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gFAAgF,CAAC;AAGrG;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAa/I;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAc9I;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU;;;;IAc7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,eAajF;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,GAAG;IAC5C,UAAU,EAAE,EAAE,CAAC,cAAc,GAAG;QAC9B,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,OAAO,6BAGA,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,qCAAqC,cAAe,gBAAgB,WAAW,MAAM,8BAUjG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,QAAS,MAAM,qCAQxE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,QAAS,MAAM,sBAW1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,QAAS,MAAM,mBAU5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,QAAS,MAAM,8BAQlE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,GAAG,YAAY,iBAAiB,GAAG,YAAY,WAyB9F,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getExportedSymbolsFromFile = exports.parseImportsFromFile = exports.findLastNodeOfKind = exports.findFirstNodeOfKind = void 0;
3
+ exports.sortClassElement = exports.generateParametersDeclarationFromString = exports.generateBlockStatementsFromString = exports.generateClassElementsFromString = exports.generateImplementsExpressionWithTypeArguments = exports.getPropertyFromDecoratorFirstArgument = exports.isDecoratorWithArg = exports.getExportedSymbolsFromFile = exports.parseImportsFromFile = exports.findLastNodeOfKind = exports.findFirstNodeOfKind = void 0;
4
4
  const ts = require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript");
5
5
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
6
6
  /**
@@ -87,4 +87,106 @@ function getExportedSymbolsFromFile(program, sourcePath) {
87
87
  return typeChecker.getExportsOfModule(symbol);
88
88
  }
89
89
  exports.getExportedSymbolsFromFile = getExportedSymbolsFromFile;
90
+ /**
91
+ * Returns true if it is a decorator with arguments
92
+ *
93
+ * @param node decorator node
94
+ */
95
+ const isDecoratorWithArg = (node) => ts.isDecorator(node)
96
+ && ts.isCallExpression(node.expression)
97
+ && ts.isIdentifier(node.expression.expression);
98
+ exports.isDecoratorWithArg = isDecoratorWithArg;
99
+ /**
100
+ * Returns the value of {@link argName} in the first argument
101
+ *
102
+ * @param decorator
103
+ * @param argName
104
+ */
105
+ const getPropertyFromDecoratorFirstArgument = (decorator, argName) => {
106
+ const ngClassDecoratorArgument = decorator.expression.arguments[0];
107
+ if (ts.isObjectLiteralExpression(ngClassDecoratorArgument)) {
108
+ return ngClassDecoratorArgument.properties.find((prop) => ts.isPropertyAssignment(prop)
109
+ && ts.isIdentifier(prop.name)
110
+ && prop.name.escapedText.toString() === argName)?.initializer;
111
+ }
112
+ };
113
+ exports.getPropertyFromDecoratorFirstArgument = getPropertyFromDecoratorFirstArgument;
114
+ /**
115
+ * Returns `ExpressionWithTypeArguments[]` of a class that implements {@link str}
116
+ *
117
+ * @param str
118
+ */
119
+ const generateImplementsExpressionWithTypeArguments = (str) => {
120
+ const sourceFile = ts.createSourceFile('index.ts', `class A implements ${str} {}`, ts.ScriptTarget.ES2020, true);
121
+ return [...sourceFile.statements[0].heritageClauses[0].types];
122
+ };
123
+ exports.generateImplementsExpressionWithTypeArguments = generateImplementsExpressionWithTypeArguments;
124
+ /**
125
+ * Returns `ClassElement[]` of a class that have {@link str} has body
126
+ *
127
+ * @param str
128
+ */
129
+ const generateClassElementsFromString = (str) => {
130
+ const sourceFile = ts.createSourceFile('index.ts', `class A {
131
+ ${str}
132
+ }`, ts.ScriptTarget.ES2020, true);
133
+ return [...sourceFile.statements[0].members];
134
+ };
135
+ exports.generateClassElementsFromString = generateClassElementsFromString;
136
+ /**
137
+ * Returns `Statement[]` of a function that have {@link str} has body
138
+ *
139
+ * @param str
140
+ */
141
+ const generateBlockStatementsFromString = (str) => {
142
+ const sourceFile = ts.createSourceFile('index.ts', `function func() {
143
+ ${str}
144
+ }`, ts.ScriptTarget.ES2020, true);
145
+ return [...sourceFile.statements[0].body.statements];
146
+ };
147
+ exports.generateBlockStatementsFromString = generateBlockStatementsFromString;
148
+ /**
149
+ * Returns `ParameterDeclaration[]` of a function that have {@link str} has parameters
150
+ *
151
+ * @param str
152
+ */
153
+ const generateParametersDeclarationFromString = (str) => {
154
+ const sourceFile = ts.createSourceFile('index.ts', `function func(${str}) {}`, ts.ScriptTarget.ES2020, true);
155
+ return [...sourceFile.statements[0].parameters];
156
+ };
157
+ exports.generateParametersDeclarationFromString = generateParametersDeclarationFromString;
158
+ /**
159
+ * Method to sort ClassElement based on the kind of it
160
+ * order will be PropertyDeclaration, Constructor then MethodDeclaration
161
+ *
162
+ * @param classElement1
163
+ * @param classElement2
164
+ */
165
+ const sortClassElement = (classElement1, classElement2) => {
166
+ switch (classElement1.kind) {
167
+ case ts.SyntaxKind.PropertyDeclaration: {
168
+ return -1;
169
+ }
170
+ case ts.SyntaxKind.Constructor: {
171
+ switch (classElement2.kind) {
172
+ case ts.SyntaxKind.PropertyDeclaration: {
173
+ return 1;
174
+ }
175
+ case ts.SyntaxKind.MethodDeclaration: {
176
+ return -1;
177
+ }
178
+ default: {
179
+ return -1;
180
+ }
181
+ }
182
+ }
183
+ case ts.SyntaxKind.MethodDeclaration: {
184
+ return 1;
185
+ }
186
+ default: {
187
+ return 1;
188
+ }
189
+ }
190
+ };
191
+ exports.sortClassElement = sortClassElement;
90
192
  //# sourceMappingURL=ast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":";;;AAAA,qGAAqG;AACrG,qEAAkE;AAElE;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAA8B,UAAyB,EAAE,UAAyB,EAAE,IAAc;IACnI,MAAM,WAAW,GAAG,IAAI,IAAI,UAAU,CAAC;IACvC,IAAI,GAAG,GAAa,IAAI,CAAC;IACzB,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;gBACzB,GAAG,GAAG,CAAM,CAAC;aACd;iBAAM;gBACL,GAAG,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;aACtD;SACF;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAbD,kDAaC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAA8B,UAAyB,EAAE,UAAyB,EAAE,IAAc;IAClI,MAAM,WAAW,GAAG,IAAI,IAAI,UAAU,CAAC;IACvC,IAAI,GAAG,GAAa,IAAI,CAAC;IACzB,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;YACzB,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAM,CAAC;SAC7C;aAAM;YACL,MAAM,KAAK,GAAG,kBAAkB,CAAI,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,EAAE;gBACT,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1D;SACF;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAdD,gDAcC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,UAAyB;IAC5D,6FAA6F;IAC7F,OAAO,IAAA,qBAAS,EAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5E,MAAM,GAAG,GAAG,OAA+B,CAAC;QAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEtE,6DAA6D;QAC7D,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,WAAW,IAAI,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7D,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1D,EAAE,CAAC;QAEL,OAAO,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,oDAcC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAmB,EAAE,UAAkB;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,EAAE,CAAC;KACX;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE3D,OAAO,WAAW,CAAC,kBAAkB,CAAC,MAAO,CAAC,CAAC;AACjD,CAAC;AAbD,gEAaC"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ import * as ts from 'typescript';
3
+ import { DecoratorWithArg } from './ast';
4
+ /**
5
+ * Returns true if `node` is the decorator of an Angular component
6
+ *
7
+ * @param node
8
+ */
9
+ export declare const isNgClassDecorator: (node: ts.Node) => node is DecoratorWithArg;
10
+ /**
11
+ * Returns true if `node` is the decorator of an Otter component
12
+ *
13
+ * @param node
14
+ */
15
+ export declare const isO3rClassDecorator: (node: ts.Node) => node is DecoratorWithArg;
16
+ /**
17
+ * Returns true if `classDeclaration` is an Otter component
18
+ *
19
+ * @param classDeclaration
20
+ */
21
+ export declare const isNgClassComponent: (classDeclaration: ts.ClassDeclaration) => boolean;
22
+ /**
23
+ * Returns true if `classDeclaration` is an Otter component
24
+ *
25
+ * @param classDeclaration
26
+ */
27
+ export declare const isO3rClassComponent: (classDeclaration: ts.ClassDeclaration) => boolean;
28
+ /**
29
+ * Returns Otter component information
30
+ *
31
+ * @param tree
32
+ * @param componentPath
33
+ */
34
+ export declare const getO3rComponentInfo: (tree: Tree, componentPath: string) => {
35
+ name: string;
36
+ selector: string;
37
+ };
38
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAA6D,MAAM,OAAO,CAAC;AAEpG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,OAAO,6BAEsB,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,SAAU,OAAO,6BAEwB,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,qBAAsB,GAAG,gBAAgB,YAAwE,CAAC;AAEjJ;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,qBAAsB,GAAG,gBAAgB,YAEA,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SAAU,IAAI,iBAAiB,MAAM;;;CA8CpE,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getO3rComponentInfo = exports.isO3rClassComponent = exports.isNgClassComponent = exports.isO3rClassDecorator = exports.isNgClassDecorator = void 0;
4
+ const ts = require("typescript");
5
+ const ast_1 = require("./ast");
6
+ /**
7
+ * Returns true if `node` is the decorator of an Angular component
8
+ *
9
+ * @param node
10
+ */
11
+ const isNgClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
12
+ && node.expression.expression.escapedText.toString() === 'Component';
13
+ exports.isNgClassDecorator = isNgClassDecorator;
14
+ /**
15
+ * Returns true if `node` is the decorator of an Otter component
16
+ *
17
+ * @param node
18
+ */
19
+ const isO3rClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
20
+ && node.expression.expression.escapedText.toString() === 'O3rComponent';
21
+ exports.isO3rClassDecorator = isO3rClassDecorator;
22
+ /**
23
+ * Returns true if `classDeclaration` is an Otter component
24
+ *
25
+ * @param classDeclaration
26
+ */
27
+ const isNgClassComponent = (classDeclaration) => (ts.getDecorators(classDeclaration) || []).some(exports.isNgClassDecorator);
28
+ exports.isNgClassComponent = isNgClassComponent;
29
+ /**
30
+ * Returns true if `classDeclaration` is an Otter component
31
+ *
32
+ * @param classDeclaration
33
+ */
34
+ const isO3rClassComponent = (classDeclaration) => (0, exports.isNgClassComponent)(classDeclaration)
35
+ && (ts.getDecorators(classDeclaration) || []).some(exports.isO3rClassDecorator);
36
+ exports.isO3rClassComponent = isO3rClassComponent;
37
+ /**
38
+ * Returns Otter component information
39
+ *
40
+ * @param tree
41
+ * @param componentPath
42
+ */
43
+ const getO3rComponentInfo = (tree, componentPath) => {
44
+ const sourceFile = ts.createSourceFile(componentPath, tree.readText(componentPath), ts.ScriptTarget.ES2020, true);
45
+ const ngComponentDeclaration = sourceFile.statements.find((s) => ts.isClassDeclaration(s) && (0, exports.isNgClassComponent)(s));
46
+ if (!ngComponentDeclaration) {
47
+ throw new Error(`No Angular component found in ${componentPath}.`);
48
+ }
49
+ if (!(0, exports.isO3rClassComponent)(ngComponentDeclaration)) {
50
+ throw new Error(`
51
+ No Otter component found in ${componentPath}.
52
+ You can convert your Angular component into an Otter component by running the following command:
53
+ ng g @o3r/core:convert-component --path="${componentPath}".
54
+ `);
55
+ }
56
+ const name = ngComponentDeclaration.name?.escapedText.toString().replace(/Component$/, '');
57
+ if (!name) {
58
+ throw new Error(`The class' name is not specified. Please provide one for the Otter component defined in ${componentPath}.`);
59
+ }
60
+ const selectorExpression = (0, ast_1.getPropertyFromDecoratorFirstArgument)(ts.getDecorators(ngComponentDeclaration)?.find(exports.isNgClassDecorator), 'selector');
61
+ const selector = selectorExpression && ts.isStringLiteral(selectorExpression)
62
+ ? selectorExpression.text
63
+ : selectorExpression?.getText();
64
+ if (!selector) {
65
+ throw new Error(`The component's selector is not specified. Please provide one for the Otter component defined in ${componentPath}.`);
66
+ }
67
+ return {
68
+ name,
69
+ selector
70
+ };
71
+ };
72
+ exports.getO3rComponentInfo = getO3rComponentInfo;
73
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AACjC,+BAAoG;AAEpG;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAA4B,EAAE,CAC5E,IAAA,wBAAkB,EAAC,IAAI,CAAC;OACrB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC;AAF1D,QAAA,kBAAkB,sBAEwC;AAEvE;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAA4B,EAAE,CAC7E,IAAA,wBAAkB,EAAC,IAAI,CAAC;OACrB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,cAAc,CAAC;AAF7D,QAAA,mBAAmB,uBAE0C;AAE1E;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,gBAAqC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,CAAC;AAApI,QAAA,kBAAkB,sBAAkH;AAEjJ;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,gBAAqC,EAAE,EAAE,CAC3E,IAAA,0BAAkB,EAAC,gBAAgB,CAAC;OACjC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AAF7D,QAAA,mBAAmB,uBAE0C;AAE1E;;;;;GAKG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAE,aAAqB,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,aAAa,EACb,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC5B,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;IAEF,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAA,0BAAkB,EAAC,CAAC,CAAC,CAAC,CAAC;IAE9I,IAAI,CAAC,sBAAsB,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,aAAa,GAAG,CAAC,CAAC;KACpE;IAED,IAAI,CAAC,IAAA,2BAAmB,EAAC,sBAAsB,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC;oCACgB,aAAa;;iDAEA,aAAa;KACzD,CAAC,CAAC;KACJ;IAED,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAE3F,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,2FAA2F,aAAa,GAAG,CAAC,CAAC;KAC9H;IAED,MAAM,kBAAkB,GAAG,IAAA,2CAAqC,EAC9D,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,0BAAkB,CAAE,EACnE,UAAU,CACX,CAAC;IAEF,MAAM,QAAQ,GAAG,kBAAkB,IAAI,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;QAC3E,CAAC,CAAC,kBAAkB,CAAC,IAAI;QACzB,CAAC,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAGlC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,oGAAoG,aAAa,GAAG,CAAC,CAAC;KACvI;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,mBAAmB,uBA8C9B"}
@@ -1,4 +1,5 @@
1
1
  export * from './ast';
2
+ export * from './component';
2
3
  export * from './dependencies';
3
4
  export * from './file-info';
4
5
  export * from './generation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./ast"), exports);
5
+ tslib_1.__exportStar(require("./component"), exports);
5
6
  tslib_1.__exportStar(require("./dependencies"), exports);
6
7
  tslib_1.__exportStar(require("./file-info"), exports);
7
8
  tslib_1.__exportStar(require("./generation"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,yDAA+B;AAC/B,sDAA4B;AAC5B,uDAA6B;AAC7B,sDAA4B;AAC5B,oDAA0B;AAC1B,oDAA0B;AAC1B,mDAAyB;AACzB,sDAA4B;AAC5B,qEAA2C;AAC3C,2DAAiC;AACjC,mEAAyC;AACzC,4DAAkC;AAClC,qDAA2B;AAC3B,2DAAiC;AACjC,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,sDAA4B;AAC5B,yDAA+B;AAC/B,sDAA4B;AAC5B,uDAA6B;AAC7B,sDAA4B;AAC5B,oDAA0B;AAC1B,oDAA0B;AAC1B,mDAAyB;AACzB,sDAA4B;AAC5B,qEAA2C;AAC3C,2DAAiC;AACjC,mEAAyC;AACzC,4DAAkC;AAClC,qDAA2B;AAC3B,2DAAiC;AACjC,uDAA6B"}