@axinom/mosaic-cli 0.3.11-rc.1 → 0.4.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.
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env ts-node-script
|
|
2
|
+
import { AsyncAPIDocument } from '@asyncapi/parser';
|
|
2
3
|
import { MessageCodegenOptions } from './message-codegen-options';
|
|
3
4
|
export declare class Codegen {
|
|
4
5
|
private readonly schemaRoot;
|
|
@@ -15,26 +16,39 @@ export declare class Codegen {
|
|
|
15
16
|
walk(dir: string): Promise<void>;
|
|
16
17
|
/**
|
|
17
18
|
* Builds a path for the generated TS file from an input JSON schema path, retains directory structure.
|
|
18
|
-
* @param
|
|
19
|
+
* @param outputPath - output directory.
|
|
20
|
+
* @param typeName - Name of the type.
|
|
19
21
|
*/
|
|
20
|
-
buildTsOutPath(
|
|
22
|
+
buildTsOutPath(outputPath: string, typeName: string): string;
|
|
21
23
|
/**
|
|
22
24
|
* Builds a path for the bundled JSON schema file from an input JSON schema path, retains directory structure.
|
|
23
|
-
* @param
|
|
25
|
+
* @param outputPath - output directory.
|
|
26
|
+
* @param typeName - Name of the type.
|
|
24
27
|
*/
|
|
25
|
-
buildSchemaOutPath(
|
|
28
|
+
buildSchemaOutPath(outputPath: string, typeName: string): string;
|
|
26
29
|
/**
|
|
27
|
-
* Generates TS interfaces
|
|
28
|
-
* @param
|
|
29
|
-
* @param outPath - Output file path.
|
|
30
|
+
* Generates TS interfaces and JSON schemas from AsyncAPI schema.
|
|
31
|
+
* @param asyncApiFile - path to AsyncAPI document
|
|
30
32
|
*/
|
|
31
|
-
|
|
33
|
+
processAsyncAPIDocument(asyncApiFile: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Export all TS models from AsyncAPI document
|
|
36
|
+
* @param asyncAPIDocument - AsyncAPI Document object
|
|
37
|
+
* @param outputPath - output path for generated files
|
|
38
|
+
*/
|
|
39
|
+
exportTsModels(asyncAPIDocument: AsyncAPIDocument, outputPath: string): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Export all JSON Schemas from AsyncAPI document
|
|
42
|
+
* @param asyncAPIDocument - AsyncAPI Document object
|
|
43
|
+
* @param outputPath - output path for generated files
|
|
44
|
+
*/
|
|
45
|
+
exportSchemas(asyncAPIDocument: AsyncAPIDocument, outputPath: string): Promise<void>;
|
|
32
46
|
/**
|
|
33
47
|
* Bundles a JSON schema into a self-contained file by including all external refs.
|
|
34
|
-
* @param
|
|
48
|
+
* @param jsonSchema - Schema object.
|
|
35
49
|
* @param outPath - Output JSON schema path.
|
|
36
50
|
*/
|
|
37
|
-
bundleSchema(
|
|
51
|
+
bundleSchema(jsonSchema: unknown, outPath: string): Promise<void>;
|
|
38
52
|
/**
|
|
39
53
|
* Generates a barrel index.ts for all modules inside `outPath`.
|
|
40
54
|
* In addition it generates a schemas enum for the included modules to make it easier to map them to bundled JSON schemas.
|
|
@@ -4,19 +4,11 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.Codegen = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
|
+
const modelina_1 = require("@asyncapi/modelina");
|
|
8
|
+
const parser_1 = require("@asyncapi/parser");
|
|
7
9
|
const endent_1 = require("endent");
|
|
8
10
|
const fs = require("fs");
|
|
9
|
-
const json_schema_ref_parser_1 = require("json-schema-ref-parser");
|
|
10
|
-
const json_schema_to_typescript_1 = require("json-schema-to-typescript");
|
|
11
11
|
const path = require("path");
|
|
12
|
-
// Need to specify 'title' for all schemas - this is used to name generated TS interfaces/types:
|
|
13
|
-
// https://github.com/bcherny/json-schema-to-typescript/issues/214
|
|
14
|
-
// allOf (kind of) broken:
|
|
15
|
-
// https://github.com/bcherny/json-schema-to-typescript/issues/96
|
|
16
|
-
// Duplicate interfaces/types generated if description differs from the one in $ref:
|
|
17
|
-
// https://github.com/bcherny/json-schema-to-typescript/issues/193
|
|
18
|
-
// Shared references currently not supported:
|
|
19
|
-
// https://github.com/bcherny/json-schema-to-typescript/issues/258
|
|
20
12
|
class Codegen {
|
|
21
13
|
constructor(options) {
|
|
22
14
|
this.schemaRoot = path.resolve(options.inputDir);
|
|
@@ -31,10 +23,6 @@ class Codegen {
|
|
|
31
23
|
this.typesOutputRoot = path.join(this.outputRoot, 'types');
|
|
32
24
|
this.schemasOutputRoot = path.join(this.outputRoot, 'schemas');
|
|
33
25
|
}
|
|
34
|
-
// TODO: Add schema info for validation
|
|
35
|
-
// TODO: Namespaces for better grouping of generated code?
|
|
36
|
-
// TODO: Consider using TS AST API to build the source files.
|
|
37
|
-
// TODO: Don't regenerate the whole dir tree on each change - update only what's needed, see https://github.com/mikeal/watch#watchwatchtreeroot-options-callback.
|
|
38
26
|
run() {
|
|
39
27
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
40
28
|
console.log('Running message cogegen.');
|
|
@@ -57,66 +45,162 @@ class Codegen {
|
|
|
57
45
|
if ([...files, ...dirs].length === 0) {
|
|
58
46
|
return;
|
|
59
47
|
}
|
|
60
|
-
for (const
|
|
61
|
-
console.log(`Processing ${
|
|
62
|
-
yield this.
|
|
63
|
-
yield this.bundleSchema(schemaFile, this.buildSchemaOutPath(schemaFile));
|
|
48
|
+
for (const asyncApiFile of files) {
|
|
49
|
+
console.log(`Processing ${asyncApiFile}.`);
|
|
50
|
+
yield this.processAsyncAPIDocument(asyncApiFile);
|
|
64
51
|
}
|
|
65
52
|
for (const directory of dirs) {
|
|
66
53
|
yield this.walk(directory);
|
|
67
54
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
55
|
+
if (files.length === 0) {
|
|
56
|
+
//Calculate correct TS output related directories for barrel exports.
|
|
57
|
+
const tsDirs = dirs.map((d) => path.join(this.typesOutputRoot, path.relative(this.schemaRoot, d)));
|
|
58
|
+
const tsIndexOutPath = path.join(this.typesOutputRoot, getRelativeDir(this.schemaRoot, dir), 'index.ts');
|
|
59
|
+
yield this.barrelExportTs([], tsDirs, tsIndexOutPath);
|
|
60
|
+
// Calculate correct JSON schema output related directories for barrel exports.
|
|
61
|
+
const schemaDirs = dirs.map((d) => path.join(this.schemasOutputRoot, path.relative(this.schemaRoot, d)));
|
|
62
|
+
const schemaIndexOutPath = path.join(this.schemasOutputRoot, getRelativeDir(this.schemaRoot, dir), 'index.ts');
|
|
63
|
+
yield this.barrelExportSchema([], schemaDirs, schemaIndexOutPath);
|
|
64
|
+
}
|
|
78
65
|
});
|
|
79
66
|
}
|
|
80
67
|
/**
|
|
81
68
|
* Builds a path for the generated TS file from an input JSON schema path, retains directory structure.
|
|
82
|
-
* @param
|
|
69
|
+
* @param outputPath - output directory.
|
|
70
|
+
* @param typeName - Name of the type.
|
|
83
71
|
*/
|
|
84
|
-
buildTsOutPath(
|
|
85
|
-
return path.join(
|
|
72
|
+
buildTsOutPath(outputPath, typeName) {
|
|
73
|
+
return path.join(outputPath, `${modelina_1.FormatHelpers.toParamCase(typeName)}.ts`);
|
|
86
74
|
}
|
|
87
75
|
/**
|
|
88
76
|
* Builds a path for the bundled JSON schema file from an input JSON schema path, retains directory structure.
|
|
89
|
-
* @param
|
|
77
|
+
* @param outputPath - output directory.
|
|
78
|
+
* @param typeName - Name of the type.
|
|
90
79
|
*/
|
|
91
|
-
buildSchemaOutPath(
|
|
92
|
-
|
|
93
|
-
return path.join(this.schemasOutputRoot, relPath);
|
|
80
|
+
buildSchemaOutPath(outputPath, typeName) {
|
|
81
|
+
return path.join(outputPath, `${modelina_1.FormatHelpers.toParamCase(typeName)}.json`);
|
|
94
82
|
}
|
|
95
83
|
/**
|
|
96
|
-
* Generates TS interfaces
|
|
97
|
-
* @param
|
|
98
|
-
* @param outPath - Output file path.
|
|
84
|
+
* Generates TS interfaces and JSON schemas from AsyncAPI schema.
|
|
85
|
+
* @param asyncApiFile - path to AsyncAPI document
|
|
99
86
|
*/
|
|
100
|
-
|
|
87
|
+
processAsyncAPIDocument(asyncApiFile) {
|
|
101
88
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
89
|
+
const schemaContent = fs.readFileSync(asyncApiFile, 'utf8');
|
|
90
|
+
const asyncApiDocument = yield parser_1.parse(schemaContent, { path: asyncApiFile });
|
|
91
|
+
//export Typescript models
|
|
92
|
+
const tsModelsOutputPath = path.join(this.typesOutputRoot, getRelativeDir(this.schemaRoot, asyncApiFile));
|
|
93
|
+
yield this.exportTsModels(asyncApiDocument, tsModelsOutputPath);
|
|
94
|
+
//export JSON Schemas
|
|
95
|
+
const schemasOutputPath = path.join(this.schemasOutputRoot, getRelativeDir(this.schemaRoot, asyncApiFile));
|
|
96
|
+
yield this.exportSchemas(asyncApiDocument, schemasOutputPath);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Export all TS models from AsyncAPI document
|
|
101
|
+
* @param asyncAPIDocument - AsyncAPI Document object
|
|
102
|
+
* @param outputPath - output path for generated files
|
|
103
|
+
*/
|
|
104
|
+
exportTsModels(asyncAPIDocument, outputPath) {
|
|
105
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const generator = new modelina_1.TypeScriptGenerator({
|
|
107
|
+
modelType: 'interface',
|
|
108
|
+
namingConvention: CustomNamingConvention,
|
|
109
|
+
enumType: 'union',
|
|
110
|
+
presets: [
|
|
111
|
+
ADDITIONAL_PROPERTIES_PRESET,
|
|
112
|
+
NULLABLE_PROPERTY_TO_UNION_PRESET,
|
|
113
|
+
DESCRIPTION_PRESET,
|
|
114
|
+
IMPORTS_PRESET,
|
|
115
|
+
],
|
|
106
116
|
});
|
|
107
|
-
yield
|
|
117
|
+
let outputModels = yield yield generator.generate(asyncAPIDocument);
|
|
118
|
+
for (const key in asyncAPIDocument.components().schemas()) {
|
|
119
|
+
const referencedModels = yield generator.generate(asyncAPIDocument.components().schemas()[key].json());
|
|
120
|
+
outputModels = outputModels.map((om) => referencedModels.find((rm) => om.modelName === rm.modelName) || om);
|
|
121
|
+
}
|
|
122
|
+
const groupedModels = {};
|
|
123
|
+
outputModels.map((outModel) => {
|
|
124
|
+
const modelPathPrefix = getModelPathPrefix(outModel.modelName);
|
|
125
|
+
if (groupedModels[modelPathPrefix] === undefined) {
|
|
126
|
+
groupedModels[modelPathPrefix] = [];
|
|
127
|
+
}
|
|
128
|
+
groupedModels[modelPathPrefix].push(outModel);
|
|
129
|
+
});
|
|
130
|
+
const tsDirs = [];
|
|
131
|
+
for (const pathPrefix in groupedModels) {
|
|
132
|
+
const models = groupedModels[pathPrefix];
|
|
133
|
+
const groupOutPutPath = path.join(outputPath, pathPrefix);
|
|
134
|
+
if (pathPrefix) {
|
|
135
|
+
tsDirs.push(groupOutPutPath);
|
|
136
|
+
}
|
|
137
|
+
yield fs.promises.mkdir(groupOutPutPath, {
|
|
138
|
+
recursive: true,
|
|
139
|
+
});
|
|
140
|
+
const tsFiles = [];
|
|
141
|
+
for (const outputModel of models) {
|
|
142
|
+
const outputFilePath = this.buildTsOutPath(groupOutPutPath, outputModel.modelName);
|
|
143
|
+
yield fs.promises.writeFile(outputFilePath, outputModel.result);
|
|
144
|
+
tsFiles.push(outputFilePath);
|
|
145
|
+
}
|
|
146
|
+
//generate barrel export for all model in AsyncAPI document
|
|
147
|
+
const tsIndexOutPath = path.join(groupOutPutPath, 'index.ts');
|
|
148
|
+
yield this.barrelExportTs(tsFiles, [], tsIndexOutPath);
|
|
149
|
+
}
|
|
150
|
+
if (tsDirs.length > 0) {
|
|
151
|
+
const tsIndexOutPath = path.join(outputPath, 'index.ts');
|
|
152
|
+
yield this.barrelExportTs([], tsDirs, tsIndexOutPath);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Export all JSON Schemas from AsyncAPI document
|
|
158
|
+
* @param asyncAPIDocument - AsyncAPI Document object
|
|
159
|
+
* @param outputPath - output path for generated files
|
|
160
|
+
*/
|
|
161
|
+
exportSchemas(asyncAPIDocument, outputPath) {
|
|
162
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
const groupedSchemas = {};
|
|
164
|
+
for (const [, message] of asyncAPIDocument.allMessages()) {
|
|
165
|
+
const schemaPathPrefix = getModelPathPrefix(getMessageTitle(message));
|
|
166
|
+
if (groupedSchemas[schemaPathPrefix] === undefined) {
|
|
167
|
+
groupedSchemas[schemaPathPrefix] = [];
|
|
168
|
+
}
|
|
169
|
+
groupedSchemas[schemaPathPrefix].push(message);
|
|
170
|
+
}
|
|
171
|
+
const schemaDirs = [];
|
|
172
|
+
for (const pathPrefix in groupedSchemas) {
|
|
173
|
+
const messages = groupedSchemas[pathPrefix];
|
|
174
|
+
const schemaFiles = [];
|
|
175
|
+
const groupOutPutPath = path.join(outputPath, pathPrefix);
|
|
176
|
+
if (pathPrefix) {
|
|
177
|
+
schemaDirs.push(groupOutPutPath);
|
|
178
|
+
}
|
|
179
|
+
yield fs.promises.mkdir(groupOutPutPath, {
|
|
180
|
+
recursive: true,
|
|
181
|
+
});
|
|
182
|
+
for (const msg of messages) {
|
|
183
|
+
const outputSchemaPath = this.buildSchemaOutPath(groupOutPutPath, getMessageTitle(msg));
|
|
184
|
+
yield this.bundleSchema(msg.originalPayload(), outputSchemaPath);
|
|
185
|
+
schemaFiles.push(outputSchemaPath);
|
|
186
|
+
}
|
|
187
|
+
//generate barrel export for all model in AsyncAPI document
|
|
188
|
+
const schemasIndexOutPath = path.join(groupOutPutPath, 'index.ts');
|
|
189
|
+
yield this.barrelExportSchema(schemaFiles, [], schemasIndexOutPath);
|
|
190
|
+
}
|
|
191
|
+
const schemaIndexOutPath = path.join(outputPath, 'index.ts');
|
|
192
|
+
yield this.barrelExportSchema([], schemaDirs, schemaIndexOutPath);
|
|
108
193
|
});
|
|
109
194
|
}
|
|
110
195
|
/**
|
|
111
196
|
* Bundles a JSON schema into a self-contained file by including all external refs.
|
|
112
|
-
* @param
|
|
197
|
+
* @param jsonSchema - Schema object.
|
|
113
198
|
* @param outPath - Output JSON schema path.
|
|
114
199
|
*/
|
|
115
|
-
bundleSchema(
|
|
200
|
+
bundleSchema(jsonSchema, outPath) {
|
|
116
201
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
117
202
|
yield fs.promises.mkdir(path.dirname(outPath), { recursive: true });
|
|
118
|
-
|
|
119
|
-
yield fs.promises.writeFile(outPath, JSON.stringify(schema, null, 2));
|
|
203
|
+
yield fs.promises.writeFile(outPath, JSON.stringify(jsonSchema, null, 2));
|
|
120
204
|
});
|
|
121
205
|
}
|
|
122
206
|
// TODO: Consider doing named exports based on message groups to not just put all messages in one namespace.
|
|
@@ -159,20 +243,23 @@ class Codegen {
|
|
|
159
243
|
`;
|
|
160
244
|
}
|
|
161
245
|
else {
|
|
162
|
-
|
|
163
|
-
|
|
246
|
+
let enumNameBase = modelina_1.FormatHelpers.toPascalCase(getRelativeDir(this.typesOutputRoot, path.dirname(outPath)));
|
|
247
|
+
if (!enumNameBase.includes('Types')) {
|
|
248
|
+
enumNameBase = enumNameBase.replace('Payloads', ''); // Remove the Payloads prefix to reduce noise
|
|
249
|
+
schemaEnum = endent_1.default `
|
|
164
250
|
export enum ${enumNameBase}Schemas {
|
|
165
251
|
${sortedFiles
|
|
166
|
-
|
|
167
|
-
|
|
252
|
+
.map((f) => `${modelina_1.FormatHelpers.toPascalCase(path.basename(f, '.ts'))} = '${toPosixPath(this.tsPathToSchemaPath(f))}'`)
|
|
253
|
+
.join(',\n')}
|
|
168
254
|
}`;
|
|
169
|
-
|
|
255
|
+
typeNamesEnum = endent_1.default `
|
|
170
256
|
export enum ${enumNameBase}Types {
|
|
171
257
|
${sortedFiles
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
258
|
+
.sort()
|
|
259
|
+
.map((f) => `${modelina_1.FormatHelpers.toPascalCase(path.basename(f, '.ts'))} = '${modelina_1.FormatHelpers.toPascalCase(path.basename(f, '.ts'))}'`)
|
|
260
|
+
.join(',\n')}
|
|
175
261
|
}`;
|
|
262
|
+
}
|
|
176
263
|
}
|
|
177
264
|
}
|
|
178
265
|
const contents = endent_1.default `
|
|
@@ -208,8 +295,8 @@ class Codegen {
|
|
|
208
295
|
let contents = '';
|
|
209
296
|
if (files.length > 0) {
|
|
210
297
|
const baseNames = files.map((f) => path.basename(f, '.json')).sort();
|
|
211
|
-
const schemaImports = baseNames.map((n) => `import * as ${
|
|
212
|
-
const schemaExports = baseNames.map((n) => `export const ${
|
|
298
|
+
const schemaImports = baseNames.map((n) => `import * as ${modelina_1.FormatHelpers.toPascalCase(n)} from './${n}.json';`);
|
|
299
|
+
const schemaExports = baseNames.map((n) => `export const ${modelina_1.FormatHelpers.toPascalCase(n)}Schema = ${modelina_1.FormatHelpers.toPascalCase(n)};`);
|
|
213
300
|
contents = endent_1.default `
|
|
214
301
|
${schemaImports.join('\n')}
|
|
215
302
|
|
|
@@ -235,14 +322,9 @@ function getRelativeDir(from, to) {
|
|
|
235
322
|
? path.dirname(path.relative(from, to))
|
|
236
323
|
: path.relative(from, to);
|
|
237
324
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
*/
|
|
242
|
-
function pathToPascalCase(input) {
|
|
243
|
-
return input
|
|
244
|
-
.split(/[-_/\\]/) // Assuming here that people use _ or - as the word separator in directory names.
|
|
245
|
-
.reduce((res, word) => `${res}${word.charAt(0).toUpperCase()}${word.substr(1).toLowerCase()}`, '');
|
|
325
|
+
function getMessageTitle(message) {
|
|
326
|
+
var _a, _b;
|
|
327
|
+
return ((_b = (_a = message.payload().title()) !== null && _a !== void 0 ? _a : message.extension('x-parser-message-name')) !== null && _b !== void 0 ? _b : message.payload().extension('x-parser-schema-id'));
|
|
246
328
|
}
|
|
247
329
|
/**
|
|
248
330
|
* Converts a path into a POSIX path by replacing current path separator with `/`.
|
|
@@ -251,4 +333,146 @@ function pathToPascalCase(input) {
|
|
|
251
333
|
function toPosixPath(p) {
|
|
252
334
|
return path.posix.join(...p.split(path.sep));
|
|
253
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Extension function for @asyncapi/modelina CommonModel type.
|
|
338
|
+
* @asyncapi/modelina CommonModel.getNearestDependencies method doesn't return dependency, if it is an array of items.
|
|
339
|
+
* @param model - object of type CommonModel, generated by @asyncapi/modelina library.
|
|
340
|
+
*/
|
|
341
|
+
function getDependencies(model) {
|
|
342
|
+
const dependsOn = model.getNearestDependencies();
|
|
343
|
+
if (model.properties !== undefined && Object.keys(model.properties).length) {
|
|
344
|
+
Object.values(model.properties)
|
|
345
|
+
.filter((propertyModel) => propertyModel.items !== undefined &&
|
|
346
|
+
modelina_1.TypeHelpers.extractKind(propertyModel))
|
|
347
|
+
.map((propertyModel) => dependsOn.push(...getDependencies(propertyModel)));
|
|
348
|
+
}
|
|
349
|
+
return [...new Set(dependsOn)];
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Generating the path prefix for model.
|
|
353
|
+
* model name ends with "command" - prefix "commands"
|
|
354
|
+
* model name ends with "event" - prefix "events"
|
|
355
|
+
* default prefix "types"
|
|
356
|
+
* @param modelName - name of the model, defined in json schema, or AsyncAPI document
|
|
357
|
+
*/
|
|
358
|
+
function getModelPathPrefix(modelName) {
|
|
359
|
+
return modelName
|
|
360
|
+
? modelName.endsWith('command')
|
|
361
|
+
? 'commands'
|
|
362
|
+
: modelName.endsWith('event')
|
|
363
|
+
? 'events'
|
|
364
|
+
: 'types'
|
|
365
|
+
: 'types';
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Preset for TypeScriptGenerator, adds descriptions to types and properties.
|
|
369
|
+
*/
|
|
370
|
+
const DESCRIPTION_PRESET = {
|
|
371
|
+
interface: {
|
|
372
|
+
self({ renderer, content, model }) {
|
|
373
|
+
const desc = model.getFromOriginalInput('description');
|
|
374
|
+
if (desc) {
|
|
375
|
+
const renderedDesc = renderer.renderComments(desc);
|
|
376
|
+
return `${renderedDesc}\n${content}`;
|
|
377
|
+
}
|
|
378
|
+
return content;
|
|
379
|
+
},
|
|
380
|
+
property({ renderer, model, content }) {
|
|
381
|
+
const propertyName = content
|
|
382
|
+
.split(':')[0]
|
|
383
|
+
.replace('?', '')
|
|
384
|
+
.replace('[', '');
|
|
385
|
+
if (model.getFromOriginalInput('properties') !== undefined) {
|
|
386
|
+
const property = model.getFromOriginalInput('properties')[propertyName];
|
|
387
|
+
if (property !== undefined) {
|
|
388
|
+
const desc = property['description'];
|
|
389
|
+
if (desc) {
|
|
390
|
+
const renderedDesc = renderer.renderComments(desc);
|
|
391
|
+
return `${renderedDesc}\n${content}`;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
return content;
|
|
396
|
+
},
|
|
397
|
+
},
|
|
398
|
+
};
|
|
399
|
+
/**
|
|
400
|
+
* Preset for TypeScriptGenerator, additionalProperties added to models as "[k: string]: unknown;"
|
|
401
|
+
*/
|
|
402
|
+
const ADDITIONAL_PROPERTIES_PRESET = {
|
|
403
|
+
interface: {
|
|
404
|
+
self({ content }) {
|
|
405
|
+
return content;
|
|
406
|
+
},
|
|
407
|
+
property({ content }) {
|
|
408
|
+
const propertyName = content
|
|
409
|
+
.split(':')[0]
|
|
410
|
+
.replace('?', '')
|
|
411
|
+
.replace('[', '');
|
|
412
|
+
if (propertyName === 'additionalProperties') {
|
|
413
|
+
return `\n[k: string]: unknown;`;
|
|
414
|
+
}
|
|
415
|
+
return content;
|
|
416
|
+
},
|
|
417
|
+
},
|
|
418
|
+
};
|
|
419
|
+
/**
|
|
420
|
+
* Preset for TypeScriptGenerator, adds imports to resulting model.
|
|
421
|
+
*/
|
|
422
|
+
const IMPORTS_PRESET = {
|
|
423
|
+
interface: {
|
|
424
|
+
self({ content, model }) {
|
|
425
|
+
const modelName = model.getFromOriginalInput('title');
|
|
426
|
+
const modelPrefix = getModelPathPrefix(modelName);
|
|
427
|
+
const modelDependencies = getDependencies(model);
|
|
428
|
+
const modelImports = modelDependencies.map((modelDependency) => `import { ${modelina_1.FormatHelpers.toPascalCase(modelDependency)} } from '${modelPrefix !== getModelPathPrefix(modelDependency)
|
|
429
|
+
? `../${getModelPathPrefix(modelDependency)}/${modelina_1.FormatHelpers.toParamCase(modelDependency)}`
|
|
430
|
+
: `./${modelina_1.FormatHelpers.toParamCase(modelDependency)}`}'`);
|
|
431
|
+
return endent_1.default `
|
|
432
|
+
${modelImports.join('\n')}
|
|
433
|
+
${content}`;
|
|
434
|
+
},
|
|
435
|
+
property({ content }) {
|
|
436
|
+
return content;
|
|
437
|
+
},
|
|
438
|
+
},
|
|
439
|
+
};
|
|
440
|
+
/**
|
|
441
|
+
* Preset for TypeScriptGenerator, sets nullable properties as unions in resulted models(compatibility with zapatos generated models).
|
|
442
|
+
*/
|
|
443
|
+
const NULLABLE_PROPERTY_TO_UNION_PRESET = {
|
|
444
|
+
interface: {
|
|
445
|
+
self({ content }) {
|
|
446
|
+
return content;
|
|
447
|
+
},
|
|
448
|
+
property({ renderer, model, content }) {
|
|
449
|
+
const propertyName = content
|
|
450
|
+
.split(':')[0]
|
|
451
|
+
.replace('?', '')
|
|
452
|
+
.replace('[', '');
|
|
453
|
+
if (model.getFromOriginalInput('properties') !== undefined) {
|
|
454
|
+
const property = model.getFromOriginalInput('properties')[propertyName];
|
|
455
|
+
if (property !== undefined) {
|
|
456
|
+
const type = property['type'];
|
|
457
|
+
if (Array.isArray(type)) {
|
|
458
|
+
const renderProp = renderer.renderProperty(propertyName, property);
|
|
459
|
+
return renderProp.replace('object', content.split(':')[1].replace(';', ''));
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
return content;
|
|
464
|
+
},
|
|
465
|
+
},
|
|
466
|
+
};
|
|
467
|
+
/**
|
|
468
|
+
* Extension for @asyncapi/modelina, to make sure that the type name is in pascal.
|
|
469
|
+
*/
|
|
470
|
+
const CustomNamingConvention = {
|
|
471
|
+
type: (name) => {
|
|
472
|
+
if (!name) {
|
|
473
|
+
return '';
|
|
474
|
+
}
|
|
475
|
+
return modelina_1.FormatHelpers.toPascalCase(name);
|
|
476
|
+
},
|
|
477
|
+
};
|
|
254
478
|
//# sourceMappingURL=codegen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/codegen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@ const codegen_1 = require("./codegen");
|
|
|
6
6
|
const lint_1 = require("./lint");
|
|
7
7
|
exports.msgCodegen = {
|
|
8
8
|
command: 'msg-codegen',
|
|
9
|
-
describe: 'Generates code from
|
|
9
|
+
describe: 'Generates code from AsyncAPI document.',
|
|
10
10
|
builder: (yargs) => yargs
|
|
11
11
|
.option('inputDir', {
|
|
12
12
|
alias: 'i',
|
|
13
|
-
describe: 'Path to input directory -
|
|
13
|
+
describe: 'Path to input directory - AsyncAPI document root.',
|
|
14
14
|
type: 'string',
|
|
15
15
|
demandOption: true,
|
|
16
16
|
})
|
|
@@ -18,7 +18,7 @@ exports.msgCodegen = {
|
|
|
18
18
|
alias: 'p',
|
|
19
19
|
describe: 'Regular expression that matches suitable input files.',
|
|
20
20
|
type: 'string',
|
|
21
|
-
default: '^.*(-
|
|
21
|
+
default: '^.*(-payloads).(json|yaml|yml)$',
|
|
22
22
|
})
|
|
23
23
|
.option('outputDir', {
|
|
24
24
|
alias: 'o',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/index.ts"],"names":[],"mappings":";;;;AACA,uCAAoC;AACpC,iCAA8B;AAGjB,QAAA,UAAU,GAAkD;IACvE,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/index.ts"],"names":[],"mappings":";;;;AACA,uCAAoC;AACpC,iCAA8B;AAGjB,QAAA,UAAU,GAAkD;IACvE,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,wCAAwC;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,MAAM,CAAC,UAAU,EAAE;QAClB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,mDAAmD;QAC7D,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,uDAAuD;QACjE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iCAAiC;KAC3C,CAAC;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,yCAAyC;QACnD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,eAAe;KACzB,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,6CAA6C;QACvD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,QAAQ;KACf,CAAC;IACN,OAAO,EAAE,CAAO,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,WAAI,CAAC,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,CAAA;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axinom/mosaic-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-rc.0",
|
|
4
4
|
"description": "The Axinom Mosaic CLI",
|
|
5
5
|
"author": "Axinom",
|
|
6
6
|
"license": "PROPRIETARY",
|
|
@@ -25,8 +25,10 @@
|
|
|
25
25
|
"test:ci": "jest --reporters=default --reporters=jest-junit --coverage --coverageReporters=cobertura --coverageReporters=html"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@
|
|
29
|
-
"@
|
|
28
|
+
"@asyncapi/modelina": "^0.39.0",
|
|
29
|
+
"@asyncapi/parser": "^1.10.0",
|
|
30
|
+
"@axinom/mosaic-id-link-be": "^0.3.9-rc.4",
|
|
31
|
+
"@axinom/mosaic-service-common": "^0.7.0-rc.23",
|
|
30
32
|
"@stoplight/spectral": "^5.9.1",
|
|
31
33
|
"chalk": "^4.1.0",
|
|
32
34
|
"diff": "^5.0.0",
|
|
@@ -38,7 +40,6 @@
|
|
|
38
40
|
"graphql": "^15.4.0",
|
|
39
41
|
"json-schema": "^0.3.0",
|
|
40
42
|
"json-schema-ref-parser": "^9.0.7",
|
|
41
|
-
"json-schema-to-typescript": "^9.1.1",
|
|
42
43
|
"json5": "^2.2.0",
|
|
43
44
|
"pg": "^8.5.1",
|
|
44
45
|
"sql-formatter": "^4.0.2",
|
|
@@ -56,5 +57,5 @@
|
|
|
56
57
|
"publishConfig": {
|
|
57
58
|
"access": "public"
|
|
58
59
|
},
|
|
59
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "5bb6a0a701912547ba31c2cc1b33f63f5128e1c6"
|
|
60
61
|
}
|