@rxap/schematics-open-api 19.0.6-dev.4 → 19.0.7-dev.1

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
@@ -1,3 +1,41 @@
1
+ ## 19.0.7-dev.1 (2026-06-19)
2
+
3
+ ### 🚀 Features
4
+
5
+ - add data source generator
6
+ - change to sync execution and support nest command generators
7
+
8
+ ### 🩹 Fixes
9
+
10
+ - **generators:** read package.json and node_modules from disk, not the virtual Tree
11
+ - **generators:** match package name with .some() in init devDependency coercion
12
+ - use utility CreateProject function to create a ts-morph Project instance
13
+ - peer dependency issue
14
+ - ensure the project name is not included in the project tag list
15
+ - change from commonjs to es2022
16
+ - set inline option to true if not defined
17
+ - change inline option to default
18
+ - support es2022
19
+ - use correct import paths
20
+ - add licence file to publishable packages
21
+ - update package dependency versions
22
+ - restructure and merge mono repos packages, schematics, plugins and nest
23
+
24
+ ### 🔥 Performance
25
+
26
+ - improve project json file search
27
+
28
+ ### 🧱 Updated Dependencies
29
+
30
+ - Updated json-schema-to-typescript to 16.1.4-dev.1
31
+ - Updated workspace-utilities to 19.9.1-dev.1
32
+ - Updated utilities to 16.5.1-dev.1
33
+ - Updated ts-morph to 1.7.0-dev.1
34
+
35
+ ### ❤️ Thank You
36
+
37
+ - Merzough Münker
38
+
1
39
  # Change Log
2
40
 
3
41
  All notable changes to this project will be documented in this file.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "19.0.6-dev.4",
2
+ "version": "19.0.7-dev.1",
3
3
  "name": "@rxap/schematics-open-api",
4
4
  "description": "This package provides schematics for generating code from OpenAPI specifications. It includes utilities for loading OpenAPI configurations, generating components, parameters, request bodies, and responses, as well as generating Angular directives and NestJS commands based on the OpenAPI schema. It simplifies the process of creating data access layers and UI components from API definitions.\n",
5
5
  "license": "GPL-3.0-or-later",
@@ -7,12 +7,12 @@
7
7
  "@angular-devkit/core": "19.2.1",
8
8
  "@angular-devkit/schematics": "19.2.1",
9
9
  "@nx/devkit": "20.5.0",
10
- "@rxap/json-schema-to-typescript": "^16.1.4-dev.0",
10
+ "@rxap/json-schema-to-typescript": "^16.1.4-dev.1",
11
11
  "@rxap/schematics-ts-morph": "^19.2.0-dev.3",
12
12
  "@rxap/schematics-utilities": "^19.1.0-dev.0",
13
- "@rxap/ts-morph": "^1.7.0-dev.0",
14
- "@rxap/utilities": "^16.5.1-dev.0",
15
- "@rxap/workspace-utilities": "^19.9.1-dev.0",
13
+ "@rxap/ts-morph": "^1.7.0-dev.1",
14
+ "@rxap/utilities": "^16.5.1-dev.1",
15
+ "@rxap/workspace-utilities": "^19.9.1-dev.1",
16
16
  "openapi-types": "^10.0.0",
17
17
  "ts-morph": "18.0.0",
18
18
  "tslib": "2.6.2"
@@ -44,7 +44,6 @@
44
44
  },
45
45
  "schematics": "./collection.json",
46
46
  "type": "commonjs",
47
- "gitHead": "dbb0bd2e1d3f41bc16b1a558aa71e6ef54aba7de",
48
47
  "types": "./src/index.d.ts",
49
48
  "main": "./src/index.js"
50
49
  }
@@ -3,16 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initGenerator = initGenerator;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
+ const fs_1 = require("fs");
6
7
  const path_1 = require("path");
