@rxap/schematic-composer 0.0.2-dev.2 → 0.0.2-dev.4
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/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/package.json +16 -15
- package/src/index.js +2 -1
- package/src/schematics/compose/index.js +31 -29
- package/src/schematics/compose/index.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.0.2-dev.4](https://gitlab.com/rxap/packages/compare/@rxap/schematic-composer@0.0.2-dev.3...@rxap/schematic-composer@0.0.2-dev.4) (2023-08-31)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- ensure the project name is not included in the project tag list ([b131ac3](https://gitlab.com/rxap/packages/commit/b131ac3bd92b3b8799d62f15bbd30a1997d7c753))
|
|
11
|
+
|
|
12
|
+
## [0.0.2-dev.3](https://gitlab.com/rxap/packages/compare/@rxap/schematic-composer@0.0.2-dev.2...@rxap/schematic-composer@0.0.2-dev.3) (2023-08-17)
|
|
13
|
+
|
|
14
|
+
### Reverts
|
|
15
|
+
|
|
16
|
+
- change from commonjs to es2022 ([747a381](https://gitlab.com/rxap/packages/commit/747a381a090f0a276cf363da61bb19ed0c9cb5b7))
|
|
17
|
+
|
|
6
18
|
## [0.0.2-dev.2](https://gitlab.com/rxap/packages/compare/@rxap/schematic-composer@0.0.2-dev.1...@rxap/schematic-composer@0.0.2-dev.2) (2023-08-16)
|
|
7
19
|
|
|
8
20
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -17,5 +17,5 @@ yarn add @rxap/schematic-composer
|
|
|
17
17
|
```
|
|
18
18
|
**Install peer dependencies:**
|
|
19
19
|
```bash
|
|
20
|
-
yarn add @angular-devkit/schematics@^16.1.4 @rxap/schematics-ts-morph@^16.0.0-dev.
|
|
20
|
+
yarn add @angular-devkit/schematics@^16.1.4 @rxap/schematics-ts-morph@^16.0.0-dev.13 @rxap/schematics-utilities@^16.0.0-dev.10 @rxap/utilities@^16.0.0-dev.13
|
|
21
21
|
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rxap/schematic-composer",
|
|
3
|
-
"version": "0.0.2-dev.
|
|
4
|
-
"type": "
|
|
3
|
+
"version": "0.0.2-dev.4",
|
|
4
|
+
"type": "commonjs",
|
|
5
5
|
"schematics": "./collection.json",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"rxap",
|
|
12
12
|
"packages",
|
|
13
13
|
"schematic",
|
|
14
|
-
"composer"
|
|
14
|
+
"composer",
|
|
15
|
+
"schematic-composer"
|
|
15
16
|
],
|
|
16
17
|
"homepage": "https:/gitlab.com/rxap/packages/packages/schematic/composer",
|
|
17
18
|
"bugs": {
|
|
@@ -37,35 +38,35 @@
|
|
|
37
38
|
},
|
|
38
39
|
"peerDependencies": {
|
|
39
40
|
"@angular-devkit/schematics": "^16.1.4",
|
|
40
|
-
"@rxap/schematics-ts-morph": "^16.0.0-dev.
|
|
41
|
-
"@rxap/schematics-utilities": "^16.0.0-dev.
|
|
42
|
-
"@rxap/utilities": "^16.0.0-dev.
|
|
43
|
-
"@rxap/node-utilities": "1.1.0-dev.
|
|
44
|
-
"@rxap/schematic-angular": "16.1.0-dev.
|
|
45
|
-
"@rxap/workspace-ts-morph": "0.1.0-dev.
|
|
46
|
-
"@rxap/workspace-utilities": "0.1.0-dev.
|
|
41
|
+
"@rxap/schematics-ts-morph": "^16.0.0-dev.13",
|
|
42
|
+
"@rxap/schematics-utilities": "^16.0.0-dev.10",
|
|
43
|
+
"@rxap/utilities": "^16.0.0-dev.13",
|
|
44
|
+
"@rxap/node-utilities": "1.1.0-dev.4",
|
|
45
|
+
"@rxap/schematic-angular": "16.1.0-dev.9",
|
|
46
|
+
"@rxap/workspace-ts-morph": "0.1.0-dev.3",
|
|
47
|
+
"@rxap/workspace-utilities": "0.1.0-dev.6"
|
|
47
48
|
},
|
|
48
49
|
"nx-migrations": {
|
|
49
50
|
"packageGroup": [
|
|
50
51
|
{
|
|
51
52
|
"package": "@rxap/schematic-angular",
|
|
52
|
-
"version": "16.1.0-dev.
|
|
53
|
+
"version": "16.1.0-dev.9"
|
|
53
54
|
},
|
|
54
55
|
{
|
|
55
56
|
"package": "@rxap/schematics-ts-morph",
|
|
56
|
-
"version": "16.0.0-dev.
|
|
57
|
+
"version": "16.0.0-dev.13"
|
|
57
58
|
},
|
|
58
59
|
{
|
|
59
60
|
"package": "@rxap/schematics-utilities",
|
|
60
|
-
"version": "16.0.0-dev.
|
|
61
|
+
"version": "16.0.0-dev.10"
|
|
61
62
|
},
|
|
62
63
|
{
|
|
63
64
|
"package": "@rxap/utilities",
|
|
64
|
-
"version": "16.0.0-dev.
|
|
65
|
+
"version": "16.0.0-dev.13"
|
|
65
66
|
}
|
|
66
67
|
]
|
|
67
68
|
},
|
|
68
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "3d49d0a2548a0c403ad55c564108b54ba734a677",
|
|
69
70
|
"main": "./src/index.js",
|
|
70
71
|
"types": "./src/index.d.ts"
|
|
71
72
|
}
|
package/src/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
4
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
+
const utilities_1 = require("@rxap/utilities");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
|
|
6
8
|
function detectedFeature(path) {
|
|
7
9
|
const fragments = path.split('/').reverse();
|
|
8
10
|
let last = fragments.pop();
|
|
@@ -15,40 +17,38 @@ function detectedFeature(path) {
|
|
|
15
17
|
return undefined;
|
|
16
18
|
}
|
|
17
19
|
function executeSchematicCommandFile(host, schematicCommandFilePath, globalOptions) {
|
|
18
|
-
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const schematicCommandFile = (_a = host.read(schematicCommandFilePath)) === null || _a === void 0 ? void 0 : _a.toString('utf-8');
|
|
19
22
|
if (!schematicCommandFile) {
|
|
20
|
-
throw new SchematicsException(`The schematic command file '${schematicCommandFilePath}' does not exists!`);
|
|
23
|
+
throw new schematics_1.SchematicsException(`The schematic command file '${schematicCommandFilePath}' does not exists!`);
|
|
21
24
|
}
|
|
22
25
|
const schematicCommandList = JSON.parse(schematicCommandFile);
|
|
23
26
|
const ruleList = [];
|
|
24
27
|
for (const command of schematicCommandList) {
|
|
25
|
-
const options = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
29
|
-
options.feature ??= detectedFeature(schematicCommandFilePath);
|
|
30
|
-
ruleList.push(chain([
|
|
28
|
+
const options = Object.assign(Object.assign({}, globalOptions), command.options);
|
|
29
|
+
(_b = options.feature) !== null && _b !== void 0 ? _b : (options.feature = detectedFeature(schematicCommandFilePath));
|
|
30
|
+
ruleList.push((0, schematics_1.chain)([
|
|
31
31
|
() => console.log(`Execute schematic '${command.package}:${command.name}'`),
|
|
32
32
|
() => console.log('Options:', JSON.stringify(options)),
|
|
33
33
|
() => {
|
|
34
34
|
try {
|
|
35
|
-
return externalSchematic(command.package, command.name, options);
|
|
35
|
+
return (0, schematics_1.externalSchematic)(command.package, command.name, options);
|
|
36
36
|
}
|
|
37
37
|
catch (e) {
|
|
38
38
|
console.error(`Error while executing schematic '${command.package}:${command.name}'`);
|
|
39
39
|
console.log('Retry with this schematic with the command:');
|
|
40
|
-
console.log(`nx g @rxap/schematic-composer:compose --project ${options.project} --feature ${options.feature} --filter ${dirname(schematicCommandFilePath).split('/').pop()}`);
|
|
40
|
+
console.log(`nx g @rxap/schematic-composer:compose --project ${options.project} --feature ${options.feature} --filter ${(0, path_1.dirname)(schematicCommandFilePath).split('/').pop()}`);
|
|
41
41
|
throw e;
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
]));
|
|
45
45
|
}
|
|
46
|
-
return chain(ruleList);
|
|
46
|
+
return (0, schematics_1.chain)(ruleList);
|
|
47
47
|
}
|
|
48
48
|
function getSchematicCommandList(host, sourceRoot) {
|
|
49
49
|
const schematicCommandList = [];
|
|
50
50
|
host.getDir(sourceRoot).visit((path, entry) => {
|
|
51
|
-
if (entry
|
|
51
|
+
if (entry === null || entry === void 0 ? void 0 : entry.path.endsWith('schematic.json')) {
|
|
52
52
|
schematicCommandList.push(path);
|
|
53
53
|
}
|
|
54
54
|
});
|
|
@@ -57,45 +57,46 @@ function getSchematicCommandList(host, sourceRoot) {
|
|
|
57
57
|
function getSchematicCommandRuleList(host, schematicCommandList, globalOptions) {
|
|
58
58
|
const ruleList = [];
|
|
59
59
|
for (const schematicCommandFilePath of schematicCommandList) {
|
|
60
|
-
ruleList.push(chain([
|
|
60
|
+
ruleList.push((0, schematics_1.chain)([
|
|
61
61
|
() => console.log(`Execute schematic command file '${schematicCommandFilePath}'`),
|
|
62
62
|
executeSchematicCommandFile(host, schematicCommandFilePath, globalOptions),
|
|
63
63
|
]));
|
|
64
64
|
}
|
|
65
|
-
return chain(ruleList);
|
|
65
|
+
return (0, schematics_1.chain)(ruleList);
|
|
66
66
|
}
|
|
67
67
|
function executeSchematicCommand(host, sourceRoot, globalOptions, filter) {
|
|
68
68
|
let schematicCommandList = getSchematicCommandList(host, sourceRoot);
|
|
69
69
|
if (filter) {
|
|
70
|
-
schematicCommandList = schematicCommandList.filter(path => dirname(path).split('/').pop() === filter);
|
|
70
|
+
schematicCommandList = schematicCommandList.filter(path => (0, path_1.dirname)(path).split('/').pop() === filter);
|
|
71
71
|
}
|
|
72
72
|
return getSchematicCommandRuleList(host, schematicCommandList, globalOptions);
|
|
73
73
|
}
|
|
74
74
|
function forFeature(host, projectName, featureName, globalOptions, filter) {
|
|
75
|
-
const projectSourceRoot = GetProjectSourceRoot(host, projectName);
|
|
76
|
-
const featureSourceRoot = join(projectSourceRoot, 'feature', featureName);
|
|
75
|
+
const projectSourceRoot = (0, schematics_utilities_1.GetProjectSourceRoot)(host, projectName);
|
|
76
|
+
const featureSourceRoot = (0, path_1.join)(projectSourceRoot, 'feature', featureName);
|
|
77
77
|
console.log('Use feature source root:', featureSourceRoot);
|
|
78
|
-
if (!HasProjectFeature(host, {
|
|
78
|
+
if (!(0, schematics_ts_morph_1.HasProjectFeature)(host, {
|
|
79
79
|
project: projectName,
|
|
80
80
|
feature: featureName,
|
|
81
81
|
})) {
|
|
82
|
-
throw new SchematicsException(`The feature '${featureName}' does not exists in project '${projectName}'`);
|
|
82
|
+
throw new schematics_1.SchematicsException(`The feature '${featureName}' does not exists in project '${projectName}'`);
|
|
83
83
|
}
|
|
84
84
|
return executeSchematicCommand(host, featureSourceRoot, globalOptions, filter);
|
|
85
85
|
}
|
|
86
86
|
function forProject(host, projectName, globalOptions, filter) {
|
|
87
|
-
const projectSourceRoot = GetProjectSourceRoot(host, projectName);
|
|
87
|
+
const projectSourceRoot = (0, schematics_utilities_1.GetProjectSourceRoot)(host, projectName);
|
|
88
88
|
console.log('Use project source root:', projectSourceRoot);
|
|
89
89
|
return executeSchematicCommand(host, projectSourceRoot, globalOptions, filter);
|
|
90
90
|
}
|
|
91
91
|
function NormalizeComposeOptions(options) {
|
|
92
|
+
var _a;
|
|
92
93
|
return Object.seal({
|
|
93
|
-
project: options.project ? dasherize(options.project) : undefined,
|
|
94
|
-
feature: options.feature ? dasherize(options.feature) : undefined,
|
|
95
|
-
filter: options.filter
|
|
94
|
+
project: options.project ? (0, utilities_1.dasherize)(options.project) : undefined,
|
|
95
|
+
feature: options.feature ? (0, utilities_1.dasherize)(options.feature) : undefined,
|
|
96
|
+
filter: (_a = options.filter) !== null && _a !== void 0 ? _a : undefined,
|
|
96
97
|
});
|
|
97
98
|
}
|
|
98
|
-
|
|
99
|
+
function default_1(options) {
|
|
99
100
|
const normalizedOptions = NormalizeComposeOptions(options);
|
|
100
101
|
const { project, feature, filter, } = normalizedOptions;
|
|
101
102
|
const globalOptions = {
|
|
@@ -114,4 +115,5 @@ export default function (options) {
|
|
|
114
115
|
throw new Error('Not yet implemented - project and feature options are required!');
|
|
115
116
|
};
|
|
116
117
|
}
|
|
118
|
+
exports.default = default_1;
|
|
117
119
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/composer/src/schematics/compose/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/composer/src/schematics/compose/index.ts"],"names":[],"mappings":"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"}
|