@tsed/schema 7.83.4 → 7.84.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.
- package/lib/browser/schema.umd.min.js +1 -1
- package/lib/browser/schema.umd.min.js.map +1 -1
- package/lib/cjs/utils/generateSpec.js +7 -16
- package/lib/cjs/utils/generateSpec.js.map +1 -1
- package/lib/esm/utils/generateSpec.js +7 -16
- package/lib/esm/utils/generateSpec.js.map +1 -1
- package/lib/types/utils/generateSpec.d.ts +3 -2
- package/lib/types-esm/utils/generateSpec.d.ts +3 -2
- package/package.json +8 -8
|
@@ -8,27 +8,13 @@ const getSpecType_js_1 = require("./getSpecType.js");
|
|
|
8
8
|
const mapOpenSpec_js_1 = require("./mapOpenSpec.js");
|
|
9
9
|
const mergeSpec_js_1 = require("./mergeSpec.js");
|
|
10
10
|
const transformToOS2_js_1 = require("./transformToOS2.js");
|
|
11
|
-
/* node_env:start */
|
|
12
|
-
async function readSpec(path) {
|
|
13
|
-
const { default: fs } = await import("fs-extra");
|
|
14
|
-
if (fs.existsSync(path)) {
|
|
15
|
-
try {
|
|
16
|
-
return await fs.readJSON(path, { encoding: "utf8" });
|
|
17
|
-
}
|
|
18
|
-
catch (e) { }
|
|
19
|
-
}
|
|
20
|
-
/* istanbul ignore next */
|
|
21
|
-
return {};
|
|
22
|
-
}
|
|
23
|
-
/* node_env:end */
|
|
24
11
|
/**
|
|
25
12
|
* Generate OpenAPI spec from multiple sources (models, files, conf)
|
|
26
13
|
* @param tokens
|
|
27
14
|
* @param options
|
|
28
15
|
*/
|
|
29
|
-
|
|
30
|
-
const { version = "1.0.0", acceptMimes,
|
|
31
|
-
const fileSpec = /* node_env:start */ specPath ? await readSpec(specPath) : /* node_env:end */ {};
|
|
16
|
+
function generateSpec({ tokens, ...options }) {
|
|
17
|
+
const { version = "1.0.0", acceptMimes, fileSpec = {}, specVersion } = options;
|
|
32
18
|
const defaultSpec = (0, mapOpenSpec_js_1.mapOpenSpec)((0, core_1.getValue)(options, "spec", {}), {
|
|
33
19
|
fileSpec,
|
|
34
20
|
version,
|
|
@@ -38,6 +24,11 @@ async function generateSpec({ tokens, ...options }) {
|
|
|
38
24
|
const specType = (0, getSpecType_js_1.getSpecTypeFromSpec)(defaultSpec);
|
|
39
25
|
let controllersSpec = (0, getSpec_js_1.getSpec)(tokens, options);
|
|
40
26
|
const spec = (0, mergeSpec_js_1.mergeSpec)(defaultSpec, controllersSpec);
|
|
27
|
+
if (options.sortPaths) {
|
|
28
|
+
spec.paths = Object.fromEntries(Object.entries(spec.paths).sort(([k1], [k2]) => {
|
|
29
|
+
return k1.localeCompare(k2);
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
41
32
|
if (specType === SpecTypes_js_1.SpecTypes.SWAGGER) {
|
|
42
33
|
return (0, transformToOS2_js_1.transformToOS2)(spec);
|
|
43
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateSpec.js","sourceRoot":"","sources":["../../../src/utils/generateSpec.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAEpC,yDAAiD;AACjD,6CAA8E;AAC9E,qDAAqD;AACrD,qDAA6C;AAC7C,iDAAyC;AACzC,2DAAmD;
|
|
1
|
+
{"version":3,"file":"generateSpec.js","sourceRoot":"","sources":["../../../src/utils/generateSpec.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAEpC,yDAAiD;AACjD,6CAA8E;AAC9E,qDAAqD;AACrD,qDAA6C;AAC7C,iDAAyC;AACzC,2DAAmD;AAYnD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAsB;IACpE,MAAM,EAAC,OAAO,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IAE7E,MAAM,WAAW,GAAG,IAAA,4BAAW,EAAC,IAAA,eAAQ,EAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE;QAC7D,QAAQ;QACR,OAAO;QACP,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAA,oCAAmB,EAAC,WAAW,CAAC,CAAC;IAElD,IAAI,eAAe,GAAQ,IAAA,oBAAO,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAA,wBAAS,EAAC,WAAW,EAAE,eAAe,CAA0B,CAAC;IAE9E,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9E,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAC;KACL;IAED,IAAI,QAAQ,KAAK,wBAAS,CAAC,OAAO,EAAE;QAClC,OAAO,IAAA,kCAAc,EAAC,IAAI,CAAQ,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA1BD,oCA0BC"}
|
|
@@ -5,27 +5,13 @@ import { getSpecTypeFromSpec } from "./getSpecType.js";
|
|
|
5
5
|
import { mapOpenSpec } from "./mapOpenSpec.js";
|
|
6
6
|
import { mergeSpec } from "./mergeSpec.js";
|
|
7
7
|
import { transformToOS2 } from "./transformToOS2.js";
|
|
8
|
-
/* node_env:start */
|
|
9
|
-
async function readSpec(path) {
|
|
10
|
-
const { default: fs } = await import("fs-extra");
|
|
11
|
-
if (fs.existsSync(path)) {
|
|
12
|
-
try {
|
|
13
|
-
return await fs.readJSON(path, { encoding: "utf8" });
|
|
14
|
-
}
|
|
15
|
-
catch (e) { }
|
|
16
|
-
}
|
|
17
|
-
/* istanbul ignore next */
|
|
18
|
-
return {};
|
|
19
|
-
}
|
|
20
|
-
/* node_env:end */
|
|
21
8
|
/**
|
|
22
9
|
* Generate OpenAPI spec from multiple sources (models, files, conf)
|
|
23
10
|
* @param tokens
|
|
24
11
|
* @param options
|
|
25
12
|
*/
|
|
26
|
-
export
|
|
27
|
-
const { version = "1.0.0", acceptMimes,
|
|
28
|
-
const fileSpec = /* node_env:start */ specPath ? await readSpec(specPath) : /* node_env:end */ {};
|
|
13
|
+
export function generateSpec({ tokens, ...options }) {
|
|
14
|
+
const { version = "1.0.0", acceptMimes, fileSpec = {}, specVersion } = options;
|
|
29
15
|
const defaultSpec = mapOpenSpec(getValue(options, "spec", {}), {
|
|
30
16
|
fileSpec,
|
|
31
17
|
version,
|
|
@@ -35,6 +21,11 @@ export async function generateSpec({ tokens, ...options }) {
|
|
|
35
21
|
const specType = getSpecTypeFromSpec(defaultSpec);
|
|
36
22
|
let controllersSpec = getSpec(tokens, options);
|
|
37
23
|
const spec = mergeSpec(defaultSpec, controllersSpec);
|
|
24
|
+
if (options.sortPaths) {
|
|
25
|
+
spec.paths = Object.fromEntries(Object.entries(spec.paths).sort(([k1], [k2]) => {
|
|
26
|
+
return k1.localeCompare(k2);
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
38
29
|
if (specType === SpecTypes.SWAGGER) {
|
|
39
30
|
return transformToOS2(spec);
|
|
40
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateSpec.js","sourceRoot":"","sources":["../../../src/utils/generateSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,OAAO,EAA0C,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"generateSpec.js","sourceRoot":"","sources":["../../../src/utils/generateSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,OAAO,EAA0C,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAYnD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAsB;IACpE,MAAM,EAAC,OAAO,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IAE7E,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE;QAC7D,QAAQ;QACR,OAAO;QACP,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAElD,IAAI,eAAe,GAAQ,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,eAAe,CAA0B,CAAC;IAE9E,IAAI,OAAO,CAAC,SAAS,EAAE;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9E,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAC;KACL;IAED,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,EAAE;QAClC,OAAO,cAAc,CAAC,IAAI,CAAQ,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -4,13 +4,14 @@ export interface GenerateSpecOptions extends Omit<SpecSerializerOptions, "specTy
|
|
|
4
4
|
tokens: JsonTokenOptions;
|
|
5
5
|
version?: string;
|
|
6
6
|
acceptMimes?: string;
|
|
7
|
-
specPath?: string;
|
|
8
7
|
specVersion?: string;
|
|
9
8
|
spec?: any;
|
|
9
|
+
fileSpec?: any;
|
|
10
|
+
sortPaths?: boolean;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* Generate OpenAPI spec from multiple sources (models, files, conf)
|
|
13
14
|
* @param tokens
|
|
14
15
|
* @param options
|
|
15
16
|
*/
|
|
16
|
-
export declare function generateSpec({ tokens, ...options }: GenerateSpecOptions):
|
|
17
|
+
export declare function generateSpec({ tokens, ...options }: GenerateSpecOptions): OpenSpec2 | OpenSpec3;
|
|
@@ -4,13 +4,14 @@ export interface GenerateSpecOptions extends Omit<SpecSerializerOptions, "specTy
|
|
|
4
4
|
tokens: JsonTokenOptions;
|
|
5
5
|
version?: string;
|
|
6
6
|
acceptMimes?: string;
|
|
7
|
-
specPath?: string;
|
|
8
7
|
specVersion?: string;
|
|
9
8
|
spec?: any;
|
|
9
|
+
fileSpec?: any;
|
|
10
|
+
sortPaths?: boolean;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* Generate OpenAPI spec from multiple sources (models, files, conf)
|
|
13
14
|
* @param tokens
|
|
14
15
|
* @param options
|
|
15
16
|
*/
|
|
16
|
-
export declare function generateSpec({ tokens, ...options }: GenerateSpecOptions):
|
|
17
|
+
export declare function generateSpec({ tokens, ...options }: GenerateSpecOptions): OpenSpec2 | OpenSpec3;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@tsed/schema",
|
|
3
3
|
"description": "JsonSchema module for Ts.ED Framework",
|
|
4
4
|
"type": "commonjs",
|
|
5
|
-
"version": "7.
|
|
5
|
+
"version": "7.84.0",
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
7
|
"main": "./lib/cjs/index.js",
|
|
8
8
|
"module": "./lib/esm/index.js",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"tsed"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@tsed/openspec": "7.
|
|
40
|
+
"@tsed/openspec": "7.84.0",
|
|
41
41
|
"change-case": "^4.1.2",
|
|
42
42
|
"fs-extra": "^11.2.0",
|
|
43
43
|
"json-schema": "0.4.0",
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@apidevtools/swagger-parser": "10.1.0",
|
|
50
|
-
"@tsed/barrels": "7.
|
|
51
|
-
"@tsed/core": "7.
|
|
52
|
-
"@tsed/openspec": "7.
|
|
53
|
-
"@tsed/typescript": "7.
|
|
50
|
+
"@tsed/barrels": "7.84.0",
|
|
51
|
+
"@tsed/core": "7.84.0",
|
|
52
|
+
"@tsed/openspec": "7.84.0",
|
|
53
|
+
"@tsed/typescript": "7.84.0",
|
|
54
54
|
"@types/fs-extra": "11.0.4",
|
|
55
55
|
"@types/json-schema": "7.0.15",
|
|
56
56
|
"@types/picomatch": "2.3.3",
|
|
@@ -61,8 +61,8 @@
|
|
|
61
61
|
"vitest": "2.0.4"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@tsed/core": "7.
|
|
65
|
-
"@tsed/openspec": "7.
|
|
64
|
+
"@tsed/core": "7.84.0",
|
|
65
|
+
"@tsed/openspec": "7.84.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependenciesMeta": {
|
|
68
68
|
"@tsed/core": {
|