@ama-openapi/core 0.0.0-placeholder → 0.0.0-placeholder.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +11 -10
- package/renovate/default.json +10 -0
- package/schemas/manifest.schema.json +8 -41
- package/schemas/transform.schema.json +45 -0
- package/src/constants.d.mts +8 -4
- package/src/constants.d.mts.map +1 -1
- package/src/constants.mjs +11 -5
- package/src/constants.mjs.map +1 -1
- package/src/context.d.mts +11 -0
- package/src/context.d.mts.map +1 -0
- package/src/context.mjs +2 -0
- package/src/context.mjs.map +1 -0
- package/src/core/file-system/cleaner.d.mts +3 -2
- package/src/core/file-system/cleaner.d.mts.map +1 -1
- package/src/core/file-system/cleaner.mjs +6 -3
- package/src/core/file-system/cleaner.mjs.map +1 -1
- package/src/core/file-system/parse-file.d.mts +2 -2
- package/src/core/file-system/parse-file.mjs +2 -2
- package/src/core/file-system/relative-path.d.mts +6 -0
- package/src/core/file-system/relative-path.d.mts.map +1 -0
- package/src/core/file-system/relative-path.mjs +9 -0
- package/src/core/file-system/relative-path.mjs.map +1 -0
- package/src/core/file-system/write-model.d.mts +3 -1
- package/src/core/file-system/write-model.d.mts.map +1 -1
- package/src/core/file-system/write-model.mjs +13 -4
- package/src/core/file-system/write-model.mjs.map +1 -1
- package/src/core/manifest/extract-dependency-models.d.mts +17 -9
- package/src/core/manifest/extract-dependency-models.d.mts.map +1 -1
- package/src/core/manifest/extract-dependency-models.mjs +45 -38
- package/src/core/manifest/extract-dependency-models.mjs.map +1 -1
- package/src/core/manifest/manifest.d.mts +3 -4
- package/src/core/manifest/manifest.d.mts.map +1 -1
- package/src/core/manifest/manifest.mjs +15 -16
- package/src/core/manifest/manifest.mjs.map +1 -1
- package/src/core/process.d.mts +9 -0
- package/src/core/process.d.mts.map +1 -0
- package/src/core/process.mjs +30 -0
- package/src/core/process.mjs.map +1 -0
- package/src/core/serialization.mjs +3 -3
- package/src/core/serialization.mjs.map +1 -1
- package/src/core/transforms/add-annotation.d.mts +4 -3
- package/src/core/transforms/add-annotation.d.mts.map +1 -1
- package/src/core/transforms/add-annotation.mjs +4 -2
- package/src/core/transforms/add-annotation.mjs.map +1 -1
- package/src/core/transforms/apply-mask.d.mts +5 -4
- package/src/core/transforms/apply-mask.d.mts.map +1 -1
- package/src/core/transforms/apply-mask.mjs +139 -39
- package/src/core/transforms/apply-mask.mjs.map +1 -1
- package/src/core/transforms/rename.d.mts +6 -3
- package/src/core/transforms/rename.d.mts.map +1 -1
- package/src/core/transforms/rename.mjs +6 -4
- package/src/core/transforms/rename.mjs.map +1 -1
- package/src/core/transforms/to-reference.d.mts +6 -3
- package/src/core/transforms/to-reference.d.mts.map +1 -1
- package/src/core/transforms/to-reference.mjs +9 -5
- package/src/core/transforms/to-reference.mjs.map +1 -1
- package/src/core/transforms/transform.d.mts +6 -2
- package/src/core/transforms/transform.d.mts.map +1 -1
- package/src/core/transforms/update-references.d.mts +4 -8
- package/src/core/transforms/update-references.d.mts.map +1 -1
- package/src/core/transforms/update-references.mjs +34 -16
- package/src/core/transforms/update-references.mjs.map +1 -1
- package/src/main.d.mts.map +1 -1
- package/src/main.mjs +9 -25
- package/src/main.mjs.map +1 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { promises as fs, } from 'node:fs';
|
|
2
2
|
import { createRequire, } from 'node:module';
|
|
3
|
-
import { basename, dirname,
|
|
4
|
-
import { load, } from 'js-yaml';
|
|
3
|
+
import { basename, dirname, join, resolve, } from 'node:path';
|
|
5
4
|
import { OUTPUT_DIRECTORY, } from '../../constants.mjs';
|
|
6
|
-
import { isJsonFile, } from '../file-system/parse-file.mjs';
|
|
7
|
-
const require = createRequire(import.meta.url);
|
|
5
|
+
import { isJsonFile, parseFile, } from '../file-system/parse-file.mjs';
|
|
8
6
|
/**
|
|
9
7
|
* Sanitize the package path to be used in file system
|
|
10
8
|
* @param artifactName
|
|
@@ -22,28 +20,39 @@ const sanitizePackagePath = (artifactName) => {
|
|
|
22
20
|
const retrieveTransform = async (cwd, transform) => {
|
|
23
21
|
if (typeof transform === 'string') {
|
|
24
22
|
const transformPath = resolve(cwd, transform);
|
|
25
|
-
|
|
26
|
-
return extname(transformPath).toLowerCase() === '.json'
|
|
27
|
-
? JSON.parse(fileContent)
|
|
28
|
-
: load(fileContent);
|
|
23
|
+
return parseFile(transformPath);
|
|
29
24
|
}
|
|
30
25
|
return transform;
|
|
31
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* Get information for artifactory manifest file
|
|
29
|
+
* @param require
|
|
30
|
+
* @param artifactName
|
|
31
|
+
*/
|
|
32
|
+
const getArtifactInfo = async (require, artifactName) => {
|
|
33
|
+
const artifactPackageJson = require.resolve(`${artifactName}/package.json`);
|
|
34
|
+
const artifactBasePath = dirname(artifactPackageJson);
|
|
35
|
+
const packageJsonContent = await fs.readFile(artifactPackageJson, { encoding: 'utf8' });
|
|
36
|
+
const version = JSON.parse(packageJsonContent).version || 'latest';
|
|
37
|
+
return { artifactBasePath, version };
|
|
38
|
+
};
|
|
32
39
|
/**
|
|
33
40
|
* Extract dependency model given simple model definition (as string or boolean)
|
|
34
41
|
* @param cwd
|
|
35
42
|
* @param artifactName
|
|
36
43
|
* @param modelName
|
|
44
|
+
* @param logger
|
|
45
|
+
* @param outputDirectory
|
|
37
46
|
*/
|
|
38
|
-
const extractDependencyModelsSimple = async (cwd, artifactName, modelName) => {
|
|
39
|
-
|
|
40
|
-
const
|
|
47
|
+
const extractDependencyModelsSimple = async (cwd, artifactName, modelName, logger, outputDirectory = OUTPUT_DIRECTORY) => {
|
|
48
|
+
logger?.debug?.(`extracting model ${modelName} from ${outputDirectory}`);
|
|
49
|
+
const require = createRequire(resolve(cwd, 'package.json'));
|
|
50
|
+
const { artifactBasePath, version } = await getArtifactInfo(require, artifactName);
|
|
41
51
|
const modelPath = typeof modelName === 'string' ? join(artifactBasePath, modelName) : require.resolve(artifactName);
|
|
42
|
-
const version = await fs.readFile(artifactPackageJson, { encoding: 'utf8' }).then((data) => JSON.parse(data).version || 'latest');
|
|
43
52
|
const content = await fs.readFile(modelPath, { encoding: 'utf8' });
|
|
44
53
|
const path = typeof modelName === 'string' ? modelName : artifactName;
|
|
45
54
|
const model = { path };
|
|
46
|
-
const outputFilePath = resolve(cwd,
|
|
55
|
+
const outputFilePath = resolve(cwd, outputDirectory, sanitizePackagePath(artifactName), model.path);
|
|
47
56
|
return {
|
|
48
57
|
outputFilePath,
|
|
49
58
|
artifactBasePath,
|
|
@@ -54,29 +63,29 @@ const extractDependencyModelsSimple = async (cwd, artifactName, modelName) => {
|
|
|
54
63
|
model: {
|
|
55
64
|
path
|
|
56
65
|
},
|
|
57
|
-
|
|
66
|
+
isInputJson: isJsonFile(modelPath),
|
|
67
|
+
isOutputJson: isJsonFile(outputFilePath)
|
|
58
68
|
};
|
|
59
69
|
};
|
|
60
70
|
/**
|
|
61
71
|
* Extract dependency model given full model definition
|
|
62
|
-
* @param cwd
|
|
63
72
|
* @param artifactName
|
|
64
73
|
* @param model
|
|
65
74
|
* @param transformPromise
|
|
75
|
+
* @param context
|
|
76
|
+
* @param outputDirectory
|
|
66
77
|
*/
|
|
67
|
-
const extractDependencyModelsObject = async (
|
|
78
|
+
export const extractDependencyModelsObject = async (artifactName, model, transformPromise, context, outputDirectory = OUTPUT_DIRECTORY) => {
|
|
79
|
+
const { cwd, logger } = context;
|
|
80
|
+
const require = createRequire(resolve(cwd, 'package.json'));
|
|
68
81
|
const transform = await transformPromise;
|
|
69
|
-
const
|
|
70
|
-
const artifactBasePath = dirname(artifactPackageJson);
|
|
82
|
+
const { artifactBasePath, version } = await getArtifactInfo(require, artifactName);
|
|
71
83
|
const modelPath = model.path ? join(artifactBasePath, model.path) : require.resolve(artifactName);
|
|
72
|
-
const version = await fs.readFile(artifactPackageJson, { encoding: 'utf8' }).then((data) => JSON.parse(data).version || 'latest');
|
|
73
84
|
const content = await fs.readFile(modelPath, { encoding: 'utf8' });
|
|
74
|
-
|
|
75
|
-
const path = model.path ||
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
const fileNameOutput = replaceName || path;
|
|
79
|
-
const outputFilePath = resolve(cwd, OUTPUT_DIRECTORY, sanitizePackagePath(artifactName), fileNameOutput);
|
|
85
|
+
logger?.debug?.(`extracting model ${modelPath} from ${outputDirectory}`);
|
|
86
|
+
const path = model.path || require.resolve(artifactName).split(artifactName)[1];
|
|
87
|
+
const fileNameOutput = transform?.fileRename ? path.replace(new RegExp(`(${basename(path).replaceAll('.', '\\.')})$`), transform.fileRename) : path;
|
|
88
|
+
const outputFilePath = resolve(cwd, outputDirectory, sanitizePackagePath(artifactName), fileNameOutput);
|
|
80
89
|
return {
|
|
81
90
|
transform,
|
|
82
91
|
outputFilePath,
|
|
@@ -89,24 +98,22 @@ const extractDependencyModelsObject = async (cwd, artifactName, model, transform
|
|
|
89
98
|
...model,
|
|
90
99
|
path
|
|
91
100
|
},
|
|
92
|
-
|
|
101
|
+
isInputJson: isJsonFile(modelPath),
|
|
102
|
+
isOutputJson: isJsonFile(outputFilePath)
|
|
93
103
|
};
|
|
94
104
|
};
|
|
95
105
|
/**
|
|
96
106
|
* Extract dependency models from the manifest
|
|
97
|
-
* @param cwd
|
|
98
107
|
* @param manifest
|
|
99
|
-
* @param
|
|
108
|
+
* @param context
|
|
100
109
|
*/
|
|
101
|
-
export const extractDependencyModels = (
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
: [extractDependencyModelsObject(cwd, dependencyName, model, retrieveTransform(cwd, model.transform))]));
|
|
110
|
-
});
|
|
110
|
+
export const extractDependencyModels = (manifest, context) => {
|
|
111
|
+
const { logger, cwd } = context;
|
|
112
|
+
logger?.info(`${Object.keys(manifest.models).length} dependencies models found in the manifest`);
|
|
113
|
+
logger?.debug?.('Extracting information from the manifest configuration: ', manifest);
|
|
114
|
+
return Object.entries(manifest.models).flatMap(([dependencyName, modelDefinition]) => (Array.isArray(modelDefinition) ? modelDefinition : [modelDefinition])
|
|
115
|
+
.map((model) => (typeof model === 'string' || typeof model === 'boolean')
|
|
116
|
+
? extractDependencyModelsSimple(cwd, dependencyName, model, logger)
|
|
117
|
+
: extractDependencyModelsObject(dependencyName, model, retrieveTransform(cwd, model.transform), context)));
|
|
111
118
|
};
|
|
112
119
|
//# 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":"AAAA,OAAO,EACL,QAAQ,IAAI,EAAE,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"extract-dependency-models.mjs","sourceRoot":"","sources":["../../../../src/core/manifest/extract-dependency-models.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { PackageJson } from 'type-fest';
|
|
2
1
|
import type { Logger } from '../../logger.mjs';
|
|
3
2
|
/**
|
|
4
3
|
* Mask object for filtering properties
|
|
@@ -13,7 +12,7 @@ export interface Transform {
|
|
|
13
12
|
/** Rename the model */
|
|
14
13
|
titleRename?: string;
|
|
15
14
|
/** Rename the outputted file (without extension) */
|
|
16
|
-
fileRename
|
|
15
|
+
fileRename?: string;
|
|
17
16
|
}
|
|
18
17
|
type TransformOrReference = Transform | string;
|
|
19
18
|
/**
|
|
@@ -26,14 +25,14 @@ export interface Model {
|
|
|
26
25
|
* Transforms to apply to the model
|
|
27
26
|
* Note that for each transform object, a new definition will be generated
|
|
28
27
|
*/
|
|
29
|
-
transform?: TransformOrReference
|
|
28
|
+
transform?: TransformOrReference;
|
|
30
29
|
}
|
|
31
30
|
/** List of supported types for an Model */
|
|
32
31
|
export type SupportedModelTypes = string | Model | boolean;
|
|
33
32
|
/** Models dependencies */
|
|
34
33
|
export type Models = Record<string, SupportedModelTypes | SupportedModelTypes[]>;
|
|
35
34
|
/** Manifest file structure */
|
|
36
|
-
export type Manifest =
|
|
35
|
+
export type Manifest = {
|
|
37
36
|
models: Models;
|
|
38
37
|
};
|
|
39
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.mts","sourceRoot":"","sources":["../../../../src/core/manifest/manifest.mts"],"names":[],"mappings":"
|
|
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,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;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,9 +1,9 @@
|
|
|
1
1
|
import { existsSync, promises as fs, } from 'node:fs';
|
|
2
|
-
import {
|
|
2
|
+
import { resolve, } from 'node:path';
|
|
3
3
|
import { fileURLToPath, } from 'node:url';
|
|
4
4
|
import { Ajv, } from 'ajv';
|
|
5
|
-
import { load, } from 'js-yaml';
|
|
6
5
|
import { DEFAULT_MANIFEST_FILENAMES, } from '../../constants.mjs';
|
|
6
|
+
import { parseFile, } from '../file-system/parse-file.mjs';
|
|
7
7
|
/**
|
|
8
8
|
* Validate the manifest file
|
|
9
9
|
* @param manifest
|
|
@@ -14,15 +14,17 @@ const isValidManifest = async (manifest, manifestPath, logger) => {
|
|
|
14
14
|
if (!manifest || (typeof manifest === 'object' && !('models' in manifest))) {
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
|
+
const schemaManifestPath = resolve(fileURLToPath(new URL('.', import.meta.url)), '..', '..', '..', 'schemas', 'manifest.schema.json');
|
|
18
|
+
const schemaTransformPath = resolve(fileURLToPath(new URL('.', import.meta.url)), '..', '..', '..', 'schemas', 'transform.schema.json');
|
|
19
|
+
const schemaManifest = JSON.parse(await fs.readFile(schemaManifestPath, { encoding: 'utf8' }));
|
|
20
|
+
const schemaTransform = JSON.parse(await fs.readFile(schemaTransformPath, { encoding: 'utf8' }));
|
|
17
21
|
const ajv = new Ajv();
|
|
18
|
-
const
|
|
19
|
-
const schema = JSON.parse(await fs.readFile(schemaPath, { encoding: 'utf8' }));
|
|
20
|
-
const validate = ajv.compile(schema);
|
|
22
|
+
const validate = ajv.addSchema(schemaTransform).compile(schemaManifest);
|
|
21
23
|
const isValid = validate(manifest);
|
|
22
24
|
if (!isValid) {
|
|
23
|
-
logger
|
|
24
|
-
logger
|
|
25
|
-
throw new Error('Invalid
|
|
25
|
+
logger?.error(`${manifestPath} is invalid. Errors:`);
|
|
26
|
+
logger?.error(validate.errors);
|
|
27
|
+
throw new Error('Invalid Manifest');
|
|
26
28
|
}
|
|
27
29
|
return true;
|
|
28
30
|
};
|
|
@@ -31,23 +33,20 @@ const isValidManifest = async (manifest, manifestPath, logger) => {
|
|
|
31
33
|
* @param workspaceDirectory
|
|
32
34
|
* @param logger
|
|
33
35
|
*/
|
|
34
|
-
export const retrieveManifest = async (workspaceDirectory, logger
|
|
36
|
+
export const retrieveManifest = async (workspaceDirectory, logger) => {
|
|
35
37
|
for (const manifestFileName of DEFAULT_MANIFEST_FILENAMES) {
|
|
36
38
|
const manifestPath = resolve(workspaceDirectory, manifestFileName);
|
|
37
39
|
if (!existsSync(manifestPath)) {
|
|
38
|
-
logger
|
|
40
|
+
logger?.debug?.(`Manifest file not found at ${manifestPath}`);
|
|
39
41
|
continue;
|
|
40
42
|
}
|
|
41
|
-
const
|
|
42
|
-
const manifest = (extname(manifestPath).toLowerCase() === '.json'
|
|
43
|
-
? JSON.parse(content)
|
|
44
|
-
: load(content));
|
|
43
|
+
const manifest = await parseFile(manifestPath);
|
|
45
44
|
if (await isValidManifest(manifest, manifestPath, logger)) {
|
|
46
|
-
logger
|
|
45
|
+
logger?.info?.(`Manifest file found at ${manifestPath}`);
|
|
47
46
|
return manifest;
|
|
48
47
|
}
|
|
49
48
|
else {
|
|
50
|
-
logger
|
|
49
|
+
logger?.debug?.(`Manifest file at ${manifestPath} is not conform to the expected schema`);
|
|
51
50
|
}
|
|
52
51
|
}
|
|
53
52
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.mjs","sourceRoot":"","sources":["../../../../src/core/manifest/manifest.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,IAAI,EAAE,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"manifest.mjs","sourceRoot":"","sources":["../../../../src/core/manifest/manifest.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Context } from '../context.mjs';
|
|
2
|
+
import type { RetrievedDependencyModel } from './manifest/extract-dependency-models.mjs';
|
|
3
|
+
/**
|
|
4
|
+
* Process a set of retrieved dependency models to apply transformations and write them to files
|
|
5
|
+
* @param models
|
|
6
|
+
* @param context
|
|
7
|
+
*/
|
|
8
|
+
export declare const processModel: (models: Promise<RetrievedDependencyModel>[], context: Context) => Promise<void>[];
|
|
9
|
+
//# sourceMappingURL=process.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.d.mts","sourceRoot":"","sources":["../../../src/core/process.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,0CAA0C,CAAC;AAwBlD;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,CAAC,wBAAwB,CAAC,EAAE,EAAE,SAAS,OAAO,oBAkBzF,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { writeModelFile, } from './file-system/write-model.mjs';
|
|
2
|
+
import { deserialize, serialize, } from './serialization.mjs';
|
|
3
|
+
import { addAnnotation, } from './transforms/add-annotation.mjs';
|
|
4
|
+
import { applyMask, } from './transforms/apply-mask.mjs';
|
|
5
|
+
import { renameTitle, } from './transforms/rename.mjs';
|
|
6
|
+
import { toReference, } from './transforms/to-reference.mjs';
|
|
7
|
+
import { updateReferences, } from './transforms/update-references.mjs';
|
|
8
|
+
/**
|
|
9
|
+
* Process a set of retrieved dependency models to apply transformations and write them to files
|
|
10
|
+
* @param models
|
|
11
|
+
* @param context
|
|
12
|
+
*/
|
|
13
|
+
export const processModel = (models, context) => {
|
|
14
|
+
const { logger } = context;
|
|
15
|
+
return models
|
|
16
|
+
.map(async (retrievedModelPromise) => {
|
|
17
|
+
const retrievedModel = await retrievedModelPromise;
|
|
18
|
+
logger?.debug?.(`Retrieved model from ${retrievedModel.artifactName} at ${retrievedModel.modelPath}`);
|
|
19
|
+
const transforms = [toReference, addAnnotation, applyMask, updateReferences, renameTitle];
|
|
20
|
+
const modelObj = await transforms.reduce(async (acc, transform) => transform(await acc, retrievedModel, context), Promise.resolve(deserialize(retrievedModel.content, retrievedModel)));
|
|
21
|
+
return {
|
|
22
|
+
...retrievedModel,
|
|
23
|
+
content: serialize(modelObj, retrievedModel)
|
|
24
|
+
};
|
|
25
|
+
})
|
|
26
|
+
.map(async (processedModel) => {
|
|
27
|
+
await writeModelFile(await processedModel, context);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=process.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.mjs","sourceRoot":"","sources":["../../../src/core/process.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,GACf,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,WAAW,EACX,SAAS,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,SAAS,GACV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,GACZ,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAA2C,EAAE,OAAgB,EAAE,EAAE;IAC5F,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,OAAO,MAAM;SACV,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE;QACnC,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC;QACnD,MAAM,EAAE,KAAK,EAAE,CAAC,wBAAwB,cAAc,CAAC,YAAY,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAEtG,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAChE,SAAS,CAAC,MAAM,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAoB,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QAC1I,OAAO;YACL,GAAG,cAAc;YACjB,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;SAC7C,CAAC;IACJ,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;QAC5B,MAAM,cAAc,CAAC,MAAM,cAAc,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { dump, load, } from 'js-yaml';
|
|
|
5
5
|
* @param model
|
|
6
6
|
*/
|
|
7
7
|
export const deserialize = (specification, model) => {
|
|
8
|
-
if (model.
|
|
8
|
+
if (model.isInputJson) {
|
|
9
9
|
return JSON.parse(specification);
|
|
10
10
|
}
|
|
11
11
|
return load(specification);
|
|
@@ -16,9 +16,9 @@ export const deserialize = (specification, model) => {
|
|
|
16
16
|
* @param model
|
|
17
17
|
*/
|
|
18
18
|
export const serialize = (specification, model) => {
|
|
19
|
-
if (model.
|
|
19
|
+
if (model.isOutputJson) {
|
|
20
20
|
return JSON.stringify(specification, null, 2);
|
|
21
21
|
}
|
|
22
|
-
return dump(specification);
|
|
22
|
+
return dump(specification, { lineWidth: -1 });
|
|
23
23
|
};
|
|
24
24
|
//# sourceMappingURL=serialization.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.mjs","sourceRoot":"","sources":["../../../src/core/serialization.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,IAAI,GACL,MAAM,SAAS,CAAC;AAKjB;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,aAAqB,EAAE,KAA+B,EAAO,EAAE;IACzF,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"serialization.mjs","sourceRoot":"","sources":["../../../src/core/serialization.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,IAAI,GACL,MAAM,SAAS,CAAC;AAKjB;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,aAAqB,EAAE,KAA+B,EAAO,EAAE;IACzF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,aAAkB,EAAE,KAA+B,EAAU,EAAE;IACvF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MASKED_PROPERTY_KEY, SOURCE_PROPERTY_KEY, TOUCHED_PROPERTY_KEY, VERSION_PROPERTY_KEY } from '../../constants.mjs';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Context } from '../../context.mjs';
|
|
3
3
|
import type { RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
|
|
4
|
+
import type { SpecificationFile } from './transform.mjs';
|
|
4
5
|
type AdditionalAnnotation = {
|
|
5
6
|
[MASKED_PROPERTY_KEY]: boolean;
|
|
6
7
|
[TOUCHED_PROPERTY_KEY]: boolean;
|
|
@@ -11,8 +12,8 @@ type AdditionalAnnotation = {
|
|
|
11
12
|
* Add annotation to the specification indicating its source, version, and if it was masked
|
|
12
13
|
* @param specification
|
|
13
14
|
* @param retrievedModel
|
|
14
|
-
* @param
|
|
15
|
+
* @param context
|
|
15
16
|
*/
|
|
16
|
-
export declare const addAnnotation: <S extends
|
|
17
|
+
export declare const addAnnotation: <S extends SpecificationFile>(specification: S, retrievedModel: RetrievedDependencyModel, context: Context) => S & AdditionalAnnotation;
|
|
17
18
|
export {};
|
|
18
19
|
//# 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,
|
|
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;AACnD,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,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,iBAAiB,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAAC,GAAG,oBAW7I,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
|
|
7
|
+
* @param context
|
|
8
8
|
*/
|
|
9
|
-
export const addAnnotation = (specification, retrievedModel,
|
|
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;
|
|
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;AAkB7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAA8B,aAAgB,EAAE,cAAwC,EAAE,OAAgB,EAA4B,EAAE;IACnK,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,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
1
|
+
import type { Context } from '../../context.mjs';
|
|
2
|
+
import { type RetrievedDependencyModel } from '../manifest/extract-dependency-models.mjs';
|
|
3
|
+
import type { SpecificationFile } from './transform.mjs';
|
|
3
4
|
/**
|
|
4
5
|
* Apply the mask to the model
|
|
5
6
|
* @param specification
|
|
6
7
|
* @param retrievedModel
|
|
7
|
-
* @param
|
|
8
|
+
* @param context
|
|
8
9
|
*/
|
|
9
|
-
export declare const applyMask: <S extends
|
|
10
|
+
export declare const applyMask: <S extends SpecificationFile>(specification: S, retrievedModel: RetrievedDependencyModel, context: Context) => S | Promise<S>;
|
|
10
11
|
//# 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":"
|
|
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;AAI3B,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2CAA2C,CAAC;AAInD,OAAO,KAAK,EACV,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAsKzB;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,iBAAiB,EAAE,eAAe,CAAC,EAAE,gBAAgB,wBAAwB,EAAE,SAAS,OAAO,KAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CASlJ,CAAC"}
|