@skmtc/core 0.0.245 → 0.0.247
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/esm/context/CoreContext.d.ts +1 -1
- package/esm/context/CoreContext.d.ts.map +1 -1
- package/esm/context/CoreContext.js +2 -2
- package/esm/context/RenderContext.d.ts +4 -3
- package/esm/context/RenderContext.d.ts.map +1 -1
- package/esm/context/RenderContext.js +8 -34
- package/esm/context/types.d.ts +1 -0
- package/esm/context/types.d.ts.map +1 -1
- package/esm/generate/generate.d.ts +2 -1
- package/esm/generate/generate.d.ts.map +1 -1
- package/esm/generate/generate.js +2 -2
- package/esm/server/createServer.d.ts.map +1 -1
- package/esm/server/createServer.js +3 -2
- package/package.json +1 -2
- package/script/context/CoreContext.d.ts +1 -1
- package/script/context/CoreContext.d.ts.map +1 -1
- package/script/context/CoreContext.js +2 -2
- package/script/context/RenderContext.d.ts +4 -3
- package/script/context/RenderContext.d.ts.map +1 -1
- package/script/context/RenderContext.js +11 -37
- package/script/context/types.d.ts +1 -0
- package/script/context/types.d.ts.map +1 -1
- package/script/generate/generate.d.ts +2 -1
- package/script/generate/generate.d.ts.map +1 -1
- package/script/generate/generate.js +2 -2
- package/script/server/createServer.d.ts.map +1 -1
- package/script/server/createServer.js +3 -2
- package/esm/deps/jsr.io/@std/encoding/1.0.1/_validate_binary_like.d.ts +0 -2
- package/esm/deps/jsr.io/@std/encoding/1.0.1/_validate_binary_like.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/_validate_binary_like.js +0 -26
- package/esm/deps/jsr.io/@std/encoding/1.0.1/ascii85.d.ts +0 -59
- package/esm/deps/jsr.io/@std/encoding/1.0.1/ascii85.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/ascii85.js +0 -152
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base32.d.ts +0 -38
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base32.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base32.js +0 -224
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base58.d.ts +0 -38
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base58.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base58.js +0 -131
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base64.d.ts +0 -38
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base64.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base64.js +0 -163
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base64url.d.ts +0 -38
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base64url.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/base64url.js +0 -81
- package/esm/deps/jsr.io/@std/encoding/1.0.1/hex.d.ts +0 -37
- package/esm/deps/jsr.io/@std/encoding/1.0.1/hex.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/hex.js +0 -109
- package/esm/deps/jsr.io/@std/encoding/1.0.1/mod.d.ts +0 -22
- package/esm/deps/jsr.io/@std/encoding/1.0.1/mod.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/mod.js +0 -22
- package/esm/deps/jsr.io/@std/encoding/1.0.1/varint.d.ts +0 -118
- package/esm/deps/jsr.io/@std/encoding/1.0.1/varint.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/encoding/1.0.1/varint.js +0 -206
- package/script/deps/jsr.io/@std/encoding/1.0.1/_validate_binary_like.d.ts +0 -2
- package/script/deps/jsr.io/@std/encoding/1.0.1/_validate_binary_like.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/_validate_binary_like.js +0 -29
- package/script/deps/jsr.io/@std/encoding/1.0.1/ascii85.d.ts +0 -59
- package/script/deps/jsr.io/@std/encoding/1.0.1/ascii85.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/ascii85.js +0 -156
- package/script/deps/jsr.io/@std/encoding/1.0.1/base32.d.ts +0 -38
- package/script/deps/jsr.io/@std/encoding/1.0.1/base32.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/base32.js +0 -228
- package/script/deps/jsr.io/@std/encoding/1.0.1/base58.d.ts +0 -38
- package/script/deps/jsr.io/@std/encoding/1.0.1/base58.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/base58.js +0 -135
- package/script/deps/jsr.io/@std/encoding/1.0.1/base64.d.ts +0 -38
- package/script/deps/jsr.io/@std/encoding/1.0.1/base64.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/base64.js +0 -167
- package/script/deps/jsr.io/@std/encoding/1.0.1/base64url.d.ts +0 -38
- package/script/deps/jsr.io/@std/encoding/1.0.1/base64url.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/base64url.js +0 -108
- package/script/deps/jsr.io/@std/encoding/1.0.1/hex.d.ts +0 -37
- package/script/deps/jsr.io/@std/encoding/1.0.1/hex.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/hex.js +0 -113
- package/script/deps/jsr.io/@std/encoding/1.0.1/mod.d.ts +0 -22
- package/script/deps/jsr.io/@std/encoding/1.0.1/mod.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/mod.js +0 -38
- package/script/deps/jsr.io/@std/encoding/1.0.1/varint.d.ts +0 -118
- package/script/deps/jsr.io/@std/encoding/1.0.1/varint.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/encoding/1.0.1/varint.js +0 -212
|
@@ -64,7 +64,7 @@ export declare class CoreContext {
|
|
|
64
64
|
addRenderDependency(args: AddRenderDependencyArgs): void;
|
|
65
65
|
getFile(filePath: string): FileContents;
|
|
66
66
|
pick(args: PickArgs): Definition<GeneratedValue> | undefined;
|
|
67
|
-
render(options: RenderOptions):
|
|
67
|
+
render(options: RenderOptions): FilesRenderResult;
|
|
68
68
|
addFile(normalisedPath: string): FileContents;
|
|
69
69
|
getOperationBaseSettings(args: GetOperationSettingsArgs): BaseSettings;
|
|
70
70
|
transform<V extends GeneratedValue>(args: TransformArgs<V>): TransformReturn<V>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,8 +105,8 @@ export class CoreContext {
|
|
|
105
105
|
.with({ type: 'render' }, ({ context }) => context.pick(args))
|
|
106
106
|
.exhaustive();
|
|
107
107
|
}
|
|
108
|
-
|
|
109
|
-
return
|
|
108
|
+
render(options) {
|
|
109
|
+
return match(this.phase)
|
|
110
110
|
.with({ type: 'generate' }, () => {
|
|
111
111
|
throw new Error(`Cannot render during generate phase`);
|
|
112
112
|
})
|
|
@@ -18,14 +18,15 @@ type ManifestEntry = {
|
|
|
18
18
|
hash: string;
|
|
19
19
|
generatorKeys: GeneratorKey[];
|
|
20
20
|
};
|
|
21
|
-
type
|
|
21
|
+
type ManifestContent = {
|
|
22
22
|
createdAt: string;
|
|
23
23
|
files: Record<string, ManifestEntry>;
|
|
24
24
|
pinnable: Record<GeneratorKey, string>;
|
|
25
|
+
duration?: number;
|
|
25
26
|
};
|
|
26
27
|
export type FilesRenderResult = {
|
|
27
28
|
artifacts: Record<string, string>;
|
|
28
|
-
manifest:
|
|
29
|
+
manifest: ManifestContent;
|
|
29
30
|
};
|
|
30
31
|
export type RenderResult = FilesRenderResult & {
|
|
31
32
|
renderDependencies: Record<string, string[]>;
|
|
@@ -40,7 +41,7 @@ export declare class RenderContext {
|
|
|
40
41
|
pinnableGenerators: string[];
|
|
41
42
|
constructor({ files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }: ConstructorArgs);
|
|
42
43
|
toPackageJson(): string;
|
|
43
|
-
render({ packageJson }: RenderOptions):
|
|
44
|
+
render({ packageJson, startTime }: RenderOptions): RenderResult;
|
|
44
45
|
private collate;
|
|
45
46
|
getFile(filePath: string): FileContents;
|
|
46
47
|
addGeneratorKey({ generatorKey }: AddGeneratorKeyArgs): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAG7D,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;gBAChB,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAUlB,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,GAAG,YAAY;IAoC/D,OAAO,CAAC,OAAO;IA0Df,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { encodeHex } from '../deps/jsr.io/@std/encoding/1.0.1/mod.js';
|
|
2
1
|
import { Import } from '../dsl/Import.js';
|
|
3
|
-
import { format } from 'prettier/standalone';
|
|
4
|
-
import typescript from 'prettier/plugins/typescript';
|
|
5
|
-
import estree from 'prettier/plugins/estree';
|
|
6
2
|
import invariant from 'tiny-invariant';
|
|
7
3
|
import { join, normalize } from '../deps/jsr.io/@std/path/1.0.0/mod.js';
|
|
8
4
|
import * as Sentry from '@sentry/deno';
|
|
@@ -63,9 +59,9 @@ export class RenderContext {
|
|
|
63
59
|
const packageJson = JSON.stringify({ dependencies }, null, 2);
|
|
64
60
|
return packageJson;
|
|
65
61
|
}
|
|
66
|
-
|
|
67
|
-
const result =
|
|
68
|
-
return
|
|
62
|
+
render({ packageJson, startTime }) {
|
|
63
|
+
const result = Sentry.startSpan({ name: 'Collate content' }, () => {
|
|
64
|
+
return this.collate();
|
|
69
65
|
});
|
|
70
66
|
const renderDependenciesEntries = [
|
|
71
67
|
...this.renderDependencies.entries()
|
|
@@ -73,7 +69,7 @@ export class RenderContext {
|
|
|
73
69
|
return [generatorId, Array.from(dependencyGeneratorKeys)];
|
|
74
70
|
});
|
|
75
71
|
const renderDependencies = Object.fromEntries(renderDependenciesEntries);
|
|
76
|
-
const pinnable =
|
|
72
|
+
const pinnable = Sentry.startSpan({ name: 'Generate pinnable' }, () => {
|
|
77
73
|
return generatePinnable({
|
|
78
74
|
pinnableGenerators: this.pinnableGenerators,
|
|
79
75
|
manifest: result.manifest
|
|
@@ -88,12 +84,13 @@ export class RenderContext {
|
|
|
88
84
|
: result.artifacts,
|
|
89
85
|
manifest: {
|
|
90
86
|
...result.manifest,
|
|
91
|
-
pinnable
|
|
87
|
+
pinnable,
|
|
88
|
+
duration: startTime ? Date.now() - startTime : undefined
|
|
92
89
|
},
|
|
93
90
|
renderDependencies
|
|
94
91
|
};
|
|
95
92
|
}
|
|
96
|
-
|
|
93
|
+
collate() {
|
|
97
94
|
const fileEntries = Array.from(this.files.entries());
|
|
98
95
|
const fileObjects = fileEntries.map(([destination, file]) => {
|
|
99
96
|
// Set the current destination path to be used by
|
|
@@ -110,17 +107,9 @@ export class RenderContext {
|
|
|
110
107
|
this.currentDestinationPath = 'POST_RENDER';
|
|
111
108
|
const resolvedFileObjects = [];
|
|
112
109
|
for (const fileObject of fileObjects) {
|
|
113
|
-
const formattedContent = await Sentry.startSpan({ name: `Format file: ${fileObject.path}` }, async () => {
|
|
114
|
-
return await formatContent({
|
|
115
|
-
content: fileObject.content,
|
|
116
|
-
prettier: this.prettier
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
const hash = await toHash(formattedContent);
|
|
120
110
|
resolvedFileObjects.push({
|
|
121
111
|
...fileObject,
|
|
122
|
-
|
|
123
|
-
hash
|
|
112
|
+
hash: 'ADD LATER'
|
|
124
113
|
});
|
|
125
114
|
}
|
|
126
115
|
return resolvedFileObjects.reduce((acc, fileObject) => ({
|
|
@@ -165,11 +154,6 @@ export class RenderContext {
|
|
|
165
154
|
return this.getFile(exportPath).definitions.get(name);
|
|
166
155
|
}
|
|
167
156
|
}
|
|
168
|
-
const toHash = async (content) => {
|
|
169
|
-
const messageBuffer = new TextEncoder().encode(content);
|
|
170
|
-
const hashBuffer = await crypto.subtle.digest('SHA-256', messageBuffer);
|
|
171
|
-
return encodeHex(hashBuffer);
|
|
172
|
-
};
|
|
173
157
|
const renderFile = ({ file, destination, basePath }) => {
|
|
174
158
|
const imports = Array.from(file.imports.entries()).map(([module, importItems]) => new Import({ module, importNames: Array.from(importItems) }));
|
|
175
159
|
const definitions = Array.from(file.definitions.values());
|
|
@@ -185,16 +169,6 @@ const renderFile = ({ file, destination, basePath }) => {
|
|
|
185
169
|
generatorKeys: Array.from(file.generatorKeys).filter(Boolean) // @TODO Fix null keys
|
|
186
170
|
};
|
|
187
171
|
};
|
|
188
|
-
const formatContent = async ({ content, prettier }) => {
|
|
189
|
-
if (!prettier) {
|
|
190
|
-
return content;
|
|
191
|
-
}
|
|
192
|
-
return await format(content, {
|
|
193
|
-
parser: 'typescript',
|
|
194
|
-
plugins: [estree, typescript],
|
|
195
|
-
...prettier
|
|
196
|
-
});
|
|
197
|
-
};
|
|
198
172
|
const generatePinnable = ({ pinnableGenerators, manifest }) => {
|
|
199
173
|
const output = {};
|
|
200
174
|
Object.entries(manifest.files).forEach(([filepath, entry]) => {
|
package/esm/context/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA"}
|
|
@@ -8,8 +8,9 @@ type GenerateArgs = {
|
|
|
8
8
|
settings?: ClientSettings;
|
|
9
9
|
prettier?: PrettierConfigType;
|
|
10
10
|
generatorsMap: Record<string, OperationGenerator | ModelGenerator>;
|
|
11
|
+
startTime?: number;
|
|
11
12
|
};
|
|
12
|
-
export declare const generate: ({ schema, settings, prettier, generatorsMap }: GenerateArgs) =>
|
|
13
|
+
export declare const generate: ({ schema, settings, prettier, generatorsMap, startTime }: GenerateArgs) => import("../context/RenderContext.js").FilesRenderResult;
|
|
13
14
|
export declare const parseSchema: (schema: string) => OpenAPIV3.Document<{}>;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAK5D,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAK5D,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAAC,CAAA;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,QAAQ,6DAMlB,YAAY,4DAmDd,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,MAAM,2BAMzC,CAAA"}
|
package/esm/generate/generate.js
CHANGED
|
@@ -5,7 +5,7 @@ import { CoreContext } from '../context/CoreContext.js';
|
|
|
5
5
|
import { generateModels } from './generateModels.js';
|
|
6
6
|
import { generateOperations } from './generateOperations.js';
|
|
7
7
|
import { parse as parseYaml } from '../deps/jsr.io/@std/yaml/0.215.0/mod.js';
|
|
8
|
-
export const generate =
|
|
8
|
+
export const generate = ({ schema, settings, prettier, generatorsMap, startTime }) => {
|
|
9
9
|
const parsedDocument = Sentry.startSpan({ name: 'Parse schema to document' }, () => parseSchema(schema));
|
|
10
10
|
const parseContext = new ParseContext({
|
|
11
11
|
parsedDocument
|
|
@@ -34,7 +34,7 @@ export const generate = async ({ schema, settings, prettier, generatorsMap }) =>
|
|
|
34
34
|
prettier,
|
|
35
35
|
settings
|
|
36
36
|
});
|
|
37
|
-
const renderResult =
|
|
37
|
+
const renderResult = Sentry.startSpan({ name: 'Render artifacts' }, () => context.render({ startTime }));
|
|
38
38
|
return renderResult;
|
|
39
39
|
};
|
|
40
40
|
export const parseSchema = (schema) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../src/server/createServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAmB5D,eAAO,MAAM,YAAY,eACX,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE,KAClD,
|
|
1
|
+
{"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../src/server/createServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAmB5D,eAAO,MAAM,YAAY,eACX,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE,KAClD,IA6FF,CAAA"}
|
|
@@ -19,13 +19,14 @@ const postGenerateBody = z.object({
|
|
|
19
19
|
export const createServer = (generators) => {
|
|
20
20
|
const app = new Hono();
|
|
21
21
|
app.post('/artifacts', async (c) => {
|
|
22
|
+
const startTime = Date.now();
|
|
22
23
|
const result = await Sentry.startSpan({ name: 'POST /artifacts' }, async () => {
|
|
23
24
|
console.log('HEADERS ', c.req.header());
|
|
24
25
|
const body = await Sentry.startSpan({ name: 'Parse JSON' }, () => c.req.json());
|
|
25
26
|
const { schema, clientSettings, prettier } = await Sentry.startSpan({ name: 'Validate request content' }, () => postGenerateBody.parseAsync(body));
|
|
26
|
-
return
|
|
27
|
+
return Sentry.startSpan({ name: 'Generate' }, () => {
|
|
27
28
|
const generatorsMap = Object.fromEntries(generators.map(generator => [generator.id, generator]));
|
|
28
|
-
return
|
|
29
|
+
return generate({
|
|
29
30
|
schema,
|
|
30
31
|
prettier,
|
|
31
32
|
settings: clientSettings,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skmtc/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.247",
|
|
4
4
|
"main": "./script/mod.js",
|
|
5
5
|
"module": "./esm/mod.js",
|
|
6
6
|
"exports": {
|
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
"hono": "4.5.6",
|
|
28
28
|
"lodash-es": "4.17.21",
|
|
29
29
|
"openapi-types": "12.1.3",
|
|
30
|
-
"prettier": "3.2.5",
|
|
31
30
|
"tiny-invariant": "1.3.3",
|
|
32
31
|
"ts-pattern": "5.2.0",
|
|
33
32
|
"zod": "3.23.4",
|
|
@@ -64,7 +64,7 @@ export declare class CoreContext {
|
|
|
64
64
|
addRenderDependency(args: AddRenderDependencyArgs): void;
|
|
65
65
|
getFile(filePath: string): FileContents;
|
|
66
66
|
pick(args: PickArgs): Definition<GeneratedValue> | undefined;
|
|
67
|
-
render(options: RenderOptions):
|
|
67
|
+
render(options: RenderOptions): FilesRenderResult;
|
|
68
68
|
addFile(normalisedPath: string): FileContents;
|
|
69
69
|
getOperationBaseSettings(args: GetOperationSettingsArgs): BaseSettings;
|
|
70
70
|
transform<V extends GeneratedValue>(args: TransformArgs<V>): TransformReturn<V>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CoreContext.d.ts","sourceRoot":"","sources":["../../src/context/CoreContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,8 +108,8 @@ class CoreContext {
|
|
|
108
108
|
.with({ type: 'render' }, ({ context }) => context.pick(args))
|
|
109
109
|
.exhaustive();
|
|
110
110
|
}
|
|
111
|
-
|
|
112
|
-
return
|
|
111
|
+
render(options) {
|
|
112
|
+
return (0, ts_pattern_1.match)(this.phase)
|
|
113
113
|
.with({ type: 'generate' }, () => {
|
|
114
114
|
throw new Error(`Cannot render during generate phase`);
|
|
115
115
|
})
|
|
@@ -18,14 +18,15 @@ type ManifestEntry = {
|
|
|
18
18
|
hash: string;
|
|
19
19
|
generatorKeys: GeneratorKey[];
|
|
20
20
|
};
|
|
21
|
-
type
|
|
21
|
+
type ManifestContent = {
|
|
22
22
|
createdAt: string;
|
|
23
23
|
files: Record<string, ManifestEntry>;
|
|
24
24
|
pinnable: Record<GeneratorKey, string>;
|
|
25
|
+
duration?: number;
|
|
25
26
|
};
|
|
26
27
|
export type FilesRenderResult = {
|
|
27
28
|
artifacts: Record<string, string>;
|
|
28
|
-
manifest:
|
|
29
|
+
manifest: ManifestContent;
|
|
29
30
|
};
|
|
30
31
|
export type RenderResult = FilesRenderResult & {
|
|
31
32
|
renderDependencies: Record<string, string[]>;
|
|
@@ -40,7 +41,7 @@ export declare class RenderContext {
|
|
|
40
41
|
pinnableGenerators: string[];
|
|
41
42
|
constructor({ files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }: ConstructorArgs);
|
|
42
43
|
toPackageJson(): string;
|
|
43
|
-
render({ packageJson }: RenderOptions):
|
|
44
|
+
render({ packageJson, startTime }: RenderOptions): RenderResult;
|
|
44
45
|
private collate;
|
|
45
46
|
getFile(filePath: string): FileContents;
|
|
46
47
|
addGeneratorKey({ generatorKey }: AddGeneratorKeyArgs): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../src/context/RenderContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAG7D,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG;IAC7C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC7C,CAAA;AAED,qBAAa,aAAa;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IACrC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IACpC,sBAAsB,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAA;IAC7D,kBAAkB,EAAE,MAAM,EAAE,CAAA;gBAChB,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,EAAE,eAAe;IAUlB,aAAa,IAAI,MAAM;IAQvB,MAAM,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,GAAG,YAAY;IAoC/D,OAAO,CAAC,OAAO;IA0Df,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAavC,eAAe,CAAC,EAAE,YAAY,EAAE,EAAE,mBAAmB;IAarD,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;CAG7D"}
|
|
@@ -27,13 +27,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.RenderContext = void 0;
|
|
30
|
-
const mod_js_1 = require("../deps/jsr.io/@std/encoding/1.0.1/mod.js");
|
|
31
30
|
const Import_js_1 = require("../dsl/Import.js");
|
|
32
|
-
const standalone_1 = require("prettier/standalone");
|
|
33
|
-
const typescript_1 = __importDefault(require("prettier/plugins/typescript"));
|
|
34
|
-
const estree_1 = __importDefault(require("prettier/plugins/estree"));
|
|
35
31
|
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
36
|
-
const
|
|
32
|
+
const mod_js_1 = require("../deps/jsr.io/@std/path/1.0.0/mod.js");
|
|
37
33
|
const Sentry = __importStar(require("@sentry/deno"));
|
|
38
34
|
class RenderContext {
|
|
39
35
|
constructor({ files, packageDependencies, prettier, settings, renderDependencies, pinnableGenerators }) {
|
|
@@ -92,9 +88,9 @@ class RenderContext {
|
|
|
92
88
|
const packageJson = JSON.stringify({ dependencies }, null, 2);
|
|
93
89
|
return packageJson;
|
|
94
90
|
}
|
|
95
|
-
|
|
96
|
-
const result =
|
|
97
|
-
return
|
|
91
|
+
render({ packageJson, startTime }) {
|
|
92
|
+
const result = Sentry.startSpan({ name: 'Collate content' }, () => {
|
|
93
|
+
return this.collate();
|
|
98
94
|
});
|
|
99
95
|
const renderDependenciesEntries = [
|
|
100
96
|
...this.renderDependencies.entries()
|
|
@@ -102,7 +98,7 @@ class RenderContext {
|
|
|
102
98
|
return [generatorId, Array.from(dependencyGeneratorKeys)];
|
|
103
99
|
});
|
|
104
100
|
const renderDependencies = Object.fromEntries(renderDependenciesEntries);
|
|
105
|
-
const pinnable =
|
|
101
|
+
const pinnable = Sentry.startSpan({ name: 'Generate pinnable' }, () => {
|
|
106
102
|
return generatePinnable({
|
|
107
103
|
pinnableGenerators: this.pinnableGenerators,
|
|
108
104
|
manifest: result.manifest
|
|
@@ -117,12 +113,13 @@ class RenderContext {
|
|
|
117
113
|
: result.artifacts,
|
|
118
114
|
manifest: {
|
|
119
115
|
...result.manifest,
|
|
120
|
-
pinnable
|
|
116
|
+
pinnable,
|
|
117
|
+
duration: startTime ? Date.now() - startTime : undefined
|
|
121
118
|
},
|
|
122
119
|
renderDependencies
|
|
123
120
|
};
|
|
124
121
|
}
|
|
125
|
-
|
|
122
|
+
collate() {
|
|
126
123
|
const fileEntries = Array.from(this.files.entries());
|
|
127
124
|
const fileObjects = fileEntries.map(([destination, file]) => {
|
|
128
125
|
// Set the current destination path to be used by
|
|
@@ -139,17 +136,9 @@ class RenderContext {
|
|
|
139
136
|
this.currentDestinationPath = 'POST_RENDER';
|
|
140
137
|
const resolvedFileObjects = [];
|
|
141
138
|
for (const fileObject of fileObjects) {
|
|
142
|
-
const formattedContent = await Sentry.startSpan({ name: `Format file: ${fileObject.path}` }, async () => {
|
|
143
|
-
return await formatContent({
|
|
144
|
-
content: fileObject.content,
|
|
145
|
-
prettier: this.prettier
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
const hash = await toHash(formattedContent);
|
|
149
139
|
resolvedFileObjects.push({
|
|
150
140
|
...fileObject,
|
|
151
|
-
|
|
152
|
-
hash
|
|
141
|
+
hash: 'ADD LATER'
|
|
153
142
|
});
|
|
154
143
|
}
|
|
155
144
|
return resolvedFileObjects.reduce((acc, fileObject) => ({
|
|
@@ -179,7 +168,7 @@ class RenderContext {
|
|
|
179
168
|
});
|
|
180
169
|
}
|
|
181
170
|
getFile(filePath) {
|
|
182
|
-
const normalisedPath = (0,
|
|
171
|
+
const normalisedPath = (0, mod_js_1.normalize)(filePath);
|
|
183
172
|
const currentFile = this.files.get(normalisedPath);
|
|
184
173
|
(0, tiny_invariant_1.default)(currentFile, `File not found during render phase: ${normalisedPath}`);
|
|
185
174
|
return currentFile;
|
|
@@ -195,11 +184,6 @@ class RenderContext {
|
|
|
195
184
|
}
|
|
196
185
|
}
|
|
197
186
|
exports.RenderContext = RenderContext;
|
|
198
|
-
const toHash = async (content) => {
|
|
199
|
-
const messageBuffer = new TextEncoder().encode(content);
|
|
200
|
-
const hashBuffer = await crypto.subtle.digest('SHA-256', messageBuffer);
|
|
201
|
-
return (0, mod_js_1.encodeHex)(hashBuffer);
|
|
202
|
-
};
|
|
203
187
|
const renderFile = ({ file, destination, basePath }) => {
|
|
204
188
|
const imports = Array.from(file.imports.entries()).map(([module, importItems]) => new Import_js_1.Import({ module, importNames: Array.from(importItems) }));
|
|
205
189
|
const definitions = Array.from(file.definitions.values());
|
|
@@ -209,22 +193,12 @@ const renderFile = ({ file, destination, basePath }) => {
|
|
|
209
193
|
.join('\n\n');
|
|
210
194
|
return {
|
|
211
195
|
content,
|
|
212
|
-
path: (0,
|
|
196
|
+
path: (0, mod_js_1.join)(basePath ?? 'dist', destination.replace(/^@\//, '')),
|
|
213
197
|
numberOfLines: content.split('\n').length,
|
|
214
198
|
numberOfCharacters: content.length,
|
|
215
199
|
generatorKeys: Array.from(file.generatorKeys).filter(Boolean) // @TODO Fix null keys
|
|
216
200
|
};
|
|
217
201
|
};
|
|
218
|
-
const formatContent = async ({ content, prettier }) => {
|
|
219
|
-
if (!prettier) {
|
|
220
|
-
return content;
|
|
221
|
-
}
|
|
222
|
-
return await (0, standalone_1.format)(content, {
|
|
223
|
-
parser: 'typescript',
|
|
224
|
-
plugins: [estree_1.default, typescript_1.default],
|
|
225
|
-
...prettier
|
|
226
|
-
});
|
|
227
|
-
};
|
|
228
202
|
const generatePinnable = ({ pinnableGenerators, manifest }) => {
|
|
229
203
|
const output = {};
|
|
230
204
|
Object.entries(manifest.files).forEach(([filepath, entry]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA"}
|
|
@@ -8,8 +8,9 @@ type GenerateArgs = {
|
|
|
8
8
|
settings?: ClientSettings;
|
|
9
9
|
prettier?: PrettierConfigType;
|
|
10
10
|
generatorsMap: Record<string, OperationGenerator | ModelGenerator>;
|
|
11
|
+
startTime?: number;
|
|
11
12
|
};
|
|
12
|
-
export declare const generate: ({ schema, settings, prettier, generatorsMap }: GenerateArgs) =>
|
|
13
|
+
export declare const generate: ({ schema, settings, prettier, generatorsMap, startTime }: GenerateArgs) => import("../context/RenderContext.js").FilesRenderResult;
|
|
13
14
|
export declare const parseSchema: (schema: string) => OpenAPIV3.Document<{}>;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAK5D,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate/generate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAK5D,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAAC,CAAA;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,QAAQ,6DAMlB,YAAY,4DAmDd,CAAA;AAED,eAAO,MAAM,WAAW,WAAY,MAAM,2BAMzC,CAAA"}
|
|
@@ -31,7 +31,7 @@ const CoreContext_js_1 = require("../context/CoreContext.js");
|
|
|
31
31
|
const generateModels_js_1 = require("./generateModels.js");
|
|
32
32
|
const generateOperations_js_1 = require("./generateOperations.js");
|
|
33
33
|
const mod_js_1 = require("../deps/jsr.io/@std/yaml/0.215.0/mod.js");
|
|
34
|
-
const generate =
|
|
34
|
+
const generate = ({ schema, settings, prettier, generatorsMap, startTime }) => {
|
|
35
35
|
const parsedDocument = Sentry.startSpan({ name: 'Parse schema to document' }, () => (0, exports.parseSchema)(schema));
|
|
36
36
|
const parseContext = new ParseContext_js_1.ParseContext({
|
|
37
37
|
parsedDocument
|
|
@@ -60,7 +60,7 @@ const generate = async ({ schema, settings, prettier, generatorsMap }) => {
|
|
|
60
60
|
prettier,
|
|
61
61
|
settings
|
|
62
62
|
});
|
|
63
|
-
const renderResult =
|
|
63
|
+
const renderResult = Sentry.startSpan({ name: 'Render artifacts' }, () => context.render({ startTime }));
|
|
64
64
|
return renderResult;
|
|
65
65
|
};
|
|
66
66
|
exports.generate = generate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../src/server/createServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAmB5D,eAAO,MAAM,YAAY,eACX,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE,KAClD,
|
|
1
|
+
{"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../src/server/createServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAmB5D,eAAO,MAAM,YAAY,eACX,CAAC,kBAAkB,GAAG,cAAc,CAAC,EAAE,KAClD,IA6FF,CAAA"}
|
|
@@ -45,13 +45,14 @@ const postGenerateBody = zod_1.z.object({
|
|
|
45
45
|
const createServer = (generators) => {
|
|
46
46
|
const app = new hono_1.Hono();
|
|
47
47
|
app.post('/artifacts', async (c) => {
|
|
48
|
+
const startTime = Date.now();
|
|
48
49
|
const result = await Sentry.startSpan({ name: 'POST /artifacts' }, async () => {
|
|
49
50
|
console.log('HEADERS ', c.req.header());
|
|
50
51
|
const body = await Sentry.startSpan({ name: 'Parse JSON' }, () => c.req.json());
|
|
51
52
|
const { schema, clientSettings, prettier } = await Sentry.startSpan({ name: 'Validate request content' }, () => postGenerateBody.parseAsync(body));
|
|
52
|
-
return
|
|
53
|
+
return Sentry.startSpan({ name: 'Generate' }, () => {
|
|
53
54
|
const generatorsMap = Object.fromEntries(generators.map(generator => [generator.id, generator]));
|
|
54
|
-
return
|
|
55
|
+
return (0, generate_js_1.generate)({
|
|
55
56
|
schema,
|
|
56
57
|
prettier,
|
|
57
58
|
settings: clientSettings,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_validate_binary_like.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/encoding/1.0.1/_validate_binary_like.ts"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAa9D"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
-
const encoder = new TextEncoder();
|
|
3
|
-
function getTypeName(value) {
|
|
4
|
-
const type = typeof value;
|
|
5
|
-
if (type !== "object") {
|
|
6
|
-
return type;
|
|
7
|
-
}
|
|
8
|
-
else if (value === null) {
|
|
9
|
-
return "null";
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
return value?.constructor?.name ?? "object";
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export function validateBinaryLike(source) {
|
|
16
|
-
if (typeof source === "string") {
|
|
17
|
-
return encoder.encode(source);
|
|
18
|
-
}
|
|
19
|
-
else if (source instanceof Uint8Array) {
|
|
20
|
-
return source;
|
|
21
|
-
}
|
|
22
|
-
else if (source instanceof ArrayBuffer) {
|
|
23
|
-
return new Uint8Array(source);
|
|
24
|
-
}
|
|
25
|
-
throw new TypeError(`The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type ${getTypeName(source)}.`);
|
|
26
|
-
}
|