@strapi/openapi 0.0.0-experimental.621b019265f3aaccab5e5bc1feae5ef4b524fa32 → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

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/README.md CHANGED
@@ -1 +1,77 @@
1
1
  # @strapi/openapi
2
+
3
+ `@strapi/openapi` provides the core OpenAPI generation pipeline used by Strapi.
4
+
5
+ ## Generate a specification
6
+
7
+ You can generate a document from the CLI:
8
+
9
+ ```bash
10
+ strapi openapi generate
11
+ ```
12
+
13
+ This command generates a `content-api` specification by default.
14
+
15
+ ## Expose `/openapi.json` from the server
16
+
17
+ Strapi can expose a generated OpenAPI document over HTTP. Both endpoints are
18
+ disabled by default; opt in per endpoint via `server.openapi`:
19
+
20
+ ```js
21
+ // config/server.js
22
+ module.exports = () => ({
23
+ openapi: {
24
+ 'content-api': {
25
+ // 'disabled' (default) | 'public'
26
+ access: 'public',
27
+ route: {
28
+ path: '/openapi.json',
29
+ },
30
+ cache: {
31
+ enabled: true,
32
+ maxAgeMs: 60_000,
33
+ filePath: '.strapi/openapi/content-api.json',
34
+ },
35
+ },
36
+ admin: {
37
+ // 'disabled' (default) | 'authenticated' ('public' is not allowed)
38
+ access: 'authenticated',
39
+ route: {
40
+ path: '/openapi.json',
41
+ },
42
+ cache: {
43
+ enabled: true,
44
+ maxAgeMs: 60_000,
45
+ filePath: '.strapi/openapi/admin.json',
46
+ },
47
+ },
48
+ },
49
+ });
50
+ ```
51
+
52
+ ### Options
53
+
54
+ - `server.openapi['content-api']`: config for the Content API OpenAPI endpoint.
55
+ - `server.openapi.admin`: config for the Admin API OpenAPI endpoint.
56
+ - `access`: controls exposure and protection in a single setting (default `disabled`). See below.
57
+ - `route.path`: endpoint subpath to register (resolved under `/api` for content-api and under `/admin` for admin by default).
58
+ - `cache.enabled`: enables file-based cache for generated output.
59
+ - `cache.maxAgeMs`: cache validity in milliseconds.
60
+ - `cache.filePath`: output file path for cached spec (absolute or app-root relative).
61
+
62
+ ### Access control
63
+
64
+ A single `access` value per endpoint controls both whether the endpoint exists and how it is protected.
65
+ Access is governed by Strapi's existing auth, not by a bespoke access surface:
66
+
67
+ - `disabled` (default): the endpoint is not registered.
68
+ - `public` (**content-api only**): no authentication — anyone can read the spec.
69
+ - `authenticated` (**admin only**): requires an authenticated admin (any role). Granular
70
+ per-permission RBAC is intentionally left for a later iteration.
71
+
72
+ The content-api endpoint is only available as public for now. The admin endpoint is never public.
73
+ Unsupported access values throw at startup.
74
+
75
+ > **Security note:** a `public` content-api spec describes your entire Content API surface — including
76
+ > content types that are not publicly readable — to anyone. If you need a gated spec, use the admin
77
+ > endpoint with `authenticated`. Review who can reach each endpoint before enabling it.
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAgB1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,WAAY,KAAK,MAAM,YAAY,iBAAiB,KAAG,eA4B3E,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAgB1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,UAAU,iBAAiB,KAAG,eA4B3E,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var _exports = require('./exports.js');
3
+ var exports$1 = require('./exports.js');
4
4
 
5
5
 
6
6
 
7
- exports.generate = _exports.generate;
7
+ exports.generate = exports$1.generate;
8
8
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,8 @@
3
3
  var z = require('zod/v4');
4
4
  var zod = require('../utils/zod.js');
5
5
 
