@ama-openapi/core 0.0.0-placeholder.6 → 0.0.0-placeholder.8

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 (59) hide show
  1. package/package.json +5 -5
  2. package/renovate/default.json +10 -0
  3. package/schemas/manifest.schema.json +16 -7
  4. package/src/constants.d.mts +7 -4
  5. package/src/constants.d.mts.map +1 -1
  6. package/src/constants.mjs +8 -3
  7. package/src/constants.mjs.map +1 -1
  8. package/src/context.d.mts +11 -0
  9. package/src/context.d.mts.map +1 -0
  10. package/src/context.mjs +2 -0
  11. package/src/context.mjs.map +1 -0
  12. package/src/core/file-system/cleaner.d.mts +3 -2
  13. package/src/core/file-system/cleaner.d.mts.map +1 -1
  14. package/src/core/file-system/cleaner.mjs +6 -3
  15. package/src/core/file-system/cleaner.mjs.map +1 -1
  16. package/src/core/file-system/write-model.d.mts +3 -1
  17. package/src/core/file-system/write-model.d.mts.map +1 -1
  18. package/src/core/file-system/write-model.mjs +7 -3
  19. package/src/core/file-system/write-model.mjs.map +1 -1
  20. package/src/core/manifest/extract-dependency-models.d.mts +9 -8
  21. package/src/core/manifest/extract-dependency-models.d.mts.map +1 -1
  22. package/src/core/manifest/extract-dependency-models.mjs +22 -14
  23. package/src/core/manifest/extract-dependency-models.mjs.map +1 -1
  24. package/src/core/manifest/manifest.d.mts.map +1 -1
  25. package/src/core/manifest/manifest.mjs +6 -6
  26. package/src/core/manifest/manifest.mjs.map +1 -1
  27. package/src/core/process.d.mts +3 -3
  28. package/src/core/process.d.mts.map +1 -1
  29. package/src/core/process.mjs +6 -5
  30. package/src/core/process.mjs.map +1 -1
  31. package/src/core/serialization.mjs +2 -2
  32. package/src/core/serialization.mjs.map +1 -1
  33. package/src/core/transforms/add-annotation.d.mts +3 -3
  34. package/src/core/transforms/add-annotation.d.mts.map +1 -1
  35. package/src/core/transforms/add-annotation.mjs +4 -2
  36. package/src/core/transforms/add-annotation.mjs.map +1 -1
  37. package/src/core/transforms/apply-mask.d.mts +4 -4
  38. package/src/core/transforms/apply-mask.d.mts.map +1 -1
  39. package/src/core/transforms/apply-mask.mjs +131 -41
  40. package/src/core/transforms/apply-mask.mjs.map +1 -1
  41. package/src/core/transforms/rename.d.mts +3 -3
  42. package/src/core/transforms/rename.d.mts.map +1 -1
  43. package/src/core/transforms/rename.mjs +4 -2
  44. package/src/core/transforms/rename.mjs.map +1 -1
  45. package/src/core/transforms/to-reference.d.mts +3 -3
  46. package/src/core/transforms/to-reference.d.mts.map +1 -1
  47. package/src/core/transforms/to-reference.mjs +9 -5
  48. package/src/core/transforms/to-reference.mjs.map +1 -1
  49. package/src/core/transforms/transform.d.mts +7 -2
  50. package/src/core/transforms/transform.d.mts.map +1 -1
  51. package/src/core/transforms/transform.mjs +8 -1
  52. package/src/core/transforms/transform.mjs.map +1 -1
  53. package/src/core/transforms/update-references.d.mts +3 -8
  54. package/src/core/transforms/update-references.d.mts.map +1 -1
  55. package/src/core/transforms/update-references.mjs +34 -16
  56. package/src/core/transforms/update-references.mjs.map +1 -1
  57. package/src/main.d.mts.map +1 -1
  58. package/src/main.mjs +8 -4
  59. package/src/main.mjs.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import { MASKED_PROPERTY_KEY, SOURCE_PROPERTY_KEY, TOUCHED_PROPERTY_KEY, VERSION_PROPERTY_KEY } from '../../constants.mjs';
