@ama-openapi/core 14.1.0-prerelease.9 → 14.1.0-rc.0

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.
Files changed (39) hide show
  1. package/README.md +1 -1
  2. package/package.json +23 -33
  3. package/schemas/manifest.schema.json +25 -0
  4. package/src/core/manifest/extract-dependency-models.d.mts +9 -1
  5. package/src/core/manifest/extract-dependency-models.d.mts.map +1 -1
  6. package/src/core/manifest/extract-dependency-models.mjs +80 -8
  7. package/src/core/manifest/extract-dependency-models.mjs.map +1 -1
  8. package/src/core/manifest/manifest.d.mts +10 -1
  9. package/src/core/manifest/manifest.d.mts.map +1 -1
  10. package/src/core/manifest/manifest.mjs +7 -0
  11. package/src/core/manifest/manifest.mjs.map +1 -1
  12. package/src/core/transforms/to-reference.d.mts.map +1 -1
  13. package/src/core/transforms/to-reference.mjs +2 -1
  14. package/src/core/transforms/to-reference.mjs.map +1 -1
  15. package/src/schema/configurations/manifest-model-properties.d.mts.map +1 -1
  16. package/src/schema/configurations/manifest-model-properties.mjs +13 -2
  17. package/src/schema/configurations/manifest-model-properties.mjs.map +1 -1
  18. package/src/schema/configurations/model-definitions.d.mts +2 -0
  19. package/src/schema/configurations/model-definitions.d.mts.map +1 -1
  20. package/src/schema/configurations/model-definitions.mjs +3 -0
  21. package/src/schema/configurations/model-definitions.mjs.map +1 -1
  22. package/src/schema/configurations/transform-definitions.d.mts +2 -0
  23. package/src/schema/configurations/transform-definitions.d.mts.map +1 -1
  24. package/src/schema/configurations/transform-definitions.mjs +6 -1
  25. package/src/schema/configurations/transform-definitions.mjs.map +1 -1
  26. package/src/schema/constants.d.mts +5 -0
  27. package/src/schema/constants.d.mts.map +1 -0
  28. package/src/schema/constants.mjs +5 -0
  29. package/src/schema/constants.mjs.map +1 -0
  30. package/src/schema/generate-model-name.mjs +1 -1
  31. package/src/schema/generate-model-name.mjs.map +1 -1
  32. package/src/schema/generate-schema.d.mts +21 -0
  33. package/src/schema/generate-schema.d.mts.map +1 -1
  34. package/src/schema/generate-schema.mjs +27 -1
  35. package/src/schema/generate-schema.mjs.map +1 -1
  36. package/src/schema/mask/generate-mask-from-model.d.mts +2 -2
  37. package/src/schema/mask/generate-mask-from-model.d.mts.map +1 -1
  38. package/src/schema/mask/generate-mask-from-model.mjs +7 -6
  39. package/src/schema/mask/generate-mask-from-model.mjs.map +1 -1
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @ama-openapi/core Documentation
2
2
 
3
3
  > [!WARNING]