6
- function _interopNamespaceDefault(e) {
6
+ function _interopNamespace(e) {
7
+ if (e && e.__esModule) return e;
7
8
  var n = Object.create(null);
8
9
  if (e) {
9
10
  Object.keys(e).forEach(function (k) {
@@ -20,7 +21,7 @@ function _interopNamespaceDefault(e) {
20
21
  return Object.freeze(n);
21
22
  }
22
23
 
23
- var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
24
+ var z__namespace = /*#__PURE__*/_interopNamespace(z);
24
25
 
25
26
  class ComponentsWriter {
26
27
  postProcess(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"component-writer.js","sources":["../../src/post-processor/component-writer.ts"],"sourcesContent":["import { OpenAPIV3_1 } from 'openapi-types';\nimport * as z from 'zod/v4';\nimport type { DocumentContext } from '../types';\nimport { toComponentsPath } from '../utils/zod';\nimport type { PostProcessor } from './types';\n\nexport class ComponentsWriter implements PostProcessor {\n postProcess(context: DocumentContext): void {\n const { output } = context;\n\n const { schemas } = z.toJSONSchema(z.globalRegistry, {\n uri: toComponentsPath,\n }) as OpenAPIV3_1.ComponentsObject;\n\n output.data.components = { schemas };\n }\n}\n"],"names":["ComponentsWriter","postProcess","context","output","schemas","z","toJSONSchema","globalRegistry","uri","toComponentsPath","data","components"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAMA,gBAAAA,CAAAA;AACXC,IAAAA,WAAAA,CAAYC,OAAwB,EAAQ;QAC1C,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAAA;QAEnB,MAAM,EAAEE,OAAO,EAAE,GAAGC,aAAEC,YAAY,CAACD,YAAAA,CAAEE,cAAc,EAAE;YACnDC,GAAAA,EAAKC;AACP,SAAA,CAAA;QAEAN,MAAAA,CAAOO,IAAI,CAACC,UAAU,GAAG;AAAEP,YAAAA;AAAQ,SAAA;AACrC,IAAA;AACF;;;;"}
1
+ {"version":3,"file":"component-writer.js","sources":["../../src/post-processor/component-writer.ts"],"sourcesContent":["import { OpenAPIV3_1 } from 'openapi-types';\nimport * as z from 'zod/v4';\nimport type { DocumentContext } from '../types';\nimport { toComponentsPath } from '../utils/zod';\nimport type { PostProcessor } from './types';\n\nexport class ComponentsWriter implements PostProcessor {\n postProcess(context: DocumentContext): void {\n const { output } = context;\n\n const { schemas } = z.toJSONSchema(z.globalRegistry, {\n uri: toComponentsPath,\n }) as OpenAPIV3_1.ComponentsObject;\n\n output.data.components = { schemas };\n }\n}\n"],"names":["ComponentsWriter","postProcess","context","output","schemas","z","toJSONSchema","globalRegistry","uri","toComponentsPath","data","components"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAMA,gBAAAA,CAAAA;AACXC,IAAAA,WAAAA,CAAYC,OAAwB,EAAQ;QAC1C,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAAA;QAEnB,MAAM,EAAEE,OAAO,EAAE,GAAGC,aAAEC,YAAY,CAACD,YAAAA,CAAEE,cAAc,EAAE;YACnDC,GAAAA,EAAKC;AACP,SAAA,CAAA;QAEAN,MAAAA,CAAOO,IAAI,CAACC,UAAU,GAAG;AAAEP,YAAAA;AAAQ,SAAA;AACrC,IAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-of-type.d.ts","sourceRoot":"","sources":["../../../src/routes/rules/is-of-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,WAEvC,CAAC"}
1
+ {"version":3,"file":"is-of-type.d.ts","sourceRoot":"","sources":["../../../src/routes/rules/is-of-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,WAEvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAC;AAIhC,eAAO,MAAM,cAAc,aAChB,MAAM,GAAG,IAAI,cACX,MAAM,yBAGlB,CAAC"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAC;AAIhC,eAAO,MAAM,cAAc,GACzB,UAAS,MAAM,GAAG,IAAW,EAC7B,YAAW,MAAwB,yBAGpC,CAAC"}
@@ -3,8 +3,12 @@
3
3
  var createDebug = require('debug');
4
4
  var constants = require('../constants.js');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var createDebug__default = /*#__PURE__*/_interopDefault(createDebug);
9
+
6
10
  const createDebugger = (section = null, namespace = constants.DEBUG_NAMESPACE)=>{
7
- return section !== null ? createDebug(`${namespace}:${section}`) : createDebug(namespace);
11
+ return section !== null ? createDebug__default.default(`${namespace}:${section}`) : createDebug__default.default(namespace);
8
12
  };
9
13
 
10
14
  exports.createDebugger = createDebugger;
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sources":["../../src/utils/debug.ts"],"sourcesContent":["import createDebug from 'debug';\n\nimport { DEBUG_NAMESPACE } from '../constants';\n\nexport const createDebugger = (\n section: string | null = null,\n namespace: string = DEBUG_NAMESPACE\n) => {\n return section !== null ? createDebug(`${namespace}:${section}`) : createDebug(namespace);\n};\n"],"names":["createDebugger","section","namespace","DEBUG_NAMESPACE","createDebug"],"mappings":";;;;;MAIaA,cAAAA,GAAiB,CAC5BC,UAAyB,IAAI,EAC7BC,YAAoBC,yBAAe,GAAA;IAEnC,OAAOF,OAAAA,KAAY,OAAOG,WAAAA,CAAY,CAAA,EAAGF,UAAU,CAAC,EAAED,OAAAA,CAAAA,CAAS,CAAA,GAAIG,WAAAA,CAAYF,SAAAA,CAAAA;AACjF;;;;"}
1
+ {"version":3,"file":"debug.js","sources":["../../src/utils/debug.ts"],"sourcesContent":["import createDebug from 'debug';\n\nimport { DEBUG_NAMESPACE } from '../constants';\n\nexport const createDebugger = (\n section: string | null = null,\n namespace: string = DEBUG_NAMESPACE\n) => {\n return section !== null ? createDebug(`${namespace}:${section}`) : createDebug(namespace);\n};\n"],"names":["createDebugger","section","namespace","DEBUG_NAMESPACE","createDebug"],"mappings":";;;;;;;;;MAIaA,cAAAA,GAAiB,CAC5BC,UAAyB,IAAI,EAC7BC,YAAoBC,yBAAe,GAAA;IAEnC,OAAOF,OAAAA,KAAY,OAAOG,4BAAAA,CAAY,CAAA,EAAGF,UAAU,CAAC,EAAED,OAAAA,CAAAA,CAAS,CAAA,GAAIG,4BAAAA,CAAYF,SAAAA,CAAAA;AACjF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/utils/zod.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,eAAO,MAAM,YAAY,cACZ,EAAE,OAAO,KACnB,YAAY,YAAY,GAAG,YAAY,eAsBzC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,OAAQ,MAAM,WAAiC,CAAC"}
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/utils/zod.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,eAAO,MAAM,YAAY,GACvB,WAAW,CAAC,CAAC,OAAO,KACnB,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,eAsBzC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,WAAiC,CAAC"}
package/dist/utils/zod.js CHANGED
@@ -3,7 +3,8 @@
3
3
  var node_crypto = require('node:crypto');
4
4
  var z = require('zod/v4');
5
5
 
6
- function _interopNamespaceDefault(e) {
6
+ function _interopNamespace(e) {
7
+ if (e && e.__esModule) return e;
7
8
  var n = Object.create(null);
8
9
  if (e) {
9
10
  Object.keys(e).forEach(function (k) {
@@ -20,7 +21,7 @@ function _interopNamespaceDefault(e) {
20
21
  return Object.freeze(n);
21
22
  }
22
23
 
23
- var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
24
+ var z__namespace = /*#__PURE__*/_interopNamespace(z);
24
25
 
25
26
  /**
26
27
  * Converts a Zod schema to an OpenAPI Schema Object.
@@ -1 +1 @@
1
- {"version":3,"file":"zod.js","sources":["../../src/utils/zod.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport * as z from 'zod/v4';\n\nimport type { OpenAPIV3_1 } from 'openapi-types';\n\n/**\n * Converts a Zod schema to an OpenAPI Schema Object.\n *\n * @description\n * Takes a Zod schema and converts it into an OpenAPI Schema Object (v3.1).\n * It uses a local registry to handle the conversion process and generates the appropriate\n * OpenAPI components.\n *\n * @param zodSchema - The Zod schema to convert to OpenAPI format. Can be any valid Zod schema.\n *\n * @returns An OpenAPI Schema Object representing the input Zod schema structure.\n * If the conversion cannot be completed, returns undefined.\n *\n * @example\n * ```typescript\n * import * as z from 'zod/v4';\n *\n * // Create a Zod schema\n * const userSchema = z.object({\n * id: z.number(),\n * name: z.string(),\n * email: z.string().email()\n * });\n *\n * // Convert to OpenAPI schema\n * const openAPISchema = zodToOpenAPI(userSchema);\n * ```\n */\n\nexport const zodToOpenAPI = (\n zodSchema: z.ZodType\n): OpenAPIV3_1.SchemaObject | OpenAPIV3_1.ReferenceObject => {\n try {\n const id = randomUUID();\n const registry = z.registry<{ id: string }>();\n\n // Add the schema to the local registry with a custom, unique ID\n registry.add(zodSchema, { id });\n\n // Copy the global registry definitions into the local registry to make sure references are resolved\n // This prevent \"__shared\" definitions from being created\n for (const [key, value] of z.globalRegistry._idmap) {\n registry.add(value, { id: key });\n }\n\n // Generate the schemas and only return the one we want, transform the URI path to be OpenAPI compliant\n const { schemas } = z.toJSONSchema(registry, { uri: toComponentsPath });\n\n // TODO: make sure it's compliant\n return schemas[id] as OpenAPIV3_1.SchemaObject;\n } catch (e) {\n throw new Error(\"Couldn't transform the zod schema into an OpenAPI schema\");\n }\n};\n\n/**\n * Generates a path string for referencing a component schema by its identifier.\n *\n * @param id - The identifier of the component schema.\n * @returns The constructed path string for the specified component schema.\n */\nexport const toComponentsPath = (id: string) => `#/components/schemas/${id}`;\n"],"names":["zodToOpenAPI","zodSchema","id","randomUUID","registry","z","add","key","value","globalRegistry","_idmap","schemas","toJSONSchema","uri","toComponentsPath","e","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BO,MAAMA,YAAAA,GAAe,CAC1BC,SAAAA,GAAAA;IAEA,IAAI;AACF,QAAA,MAAMC,EAAAA,GAAKC,sBAAAA,EAAAA;QACX,MAAMC,QAAAA,GAAWC,aAAED,QAAQ,EAAA;;QAG3BA,QAAAA,CAASE,GAAG,CAACL,SAAAA,EAAW;AAAEC,YAAAA;AAAG,SAAA,CAAA;;;QAI7B,KAAK,MAAM,CAACK,GAAAA,EAAKC,KAAAA,CAAM,IAAIH,YAAAA,CAAEI,cAAc,CAACC,MAAM,CAAE;YAClDN,QAAAA,CAASE,GAAG,CAACE,KAAAA,EAAO;gBAAEN,EAAAA,EAAIK;AAAI,aAAA,CAAA;AAChC,QAAA;;AAGA,QAAA,MAAM,EAAEI,OAAO,EAAE,GAAGN,YAAAA,CAAEO,YAAY,CAACR,QAAAA,EAAU;YAAES,GAAAA,EAAKC;AAAiB,SAAA,CAAA;;QAGrE,OAAOH,OAAO,CAACT,EAAAA,CAAG;AACpB,IAAA,CAAA,CAAE,OAAOa,CAAAA,EAAG;AACV,QAAA,MAAM,IAAIC,KAAAA,CAAM,0DAAA,CAAA;AAClB,IAAA;AACF;AAEA;;;;;UAMaF,gBAAAA,GAAmB,CAACZ,KAAe,CAAC,qBAAqB,EAAEA,EAAAA,CAAAA;;;;;"}
1
+ {"version":3,"file":"zod.js","sources":["../../src/utils/zod.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport * as z from 'zod/v4';\n\nimport type { OpenAPIV3_1 } from 'openapi-types';\n\n/**\n * Converts a Zod schema to an OpenAPI Schema Object.\n *\n * @description\n * Takes a Zod schema and converts it into an OpenAPI Schema Object (v3.1).\n * It uses a local registry to handle the conversion process and generates the appropriate\n * OpenAPI components.\n *\n * @param zodSchema - The Zod schema to convert to OpenAPI format. Can be any valid Zod schema.\n *\n * @returns An OpenAPI Schema Object representing the input Zod schema structure.\n * If the conversion cannot be completed, returns undefined.\n *\n * @example\n * ```typescript\n * import * as z from 'zod/v4';\n *\n * // Create a Zod schema\n * const userSchema = z.object({\n * id: z.number(),\n * name: z.string(),\n * email: z.string().email()\n * });\n *\n * // Convert to OpenAPI schema\n * const openAPISchema = zodToOpenAPI(userSchema);\n * ```\n */\n\nexport const zodToOpenAPI = (\n zodSchema: z.ZodType\n): OpenAPIV3_1.SchemaObject | OpenAPIV3_1.ReferenceObject => {\n try {\n const id = randomUUID();\n const registry = z.registry<{ id: string }>();\n\n // Add the schema to the local registry with a custom, unique ID\n registry.add(zodSchema, { id });\n\n // Copy the global registry definitions into the local registry to make sure references are resolved\n // This prevent \"__shared\" definitions from being created\n for (const [key, value] of z.globalRegistry._idmap) {\n registry.add(value, { id: key });\n }\n\n // Generate the schemas and only return the one we want, transform the URI path to be OpenAPI compliant\n const { schemas } = z.toJSONSchema(registry, { uri: toComponentsPath });\n\n // TODO: make sure it's compliant\n return schemas[id] as OpenAPIV3_1.SchemaObject;\n } catch (e) {\n throw new Error(\"Couldn't transform the zod schema into an OpenAPI schema\");\n }\n};\n\n/**\n * Generates a path string for referencing a component schema by its identifier.\n *\n * @param id - The identifier of the component schema.\n * @returns The constructed path string for the specified component schema.\n */\nexport const toComponentsPath = (id: string) => `#/components/schemas/${id}`;\n"],"names":["zodToOpenAPI","zodSchema","id","randomUUID","registry","z","add","key","value","globalRegistry","_idmap","schemas","toJSONSchema","uri","toComponentsPath","e","Error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BO,MAAMA,YAAAA,GAAe,CAC1BC,SAAAA,GAAAA;IAEA,IAAI;AACF,QAAA,MAAMC,EAAAA,GAAKC,sBAAAA,EAAAA;QACX,MAAMC,QAAAA,GAAWC,aAAED,QAAQ,EAAA;;QAG3BA,QAAAA,CAASE,GAAG,CAACL,SAAAA,EAAW;AAAEC,YAAAA;AAAG,SAAA,CAAA;;;QAI7B,KAAK,MAAM,CAACK,GAAAA,EAAKC,KAAAA,CAAM,IAAIH,YAAAA,CAAEI,cAAc,CAACC,MAAM,CAAE;YAClDN,QAAAA,CAASE,GAAG,CAACE,KAAAA,EAAO;gBAAEN,EAAAA,EAAIK;AAAI,aAAA,CAAA;AAChC,QAAA;;AAGA,QAAA,MAAM,EAAEI,OAAO,EAAE,GAAGN,YAAAA,CAAEO,YAAY,CAACR,QAAAA,EAAU;YAAES,GAAAA,EAAKC;AAAiB,SAAA,CAAA;;QAGrE,OAAOH,OAAO,CAACT,EAAAA,CAAG;AACpB,IAAA,CAAA,CAAE,OAAOa,CAAAA,EAAG;AACV,QAAA,MAAM,IAAIC,KAAAA,CAAM,0DAAA,CAAA;AAClB,IAAA;AACF;AAEA;;;;;UAMaF,gBAAAA,GAAmB,CAACZ,KAAe,CAAC,qBAAqB,EAAEA,EAAAA,CAAAA;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/openapi",
3
- "version": "0.0.0-experimental.621b019265f3aaccab5e5bc1feae5ef4b524fa32",
3
+ "version": "0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282",
4
4
  "description": "A tool set to help generate and validate API documentation for Strapi projects",
5
5
  "homepage": "https://strapi.io",
6
6
  "bugs": {
@@ -53,7 +53,7 @@
53
53
  "test:unit:watch": "run -T jest --watch"
54
54
  },
55
55
  "engines": {
56
- "node": ">=20.0.0 <=24.x.x",
56
+ "node": ">=20.19.0 <=26.x.x",
57
57
  "npm": ">=6.0.0"
58
58
  },
59
59
  "dependencies": {
@@ -62,7 +62,7 @@
62
62
  "zod": "3.25.67"
63
63
  },
64
64
  "devDependencies": {
65
- "@strapi/types": "0.0.0-experimental.621b019265f3aaccab5e5bc1feae5ef4b524fa32",
65
+ "@strapi/types": "0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282",
66
66
  "@types/debug": "^4"
67
67
  }
68
68
  }