2
- import type { Logger } from '../../logger.mjs';
2
+ import type { Context } from '../../context.mjs';
3
3
  import type { RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
4
4
  type AdditionalAnnotation = {
5
5
  [MASKED_PROPERTY_KEY]: boolean;
@@ -11,8 +11,8 @@ type AdditionalAnnotation = {
11
11
  * Add annotation to the specification indicating its source, version, and if it was masked
12
12
  * @param specification
13
13
  * @param retrievedModel
14
- * @param _logger
14
+ * @param context
15
15
  */
16
- export declare const addAnnotation: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, _logger?: Logger) => S & AdditionalAnnotation;
16
+ export declare const addAnnotation: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, context: Context) => S & AdditionalAnnotation;
17
17
  export {};
18
18
  //# sourceMappingURL=add-annotation.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-annotation.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/add-annotation.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD,KAAK,oBAAoB,GAAG;IAC1B,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC/B,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAChC,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,UAAU,MAAM,KAAG,CAAC,GAAG,oBASlI,CAAC"}
1
+ {"version":3,"file":"add-annotation.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/add-annotation.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD,KAAK,oBAAoB,GAAG;IAC1B,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC/B,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAChC,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAAC,GAAG,oBAWlI,CAAC"}
@@ -4,10 +4,12 @@ import { MASKED_PROPERTY_KEY, SOURCE_PROPERTY_KEY, TOUCHED_PROPERTY_KEY, VERSION
4
4
  * Add annotation to the specification indicating its source, version, and if it was masked
5
5
  * @param specification
6
6
  * @param retrievedModel
7
- * @param _logger
7
+ * @param context
8
8
  */
9
- export const addAnnotation = (specification, retrievedModel, _logger) => {
9
+ export const addAnnotation = (specification, retrievedModel, context) => {
10
+ const { logger } = context;
10
11
  const { artifactName, version, transform } = retrievedModel;
12
+ logger?.debug?.(`Adding annotation to model from ${artifactName} at ${retrievedModel.model.path}`);
11
13
  return {
12
14
  ...specification,
13
15
  [SOURCE_PROPERTY_KEY]: posix.join(artifactName, retrievedModel.model.path),
@@ -1 +1 @@
1
- {"version":3,"file":"add-annotation.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/add-annotation.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAe7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAA4B,EAAE;IACxJ,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;IAC5D,OAAO;QACL,GAAG,aAAa;QAChB,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1E,CAAC,oBAAoB,CAAC,EAAE,OAAO;QAC/B,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI;QACxC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,SAAS;KACpC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"add-annotation.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/add-annotation.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAe7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmB,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAA4B,EAAE;IACxJ,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,CAAC,mCAAmC,YAAY,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACnG,OAAO;QACL,GAAG,aAAa;QAChB,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1E,CAAC,oBAAoB,CAAC,EAAE,OAAO;QAC/B,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI;QACxC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,SAAS;KACpC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
- import type { Logger } from '../../logger.mjs';
2
- import type { RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
1
+ import type { Context } from '../../context.mjs';
2
+ import { type RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
3
3
  /**
4
4
  * Apply the mask to the model
5
5
  * @param specification
6
6
  * @param retrievedModel
7
- * @param _logger
7
+ * @param context
8
8
  */
9
- export declare const applyMask: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, _logger?: Logger) => S;
9
+ export declare const applyMask: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, context: Context) => S | Promise<S>;
10
10
  //# sourceMappingURL=apply-mask.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-mask.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/apply-mask.mts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAqDnD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,UAAU,MAAM,KAAG,CAK1H,CAAC"}
1
+ {"version":3,"file":"apply-mask.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/apply-mask.mts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2CAA2C,CAAC;AAgDnD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAyHvI,CAAC"}
@@ -1,57 +1,147 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-argument -- due to unknown object structure */
2
- /* eslint-disable @typescript-eslint/no-unsafe-member-access -- due to unknown object structure */
3
- /* eslint-disable @typescript-eslint/no-unsafe-assignment -- due to unknown object structure */
1
+ import { existsSync, promises as fs, } from 'node:fs';
2
+ import { basename, dirname, posix, relative, resolve, sep, } from 'node:path';
3
+ import { GENERATED_REF_PROPERTY_KEY, SUB_MASK_DIRECTORY, } from '../../constants.mjs';
4
+ import { extractDependencyModelsObject, } from '../manifest/extract-dependency-models.mjs';
5
+ import { isRelativePath, } from './transform.mjs';
4
6
  /**
5
- * Recursively apply the mask to model properties
6
- * @param modelProperties
7
- * @param maskProperties
7
+ * Determine the sub-mask file name for a given $ref and parent keys
8
+ * @param ref
9
+ * @param parents
8
10
  */
9
- const maskModelProperties = (modelProperties, maskProperties) => {
10
- return Object.fromEntries(Object.entries(modelProperties)
11
- .filter(([key]) => !!maskProperties && key in maskProperties && maskProperties[key] !== false)
12
- .map(([key, value]) => typeof maskProperties[key] === 'object' ? [key, maskModelProperties(value, maskProperties[key])] : [key, value]));
13
- };
11
+ const determineSubMaskFileName = (ref, parents) => `${parents.map((parent) => parent.charAt(0)?.toLocaleUpperCase() + parent.substring(1)).join('')}_${basename(ref)}`;
14
12
  /**
15
- * Recursively apply the sub-mask to the specification
16
- * @param specification
17
- * @param mask
13
+ * Determine the sub-mask path for a given retrieved model and mask file name
14
+ * @param retrievedModel
18
15
  */
19
- const applySubMask = (specification, mask) => {
20
- const result = { ...specification };
21
- if (!mask || typeof mask !== 'object') {
22
- return result;
23
- }
24
- if ('properties' in mask && 'properties' in result) {
25
- result.properties = maskModelProperties(result.properties, mask.properties);
26
- }
27
- const maskAdditionalProperties = Object.entries(mask)
28
- .filter(([key]) => key !== 'properties');
29
- if (maskAdditionalProperties.length > 0) {
30
- delete result.type;
31
- delete result.properties;
32
- for (const [key, value] of maskAdditionalProperties) {
33
- if (typeof value === 'object') {
34
- result[key] = Array.isArray(value)
35
- ? value.map((subMask) => applySubMask(result[key], subMask))
36
- : value && Object.fromEntries(Object.entries(value).map(([maskKey, subMask]) => ([maskKey, applySubMask(result[key][maskKey], subMask)])));
37
- }
38
- else {
39
- result[key] = value;
40
- }
16
+ const determineSubMaskPath = (retrievedModel) => {
17
+ return resolve(dirname(retrievedModel.outputFilePath), SUB_MASK_DIRECTORY, basename(retrievedModel.outputFilePath).replace(/\.[^.]+$/, ''));
18
+ };
19
+ const splitArtifactModelPaths = async (modelPath, context) => {
20
+ const { logger } = context;
21
+ let projectRoot = modelPath;
22
+ let artifactName = '';
23
+ while (!artifactName && projectRoot !== dirname(projectRoot)) {
24
+ projectRoot = dirname(projectRoot);
25
+ const packageJsonPath = resolve(projectRoot, 'package.json');
26
+ if (existsSync(packageJsonPath)) {
27
+ artifactName = JSON.parse(await fs.readFile(packageJsonPath, { encoding: 'utf8' })).name;
28
+ logger?.debug?.(`Found artifact named ${artifactName} for ${modelPath} sub reference`);
41
29
  }
42
30
  }
43
- return result;
31
+ return {
32
+ artifactName,
33
+ path: relative(projectRoot, modelPath)
34
+ };
44
35
  };
45
36
  /**
46
37
  * Apply the mask to the model
47
38
  * @param specification
48
39
  * @param retrievedModel
49
- * @param _logger
40
+ * @param context
50
41
  */
51
- export const applyMask = (specification, retrievedModel, _logger) => {
52
- if (!retrievedModel.transform) {
42
+ export const applyMask = (specification, retrievedModel, context) => {
43
+ const { logger } = context;
44
+ if (!retrievedModel.transform || !retrievedModel.transform.mask) {
45
+ logger?.debug?.(`No mask found for model from ${retrievedModel.artifactName} at ${retrievedModel.model.path}, skipping mask application`);
53
46
  return specification;
54
47
  }
55
- return applySubMask(specification, retrievedModel.transform.mask);
48
+ /**
49
+ * Handle a $ref in the specification during mask application when the mask needs to be applied to the referenced model
50
+ * @param node
51
+ * @param mask
52
+ * @param parents
53
+ */
54
+ const handleReference = async (node, mask, parents) => {
55
+ if (!isRelativePath(node.$ref)) {
56
+ logger?.debug?.(`Skipping $ref "${node.$ref}" from mask application as it is not a relative path`);
57
+ return node;
58
+ }
59
+ if (node.$ref.startsWith('#')) {
60
+ logger?.debug?.(`Skipping $ref "${node.$ref}" from mask application as it is local reference`);
61
+ return node;
62
+ }
63
+ const modelPath = resolve(dirname(retrievedModel.modelPath), node.$ref);
64
+ const maskFileName = determineSubMaskFileName(node.$ref, parents);
65
+ const outputFileDirectory = determineSubMaskPath(retrievedModel);
66
+ const transform = {
67
+ fileRename: maskFileName,
68
+ mask
69
+ };
70
+ const { artifactName, path } = await splitArtifactModelPaths(modelPath, context);
71
+ const model = {
72
+ path,
73
+ transform
74
+ };
75
+ const extractedModel = await extractDependencyModelsObject(artifactName, model, Promise.resolve(transform), context, outputFileDirectory);
76
+ const { processModel } = await import('../process.mjs');
77
+ await Promise.all(processModel([Promise.resolve(extractedModel)], context));
78
+ return {
79
+ ...node,
80
+ $ref: relative(dirname(retrievedModel.outputFilePath), extractedModel.outputFilePath).replaceAll(sep, posix.sep),
81
+ [GENERATED_REF_PROPERTY_KEY]: true
82
+ };
83
+ };
84
+ /**
85
+ * Apply the property field mask to the specification
86
+ * @param node
87
+ * @param mask
88
+ * @param parents
89
+ */
90
+ const applyPropertyFieldMask = async (node, mask, parents) => {
91
+ if (node === null || node === undefined) {
92
+ return node;
93
+ }
94
+ if (typeof mask !== 'object') {
95
+ return node;
96
+ }
97
+ if (typeof node !== 'object') {
98
+ return undefined;
99
+ }
100
+ return Object.fromEntries(await Promise.all(Object.entries(mask)
101
+ .filter(([key]) => key in node)
102
+ .map(async ([key, subMask]) => ([key, await applySubMask(node[key], subMask, [...parents, key])]))));
103
+ };
104
+ /**
105
+ * Recursively apply the sub-mask to the specification
106
+ * @param node
107
+ * @param mask
108
+ * @param parents
109
+ */
110
+ const applySubMask = async (node, mask, parents) => {
111
+ if (node === null || node === undefined) {
112
+ return node;
113
+ }
114
+ if (typeof node !== 'object') {
115
+ return typeof mask === 'object' ? node : mask;
116
+ }
117
+ else if (Array.isArray(node)) {
118
+ if (Array.isArray(mask)) {
119
+ return (await Promise.all(node
120
+ .map((item, index) => applySubMask(item, mask[index] ?? {}, parents)))).filter((item) => item !== undefined);
121
+ }
122
+ }
123
+ else {
124
+ if ('$ref' in node && typeof node.$ref === 'string' && mask && typeof mask === 'object' && 'properties' in mask) {
125
+ return handleReference(node, mask, parents);
126
+ }
127
+ return typeof mask === 'object'
128
+ ? {
129
+ ...node,
130
+ ...Object.fromEntries(await Promise.all(Object.entries(mask)
131
+ .filter(([key]) => key in node)
132
+ .map(async ([key, subMask]) => {
133
+ const newParents = [...parents, key];
134
+ return [
135
+ key,
136
+ key === 'properties'
137
+ ? await applyPropertyFieldMask(node[key], subMask, parents)
138
+ : await applySubMask(node[key], subMask, newParents)
139
+ ];
140
+ })))
141
+ }
142
+ : (mask ? node : undefined);
143
+ }
144
+ };
145
+ return applySubMask(specification, retrievedModel.transform.mask, []);
56
146
  };
57
147
  //# sourceMappingURL=apply-mask.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-mask.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/apply-mask.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-mask.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/apply-mask.mts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import type { Logger } from '../../logger.mjs';
1
+ import type { Context } from '../../context.mjs';
2
2
  import type { RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
3
3
  /**
4
4
  * Rename the title of the specification
5
5
  * @param specification
6
6
  * @param retrievedModel
7
- * @param _logger
7
+ * @param context
8
8
  */
9
- export declare const renameTitle: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, _logger?: Logger) => S;
9
+ export declare const renameTitle: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, context: Context) => S;
10
10
  //# sourceMappingURL=rename.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rename.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/rename.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,UAAU,MAAM,KAAG,CAU5H,CAAC"}
1
+ {"version":3,"file":"rename.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/rename.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAY5H,CAAC"}
@@ -2,10 +2,12 @@
2
2
  * Rename the title of the specification
3
3
  * @param specification
4
4
  * @param retrievedModel
5
- * @param _logger
5
+ * @param context
6
6
  */
7
- export const renameTitle = (specification, retrievedModel, _logger) => {
7
+ export const renameTitle = (specification, retrievedModel, context) => {
8
+ const { logger } = context;
8
9
  if (retrievedModel.transform?.titleRename) {
10
+ logger?.debug?.(`Renaming title in model from ${retrievedModel.artifactName} at ${retrievedModel.modelPath}`);
9
11
  let title = 'title' in specification ? specification.title : undefined;
10
12
  title = title && title.replace(new RegExp(`^(${title})$`), retrievedModel.transform.titleRename);
11
13
  specification = {
@@ -1 +1 @@
1
- {"version":3,"file":"rename.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/rename.mts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmB,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAAK,EAAE;IAC/H,IAAI,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAC1C,IAAI,KAAK,GAAuB,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACjG,aAAa,GAAG;YACd,GAAG,aAAa;YAChB,KAAK;SACN,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"rename.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/rename.mts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmB,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAAK,EAAE;IAC/H,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAC1C,MAAM,EAAE,KAAK,EAAE,CAAC,gCAAgC,cAAc,CAAC,YAAY,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9G,IAAI,KAAK,GAAuB,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACjG,aAAa,GAAG;YACd,GAAG,aAAa;YAChB,KAAK;SACN,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Logger } from '../../logger.mjs';
1
+ import type { Context } from '../../context.mjs';
2
2
  import type { RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
3
3
  type ReferenceSpecification = {
4
4
  $ref: string;
@@ -9,8 +9,8 @@ type ReferenceSpecification = {
9
9
  * The process will keep the x-vendor properties from the retrieved model
10
10
  * @param specification
11
11
  * @param retrievedModel
12
- * @param logger
12
+ * @param context
13
13
  */
14
- export declare const toReference: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, logger?: Logger) => S | ReferenceSpecification;
14
+ export declare const toReference: <S extends object>(specification: S, retrievedModel: RetrievedDependencyModel, context: Context) => S | ReferenceSpecification;
15
15
  export {};
16
16
  //# sourceMappingURL=to-reference.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-reference.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/to-reference.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,MAAM,KAAG,CAAC,GAAG,sBAU/H,CAAC"}
1
+ {"version":3,"file":"to-reference.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/to-reference.mts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAAC,GAAG,sBAahI,CAAC"}
@@ -1,19 +1,23 @@
1
- import { relative, } from 'node:path';
1
+ import { dirname, posix, relative, sep, } from 'node:path';
2
+ import { GENERATED_REF_PROPERTY_KEY, } from '../../constants.mjs';
2
3
  /**
3
4
  * Transform the specification to a single reference if no transformation required
4
5
  * The process will keep the x-vendor properties from the retrieved model
5
6
  * @param specification
6
7
  * @param retrievedModel
7
- * @param logger
8
+ * @param context
8
9
  */
9
- export const toReference = (specification, retrievedModel, logger) => {
10
+ export const toReference = (specification, retrievedModel, context) => {
11
+ const { logger } = context;
10
12
  if (retrievedModel.transform) {
11
13
  logger?.debug?.(`The specification ${retrievedModel.modelPath} has transform, the conversion to reference will be ignored`);
12
14
  return specification;
13
15
  }
16
+ logger?.debug?.(`Converting specification ${retrievedModel.modelPath} to a $ref`);
14
17
  return {
15
- $ref: relative(retrievedModel.outputFilePath, retrievedModel.modelPath),
16
- ...Object.fromEntries(Object.entries(retrievedModel).filter(([key]) => key.startsWith('x-')))
18
+ ...Object.fromEntries(Object.entries(retrievedModel).filter(([key]) => key.startsWith('x-'))),
19
+ [GENERATED_REF_PROPERTY_KEY]: true,
20
+ $ref: relative(dirname(retrievedModel.outputFilePath), retrievedModel.modelPath).replaceAll(sep, posix.sep)
17
21
  };
18
22
  };
19
23
  //# 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,QAAQ,GACT,MAAM,WAAW,CAAC;AAanB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmB,aAAgB,EAAE,cAAwC,EAAE,MAAe,EAA8B,EAAE;IACvJ,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,CAAC,qBAAqB,cAAc,CAAC,SAAS,6DAA6D,CAAC,CAAC;QAC5H,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,SAAS,CAAC;QACvE,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;KAC9F,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;AAa7B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmB,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAA8B,EAAE;IACxJ,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7B,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,7 +1,12 @@
1
- import type { Logger } from '../../logger.mjs';
1
+ import type { Context } from '../../context.mjs';
2
2
  import type { RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
3
3
  /**
4
4
  * Transform a specification with specified transformation function
5
5
  */
6
- export type Transform<S extends object = object, T = any> = (specification: S, retrievedModel: RetrievedDependencyModel, logger?: Logger) => T | Promise<T>;
6
+ export type Transform<S extends object = object, T = any> = (specification: S, retrievedModel: RetrievedDependencyModel, context: Context) => T | Promise<T>;
7
+ /**
8
+ * Determine if a path is relative
9
+ * @param path
10
+ */
11
+ export declare const isRelativePath: (path: string) => boolean;
7
12
  //# sourceMappingURL=transform.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/transform.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"transform.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/transform.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7J;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OAE7C,CAAC"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ import { isAbsolute, } from 'node:path';
2
+ /**
3
+ * Determine if a path is relative
4
+ * @param path
5
+ */
6
+ export const isRelativePath = (path) => {
7
+ return !URL.canParse(path) && !isAbsolute(path);
8
+ };
2
9
  //# sourceMappingURL=transform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/transform.mts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"transform.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/transform.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GACX,MAAM,WAAW,CAAC;AAanB;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE;IACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC"}
@@ -1,15 +1,10 @@
1
- import { REF_REWRITE_PROPERTY_KEY } from '../../constants.mjs';
2
- import type { Logger } from '../../logger.mjs';
1
+ import type { Context } from '../../context.mjs';
3
2
  import type { RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
4
- type AdditionalAnnotation = {
5
- [REF_REWRITE_PROPERTY_KEY]: boolean;
6
- };
7
3
  /**
8
4
  * Update the $ref references in the specification to be relative to the model path
9
5
  * @param specification
10
6
  * @param receivedModel
11
- * @param _logger
7
+ * @param context
12
8
  */
13
- export declare const updateReferences: <S extends object>(specification: S, receivedModel: RetrievedDependencyModel, _logger?: Logger) => S & AdditionalAnnotation;
14
- export {};
9
+ export declare const updateReferences: <S extends object>(specification: S, receivedModel: RetrievedDependencyModel, context: Context) => S;
15
10
  //# sourceMappingURL=update-references.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-references.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/update-references.mts"],"names":[],"mappings":"AAQA,OAAO,EACL,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAMnD,KAAK,oBAAoB,GAAG;IAC1B,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,eAAe,wBAAwB,EAAE,UAAU,MAAM,KAAG,CAAC,GAAG,oBA4BpI,CAAC"}
1
+ {"version":3,"file":"update-references.d.mts","sourceRoot":"","sources":["../../../../src/core/transforms/update-references.mts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,2CAA2C,CAAC;AAKnD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,eAAe,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAoDhI,CAAC"}
@@ -1,17 +1,14 @@
1
- import { isAbsolute, resolve, } from 'node:path';
2
- import { dirname, relative, } from 'node:path/posix';
3
- import { REF_REWRITE_PROPERTY_KEY, } from '../../constants.mjs';
4
- const isRelativePath = (path) => {
5
- return !URL.canParse(path) && !isAbsolute(path);
6
- };
1
+ import { basename, dirname, posix, relative, resolve, sep, } from 'node:path';
2
+ import { GENERATED_REF_PROPERTY_KEY, REF_REWRITTEN_PROPERTY_KEY, } from '../../constants.mjs';
3
+ import { isRelativePath, } from './transform.mjs';
7
4
  /**
8
5
  * Update the $ref references in the specification to be relative to the model path
9
6
  * @param specification
10
7
  * @param receivedModel
11
- * @param _logger
8
+ * @param context
12
9
  */
13
- export const updateReferences = (specification, receivedModel, _logger) => {
14
- let hasTouchedReference = false;
10
+ export const updateReferences = (specification, receivedModel, context) => {
11
+ const { logger } = context;
15
12
  const walkSpecification = (specItem) => {
16
13
  if (typeof specItem === 'object') {
17
14
  if (specItem === null) {
@@ -21,19 +18,40 @@ export const updateReferences = (specification, receivedModel, _logger) => {
21
18
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- due to unknown object structure
22
19
  return specItem.map((item) => walkSpecification(item));
23
20
  }
24
- return Object.fromEntries(Object.entries(specItem).map(([key, value]) => {
21
+ let hasTouchedReference = false;
22
+ const newSpecItem = Object.fromEntries(Object.entries(specItem).map(([key, value]) => {
25
23
  if (key === '$ref' && typeof value === 'string' && isRelativePath(value)) {
26
- value = relative(dirname(receivedModel.outputFilePath), resolve(dirname(receivedModel.modelPath), value));
27
- hasTouchedReference = true;
24
+ if (GENERATED_REF_PROPERTY_KEY in specItem && !!specItem[GENERATED_REF_PROPERTY_KEY]) {
25
+ logger?.debug?.(`Skipping the rewriting of the generated $ref reference "${value}" in model from ${receivedModel.artifactName} at ${receivedModel.modelPath}`);
26
+ }
27
+ else {
28
+ if (value.startsWith('#')) {
29
+ const localRefItem = value.slice(1).split('/').reduce((acc, part) => part ? acc?.[part] : acc, specification);
30
+ if (localRefItem) {
31
+ logger?.debug?.(`The local reference "${value}" in model from ${receivedModel.artifactName} at ${receivedModel.modelPath} `
32
+ + 'is still valid, no rewriting needed');
33
+ return [key, value];
34
+ }
35
+ logger?.debug?.(`The local reference "${value}" in model from ${receivedModel.artifactName} at ${receivedModel.modelPath} `
36
+ + 'is not valid anymore, the original model will be used as base for rewriting');
37
+ value = basename(receivedModel.modelPath) + value;
38
+ }
39
+ const rewrittenReference = relative(dirname(receivedModel.outputFilePath), resolve(dirname(receivedModel.modelPath), value)).replaceAll(sep, posix.sep);
40
+ logger?.debug?.(`Rewriting $ref reference "${value}" to "${rewrittenReference}" in model from ${receivedModel.artifactName} at ${receivedModel.modelPath}`);
41
+ value = rewrittenReference;
42
+ hasTouchedReference = true;
43
+ }
44
+ return [key, value];
28
45
  }
29
46
  return [key, walkSpecification(value)];
30
47
  }));
48
+ return {
49
+ ...newSpecItem,
50
+ ...(hasTouchedReference ? { [REF_REWRITTEN_PROPERTY_KEY]: true } : {})
51
+ };
31
52
  }
32
53
  return specItem;
33
54
  };
34
- return {
35
- ...walkSpecification(specification),
36
- [REF_REWRITE_PROPERTY_KEY]: hasTouchedReference
37
- };
55
+ return walkSpecification(specification);
38
56
  };
39
57
  //# sourceMappingURL=update-references.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-references.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/update-references.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,OAAO,EACP,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAQ7B,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE;IAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AAMF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAmB,aAAgB,EAAE,aAAuC,EAAE,OAAgB,EAA4B,EAAE;IAC1J,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,MAAM,iBAAiB,GAAG,CAAK,QAAW,EAAK,EAAE;QAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,kGAAkG;gBAClG,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAM,CAAC;YAC9D,CAAC;YAED,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAChF,IAAI,GAAG,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC1G,mBAAmB,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,CAAM,CAAC;QACX,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,iBAAiB,CAAC,aAAa,CAAC;QACnC,CAAC,wBAAwB,CAAC,EAAE,mBAAmB;KAChD,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"update-references.mjs","sourceRoot":"","sources":["../../../../src/core/transforms/update-references.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.mts","sourceRoot":"","sources":["../../src/main.mts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,cAAc,CAAC;AAEtB,uCAAuC;AACvC,MAAM,WAAW,0BAA0B;IACzC,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,yBAAwB,EAAE,UAAU,0BAA0B,KAAG,OAAO,CAAC,IAAI,CAyBtH,CAAC"}
1
+ {"version":3,"file":"main.d.mts","sourceRoot":"","sources":["../../src/main.mts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,MAAM,EACP,MAAM,cAAc,CAAC;AAEtB,uCAAuC;AACvC,MAAM,WAAW,0BAA0B;IACzC,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,yBAAwB,EAAE,UAAU,0BAA0B,KAAG,OAAO,CAAC,IAAI,CA6BtH,CAAC"}
package/src/main.mjs CHANGED
@@ -11,19 +11,23 @@ import { processModel, } from './core/process.mjs';
11
11
  export const installDependencies = async (workingDirectory = cwd(), options) => {
12
12
  const { logger = console } = options || {};
13
13
  const manifest = await retrieveManifest(workingDirectory, logger);
14
+ const context = {
15
+ cwd: workingDirectory,
16
+ logger
17
+ };
14
18
  if (!manifest) {
15
19
  logger?.info('No Manifest file discovered');
16
20
  return;
17
21
  }
18
- await cleanOutputDirectory(workingDirectory);
19
- const models = extractDependencyModels(workingDirectory, manifest, logger);
20
- const results = await Promise.allSettled(processModel(models, logger));
22
+ await cleanOutputDirectory(context);
23
+ const models = extractDependencyModels(manifest, context);
24
+ const results = await Promise.allSettled(processModel(models, context));
21
25
  const rejected = results
22
26
  .filter((result) => result.status === 'rejected');
23
27
  if (rejected.length > 0) {
24
28
  logger?.error(`Failed to retrieve some models:`);
25
29
  rejected.forEach((result) => logger?.error(result.reason));
26
- await cleanOutputDirectory(workingDirectory);
30
+ await cleanOutputDirectory(context);
27
31
  throw new Error('Failed to retrieve some models');
28
32
  }
29
33
  logger?.info(`Successfully retrieved all models`);
package/src/main.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.mjs","sourceRoot":"","sources":["../../src/main.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,GACJ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,uBAAuB,GACxB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,YAAY,GACb,MAAM,oBAAoB,CAAC;AAW5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAAgB,GAAG,GAAG,EAAE,EAAE,OAAoC,EAAiB,EAAE;IACzH,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,OAAO;SACrB,MAAM,CAAC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAErF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,EAAE,IAAI,CAAC,mCAAmC,CAAC,CAAC;AACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"main.mjs","sourceRoot":"","sources":["../../src/main.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,GACJ,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,uBAAuB,GACxB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,YAAY,GACb,MAAM,oBAAoB,CAAC;AAW5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,gBAAgB,GAAG,GAAG,EAAE,EAAE,OAAoC,EAAiB,EAAE;IACzH,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,gBAAgB;QACrB,MAAM;KACW,CAAC;IAEpB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,OAAO;SACrB,MAAM,CAAC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAErF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,EAAE,IAAI,CAAC,mCAAmC,CAAC,CAAC;AACpD,CAAC,CAAC"}