@ama-sdk/schematics 9.6.13 → 9.6.14

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": "@ama-sdk/schematics",
3
- "version": "9.6.13",
3
+ "version": "9.6.14",
4
4
  "description": "Swagger specification SDK Generator by schematics",
5
5
  "typings": "./src/public_api.d.ts",
6
6
  "scripts": {
@@ -36,7 +36,7 @@
36
36
  }
37
37
  },
38
38
  "peerDependencies": {
39
- "@ama-sdk/core": "^9.6.13",
39
+ "@ama-sdk/core": "^9.6.14",
40
40
  "@angular-devkit/core": "^16.0.5",
41
41
  "@angular-devkit/schematics": "^16.0.5",
42
42
  "@angular-devkit/schematics-cli": "^16.0.5",
@@ -46,24 +46,23 @@
46
46
  "dependencies": {
47
47
  "@angular-devkit/core": "~16.2.0",
48
48
  "@angular-devkit/schematics": "~16.2.0",
49
- "@o3r/dev-tools": "^9.6.13",
49
+ "@o3r/dev-tools": "^9.6.14",
50
50
  "js-yaml": "^4.1.0",
51
51
  "minimatch": "~9.0.3",
52
52
  "rxjs": "^7.8.1",
53
53
  "semver": "^7.5.2",
54
- "sway": "^2.0.6",
55
54
  "tslib": "^2.5.3"
56
55
  },
57
56
  "devDependencies": {
58
- "@ama-sdk/core": "^9.6.13",
57
+ "@ama-sdk/core": "^9.6.14",
59
58
  "@angular-devkit/schematics-cli": "~16.2.0",
60
59
  "@angular-eslint/eslint-plugin": "~16.3.0",
61
60
  "@angular/cli": "~16.2.0",
62
61
  "@nx/eslint-plugin": "~16.10.0",
63
62
  "@nx/jest": "~16.10.0",
64
- "@o3r/build-helpers": "^9.6.13",
65
- "@o3r/eslint-plugin": "^9.6.13",
66
- "@o3r/schematics": "^9.6.13",
63
+ "@o3r/build-helpers": "^9.6.14",
64
+ "@o3r/eslint-plugin": "^9.6.14",
65
+ "@o3r/schematics": "^9.6.14",
67
66
  "@openapitools/openapi-generator-cli": "~2.7.0",
68
67
  "@schematics/angular": "~16.2.0",
69
68
  "@types/jest": "~29.5.2",
@@ -90,6 +89,7 @@
90
89
  "npm-run-all": "^4.1.5",
91
90
  "nx": "~16.10.0",
92
91
  "onchange": "^7.0.2",
92
+ "openapi-types": "^12.0.0",
93
93
  "pid-from-port": "^1.1.3",
94
94
  "semver": "^7.5.2",
95
95
  "ts-jest": "~29.1.1",
@@ -0,0 +1,9 @@
1
+ import type { PathObject } from '@ama-sdk/core';
2
+ import type { OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from 'openapi-types';
3
+ /**
4
+ * Parse a single specification to retrieve the Operation Finder information
5
+ * This function is properly working to a specification that does not include external references in the Paths object
6
+ * @param specification Specification single object to parse
7
+ */
8
+ export declare const generateOperationFinderFromSingleFile: (specification: OpenAPIV2.Document | OpenAPIV3.Document | OpenAPIV3_1.Document) => PathObject[];
9
+ //# sourceMappingURL=path-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-extractor.d.ts","sourceRoot":"","sources":["../../../../../schematics/typescript/core/helpers/path-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvE;;;;GAIG;AAEH,eAAO,MAAM,qCAAqC,kBAAmB,kBAAkB,GAAG,kBAAkB,GAAG,oBAAoB,KAAG,UAAU,EAsB/I,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateOperationFinderFromSingleFile = void 0;
4
+ /**
5
+ * Parse a single specification to retrieve the Operation Finder information
6
+ * This function is properly working to a specification that does not include external references in the Paths object
7
+ * @param specification Specification single object to parse
8
+ */
9
+ // eslint-disable-next-line camelcase
10
+ const generateOperationFinderFromSingleFile = (specification) => {
11
+ if (!specification.paths) {
12
+ return [];
13
+ }
14
+ return Object.entries(specification.paths)
15
+ .filter(([, pathObject]) => !!pathObject)
16
+ .map(([path, pathObjectOrRef]) => {
17
+ // eslint-disable-next-line camelcase
18
+ const pathObject = pathObjectOrRef.$ref
19
+ ? pathObjectOrRef.$ref.replace(/^#\/?/, '').split('/').reduce((acc, ref) => acc[ref], specification)
20
+ : pathObjectOrRef;
21
+ return {
22
+ path,
23
+ regexp: new RegExp(`^${path.replace(/\{[^}]+}/g, '((?:[^/]+?))')}(?:/(?=$))?$`),
24
+ operations: Object.entries(pathObject)
25
+ .map(([method, reqObject]) => ({
26
+ method,
27
+ operationId: reqObject.operationId
28
+ }))
29
+ };
30
+ });
31
+ };
32
+ exports.generateOperationFinderFromSingleFile = generateOperationFinderFromSingleFile;
33
+ //# sourceMappingURL=path-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-extractor.js","sourceRoot":"","sources":["../../../../../schematics/typescript/core/helpers/path-extractor.ts"],"names":[],"mappings":";;;AAIA;;;;GAIG;AACH,qCAAqC;AAC9B,MAAM,qCAAqC,GAAG,CAAC,aAA6E,EAAgB,EAAE;IACnJ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;SACvC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,EAAE;QAC/B,qCAAqC;QACrC,MAAM,UAAU,GAAuH,eAAe,CAAC,IAAI;YACzJ,CAAC,CAAE,eAAe,CAAC,IAAe,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;YACrH,CAAC,CAAC,eAAe,CAAC;QACpB,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC;YAC/E,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,MAAM;gBACN,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC,CAAC,CAAC;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAtBW,QAAA,qCAAqC,yCAsBhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/typescript/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AASpC,OAAO,EAAE,2CAA2C,EAAE,MAAM,UAAU,CAAC;AAgBvE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,2CAA2C,GAAG,IAAI,CA8GlG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/typescript/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,2CAA2C,EAAE,MAAM,UAAU,CAAC;AAkBvE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,2CAA2C,GAAG,IAAI,CAwGlG"}
@@ -5,9 +5,9 @@ const schematics_1 = require("@angular-devkit/schematics");
5
5
  const node_fs_1 = require("node:fs");
6
6
  const path = require("node:path");
7
7
  const semver = require("semver");
8
- const sway = require("sway");
9
8
  const tree_glob_1 = require("../../helpers/tree-glob");
10
9
  const open_api_cli_generator_1 = require("../../code-generator/open-api-cli-generator/open-api-cli.generator");
10
+ const path_extractor_1 = require("./helpers/path-extractor");
11
11
  const getRegexpTemplate = (regexp) => `new RegExp('${regexp.toString().replace(/\/(.*)\//, '$1').replace(/\\\//g, '/')}')`;
12
12
  const getPathObjectTemplate = (pathObj) => {
13
13
  return `{
@@ -25,22 +25,16 @@ function ngGenerateTypescriptSDK(options) {
25
25
  const specPath = path.resolve(process.cwd(), options.specPath);
26
26
  const targetPath = options.directory || '';
27
27
  const globalProperty = options.globalProperty;
28
+ const specContent = (0, node_fs_1.readFileSync)(specPath).toString();
29
+ let jsonSpecContent;
30
+ try {
31
+ jsonSpecContent = JSON.parse(specContent);
32
+ }
33
+ catch (e) {
34
+ }
28
35
  const generateOperationFinder = async () => {
29
- const swayOptions = {
30
- definition: path.resolve(options.specPath)
31
- };
32
- const swayApi = await sway.create(swayOptions);
33
- const extraction = swayApi.getPaths().map((obj) => ({
34
- path: `${obj.path}`,
35
- regexp: obj.regexp,
36
- operations: obj.getOperations().map((op) => {
37
- const operation = {
38
- method: `${op.method}`,
39
- operationId: `${op.operationId}`
40
- };
41
- return operation;
42
- })
43
- }));
36
+ const specification = jsonSpecContent || (await Promise.resolve().then(() => require('js-yaml'))).load(specContent);
37
+ const extraction = (0, path_extractor_1.generateOperationFinderFromSingleFile)(specification);
44
38
  return extraction || [];
45
39
  };
46
40
  /**
@@ -81,7 +75,6 @@ function ngGenerateTypescriptSDK(options) {
81
75
  */
82
76
  const updateSpec = (tree, _context) => {
83
77
  const readmeFile = path.posix.join(targetPath, 'readme.md');
84
- const specContent = (0, node_fs_1.readFileSync)(specPath).toString();
85
78
  if (tree.exists(readmeFile)) {
86
79
  const swaggerVersion = /version: ([0-9]+\.[0-9]+\.[0-9]+)/.exec(specContent);
87
80
  if (swaggerVersion) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/typescript/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/typescript/core/index.ts"],"names":[],"mappings":"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"}