@rxap/schematic-composer 0.1.0-dev.3 → 0.1.0-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 CHANGED
@@ -3,6 +3,13 @@
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.1.0-dev.4](https://gitlab.com/rxap/packages/compare/@rxap/schematic-composer@0.1.0-dev.3...@rxap/schematic-composer@0.1.0-dev.4) (2023-11-16)
7
+
8
+ ### Bug Fixes
9
+
10
+ - support sub directories ([c38f925](https://gitlab.com/rxap/packages/commit/c38f925b2bab59843d5f62f49c69c1dfb68c24b1))
11
+ - support yaml files ([353b63e](https://gitlab.com/rxap/packages/commit/353b63e58bab01e8080aea30255ddb77133e4a76))
12
+
6
13
  # [0.1.0-dev.3](https://gitlab.com/rxap/packages/compare/@rxap/schematic-composer@0.1.0-dev.2...@rxap/schematic-composer@0.1.0-dev.3) (2023-10-11)
7
14
 
8
15
  **Note:** Version bump only for package @rxap/schematic-composer
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
- "version": "0.1.0-dev.3",
2
+ "version": "0.1.0-dev.4",
3
3
  "name": "@rxap/schematic-composer",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "dependencies": {
6
- "ignore": "^5.2.4",
6
+ "ignore": "5.2.4",
7
7
  "process": "0.11.10",
8
- "semver": "^7.3.5",
8
+ "semver": "7.5.3",
9
9
  "ts-morph": "18.0.0",
10
- "tslib": "2.6.2"
10
+ "tslib": "2.6.2",
11
+ "yaml": "2.3.1"
11
12
  },
12
13
  "peerDependencies": {
13
14
  "@angular-devkit/schematics": "^16.1.4",
@@ -17,8 +18,9 @@
17
18
  "tslib": "2.6.2",
18
19
  "@rxap/node-utilities": "1.1.0-dev.15",
19
20
  "@rxap/schematic-angular": "16.1.0-dev.25",
20
- "@rxap/workspace-ts-morph": "0.1.0-dev.11",
21
- "@rxap/workspace-utilities": "0.1.0-dev.23"
21
+ "@rxap/ts-morph": "0.1.0-dev.18",
22
+ "@rxap/workspace-ts-morph": "0.1.0-dev.12",
23
+ "@rxap/workspace-utilities": "0.1.0-dev.26"
22
24
  },
23
25
  "author": {
24
26
  "name": "Merzough Münker",
@@ -67,7 +69,7 @@
67
69
  },
68
70
  "schematics": "./collection.json",
69
71
  "type": "commonjs",
70
- "gitHead": "23b1e51dac262c69e7a4c016b7679e907337efcc",
72
+ "gitHead": "29029a2024d40b42c4111e61067f212aecb3cf05",
71
73
  "main": "./src/index.js",
72
74
  "types": "./src/index.d.ts"
73
75
  }
@@ -5,6 +5,7 @@ const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
5
5
  const schematics_utilities_1 = require("@rxap/schematics-utilities");
6
6
  const utilities_1 = require("@rxap/utilities");
7
7
  const path_1 = require("path");
8
+ const yaml_1 = require("yaml");
8
9
  function detectedFeature(path) {
9
10
  const fragments = path.split('/').reverse();
10
11
  let last = fragments.pop();
@@ -16,17 +17,47 @@ function detectedFeature(path) {
16
17
  }
17
18
  return undefined;
18
19
  }
19
- function executeSchematicCommandFile(host, schematicCommandFilePath, globalOptions) {
20
- var _a, _b;
21
- const schematicCommandFile = (_a = host.read(schematicCommandFilePath)) === null || _a === void 0 ? void 0 : _a.toString('utf-8');
20
+ function parseSchematicCommandFile(host, filePath) {
21
+ var _a;
22
+ const schematicCommandFile = (_a = host.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString('utf-8');
22
23
  if (!schematicCommandFile) {
23
- throw new schematics_1.SchematicsException(`The schematic command file '${schematicCommandFilePath}' does not exists!`);
24
+ throw new schematics_1.SchematicsException(`The schematic command file '${filePath}' does not exists!`);
24
25
  }
25
- const schematicCommandList = JSON.parse(schematicCommandFile);
26
+ let parsed;
27
+ switch (filePath.split('.').pop()) {
28
+ case 'json':
29
+ parsed = JSON.parse(schematicCommandFile);
30
+ break;
31
+ case 'yaml':
32
+ parsed = (0, yaml_1.parse)(schematicCommandFile);
33
+ break;
34
+ default:
35
+ throw new schematics_1.SchematicsException(`The schematic command file '${filePath}' has an unsupported file extension!`);
36
+ }
37
+ return (0, utilities_1.coerceArray)(parsed);
38
+ }
39
+ function executeSchematicCommandFile(host, schematicCommandFilePath, globalOptions, projectSourceRoot) {
40
+ var _a;
41
+ const schematicCommandList = parseSchematicCommandFile(host, schematicCommandFilePath);
26
42
  const ruleList = [];
27
43
  for (const command of schematicCommandList) {
28
44
  const options = Object.assign(Object.assign({}, globalOptions), command.options);
29
- (_b = options.feature) !== null && _b !== void 0 ? _b : (options.feature = detectedFeature(schematicCommandFilePath));
45
+ (_a = options.feature) !== null && _a !== void 0 ? _a : (options.feature = detectedFeature(schematicCommandFilePath));
46
+ const directoryParts = (0, path_1.relative)(projectSourceRoot, (0, path_1.dirname)(schematicCommandFilePath).replace(/^\//, '')).split('/');
47
+ if (options.feature) {
48
+ if (directoryParts[0] === 'feature') {
49
+ directoryParts.shift();
50
+ }
51
+ if (directoryParts[0] === options.feature) {
52
+ directoryParts.shift();
53
+ }
54
+ }
55
+ if (directoryParts.length) {
56
+ directoryParts.pop(); // remove schematics directory
57
+ }
58
+ if (directoryParts.length) {
59
+ options.directory = directoryParts.join('/');
60
+ }
30
61
  ruleList.push((0, schematics_1.chain)([
31
62
  () => console.log(`Execute schematic '${command.package}:${command.name}'`),
32
63
  () => console.log('Options:', JSON.stringify(options)),
@@ -51,25 +82,34 @@ function getSchematicCommandList(host, sourceRoot) {
51
82
  if (entry === null || entry === void 0 ? void 0 : entry.path.endsWith('schematic.json')) {
52
83
  schematicCommandList.push(path);
53
84
  }
85
+ if (entry === null || entry === void 0 ? void 0 : entry.path.endsWith('schematic.yaml')) {
86
+ schematicCommandList.push(path);
87
+ }
88
+ if (entry === null || entry === void 0 ? void 0 : entry.path.endsWith('schematics.json')) {
89
+ schematicCommandList.push(path);
90
+ }
91
+ if (entry === null || entry === void 0 ? void 0 : entry.path.endsWith('schematics.yaml')) {
92
+ schematicCommandList.push(path);
93
+ }
54
94
  });
55
95
  return schematicCommandList;
56
96
  }
57
- function getSchematicCommandRuleList(host, schematicCommandList, globalOptions) {
97
+ function getSchematicCommandRuleList(host, schematicCommandList, globalOptions, projectSourceRoot) {
58
98
  const ruleList = [];
59
99
  for (const schematicCommandFilePath of schematicCommandList) {
60
100
  ruleList.push((0, schematics_1.chain)([
61
101
  () => console.log(`Execute schematic command file '${schematicCommandFilePath}'`),
62
- executeSchematicCommandFile(host, schematicCommandFilePath, globalOptions),
102
+ executeSchematicCommandFile(host, schematicCommandFilePath, globalOptions, projectSourceRoot),
63
103
  ]));
64
104
  }
65
105
  return (0, schematics_1.chain)(ruleList);
66
106
  }
67
- function executeSchematicCommand(host, sourceRoot, globalOptions, filter) {
107
+ function executeSchematicCommand(host, sourceRoot, globalOptions, filter, projectSourceRoot) {
68
108
  let schematicCommandList = getSchematicCommandList(host, sourceRoot);
69
109
  if (filter) {
70
110
  schematicCommandList = schematicCommandList.filter(path => (0, path_1.dirname)(path).split('/').pop() === filter);
71
111
  }
72
- return getSchematicCommandRuleList(host, schematicCommandList, globalOptions);
112
+ return getSchematicCommandRuleList(host, schematicCommandList, globalOptions, projectSourceRoot);
73
113
  }
74
114
  function forFeature(host, projectName, featureName, globalOptions, filter) {
75
115
  const projectSourceRoot = (0, schematics_utilities_1.GetProjectSourceRoot)(host, projectName);
@@ -81,12 +121,12 @@ function forFeature(host, projectName, featureName, globalOptions, filter) {
81
121
  })) {
82
122
  throw new schematics_1.SchematicsException(`The feature '${featureName}' does not exists in project '${projectName}'`);
83
123
  }
84
- return executeSchematicCommand(host, featureSourceRoot, globalOptions, filter);
124
+ return executeSchematicCommand(host, featureSourceRoot, globalOptions, filter, projectSourceRoot);
85
125
  }
86
126
  function forProject(host, projectName, globalOptions, filter) {
87
127
  const projectSourceRoot = (0, schematics_utilities_1.GetProjectSourceRoot)(host, projectName);
88
128
  console.log('Use project source root:', projectSourceRoot);
89
- return executeSchematicCommand(host, projectSourceRoot, globalOptions, filter);
129
+ return executeSchematicCommand(host, projectSourceRoot, globalOptions, filter, projectSourceRoot);
90
130
  }
91
131
  function NormalizeComposeOptions(options) {
92
132
  var _a, _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/composer/src/schematics/compose/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/composer/src/schematics/compose/index.ts"],"names":[],"mappings":"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"}