@tsed/schema 7.9.0 → 7.10.0-rc.2

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,25 +1,49 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.generateSpec = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
6
27
  const core_1 = require("@tsed/core");
7
- const mapOpenSpec_1 = require("./mapOpenSpec");
28
+ const SpecTypes_1 = require("../domain/SpecTypes");
8
29
  const getSpec_1 = require("./getSpec");
9
30
  const getSpecType_1 = require("./getSpecType");
31
+ const mapOpenSpec_1 = require("./mapOpenSpec");
10
32
  const mergeSpec_1 = require("./mergeSpec");
11
- const SpecTypes_1 = require("../domain/SpecTypes");
12
33
  const transformToOS2_1 = require("./transformToOS2");
34
+ /* node_env:start */
13
35
  async function readSpec(path) {
14
- if (fs_extra_1.default.existsSync(path)) {
36
+ const { default: fs } = await Promise.resolve().then(() => __importStar(require("fs-extra")));
37
+ if (fs.existsSync(path)) {
15
38
  try {
16
- return await fs_extra_1.default.readJSON(path, { encoding: "utf8" });
39
+ return await fs.readJSON(path, { encoding: "utf8" });
17
40
  }
18
41
  catch (e) { }
19
42
  }
20
43
  /* istanbul ignore next */
21
44
  return {};
22
45
  }
46
+ /* node_env:end */
23
47
  /**
24
48
  * Generate OpenAPI spec from multiple sources (models, files, conf)
25
49
  * @param tokens
@@ -27,7 +51,7 @@ async function readSpec(path) {
27
51
  */
28
52
  async function generateSpec({ tokens, ...options }) {
29
53
  const { version = "1.0.0", acceptMimes, specPath, specVersion } = options;
30
- const fileSpec = specPath ? await readSpec(specPath) : {};
54
+ const fileSpec = /* node_env:start */ specPath ? await readSpec(specPath) : /* node_env:end */ {};
31
55
  const defaultSpec = (0, mapOpenSpec_1.mapOpenSpec)((0, core_1.getValue)(options, "spec", {}), {
32
56
  fileSpec,
33
57
  version,
@@ -1 +1 @@
1
- {"version":3,"file":"generateSpec.js","sourceRoot":"","sources":["../../../src/utils/generateSpec.ts"],"names":[],"mappings":";;;;AAAA,gEAA0B;AAC1B,qCAAoC;AAEpC,+CAA0C;AAC1C,uCAA2E;AAC3E,+CAAkD;AAClD,2CAAsC;AACtC,mDAA8C;AAC9C,qDAAgD;AAWhD,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,IAAI,kBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI;YACF,OAAO,MAAM,kBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE,GAAE;KACf;IAED,0BAA0B;IAC1B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAsB;IAC1E,MAAM,EAAC,OAAO,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IACxE,MAAM,QAAQ,GAAmC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1F,MAAM,WAAW,GAAG,IAAA,yBAAW,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,iCAAmB,EAAC,WAAW,CAAC,CAAC;IAElD,IAAI,eAAe,GAAQ,IAAA,iBAAO,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAQ,IAAA,qBAAS,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAE1D,IAAI,QAAQ,KAAK,qBAAS,CAAC,OAAO,EAAE;QAClC,OAAO,IAAA,+BAAc,EAAC,IAAI,CAAQ,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AArBD,oCAqBC","sourcesContent":["import fs from \"fs-extra\";\nimport {getValue} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3} from \"@tsed/openspec\";\nimport {mapOpenSpec} from \"./mapOpenSpec\";\nimport {getSpec, JsonTokenOptions, SpecSerializerOptions} from \"./getSpec\";\nimport {getSpecTypeFromSpec} from \"./getSpecType\";\nimport {mergeSpec} from \"./mergeSpec\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\nimport {transformToOS2} from \"./transformToOS2\";\n\nexport interface GenerateSpecOptions extends Omit<SpecSerializerOptions, \"specType\"> {\n tokens: JsonTokenOptions;\n version?: string;\n acceptMimes?: string;\n specPath?: string;\n specVersion?: string;\n spec?: any;\n}\n\nasync function readSpec(path: string) {\n if (fs.existsSync(path)) {\n try {\n return await fs.readJSON(path, {encoding: \"utf8\"});\n } catch (e) {}\n }\n\n /* istanbul ignore next */\n return {};\n}\n\n/**\n * Generate OpenAPI spec from multiple sources (models, files, conf)\n * @param tokens\n * @param options\n */\nexport async function generateSpec({tokens, ...options}: GenerateSpecOptions): Promise<OpenSpec2 | OpenSpec3> {\n const {version = \"1.0.0\", acceptMimes, specPath, specVersion} = options;\n const fileSpec: Partial<OpenSpec2 | OpenSpec3> = specPath ? await readSpec(specPath) : {};\n\n const defaultSpec = mapOpenSpec(getValue(options, \"spec\", {}), {\n fileSpec,\n version,\n specVersion,\n acceptMimes\n });\n\n const specType = getSpecTypeFromSpec(defaultSpec);\n\n let controllersSpec: any = getSpec(tokens, options);\n const spec: any = mergeSpec(defaultSpec, controllersSpec);\n\n if (specType === SpecTypes.SWAGGER) {\n return transformToOS2(spec) as any;\n }\n\n return spec;\n}\n"]}
1
+ {"version":3,"file":"generateSpec.js","sourceRoot":"","sources":["../../../src/utils/generateSpec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoC;AAEpC,mDAA8C;AAC9C,uCAA2E;AAC3E,+CAAkD;AAClD,+CAA0C;AAC1C,2CAAsC;AACtC,qDAAgD;AAUhD,oBAAoB;AACpB,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,EAAC,OAAO,EAAE,EAAE,EAAC,GAAG,wDAAa,UAAU,GAAC,CAAC;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI;YACF,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE,GAAE;KACf;IAED,0BAA0B;IAC1B,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,kBAAkB;AAClB;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAsB;IAC1E,MAAM,EAAC,OAAO,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IACxE,MAAM,QAAQ,GAAmC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAElI,MAAM,WAAW,GAAG,IAAA,yBAAW,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,iCAAmB,EAAC,WAAW,CAAC,CAAC;IAElD,IAAI,eAAe,GAAQ,IAAA,iBAAO,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAQ,IAAA,qBAAS,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAE1D,IAAI,QAAQ,KAAK,qBAAS,CAAC,OAAO,EAAE;QAClC,OAAO,IAAA,+BAAc,EAAC,IAAI,CAAQ,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AArBD,oCAqBC","sourcesContent":["import {getValue} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3} from \"@tsed/openspec\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\nimport {getSpec, JsonTokenOptions, SpecSerializerOptions} from \"./getSpec\";\nimport {getSpecTypeFromSpec} from \"./getSpecType\";\nimport {mapOpenSpec} from \"./mapOpenSpec\";\nimport {mergeSpec} from \"./mergeSpec\";\nimport {transformToOS2} from \"./transformToOS2\";\n\nexport interface GenerateSpecOptions extends Omit<SpecSerializerOptions, \"specType\"> {\n tokens: JsonTokenOptions;\n version?: string;\n acceptMimes?: string;\n specPath?: string;\n specVersion?: string;\n spec?: any;\n}\n/* node_env:start */\nasync function readSpec(path: string) {\n const {default: fs} = await import(\"fs-extra\");\n if (fs.existsSync(path)) {\n try {\n return await fs.readJSON(path, {encoding: \"utf8\"});\n } catch (e) {}\n }\n\n /* istanbul ignore next */\n return {};\n}\n/* node_env:end */\n/**\n * Generate OpenAPI spec from multiple sources (models, files, conf)\n * @param tokens\n * @param options\n */\nexport async function generateSpec({tokens, ...options}: GenerateSpecOptions): Promise<OpenSpec2 | OpenSpec3> {\n const {version = \"1.0.0\", acceptMimes, specPath, specVersion} = options;\n const fileSpec: Partial<OpenSpec2 | OpenSpec3> = /* node_env:start */ specPath ? await readSpec(specPath) : /* node_env:end */ {};\n\n const defaultSpec = mapOpenSpec(getValue(options, \"spec\", {}), {\n fileSpec,\n version,\n specVersion,\n acceptMimes\n });\n\n const specType = getSpecTypeFromSpec(defaultSpec);\n\n let controllersSpec: any = getSpec(tokens, options);\n const spec: any = mergeSpec(defaultSpec, controllersSpec);\n\n if (specType === SpecTypes.SWAGGER) {\n return transformToOS2(spec) as any;\n }\n\n return spec;\n}\n"]}
@@ -1,12 +1,13 @@
1
- import fs from "fs-extra";
2
1
  import { getValue } from "@tsed/core";
3
- import { mapOpenSpec } from "./mapOpenSpec.js";
2
+ import { SpecTypes } from "../domain/SpecTypes.js";
4
3
  import { getSpec } from "./getSpec.js";
5
4
  import { getSpecTypeFromSpec } from "./getSpecType.js";
5
+ import { mapOpenSpec } from "./mapOpenSpec.js";
6
6
  import { mergeSpec } from "./mergeSpec.js";
7
- import { SpecTypes } from "../domain/SpecTypes.js";
8
7
  import { transformToOS2 } from "./transformToOS2.js";
8
+ /* node_env:start */
9
9
  async function readSpec(path) {
10
+ const { default: fs } = await import("fs-extra");
10
11
  if (fs.existsSync(path)) {
11
12
  try {
12
13
  return await fs.readJSON(path, { encoding: "utf8" });
@@ -16,6 +17,7 @@ async function readSpec(path) {
16
17
  /* istanbul ignore next */
17
18
  return {};
18
19
  }
20
+ /* node_env:end */
19
21
  /**
20
22
  * Generate OpenAPI spec from multiple sources (models, files, conf)
21
23
  * @param tokens
@@ -23,7 +25,7 @@ async function readSpec(path) {
23
25
  */
24
26
  export async function generateSpec({ tokens, ...options }) {
25
27
  const { version = "1.0.0", acceptMimes, specPath, specVersion } = options;
26
- const fileSpec = specPath ? await readSpec(specPath) : {};
28
+ const fileSpec = /* node_env:start */ specPath ? await readSpec(specPath) : /* node_env:end */ {};
27
29
  const defaultSpec = mapOpenSpec(getValue(options, "spec", {}), {
28
30
  fileSpec,
29
31
  version,
@@ -1 +1 @@
1
- {"version":3,"file":"generateSpec.js","sourceRoot":"","sources":["../../../src/utils/generateSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,OAAO,EAA0C,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAWhD,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI;YACF,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE,GAAE;KACf;IAED,0BAA0B;IAC1B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAsB;IAC1E,MAAM,EAAC,OAAO,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IACxE,MAAM,QAAQ,GAAmC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1F,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,GAAQ,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAE1D,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,EAAE;QAClC,OAAO,cAAc,CAAC,IAAI,CAAQ,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import fs from \"fs-extra\";\nimport {getValue} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3} from \"@tsed/openspec\";\nimport {mapOpenSpec} from \"./mapOpenSpec\";\nimport {getSpec, JsonTokenOptions, SpecSerializerOptions} from \"./getSpec\";\nimport {getSpecTypeFromSpec} from \"./getSpecType\";\nimport {mergeSpec} from \"./mergeSpec\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\nimport {transformToOS2} from \"./transformToOS2\";\n\nexport interface GenerateSpecOptions extends Omit<SpecSerializerOptions, \"specType\"> {\n tokens: JsonTokenOptions;\n version?: string;\n acceptMimes?: string;\n specPath?: string;\n specVersion?: string;\n spec?: any;\n}\n\nasync function readSpec(path: string) {\n if (fs.existsSync(path)) {\n try {\n return await fs.readJSON(path, {encoding: \"utf8\"});\n } catch (e) {}\n }\n\n /* istanbul ignore next */\n return {};\n}\n\n/**\n * Generate OpenAPI spec from multiple sources (models, files, conf)\n * @param tokens\n * @param options\n */\nexport async function generateSpec({tokens, ...options}: GenerateSpecOptions): Promise<OpenSpec2 | OpenSpec3> {\n const {version = \"1.0.0\", acceptMimes, specPath, specVersion} = options;\n const fileSpec: Partial<OpenSpec2 | OpenSpec3> = specPath ? await readSpec(specPath) : {};\n\n const defaultSpec = mapOpenSpec(getValue(options, \"spec\", {}), {\n fileSpec,\n version,\n specVersion,\n acceptMimes\n });\n\n const specType = getSpecTypeFromSpec(defaultSpec);\n\n let controllersSpec: any = getSpec(tokens, options);\n const spec: any = mergeSpec(defaultSpec, controllersSpec);\n\n if (specType === SpecTypes.SWAGGER) {\n return transformToOS2(spec) as any;\n }\n\n return spec;\n}\n"]}
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,qBAAqB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAA0C,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAUhD,oBAAoB;AACpB,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,EAAC,OAAO,EAAE,EAAE,EAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,IAAI;YACF,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE,GAAE;KACf;IAED,0BAA0B;IAC1B,OAAO,EAAE,CAAC;AACZ,CAAC;AACD,kBAAkB;AAClB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAC,MAAM,EAAE,GAAG,OAAO,EAAsB;IAC1E,MAAM,EAAC,OAAO,GAAG,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IACxE,MAAM,QAAQ,GAAmC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAElI,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,GAAQ,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAE1D,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,EAAE;QAClC,OAAO,cAAc,CAAC,IAAI,CAAQ,CAAC;KACpC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import {getValue} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3} from \"@tsed/openspec\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\nimport {getSpec, JsonTokenOptions, SpecSerializerOptions} from \"./getSpec\";\nimport {getSpecTypeFromSpec} from \"./getSpecType\";\nimport {mapOpenSpec} from \"./mapOpenSpec\";\nimport {mergeSpec} from \"./mergeSpec\";\nimport {transformToOS2} from \"./transformToOS2\";\n\nexport interface GenerateSpecOptions extends Omit<SpecSerializerOptions, \"specType\"> {\n tokens: JsonTokenOptions;\n version?: string;\n acceptMimes?: string;\n specPath?: string;\n specVersion?: string;\n spec?: any;\n}\n/* node_env:start */\nasync function readSpec(path: string) {\n const {default: fs} = await import(\"fs-extra\");\n if (fs.existsSync(path)) {\n try {\n return await fs.readJSON(path, {encoding: \"utf8\"});\n } catch (e) {}\n }\n\n /* istanbul ignore next */\n return {};\n}\n/* node_env:end */\n/**\n * Generate OpenAPI spec from multiple sources (models, files, conf)\n * @param tokens\n * @param options\n */\nexport async function generateSpec({tokens, ...options}: GenerateSpecOptions): Promise<OpenSpec2 | OpenSpec3> {\n const {version = \"1.0.0\", acceptMimes, specPath, specVersion} = options;\n const fileSpec: Partial<OpenSpec2 | OpenSpec3> = /* node_env:start */ specPath ? await readSpec(specPath) : /* node_env:end */ {};\n\n const defaultSpec = mapOpenSpec(getValue(options, \"spec\", {}), {\n fileSpec,\n version,\n specVersion,\n acceptMimes\n });\n\n const specType = getSpecTypeFromSpec(defaultSpec);\n\n let controllersSpec: any = getSpec(tokens, options);\n const spec: any = mergeSpec(defaultSpec, controllersSpec);\n\n if (specType === SpecTypes.SWAGGER) {\n return transformToOS2(spec) as any;\n }\n\n return spec;\n}\n"]}
package/package.json CHANGED
@@ -1,23 +1,26 @@
1
1
  {
2
2
  "name": "@tsed/schema",
3
- "version": "7.9.0",
3
+ "version": "7.10.0-rc.2",
4
4
  "description": "JsonSchema module for Ts.ED Framework",
5
5
  "private": false,
6
6
  "source": "./src/index.ts",
7
7
  "main": "./lib/cjs/index.js",
8
8
  "module": "./lib/esm/index.js",
9
9
  "typings": "./lib/types/index.d.ts",
10
+ "browser": "./lib/browser/main.js",
10
11
  "exports": {
11
12
  "types": "./lib/types/index.d.ts",
13
+ "browser": "./lib/browser/main.js",
12
14
  "import": "./lib/esm/index.js",
13
15
  "require": "./lib/cjs/index.js",
14
16
  "default": "./lib/esm/index.js"
15
17
  },
16
18
  "scripts": {
17
19
  "clean": "rm -rf lib",
18
- "build": "yarn clean && yarn barrels && yarn run build:esm && yarn run build:cjs",
20
+ "build": "yarn clean && yarn barrels && yarn run build:esm && yarn run build:cjs && yarn run build:browser",
19
21
  "build:cjs": "tsc --build tsconfig.compile.json",
20
22
  "build:esm": "tsc --build tsconfig.compile.esm.json",
23
+ "build:browser": "webpack",
21
24
  "barrels": "yarn barrelsby --delete -d ./src -e \"\\.spec\\.ts\" -e \"__mock__\" -e \".benchmark.ts\"",
22
25
  "test": "cross-env NODE_ENV=test yarn jest --max-workers=2"
23
26
  },
@@ -32,7 +35,7 @@
32
35
  "tsed"
33
36
  ],
34
37
  "dependencies": {
35
- "@tsed/openspec": "7.9.0",
38
+ "@tsed/openspec": "7.10.0-rc.2",
36
39
  "change-case": "^4.1.2",
37
40
  "fs-extra": "^10.0.1",
38
41
  "json-schema": "0.4.0",
@@ -42,17 +45,20 @@
42
45
  },
43
46
  "devDependencies": {
44
47
  "@apidevtools/swagger-parser": "10.0.3",
45
- "@tsed/core": "7.9.0",
46
- "@tsed/openspec": "7.9.0",
48
+ "@tsed/core": "7.10.0-rc.2",
49
+ "@tsed/openspec": "7.10.0-rc.2",
47
50
  "@types/fs-extra": "9.0.13",
48
51
  "@types/json-schema": "7.0.11",
49
52
  "@types/micromatch": "4.0.2",
50
53
  "@types/statuses": "2.0.0",
51
- "api-spec-converter": "2.12.0"
54
+ "ts-loader": "^9.4.2",
55
+ "webpack": "^5.75.0",
56
+ "webpack-cli": "^5.0.1",
57
+ "webpack-remove-code-blocks": "^0.1.5"
52
58
  },
53
59
  "peerDependencies": {
54
- "@tsed/core": "^7.9.0",
55
- "@tsed/openspec": "^7.9.0"
60
+ "@tsed/core": "^7.10.0-rc.2",
61
+ "@tsed/openspec": "^7.10.0-rc.2"
56
62
  },
57
63
  "peerDependenciesMeta": {
58
64
  "@tsed/openspec": {
@@ -68,5 +74,8 @@
68
74
  },
69
75
  "homepage": "https://github.com/tsedio/tsed/tree/production/packages/specs/schema",
70
76
  "author": "Romain Lenzotti",
71
- "license": "MIT"
77
+ "license": "MIT",
78
+ "publishConfig": {
79
+ "tag": "rc"
80
+ }
72
81
  }
@@ -0,0 +1,55 @@
1
+ module.exports = {
2
+ mode: "development",
3
+ devtool: "source-map",
4
+ stats: {warnings: false},
5
+ entry: {
6
+ main: "./src/index.ts"
7
+ },
8
+ output: {
9
+ path: __dirname + "/lib/browser/"
10
+ },
11
+ devServer: {
12
+ devMiddleware: {
13
+ writeToDisk: true
14
+ }
15
+ },
16
+ resolve: {
17
+ extensions: [".tsx", ".ts", ".js"]
18
+ },
19
+ module: {
20
+ rules: [
21
+ {
22
+ test: /\.ts?$/,
23
+ use: [
24
+ {
25
+ loader: "webpack-remove-code-blocks",
26
+ options: {
27
+ blocks: [
28
+ "debug",
29
+ "devblock",
30
+ {
31
+ start: "node_env:start",
32
+ end: "node_env:end",
33
+ prefix: "/*",
34
+ suffix: "*/"
35
+ }
36
+ ]
37
+ }
38
+ },
39
+ {
40
+ loader: "ts-loader",
41
+ options: {
42
+ configFile: "tsconfig.compile.esm.json"
43
+ }
44
+ }
45
+ ],
46
+ exclude: /node_modules/
47
+ }
48
+ ]
49
+ },
50
+ plugins: [],
51
+ optimization: {
52
+ minimize: true,
53
+ concatenateModules: true
54
+ }
55
+ };