7
8
  function initGenerator(tree, options) {
8
9
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
10
  var _a, _b, _c, _d, _e;
10
- const packageJsonFilePath = (0, path_1.relative)(tree.root, (0, path_1.join)(__dirname, '..', '..', '..', 'package.json'));
11
- if (!tree.exists(packageJsonFilePath)) {
11
+ // The package's own package.json lives on disk next to the compiled generator
12
+ // (inside node_modules when installed), which the virtual Tree does not track.
13
+ // Read it directly from the physical filesystem.
14
+ const packageJsonFilePath = (0, path_1.join)(__dirname, '..', '..', '..', 'package.json');
15
+ if (!(0, fs_1.existsSync)(packageJsonFilePath)) {
12
16
  console.error('package.json not found in: ' + packageJsonFilePath);
13
17
  return;
14
18
  }
15
- const { peerDependencies, name: packageName } = JSON.parse(tree.read(packageJsonFilePath, 'utf-8'));
19
+ const { peerDependencies, name: packageName } = JSON.parse((0, fs_1.readFileSync)(packageJsonFilePath, 'utf-8'));
16
20
  console.log(`Coerce peer dependencies for package: ${packageName}`);
17
21
  if (!peerDependencies || !Object.keys(peerDependencies).length) {
18
22
  console.log('No peer dependencies found');
@@ -30,11 +34,12 @@ function initGenerator(tree, options) {
30
34
  isDevDependency = false;
31
35
  tree.write('package.json', JSON.stringify(rootPackageJson, null, 2));
32
36
  }
33
- if (!isDevDependency && [
34
- /^@rxap\/plugin/,
35
- /^@rxap\/workspace/,
36
- /@rxap\/schematic/,
37
- ]) {
37
+ if (!isDevDependency &&
38
+ [
39
+ /^@rxap\/plugin/,
40
+ /^@rxap\/workspace/,
41
+ /@rxap\/schematic/,
42
+ ].some((rx) => rx.test(packageName))) {
38
43
  (_c = rootPackageJson.devDependencies) !== null && _c !== void 0 ? _c : (rootPackageJson.devDependencies = {});
39
44
  rootPackageJson.devDependencies[packageName] =
40
45
  rootPackageJson.dependencies[packageName];
@@ -63,35 +68,39 @@ function initGenerator(tree, options) {
63
68
  (0, devkit_1.installPackagesTask)(tree);
64
69
  for (const peer of Object.keys(missingPeerDependencies)) {
65
70
  console.log(`Peer dependency ${peer} added to package.json`);
66
- const peerPackageJsonFilePath = (0, path_1.join)('node_modules', ...peer.split('/'), 'package.json');
67
- if (!tree.exists(peerPackageJsonFilePath)) {
71
+ // node_modules is physical and excluded from the virtual Tree, so resolve
72
+ // peer files from disk relative to the workspace root.
73
+ const peerPackageDir = (0, path_1.join)(tree.root, 'node_modules', ...peer.split('/'));
74
+ const peerPackageJsonFilePath = (0, path_1.join)(peerPackageDir, 'package.json');
75
+ if (!(0, fs_1.existsSync)(peerPackageJsonFilePath)) {
68
76
  console.log(`Peer dependency ${peer} has no package.json`);
69
77
  continue;
70
78
  }
71
- const { generators, schematics } = JSON.parse(tree.read(peerPackageJsonFilePath, 'utf-8'));
79
+ const { generators, schematics } = JSON.parse((0, fs_1.readFileSync)(peerPackageJsonFilePath, 'utf-8'));
72
80
  if (!generators && !schematics) {
73
81
  console.log(`Peer dependency ${peer} has no generators or schematics`);
74
82
  continue;
75
83
  }
76
84
  const configFile = generators || schematics;
77
- if (!tree.exists((0, path_1.join)('node_modules', ...peer.split('/'), configFile))) {
85
+ const configFilePath = (0, path_1.join)(peerPackageDir, configFile);
86
+ if (!(0, fs_1.existsSync)(configFilePath)) {
78
87
  console.log(`Peer dependency ${peer} has no generators or schematics file`);
79
88
  continue;
80
89
  }
81
- const config = JSON.parse(tree.read((0, path_1.join)('node_modules', ...peer.split('/'), configFile), 'utf-8'));
90
+ const config = JSON.parse((0, fs_1.readFileSync)(configFilePath, 'utf-8'));
82
91
  if (!((_d = config.generators) === null || _d === void 0 ? void 0 : _d.init)) {
83
92
  console.log(`Peer dependency ${peer} has no init generator`);
84
93
  continue;
85
94
  }
86
95
  const initGeneratorFilePath = config.generators.init.factory;
87
- const fullInitGeneratorFilePath = (0, path_1.join)('node_modules', ...peer.split('/'), initGeneratorFilePath) + '.js';
88
- if (!tree.exists(fullInitGeneratorFilePath)) {
96
+ const fullInitGeneratorFilePath = (0, path_1.join)(peerPackageDir, initGeneratorFilePath) + '.js';
97
+ if (!(0, fs_1.existsSync)(fullInitGeneratorFilePath)) {
89
98
  console.log(`Peer dependency ${peer} has no init generator file: ` +
90
99
  fullInitGeneratorFilePath);
91
100
  continue;
92
101
  }
93
102
  // eslint-disable-next-line @typescript-eslint/no-var-requires
94
- const initGenerator = (_e = require((0, path_1.join)('node_modules', ...peer.split('/'), initGeneratorFilePath))) === null || _e === void 0 ? void 0 : _e.default;
103
+ const initGenerator = (_e = require((0, path_1.join)(peerPackageDir, initGeneratorFilePath))) === null || _e === void 0 ? void 0 : _e.default;
95
104
  if (typeof initGenerator !== 'function') {
96
105
  console.log(`Peer dependency ${peer} has no init generator function`);
97
106
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/generators/init/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/open-api/src/generators/init/generator.ts"],"names":[],"mappings":";;AAUA,sCA8HC;;AAxID,uCAKoB;AACpB,2BAA8C;AAC9C,+BAA4B;AAG5B,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;;QAC1E,8EAA8E;QAC9E,+EAA+E;QAC/E,iDAAiD;QACjD,MAAM,mBAAmB,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAA,eAAU,EAAC,mBAAmB,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,mBAAmB,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CACxD,IAAA,iBAAY,EAAC,mBAAmB,EAAE,OAAO,CAAC,CAC3C,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9E,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAE,CAAC,CAAC;QAExE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAA,MAAA,eAAe,CAAC,eAAe,0CAAG,WAAW,CAAC,CAAA,CAAC;QAEvE,IACE,eAAe;YACf,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAClE,CAAC;YACD,MAAA,eAAe,CAAC,YAAY,oCAA5B,eAAe,CAAC,YAAY,GAAK,EAAE,EAAC;YACpC,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC;gBACvC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC/C,OAAO,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACpD,eAAe,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IACE,CAAC,eAAe;YAChB;gBACE,gBAAgB;gBAChB,mBAAmB;gBACnB,kBAAkB;aACnB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACpC,CAAC;YACD,MAAA,eAAe,CAAC,eAAe,oCAA/B,eAAe,CAAC,eAAe,GAAK,EAAE,EAAC;YACvC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC;gBAC1C,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC5C,OAAO,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACjD,eAAe,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;aAC7D,MAAM,CACL,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;;YACR,OAAA,CAAC,CAAA,MAAA,eAAe,CAAC,YAAY,0CAAG,GAAG,CAAC,CAAA;gBACpC,CAAC,CAAA,MAAA,eAAe,CAAC,eAAe,0CAAG,GAAG,CAAC,CAAA,CAAA;SAAA,CAC1C;aACA,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,iCAAM,GAAG,KAAE,CAAC,GAAG,CAAC,EAAE,OAAO,IAAG,EAAE,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,IAAA,qCAA4B,EAAC,IAAI,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAA,qCAA4B,EAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,wBAAwB,CAAC,CAAC;YAC7D,0EAA0E;YAC1E,uDAAuD;YACvD,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3E,MAAM,uBAAuB,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YACrE,IAAI,CAAC,IAAA,eAAU,EAAC,uBAAuB,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,sBAAsB,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAC3C,IAAA,iBAAY,EAAC,uBAAuB,EAAE,OAAO,CAAC,CAC/C,CAAC;YACF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,kCAAkC,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC;YAC5C,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CACT,mBAAmB,IAAI,uCAAuC,CAC/D,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,IAAI,CAAA,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,wBAAwB,CAAC,CAAC;gBAC7D,SAAS;YACX,CAAC;YACD,MAAM,qBAAqB,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7D,MAAM,yBAAyB,GAC7B,IAAA,WAAI,EAAC,cAAc,EAAE,qBAAqB,CAAC,GAAG,KAAK,CAAC;YACtD,IAAI,CAAC,IAAA,eAAU,EAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CACT,mBAAmB,IAAI,+BAA+B;oBACpD,yBAAyB,CAC5B,CAAC;gBACF,SAAS;YACX,CAAC;YACD,8DAA8D;YAC9D,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,IAAA,WAAI,EAChC,cAAc,EACd,qBAAqB,CACtB,CAAC,0CAAE,OAAO,CAAC;YACZ,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,iCAAiC,CAAC,CAAC;gBACtE,SAAS;YACX,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CAAA;AAED,kBAAe,aAAa,CAAC"}