@tsed/openapi-utils 8.6.0-beta.1 → 8.6.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,6 +1,7 @@
1
1
  import { writeFile } from "node:fs/promises";
2
2
  import { Env } from "@tsed/core";
3
3
  import { constant, inject, injectable } from "@tsed/di";
4
+ import { $asyncAlter } from "@tsed/hooks";
4
5
  import { Platform } from "@tsed/platform-http";
5
6
  import { generateSpec } from "@tsed/schema";
6
7
  import { includeRoute } from "../utils/includeRoute.js";
@@ -20,13 +21,14 @@ export class OpenAPIService {
20
21
  .getMountedControllers()
21
22
  .filter(({ routes, provider }) => [...routes.values()].some((route) => includeRoute(route, provider, conf)))
22
23
  .map(({ route, provider }) => ({ token: provider.token, rootPath: route }));
23
- const spec = generateSpec({
24
+ let spec = generateSpec({
24
25
  tokens,
25
26
  ...conf,
26
27
  fileSpec: specPath ? await readSpec(specPath) : {},
27
28
  version,
28
29
  acceptMimes
29
30
  });
31
+ spec = await $asyncAlter("$alterOpenSpec", spec, [conf]);
30
32
  this.#specs.set(conf.path, spec);
31
33
  }
32
34
  return this.#specs.get(conf.path);
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAPIService.js","sourceRoot":"","sources":["../../../src/services/OpenAPIService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAC,GAAG,EAAY,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,MAAM,OAAO,cAAc;IAGzB,MAAM,CAAiD;IAEvD;QAJU,aAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtC,WAAM,GAAuC,IAAI,GAAG,EAAE,CAAC;IAExC,CAAC;IAQT,KAAK,CAAC,cAAc,CAAC,IAAqB;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,QAAQ,CAAS,aAAa,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;iBACzB,qBAAqB,EAAE;iBACvB,MAAM,CAAC,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;iBACzG,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,QAAQ,CAAC,KAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;YAElF,MAAM,IAAI,GAAG,YAAY,CAAC;gBACxB,MAAM;gBACN,GAAG,IAAI;gBACP,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClD,OAAO;gBACP,WAAW;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAqB;QAC1C,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAM,KAAK,CAAC,CAAC;QAEjC,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,UAAU,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"OpenAPIService.js","sourceRoot":"","sources":["../../../src/services/OpenAPIService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAC,GAAG,EAAY,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,MAAM,OAAO,cAAc;IAGzB,MAAM,CAAiD;IAEvD;QAJU,aAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtC,WAAM,GAAuC,IAAI,GAAG,EAAE,CAAC;IAExC,CAAC;IAQT,KAAK,CAAC,cAAc,CAAC,IAAqB;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,QAAQ,CAAS,aAAa,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;iBACzB,qBAAqB,EAAE;iBACvB,MAAM,CAAC,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;iBACzG,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,QAAQ,CAAC,KAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;YAElF,IAAI,IAAI,GAAG,YAAY,CAAC;gBACtB,MAAM;gBACN,GAAG,IAAI;gBACP,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClD,OAAO;gBACP,WAAW;aACZ,CAAC,CAAC;YAEH,IAAI,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAqB;QAC1C,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAM,KAAK,CAAC,CAAC;QAEjC,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,UAAU,CAAC,cAAc,CAAC,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tsed/openapi-utils",
3
3
  "description": "OpenAPI utils to build @tsed/swagger package or @tsed/scalar",
4
4
  "type": "module",
5
- "version": "8.6.0-beta.1",
5
+ "version": "8.6.0",
6
6
  "source": "./src/index.ts",
7
7
  "main": "./lib/esm/index.js",
8
8
  "module": "./lib/esm/index.js",
@@ -24,25 +24,25 @@
24
24
  "test:ci": "vitest run --coverage.thresholds.autoUpdate=true"
25
25
  },
26
26
  "dependencies": {
27
- "@tsed/openspec": "8.6.0-beta.1",
27
+ "@tsed/openspec": "8.6.0",
28
28
  "micromatch": "4.0.8",
29
29
  "tslib": "2.7.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@tsed/barrels": "8.6.0-beta.1",
33
- "@tsed/core": "8.6.0-beta.1",
34
- "@tsed/di": "8.6.0-beta.1",
35
- "@tsed/json-mapper": "8.6.0-beta.1",
36
- "@tsed/openspec": "8.6.0-beta.1",
37
- "@tsed/platform-http": "8.6.0-beta.1",
38
- "@tsed/schema": "8.6.0-beta.1",
39
- "@tsed/typescript": "8.6.0-beta.1",
32
+ "@tsed/barrels": "8.6.0",
33
+ "@tsed/core": "8.6.0",
34
+ "@tsed/di": "8.6.0",
35
+ "@tsed/json-mapper": "8.6.0",
36
+ "@tsed/openspec": "8.6.0",
37
+ "@tsed/platform-http": "8.6.0",
38
+ "@tsed/schema": "8.6.0",
39
+ "@tsed/typescript": "8.6.0",
40
40
  "eslint": "9.12.0",
41
41
  "typescript": "5.4.5",
42
42
  "vitest": "2.1.2"
43
43
  },
44
44
  "peerDependencies": {
45
- "@tsed/platform-http": ">=8.6.0-beta.1"
45
+ "@tsed/platform-http": ">=8.6.0"
46
46
  },
47
47
  "peerDependenciesMeta": {
48
48
  "@tsed/platform-http": {
@@ -55,8 +55,5 @@
55
55
  },
56
56
  "homepage": "https://github.com/tsedio/tsed/tree/production/packages/specs/openapi-utils",
57
57
  "author": "Romain Lenzotti",
58
- "license": "MIT",
59
- "publishConfig": {
60
- "tag": "beta"
61
- }
58
+ "license": "MIT"
62
59
  }
@@ -2,6 +2,7 @@ import {writeFile} from "node:fs/promises";
2
2
 
3
3
  import {Env, type Type} from "@tsed/core";
4
4
  import {constant, inject, injectable} from "@tsed/di";
5
+ import {$asyncAlter} from "@tsed/hooks";
5
6
  import {OpenSpec2, OpenSpec3} from "@tsed/openspec";
6
7
  import {Platform} from "@tsed/platform-http";
7
8
  import {generateSpec} from "@tsed/schema";
@@ -34,7 +35,7 @@ export class OpenAPIService {
34
35
  .filter(({routes, provider}) => [...routes.values()].some((route) => includeRoute(route, provider, conf)))
35
36
  .map(({route, provider}) => ({token: provider.token as Type, rootPath: route}));
36
37
 
37
- const spec = generateSpec({
38
+ let spec = generateSpec({
38
39
  tokens,
39
40
  ...conf,
40
41
  fileSpec: specPath ? await readSpec(specPath) : {},
@@ -42,6 +43,8 @@ export class OpenAPIService {
42
43
  acceptMimes
43
44
  });
44
45
 
46
+ spec = await $asyncAlter("$alterOpenSpec", spec, [conf]);
47
+
45
48
  this.#specs.set(conf.path, spec);
46
49
  }
47
50