4
- > [Experimental](https://github.com/AmadeusITGroup/otter/blob/main/README.md#experimental): This package is available in early access, it will be part of the v14 release.
4
+ > [Experimental](https://github.com/AmadeusITGroup/otter/blob/main/README.md#experimental): This package is available in early access, the final version will be released in v15.
5
5
 
6
6
  [![Stable Version](https://img.shields.io/npm/v/@ama-openapi/core?style=for-the-badge)](https://www.npmjs.com/package/@ama-openapi/core)
7
7
  [![Bundle Size](https://img.shields.io/bundlephobia/min/@ama-openapi/core?color=green&style=for-the-badge)](https://www.npmjs.com/package/@ama-openapi/core)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ama-openapi/core",
3
- "version": "14.1.0-prerelease.9",
3
+ "version": "14.1.0-rc.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -39,8 +39,8 @@
39
39
  }
40
40
  },
41
41
  "dependencies": {
42
- "ajv": "~8.17.1",
43
- "globby": "~16.0.0",
42
+ "ajv": "~8.18.0",
43
+ "globby": "~16.1.0",
44
44
  "js-yaml": "^4.1.1",
45
45
  "semver": "^7.5.2",
46
46
  "tslib": "^2.6.2"
@@ -54,56 +54,46 @@
54
54
  }
55
55
  },
56
56
  "devDependencies": {
57
- "@angular/cli": "~21.1.0",
58
- "@babel/core": "~7.29.0",
59
- "@babel/preset-env": "~7.29.0",
60
- "@babel/preset-typescript": "~7.28.0",
57
+ "@angular/cli": "~21.2.0",
61
58
  "@compodoc/compodoc": "^1.1.32",
62
59
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
63
- "@nx/eslint": "~22.4.0",
64
- "@nx/eslint-plugin": "~22.4.0",
65
- "@nx/jest": "~22.4.0",
66
- "@nx/js": "~22.4.0",
67
- "@o3r/build-helpers": "~14.1.0-prerelease.9",
68
- "@o3r/eslint-plugin": "~14.1.0-prerelease.9",
69
- "@o3r/telemetry": "~14.1.0-prerelease.9",
70
- "@o3r/test-helpers": "~14.1.0-prerelease.9",
71
- "@stylistic/eslint-plugin": "~5.7.0",
72
- "@types/jest": "~30.0.0",
60
+ "@nx/eslint": "~22.5.3",
61
+ "@nx/eslint-plugin": "~22.5.3",
62
+ "@nx/js": "~22.5.3",
63
+ "@nx/vitest": "~22.5.3",
64
+ "@o3r/build-helpers": "~14.1.0-rc.0",
65
+ "@o3r/eslint-plugin": "~14.1.0-rc.0",
66
+ "@o3r/telemetry": "~14.1.0-rc.0",
67
+ "@o3r/test-helpers": "~14.1.0-rc.0",
68
+ "@stylistic/eslint-plugin": "~5.10.0",
73
69
  "@types/js-yaml": "^4.0.5",
74
70
  "@types/minimist": "^1.2.2",
75
- "@types/node": "~24.10.0",
71
+ "@types/node": "~24.12.0",
76
72
  "@types/semver": "^7.3.13",
77
- "@typescript-eslint/parser": "~8.54.0",
78
- "angular-eslint": "~21.2.0",
79
- "babel-jest": "^30.0.5",
80
- "babel-plugin-transform-import-meta": "^2.0.0",
73
+ "@typescript-eslint/parser": "~8.57.0",
74
+ "@vitest/coverage-istanbul": "^4.0.18",
75
+ "angular-eslint": "~21.3.0",
81
76
  "cpy-cli": "^6.0.0",
82
77
  "eslint": "~9.39.0",
83
78
  "eslint-import-resolver-node": "~0.3.9",
84
79
  "eslint-import-resolver-typescript": "~4.4.0",
85
80
  "eslint-plugin-import": "~2.32.0",
86
81
  "eslint-plugin-import-newlines": "~1.4.0",
87
- "eslint-plugin-jest": "~29.12.0",
88
82
  "eslint-plugin-jsdoc": "~61.7.0",
89
83
  "eslint-plugin-prefer-arrow": "~1.2.3",
90
84
  "eslint-plugin-unicorn": "~62.0.0",
91
- "eslint-plugin-unused-imports": "~4.3.0",
85
+ "eslint-plugin-unused-imports": "~4.4.0",
92
86
  "globals": "^16.0.0",
93
- "jest": "~30.2.0",
94
- "jest-junit": "~16.0.0",
95
- "jest-resolve": "~30.2.0",
96
- "jest-util": "~30.2.0",
97
87
  "jsonc-eslint-parser": "~2.4.0",
98
- "memfs": "~4.50.0",
99
- "nx": "~22.4.0",
100
- "ts-jest": "~29.4.0",
88
+ "memfs": "~4.56.0",
89
+ "nx": "~22.5.3",
101
90
  "type-fest": "^5.3.1",
102
91
  "typescript": "~5.9.2",
103
- "typescript-eslint": "~8.54.0"
92
+ "typescript-eslint": "~8.57.0",
93
+ "vitest": "~4.1.0"
104
94
  },
105
95
  "engines": {
106
- "node": "^20.19.0 || ^22.17.0 || ^24.0.0"
96
+ "node": "^22.17.0 || ^24.0.0"
107
97
  },
108
98
  "contributors": [
109
99
  {
@@ -66,6 +66,31 @@
66
66
  "path"
67
67
  ],
68
68
  "additionalProperties": false
69
+ },
70
+ {
71
+ "type": "object",
72
+ "description": "Detailed model patterns inclusion",
73
+ "properties": {
74
+ "patterns": {
75
+ "oneOf": [
76
+ {
77
+ "type": "array",
78
+ "description": "Glob patterns to match models to include. The patterns are relative to the artifact root (e.g., 'models/**/*.yaml')",
79
+ "items": {
80
+ "type": "string"
81
+ }
82
+ },
83
+ {
84
+ "type": "string",
85
+ "description": "Glob pattern to match models to include. The pattern is relative to the artifact root (e.g., 'models/**/*.yaml')"
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ "required": [
91
+ "patterns"
92
+ ],
93
+ "additionalProperties": false
69
94
  }
70
95
  ]
71
96
  }
@@ -1,5 +1,5 @@
1
1
  import type { Context } from '../../context.mjs';
2
- import type { Manifest, Model, Transform } from './manifest.mjs';
2
+ import { type Manifest, type Model, type Transform } from './manifest.mjs';
3
3
  /**
4
4
  * Extracted dependency model information
5
5
  */
@@ -30,6 +30,14 @@ export interface RetrievedDependencyModel {
30
30
  * @param artifactName
31
31
  */
32
32
  export declare const sanitizePackagePath: (artifactName: string) => string;
33
+ /**
34
+ * Split model path into file path and inner path
35
+ * @param modelPath
36
+ */
37
+ export declare const splitModelPath: (modelPath: string) => {
38
+ filePath: string;
39
+ innerPath: string;
40
+ };
33
41
  /**
34
42
  * Extract dependency model given full model definition
35
43
  * @param artifactName
@@ -1 +1 @@
1
- {"version":3,"file":"extract-dependency-models.d.mts","sourceRoot":"","sources":["../../../../src/core/manifest/extract-dependency-models.mts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,SAAS,EACV,MAAM,gBAAgB,CAAC;AAIxB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAC1D,uDAAuD;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,cAAc,MAAM,WAIvD,CAAC;AA0FF;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,GACxC,cAAc,MAAM,EACpB,OAAO,KAAK,EACZ,kBAAkB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,EAChD,SAAS,OAAO,EAChB,wBAAkC,KAAG,OAAO,CAAC,wBAAwB,CAgCtE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,UAAU,QAAQ,EAAE,SAAS,OAAO,wCAU3E,CAAC"}
1
+ {"version":3,"file":"extract-dependency-models.d.mts","sourceRoot":"","sources":["../../../../src/core/manifest/extract-dependency-models.mts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,KAAK,EAEV,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAIxB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAC1D,uDAAuD;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,cAAc,MAAM,WAIvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM;;;CAG/C,CAAC;AA8FF;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,GACxC,cAAc,MAAM,EACpB,OAAO,KAAK,EACZ,kBAAkB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,EAChD,SAAS,OAAO,EAChB,wBAAkC,KAAG,OAAO,CAAC,wBAAwB,CAgCtE,CAAC;AA2DF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,UAAU,QAAQ,EAAE,SAAS,OAAO,wCAgB3E,CAAC"}
@@ -1,8 +1,11 @@
1
- import { promises as fs, } from 'node:fs';
1
+ import { promises as fs, readFileSync, } from 'node:fs';
2
2
  import { createRequire, } from 'node:module';
3
3
  import { basename, dirname, extname, join, resolve, } from 'node:path';
4
+ import { globbySync, } from 'globby';
4
5
  import { OUTPUT_DIRECTORY, } from '../../constants.mjs';
5
6
  import { isJsonFile, parseFile, } from '../file-system/parse-file.mjs';
7
+ import { deserialize, } from '../serialization.mjs';
8
+ import { isPatternsModel, } from './manifest.mjs';
6
9
  const INNER_PATH_SEPARATOR = '#[\\/]';
7
10
  /**
8
11
  * Sanitize the package path to be used in file system
@@ -17,7 +20,7 @@ export const sanitizePackagePath = (artifactName) => {
17
20
  * Split model path into file path and inner path
18
21
  * @param modelPath
19
22
  */
20
- const splitModelPath = (modelPath) => {
23
+ export const splitModelPath = (modelPath) => {
21
24
  const [filePath, innerPath] = modelPath.split(new RegExp(INNER_PATH_SEPARATOR));
22
25
  return { filePath, innerPath };
23
26
  };
@@ -55,6 +58,18 @@ const getArtifactInfo = async (require, artifactName) => {
55
58
  const version = JSON.parse(packageJsonContent).version || 'latest';
56
59
  return { artifactBasePath, version };
57
60
  };
61
+ /**
62
+ * Get information for artifactory manifest file
63
+ * @param require
64
+ * @param artifactName
65
+ */
66
+ const getArtifactInfoSync = (require, artifactName) => {
67
+ const artifactPackageJson = require.resolve(`${artifactName}/package.json`);
68
+ const artifactBasePath = dirname(artifactPackageJson);
69
+ const packageJsonContent = readFileSync(artifactPackageJson, { encoding: 'utf8' });
70
+ const version = JSON.parse(packageJsonContent).version || 'latest';
71
+ return { artifactBasePath, version };
72
+ };
58
73
  /**
59
74
  * Extract dependency model given simple model definition (as string or boolean)
60
75
  * @param cwd
@@ -70,7 +85,7 @@ const extractDependencyModelsSimple = async (cwd, artifactName, modelName, logge
70
85
  const path = typeof modelName === 'string' ? modelName : artifactName;
71
86
  const { filePath, innerPath } = splitModelPath(path);
72
87
  const modelPath = typeof modelName === 'string' ? join(artifactBasePath, filePath) : require.resolve(artifactName);
73
- const content = await fs.readFile(filePath, { encoding: 'utf8' });
88
+ const content = await fs.readFile(modelPath, { encoding: 'utf8' });
74
89
  const model = { path };
75
90
  const fileNameOutput = getOutFilePathFromModelPath(model.path);
76
91
  const outputFilePath = resolve(cwd, outputDirectory, sanitizePackagePath(artifactName), fileNameOutput);
@@ -106,8 +121,8 @@ export const extractDependencyModelsObject = async (artifactName, model, transfo
106
121
  const path = model.path || require.resolve(artifactName).split(artifactName)[1];
107
122
  const { filePath, innerPath } = splitModelPath(path);
108
123
  const modelPath = model.path ? join(artifactBasePath, filePath) : require.resolve(artifactName);
109
- const content = await fs.readFile(filePath, { encoding: 'utf8' });
110
- logger?.debug?.(`extracting model ${modelPath} from ${outputDirectory}`);
124
+ const content = await fs.readFile(modelPath, { encoding: 'utf8' });
125
+ logger?.debug?.(`extracting model ${modelPath} to ${outputDirectory}`);
111
126
  const fileNameOutput = transform?.rename
112
127
  ? filePath.replace(new RegExp(`(${basename(filePath).replaceAll('.', '\\.')})$`), transform.rename)
113
128
  : getOutFilePathFromModelPath(path);
@@ -130,6 +145,57 @@ export const extractDependencyModelsObject = async (artifactName, model, transfo
130
145
  isOutputJson: isJsonFile(outputFilePath)
131
146
  };
132
147
  };
148
+ /**
149
+ * Extract dependency models from patterns model definition
150
+ * @param artifactName
151
+ * @param models
152
+ * @param context
153
+ * @param outputDirectory
154
+ */
155
+ const extractDependencyPatternsModelsObject = (artifactName, models, context, outputDirectory = OUTPUT_DIRECTORY) => {
156
+ const { cwd, logger } = context;
157
+ const paths = Array.isArray(models.patterns) ? models.patterns : [models.patterns];
158
+ const require = createRequire(resolve(cwd, 'package.json'));
159
+ const { artifactBasePath } = getArtifactInfoSync(require, artifactName);
160
+ return paths.flatMap((modelPath) => {
161
+ const { filePath, innerPath } = splitModelPath(modelPath);
162
+ return globbySync(filePath, { cwd: artifactBasePath })
163
+ .flatMap((matchedFilePath) => {
164
+ if (!innerPath.includes('*')) {
165
+ return [extractDependencyModelsSimple(cwd, artifactName, matchedFilePath + (innerPath ? `#/${innerPath}` : ''), logger, outputDirectory)];
166
+ }
167
+ const content = readFileSync(matchedFilePath, { encoding: 'utf8' });
168
+ const deserialized = deserialize(content, { isInputJson: isJsonFile(matchedFilePath) });
169
+ const innerPathParts = innerPath.split('/');
170
+ return innerPathParts
171
+ .reduce((nodes, part) => {
172
+ if (part.includes('*')) {
173
+ const regex = new RegExp(`^${part.replaceAll('*', '.*')}$`);
174
+ return nodes
175
+ .flatMap(({ node, path }) => {
176
+ const keys = Object.keys(node).filter((k) => regex.test(k));
177
+ return keys
178
+ .map((k) => ({
179
+ node: node[k],
180
+ path: `${path}/${k}`
181
+ }))
182
+ .filter(({ node: n }) => !!n);
183
+ });
184
+ }
185
+ else {
186
+ return nodes
187
+ .map(({ node, path }) => ({
188
+ node: node?.[part],
189
+ path: `${path}/${part}`
190
+ }))
191
+ .filter(({ node }) => !!node);
192
+ }
193
+ }, [{ node: deserialized, path: '' }])
194
+ .map(({ path }) => path)
195
+ .map((path) => extractDependencyModelsSimple(cwd, artifactName, matchedFilePath + (path ? `#${path}` : ''), logger, outputDirectory));
196
+ });
197
+ });
198
+ };
133
199
  /**
134
200
  * Extract dependency models from the manifest
135
201
  * @param manifest
@@ -140,8 +206,14 @@ export const extractDependencyModels = (manifest, context) => {
140
206
  logger?.info(`${Object.keys(manifest.models).length} dependencies models found in the manifest`);
141
207
  logger?.debug?.('Extracting information from the manifest configuration: ', manifest);
142
208
  return Object.entries(manifest.models).flatMap(([dependencyName, modelDefinition]) => (Array.isArray(modelDefinition) ? modelDefinition : [modelDefinition])
143
- .map((model) => (typeof model === 'string' || typeof model === 'boolean')
144
- ? extractDependencyModelsSimple(cwd, dependencyName, model, logger)
145
- : extractDependencyModelsObject(dependencyName, model, retrieveTransform(cwd, model.transform), context)));
209
+ .flatMap((model) => {
210
+ if (isPatternsModel(model)) {
211
+ return extractDependencyPatternsModelsObject(dependencyName, model, context);
212
+ }
213
+ const singleModel = (typeof model === 'string' || typeof model === 'boolean')
214
+ ? extractDependencyModelsSimple(cwd, dependencyName, model, logger)
215
+ : extractDependencyModelsObject(dependencyName, model, retrieveTransform(cwd, model.transform), context);
216
+ return [singleModel];
217
+ }));
146
218
  };
147
219
  //# sourceMappingURL=extract-dependency-models.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-dependency-models.mjs","sourceRoot":"","sources":["../../../../src/core/manifest/extract-dependency-models.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-dependency-models.mjs","sourceRoot":"","sources":["../../../../src/core/manifest/extract-dependency-models.mts"],"names":[],"mappings":"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"}
@@ -31,14 +31,23 @@ export interface Model {
31
31
  */
32
32
  transform?: TransformOrReference;
33
33
  }
34
+ export interface PatternsModel {
35
+ /** Pattern to match model paths in the artifact. The pattern is a regex applied on the full path of the model (i.e., "models/ExampleModel.v1.yaml#/components/schemas/Example") */
36
+ patterns: string | string[];
37
+ }
34
38
  /** List of supported types for an Model */
35
- export type SupportedModelTypes = string | Model | boolean;
39
+ export type SupportedModelTypes = string | Model | boolean | PatternsModel;
36
40
  /** Models dependencies */
37
41
  export type Models = Record<string, SupportedModelTypes | SupportedModelTypes[]>;
38
42
  /** Manifest file structure */
39
43
  export type Manifest = {
40
44
  models: Models;
41
45
  };
46
+ /**
47
+ * Check if the model is a PatternsModel
48
+ * @param model Model to check
49
+ */
50
+ export declare const isPatternsModel: (model: SupportedModelTypes) => model is PatternsModel;
42
51
  /**
43
52
  * Retrieve Manifest file
44
53
  * @param workspaceDirectory
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.mts","sourceRoot":"","sources":["../../../../src/core/manifest/manifest.mts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,2CAA2C;AAC3C,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAE3D,0BAA0B;AAC1B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC,CAAC;AAEjF,8BAA8B;AAC9B,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA6B1C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,oBAAoB,MAAM,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAiBhH,CAAC"}
1
+ {"version":3,"file":"manifest.d.mts","sourceRoot":"","sources":["../../../../src/core/manifest/manifest.mts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,mLAAmL;IACnL,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED,2CAA2C;AAC3C,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;AAE3E,0BAA0B;AAC1B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC,CAAC;AAEjF,8BAA8B;AAC9B,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA6B1C;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,mBAAmB,KAAG,KAAK,IAAI,aAErE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,oBAAoB,MAAM,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAiBhH,CAAC"}
@@ -28,6 +28,13 @@ const isValidManifest = async (manifest, manifestPath, logger) => {
28
28
  }
29
29
  return true;
30
30
  };
31
+ /**
32
+ * Check if the model is a PatternsModel
33
+ * @param model Model to check
34
+ */
35
+ export const isPatternsModel = (model) => {
36
+ return typeof model === 'object' && model !== null && 'patterns' in model;
37
+ };
31
38
  /**
32
39
  * Retrieve Manifest file
33
40
  * @param workspaceDirectory
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.mjs","sourceRoot":"","sources":["../../../../src/core/manifest/manifest.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.mjs","sourceRoot":"","sources":["../../../../src/core/manifest/manifest.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"to-reference.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/to-reference.mts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAInD,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACtC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAKF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,iBAAiB,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAAC,GAAG,sBAa3I,CAAC"}
1
+ {"version":3,"file":"to-reference.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/to-reference.mts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAInD,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACtC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAKF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,iBAAiB,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAAC,GAAG,sBAe3I,CAAC"}
@@ -16,10 +16,11 @@ export const toReference = (specification, retrievedModel, context) => {
16
16
  return specification;
17
17
  }
18
18
  logger?.debug?.(`Converting specification ${retrievedModel.modelPath} to a $ref`);
19
+ const refFilePath = relative(dirname(retrievedModel.outputFilePath), retrievedModel.modelPath);
19
20
  return {
20
21
  ...Object.fromEntries(Object.entries(retrievedModel).filter(([key]) => key.startsWith('x-'))),
21
22
  [GENERATED_REF_PROPERTY_KEY]: true,
22
- $ref: relative(dirname(retrievedModel.outputFilePath), retrievedModel.modelPath).replaceAll(sep, posix.sep)
23
+ $ref: refFilePath.replaceAll(sep, posix.sep) + (retrievedModel.model.innerPath ? `#/${retrievedModel.model.innerPath}` : '')
23
24
  };
24
25
  };
25
26
  //# sourceMappingURL=to-reference.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-reference.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/to-reference.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,GAAG,GACJ,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAoB7B,oEAAoE;AACpE,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAwC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAA8B,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAA8B,EAAE;IACnK,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAgB,CAAC,CAAC,EAAE,CAAC;QAC5I,MAAM,EAAE,KAAK,EAAE,CAAC,qBAAqB,cAAc,CAAC,SAAS,6DAA6D,CAAC,CAAC;QAC5H,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,CAAC,4BAA4B,cAAc,CAAC,SAAS,YAAY,CAAC,CAAC;IAClF,OAAO;QACL,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,CAAC,0BAA0B,CAAC,EAAE,IAAI;QAClC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;KAC5G,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"to-reference.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/to-reference.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,GAAG,GACJ,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAoB7B,oEAAoE;AACpE,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAwC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAA8B,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAA8B,EAAE;IACnK,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,cAAc,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAgB,CAAC,CAAC,EAAE,CAAC;QAC5I,MAAM,EAAE,KAAK,EAAE,CAAC,qBAAqB,cAAc,CAAC,SAAS,6DAA6D,CAAC,CAAC;QAC5H,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,CAAC,4BAA4B,cAAc,CAAC,SAAS,YAAY,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAE/F,OAAO;QACL,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,CAAC,0BAA0B,CAAC,EAAE,IAAI;QAClC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7H,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-model-properties.d.mts","sourceRoot":"","sources":["../../../../src/schema/configurations/manifest-model-properties.mts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GAAI,WAAW,qBAAqB,EAAE,QAsB7E,CAAC"}
1
+ {"version":3,"file":"manifest-model-properties.d.mts","sourceRoot":"","sources":["../../../../src/schema/configurations/manifest-model-properties.mts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GAAI,WAAW,qBAAqB,EAAE,QAgC7E,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { basename, } from 'node:path/posix';
2
+ import { PATTERNS_MODEL_DEFINITION_KEY, } from '../constants.mjs';
2
3
  import { generateModelNameRef, } from '../generate-model-name.mjs';
3
4
  /**
4
5
  * Generate manifest models properties for the given artifacts
@@ -13,12 +14,22 @@ export const getManifestModelsProperties = (artifacts) => {
13
14
  if (refModels.length === 0) {
14
15
  return [];
15
16
  }
17
+ const getModelRef = (modelName) => ({
18
+ oneOf: [
19
+ {
20
+ $ref: `#/definitions/${modelName}`
21
+ },
22
+ {
23
+ $ref: `#/definitions/${PATTERNS_MODEL_DEFINITION_KEY}`
24
+ }
25
+ ]
26
+ });
16
27
  return [
17
28
  packageManifestName,
18
29
  {
19
30
  oneOf: [
20
- ...refModels.map((modelName) => ({ $ref: `#/definitions/${modelName}` })),
21
- { type: 'array', items: { oneOf: refModels.map((modelName) => ({ $ref: `#/definitions/${modelName}` })) } }
31
+ ...refModels.map((ref) => getModelRef(ref)),
32
+ { type: 'array', items: { oneOf: refModels.map((ref) => getModelRef(ref)) } }
22
33
  ]
23
34
  }
24
35
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-model-properties.mjs","sourceRoot":"","sources":["../../../../src/schema/configurations/manifest-model-properties.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAKpC;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAkC,EAAE,EAAE;IAChF,OAAO,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE;QAC3D,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,MAAM;aACrB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,oBAAoB,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;YACL,mBAAmB;YACnB;gBACE,KAAK,EAAE;oBACL,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,SAAS,EAAE,EAAE,CAAC,CAAC;oBACzE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;iBAC5G;aACF;SACF,CAAC;IACJ,CAAC,CAAC;SACC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CACxC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"manifest-model-properties.mjs","sourceRoot":"","sources":["../../../../src/schema/configurations/manifest-model-properties.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAKpC;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAkC,EAAE,EAAE;IAChF,OAAO,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE;QAC3D,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,MAAM;aACrB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,oBAAoB,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,CAAC;YAC1C,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,iBAAiB,SAAS,EAAE;iBACnC;gBACD;oBACE,IAAI,EAAE,iBAAiB,6BAA6B,EAAE;iBACvD;aACF;SACF,CAAC,CAAC;QACH,OAAO;YACL,mBAAmB;YACnB;gBACE,KAAK,EAAE;oBACL,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;iBAC9E;aACF;SACF,CAAC;IACJ,CAAC,CAAC;SACC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CACxC,CAAC;AACJ,CAAC,CAAC"}
@@ -27,6 +27,7 @@ export declare const getModelDefinitions: (artifacts: SpecificationArtifact[]) =
27
27
  description: string;
28
28
  properties: {
29
29
  path: {
30
+ description: string;
30
31
  oneOf: ({
31
32
  const: string;
32
33
  description: string;
@@ -40,6 +41,7 @@ export declare const getModelDefinitions: (artifacts: SpecificationArtifact[]) =
40
41
  })[];
41
42
  };
42
43
  transform: {
44
+ description: string;
43
45
  $ref: string;
44
46
  };
45
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"model-definitions.d.mts","sourceRoot":"","sources":["../../../../src/schema/configurations/model-definitions.mts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAW/B;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDrE,CAAC"}
1
+ {"version":3,"file":"model-definitions.d.mts","sourceRoot":"","sources":["../../../../src/schema/configurations/model-definitions.mts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAW/B;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDrE,CAAC"}
@@ -47,9 +47,12 @@ export const getModelDefinitions = (artifacts) => {
47
47
  description: 'Detailed model inclusion with optional transformations to apply',
48
48
  properties: {
49
49
  path: {
50
+ description: 'Path to the model to include. \n'
51
+ + 'The path is relative to the artifact root (e.g., "models/ExampleModel.v1.yaml" or "models/ExampleModel.v1.yaml#/components/schemas/Example")',
50
52
  oneOf: pathSchemas
51
53
  },
52
54
  transform: {
55
+ description: 'The transformations to apply to the model',
53
56
  $ref: `#/definitions/transform-${modelRef}`
54
57
  }
55
58
  },
@@ -1 +1 @@
1
- {"version":3,"file":"model-definitions.mjs","sourceRoot":"","sources":["../../../../src/schema/configurations/model-definitions.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAKpC;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAC3C,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkC,EAAE,EAAE;IACxE,OAAO,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE;QAC/D,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5E,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG;gBAClB;oBACE,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,8HAA8H;iBAC5I;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,gEAAgE;oBAChE,OAAO,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO;iBACxC;aACF,CAAC;YAEF,OAAO;gBACL,SAAS,QAAQ,EAAE;gBACnB;oBACE,KAAK,EAAE;wBACL,GAAG,eAAe,CAAC,IAAI;4BACrB,CAAC,CAAC,CAAC;oCACD,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,IAAI;oCACb,WAAW,EAAE,mDAAmD;iCACjE,CAAC;4BACF,CAAC,CAAC,EAAE;wBACN,GAAG,WAAW;wBACd;4BACE,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iEAAiE;4BAC9E,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,KAAK,EAAE,WAAW;iCACnB;gCACD,SAAS,EAAE;oCACT,IAAI,EAAE,2BAA2B,QAAQ,EAAE;iCAC5C;6BACF;4BACD,QAAQ,EAAE;gCACR,MAAM;6BACP;4BACD,oBAAoB,EAAE,KAAK;yBAC5B;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"model-definitions.mjs","sourceRoot":"","sources":["../../../../src/schema/configurations/model-definitions.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAKpC;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAC3C,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkC,EAAE,EAAE;IACxE,OAAO,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE;QAC/D,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5E,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG;gBAClB;oBACE,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,8HAA8H;iBAC5I;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,gEAAgE;oBAChE,OAAO,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO;iBACxC;aACF,CAAC;YAEF,OAAO;gBACL,SAAS,QAAQ,EAAE;gBACnB;oBACE,KAAK,EAAE;wBACL,GAAG,eAAe,CAAC,IAAI;4BACrB,CAAC,CAAC,CAAC;oCACD,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,IAAI;oCACb,WAAW,EAAE,mDAAmD;iCACjE,CAAC;4BACF,CAAC,CAAC,EAAE;wBACN,GAAG,WAAW;wBACd;4BACE,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iEAAiE;4BAC9E,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,WAAW,EAAE,kCAAkC;0CAC3C,8IAA8I;oCAClJ,KAAK,EAAE,WAAW;iCACnB;gCACD,SAAS,EAAE;oCACT,WAAW,EAAE,2CAA2C;oCACxD,IAAI,EAAE,2BAA2B,QAAQ,EAAE;iCAC5C;6BACF;4BACD,QAAQ,EAAE;gCACR,MAAM;6BACP;4BACD,oBAAoB,EAAE,KAAK;yBAC5B;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -5,6 +5,7 @@ import type { SpecificationArtifact } from '../list-artifacts.mjs';
5
5
  */
6
6
  export declare const getTransformDefinitions: (artifacts: SpecificationArtifact[]) => {
7
7
  [k: string]: {
8
+ description: string;
8
9
  allOf: ({
9
10
  $ref: string;
10
11
  type?: undefined;
@@ -13,6 +14,7 @@ export declare const getTransformDefinitions: (artifacts: SpecificationArtifact[
13
14
  type: string;
14
15
  properties: {
15
16
  mask: {
17
+ description: string;
16
18
  $ref: string;
17
19
  };
18
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transform-definitions.d.mts","sourceRoot":"","sources":["../../../../src/schema/configurations/transform-definitions.mts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,WAAW,qBAAqB,EAAE;;;;;;;;;;;;;;;;CA8BzE,CAAC"}
1
+ {"version":3,"file":"transform-definitions.d.mts","sourceRoot":"","sources":["../../../../src/schema/configurations/transform-definitions.mts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAAI,WAAW,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;CAkCzE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { basename, } from 'node:path';
2
+ import { BASE_TRANSFORM_DEFINITION_KEY, } from '../constants.mjs';
2
3
  import { generateModelNameRef, getMaskFileName, } from '../generate-model-name.mjs';
3
4
  /**
4
5
  * Generate transform definitions for the given artifacts
@@ -15,14 +16,18 @@ export const getTransformDefinitions = (artifacts) => {
15
16
  return [
16
17
  `transform-${modelRef}`,
17
18
  {
19
+ description: `Transformations to apply to the model "${model}" from package "${packageManifestName}"`,
18
20
  allOf: [
19
21
  {
20
- $ref: '#/definitions/baseTransform'
22
+ $ref: `#/definitions/${BASE_TRANSFORM_DEFINITION_KEY}`
21
23
  },
22
24
  {
23
25
  type: 'object',
24
26
  properties: {
25
27
  mask: {
28
+ description: `The JSON Schema of the mask to apply to the model "${model}" from package "${packageManifestName}".\n`
29
+ + 'The mask schema is generated based on the model structure.\n'
30
+ + 'It can be used to specify which properties to include or exclude from the model, as well as to apply transformations to the included properties.',
26
31
  $ref: `./${maskSchemaFileName}`
27
32
  }
28
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transform-definitions.mjs","sourceRoot":"","sources":["../../../../src/schema/configurations/transform-definitions.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAKpC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAkC,EAAE,EAAE;IAC5E,OAAO,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE;QAC/D,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACjB,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO;gBACL,aAAa,QAAQ,EAAE;gBACvB;oBACE,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,6BAA6B;yBACpC;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,IAAI,EAAE,KAAK,kBAAkB,EAAE;iCAChC;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"transform-definitions.mjs","sourceRoot":"","sources":["../../../../src/schema/configurations/transform-definitions.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAKpC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAkC,EAAE,EAAE;IAC5E,OAAO,MAAM,CAAC,WAAW,CACvB,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE;QAC/D,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACjB,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO;gBACL,aAAa,QAAQ,EAAE;gBACvB;oBACE,WAAW,EAAE,0CAA0C,KAAK,mBAAmB,mBAAmB,GAAG;oBACrG,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,iBAAiB,6BAA6B,EAAE;yBACvD;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,WAAW,EAAE,sDAAsD,KAAK,mBAAmB,mBAAmB,MAAM;0CAChH,8DAA8D;0CAC9D,kJAAkJ;oCACtJ,IAAI,EAAE,KAAK,kBAAkB,EAAE;iCAChC;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Base transform definition key */
2
+ export declare const BASE_TRANSFORM_DEFINITION_KEY = "baseTransform";
3
+ /** Patterns model definition key */
4
+ export declare const PATTERNS_MODEL_DEFINITION_KEY = "patternsModel";
5
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../../src/schema/constants.mts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,eAAO,MAAM,6BAA6B,kBAAkB,CAAC;AAE7D,oCAAoC;AACpC,eAAO,MAAM,6BAA6B,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Base transform definition key */
2
+ export const BASE_TRANSFORM_DEFINITION_KEY = 'baseTransform';
3
+ /** Patterns model definition key */
4
+ export const PATTERNS_MODEL_DEFINITION_KEY = 'patternsModel';
5
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../../src/schema/constants.mts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,MAAM,CAAC,MAAM,6BAA6B,GAAG,eAAe,CAAC;AAE7D,oCAAoC;AACpC,MAAM,CAAC,MAAM,6BAA6B,GAAG,eAAe,CAAC"}
@@ -18,6 +18,6 @@ export const generateModelNameRef = (artifactName, modelPath) => {
18
18
  * @param modelNameRef
19
19
  */
20
20
  export const getMaskFileName = (modelNameRef) => {
21
- return `mask-${modelNameRef}.json`;
21
+ return `mask-${modelNameRef}.schema.json`;
22
22
  };
23
23
  //# sourceMappingURL=generate-model-name.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-model-name.mjs","sourceRoot":"","sources":["../../../src/schema/generate-model-name.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GACpB,MAAM,gDAAgD,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAE,SAAiB,EAAU,EAAE;IACtF,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC5E,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,GAAG,qBAAqB,IAAI,SAAS,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,EAAE;IACtD,OAAO,QAAQ,YAAY,OAAO,CAAC;AACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"generate-model-name.mjs","sourceRoot":"","sources":["../../../src/schema/generate-model-name.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GACpB,MAAM,gDAAgD,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAE,SAAiB,EAAU,EAAE;IACtF,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC5E,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,GAAG,qBAAqB,IAAI,SAAS,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,EAAE;IACtD,OAAO,QAAQ,YAAY,cAAc,CAAC;AAC5C,CAAC,CAAC"}
@@ -57,6 +57,27 @@ export declare const generateOpenApiManifestSchema: (options: GenerateOpenApiMan
57
57
  };
58
58
  };
59
59
  };
60
+ patternsModel: {
61
+ type: string;
62
+ description: string;
63
+ properties: {
64
+ patterns: {
65
+ oneOf: ({
66
+ type: string;
67
+ description: string;
68
+ items: {
69
+ type: string;
70
+ };
71
+ } | {
72
+ type: string;
73
+ description: string;
74
+ items?: undefined;
75
+ })[];
76
+ };
77
+ };
78
+ required: string[];
79
+ additionalProperties: boolean;
80
+ };
60
81
  };
61
82
  };
62
83
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema.d.mts","sourceRoot":"","sources":["../../../src/schema/generate-schema.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,sBAAsB,CAAC;AAK9B,4DAA4D;AAC5D,MAAM,WAAW,oCAAqC,SAAQ,uBAAuB;CACpF;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAU,SAAS,oCAAoC,GAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C1G,CAAC"}
1
+ {"version":3,"file":"generate-schema.d.mts","sourceRoot":"","sources":["../../../src/schema/generate-schema.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,gBAAgB,CAAC;AAcxB,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,sBAAsB,CAAC;AAK9B,4DAA4D;AAC5D,MAAM,WAAW,oCAAqC,SAAQ,uBAAuB;CACpF;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAU,SAAS,oCAAoC,GAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwE1G,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { getManifestModelsProperties, } from './configurations/manifest-model-properties.mjs';
2
2
  import { getModelDefinitions, } from './configurations/model-definitions.mjs';
3
3
  import { getTransformDefinitions, } from './configurations/transform-definitions.mjs';
4
+ import { BASE_TRANSFORM_DEFINITION_KEY, PATTERNS_MODEL_DEFINITION_KEY, } from './constants.mjs';
4
5
  import { listSpecificationArtifacts, } from './list-artifacts.mjs';
5
6
  import { getDependencyModelMasks, } from './mask/dependencies-masks.mjs';
6
7
  /**
@@ -29,7 +30,7 @@ export const generateOpenApiManifestSchema = async (options) => {
29
30
  },
30
31
  additionalProperties: true,
31
32
  definitions: {
32
- baseTransform: {
33
+ [BASE_TRANSFORM_DEFINITION_KEY]: {
33
34
  type: 'object',
34
35
  examples: [
35
36
  {
@@ -47,6 +48,31 @@ export const generateOpenApiManifestSchema = async (options) => {
47
48
  }
48
49
  }
49
50
  },
51
+ [PATTERNS_MODEL_DEFINITION_KEY]: {
52
+ type: 'object',
53
+ description: 'Detailed model patterns inclusion',
54
+ properties: {
55
+ patterns: {
56
+ oneOf: [
57
+ {
58
+ type: 'array',
59
+ description: "Glob patterns to match models to include. The patterns are relative to the artifact root (e.g., 'models/**/*.yaml')",
60
+ items: {
61
+ type: 'string'
62
+ }
63
+ },
64
+ {
65
+ type: 'string',
66
+ description: "Glob pattern to match models to include. The pattern is relative to the artifact root (e.g., 'models/**/*.yaml')"
67
+ }
68
+ ]
69
+ }
70
+ },
71
+ required: [
72
+ 'patterns'
73
+ ],
74
+ additionalProperties: false
75
+ },
50
76
  ...modelDefinitions,
51
77
  ...transformDefinitions
52
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema.mjs","sourceRoot":"","sources":["../../../src/schema/generate-schema.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,2BAA2B,GAC5B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAEL,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAMvC;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAAE,OAAuD,EAAE,EAAE;IAC7G,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAE5D,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEhE,OAAO;QACL,KAAK;QACL,QAAQ,EAAE;YACR,OAAO,EAAE,yCAAyC;YAClD,KAAK,EAAE,wCAAwC;YAC/C,GAAG,EAAE,gDAAgD;YACrD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;oBACzE,UAAU,EAAE,wBAAwB;iBACrC;aACF;YACD,oBAAoB,EAAE,IAAI;YAC1B,WAAW,EAAE;gBACX,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE,aAAa;yBACtB;qBACF;oBACD,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8HAA8H;4BAC3I,QAAQ,EAAE;gCACR,cAAc;gCACd,iBAAiB;6BAClB;yBACF;qBACF;iBACF;gBACD,GAAG,gBAAgB;gBACnB,GAAG,oBAAoB;aACxB;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"generate-schema.mjs","sourceRoot":"","sources":["../../../src/schema/generate-schema.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,2BAA2B,GAC5B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAMvC;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAAE,OAAuD,EAAE,EAAE;IAC7G,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAE5D,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEhE,OAAO;QACL,KAAK;QACL,QAAQ,EAAE;YACR,OAAO,EAAE,yCAAyC;YAClD,KAAK,EAAE,wCAAwC;YAC/C,GAAG,EAAE,gDAAgD;YACrD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;oBACzE,UAAU,EAAE,wBAAwB;iBACrC;aACF;YACD,oBAAoB,EAAE,IAAI;YAC1B,WAAW,EAAE;gBACX,CAAC,6BAA6B,CAAC,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE,aAAa;yBACtB;qBACF;oBACD,UAAU,EAAE;wBACV,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8HAA8H;4BAC3I,QAAQ,EAAE;gCACR,cAAc;gCACd,iBAAiB;6BAClB;yBACF;qBACF;iBACF;gBACD,CAAC,6BAA6B,CAAC,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;oBAChD,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,OAAO;oCACb,WAAW,EAAE,qHAAqH;oCAClI,KAAK,EAAE;wCACL,IAAI,EAAE,QAAQ;qCACf;iCACF;gCACD;oCACE,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,kHAAkH;iCAChI;6BACF;yBACF;qBACF;oBACD,QAAQ,EAAE;wBACR,UAAU;qBACX;oBACD,oBAAoB,EAAE,KAAK;iBAC5B;gBACD,GAAG,gBAAgB;gBACnB,GAAG,oBAAoB;aACxB;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -15,7 +15,7 @@ export interface MaskContext extends Context {
15
15
  * @param modelPath Path to the model
16
16
  * @param ctx Mask context
17
17
  */
18
- export declare const generateMaskSchemaModelAt: (modelPath: string, ctx: MaskContext) => Promise<Record<string, any>>;
18
+ export declare const generateMaskSchemaModelAt: (modelPath: string, ctx: MaskContext) => Promise<Record<string, any> | undefined>;
19
19
  /**
20
20
  * Recursive function to generate a JSON Schema of a mask which can be applied to the provided model object and its children
21
21
  * Note: this function is recursive and exported only for testing purposes
@@ -23,5 +23,5 @@ export declare const generateMaskSchemaModelAt: (modelPath: string, ctx: MaskCon
23
23
  * @param model Model object
24
24
  * @param ctx Mask context
25
25
  */
26
- export declare const generateMaskSchemaFromModel: (model: any, ctx: MaskContext) => Promise<Record<string, any>>;
26
+ export declare const generateMaskSchemaFromModel: (model: any, ctx: MaskContext) => Promise<Record<string, any> | undefined>;
27
27
  //# sourceMappingURL=generate-mask-from-model.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-mask-from-model.d.mts","sourceRoot":"","sources":["../../../../src/schema/mask/generate-mask-from-model.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAY3B,mBAAmB;AACnB,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAU,WAAW,MAAM,EAAE,KAAK,WAAW,iCAyDlF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GAAU,OAAO,GAAG,EAAE,KAAK,WAAW,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAmE3G,CAAC"}
1
+ {"version":3,"file":"generate-mask-from-model.d.mts","sourceRoot":"","sources":["../../../../src/schema/mask/generate-mask-from-model.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAY3B,mBAAmB;AACnB,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAU,WAAW,MAAM,EAAE,KAAK,WAAW,6CAyDlF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GAAU,OAAO,GAAG,EAAE,KAAK,WAAW,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAsEvH,CAAC"}
@@ -15,7 +15,7 @@ export const generateMaskSchemaModelAt = async (modelPath, ctx) => {
15
15
  }
16
16
  if (ctx.parsedFiles?.includes(modelPath)) {
17
17
  logger?.warn(`The reference ${modelPath} is circular, it will be resolve to "any"`);
18
- return {};
18
+ return undefined;
19
19
  }
20
20
  const [filePath, innerPath] = modelPath.split('#/');
21
21
  let model = await parseFile(filePath);
@@ -79,7 +79,7 @@ export const generateMaskSchemaFromModel = async (model, ctx) => {
79
79
  if (Array.isArray(model)) {
80
80
  return {
81
81
  type: 'array',
82
- prefixItems: await Promise.all(model.map((item) => generateMaskSchemaFromModel(item, ctx)))
82
+ prefixItems: (await Promise.all(model.map((item) => generateMaskSchemaFromModel(item, ctx)))).filter((item) => !!item)
83
83
  };
84
84
  }
85
85
  // Is referencing another model
@@ -97,13 +97,14 @@ export const generateMaskSchemaFromModel = async (model, ctx) => {
97
97
  ? {
98
98
  properties: {
99
99
  type: 'object',
100
- properties: Object.fromEntries(await Promise.all(Object.entries(model.properties).map(async ([key, value]) => ([key, await generateMaskSchemaFromModel(value, ctx)]))))
100
+ properties: Object.fromEntries((await Promise.all(Object.entries(model.properties)
101
+ .map(async ([key, value]) => ([key, await generateMaskSchemaFromModel(value, ctx)])))).filter(([, value]) => !!value))
101
102
  }
102
103
  }
103
104
  : {},
104
- ...Object.fromEntries(await Promise.all(Object.entries(model)
105
+ ...Object.fromEntries((await Promise.all(Object.entries(model)
105
106
  .filter(([key]) => !['properties', 'type', '$ref'].includes(key))
106
- .map(async ([key, value]) => ([key, await generateMaskSchemaFromModel(value, ctx)]))))
107
+ .map(async ([key, value]) => ([key, await generateMaskSchemaFromModel(value, ctx)])))).filter(([, value]) => !!value))
107
108
  }
108
109
  };
109
110
  }
@@ -114,7 +115,7 @@ export const generateMaskSchemaFromModel = async (model, ctx) => {
114
115
  $ref: FIELD_SCHEMA_REF
115
116
  },
116
117
  {
117
- type: model.type
118
+ type: model.type || 'object'
118
119
  }
119
120
  ]
120
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generate-mask-from-model.mjs","sourceRoot":"","sources":["../../../../src/schema/mask/generate-mask-from-model.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-mask-from-model.mjs","sourceRoot":"","sources":["../../../../src/schema/mask/generate-mask-from-model.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EACL,GAAG,GACJ,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,SAAS,GACV,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AActC;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,SAAiB,EAAE,GAAgB,EAAE,EAAE;IACrF,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,IAAI,CAAC,iBAAiB,SAAS,2CAA2C,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,KAAK,GAAG,MAAM,SAAS,CAAM,QAAQ,CAAC,CAAC;IAE3C,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAEnE,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,gBAAgB;iBACvB;gBACD;oBACE,IAAI,EAAE,KAAK,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC9I;aACF;SACF,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACnE,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,gBAAgB;iBACvB;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE;iBACpD;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,2BAA2B,CAAC,KAAK,EAAE;QACxC,GAAG,GAAG;QACN,QAAQ;QACR,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC;KACrD,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,KAAU,EAAE,GAAgB,EAA4C,EAAE;IAC1H,kBAAkB;IAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,gBAAgB,EAAE;gBAC1B,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC;aAC/D;SACF,CAAC;IACJ,CAAC;IAED,SAAS;IACT,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,CACX,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAC5D,CACF,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEpD,UAAU;IACV,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9E,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC5H,UAAU,EAAE;gBACV,GAAG,KAAK,CAAC,UAAU;oBACjB,CAAC,CAAC;wBACA,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAC7B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;iCAC7B,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CACvF,CACF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;yBAClC;qBACF;oBACD,CAAC,CAAC,EAAE;gBACN,GAAG,MAAM,CAAC,WAAW,CAAC,CACpB,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;qBAClB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;qBAChE,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,2BAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CACvF,CACF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAClC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ;aAC7B;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}