@kubb/plugin-cypress 4.18.5 → 4.19.1

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,4 +1,4 @@
1
- import { i as OperationSchemas, n as PluginCypress, o as HttpMethod, s as __name } from "./types-ClwdMxjY.cjs";
1
+ import { i as OperationSchemas, n as PluginCypress, o as HttpMethod, s as __name } from "./types-CQq8QXGk.cjs";
2
2
  import { FunctionParams } from "@kubb/react-fabric";
3
3
  import { KubbNode } from "@kubb/react-fabric/types";
4
4
 
@@ -1,5 +1,5 @@
1
1
  import { t as __name } from "./chunk-eQyhnF5A.js";
2
- import { i as OperationSchemas, n as PluginCypress, o as HttpMethod } from "./types-gTgB2BJM.js";
2
+ import { i as OperationSchemas, n as PluginCypress, o as HttpMethod } from "./types-BMPj9ZcL.js";
3
3
  import { FunctionParams } from "@kubb/react-fabric";
4
4
  import { KubbNode } from "@kubb/react-fabric/types";
5
5
 
@@ -1,4 +1,4 @@
1
- import { n as PluginCypress, r as ReactGenerator, s as __name } from "./types-ClwdMxjY.cjs";
1
+ import { n as PluginCypress, r as ReactGenerator, s as __name } from "./types-CQq8QXGk.cjs";
2
2
 
3
3
  //#region src/generators/cypressGenerator.d.ts
4
4
  declare const cypressGenerator: ReactGenerator<PluginCypress>;
@@ -1,5 +1,5 @@
1
1
  import { t as __name } from "./chunk-eQyhnF5A.js";
2
- import { n as PluginCypress, r as ReactGenerator } from "./types-gTgB2BJM.js";
2
+ import { n as PluginCypress, r as ReactGenerator } from "./types-BMPj9ZcL.js";
3
3
 
4
4
  //#region src/generators/cypressGenerator.d.ts
5
5
  declare const cypressGenerator: ReactGenerator<PluginCypress>;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as UserPluginWithLifeCycle, n as PluginCypress, s as __name, t as Options } from "./types-ClwdMxjY.cjs";
1
+ import { a as UserPluginWithLifeCycle, n as PluginCypress, s as __name, t as Options } from "./types-CQq8QXGk.cjs";
2
2
 
3
3
  //#region src/plugin.d.ts
4
4
  declare const pluginCypressName = "plugin-cypress";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as __name } from "./chunk-eQyhnF5A.js";
2
- import { a as UserPluginWithLifeCycle, n as PluginCypress, t as Options } from "./types-gTgB2BJM.js";
2
+ import { a as UserPluginWithLifeCycle, n as PluginCypress, t as Options } from "./types-BMPj9ZcL.js";
3
3
 
4
4
  //#region src/plugin.d.ts
5
5
  declare const pluginCypressName = "plugin-cypress";
@@ -19,16 +19,21 @@ type Operation$1 = Operation;
19
19
  type DiscriminatorObject$1 = DiscriminatorObject;
20
20
  //#endregion
21
21
  //#region ../oas/src/Oas.d.ts
22
- type Options$2 = {
22
+ type OasOptions = {
23
23
  contentType?: contentType;
24
24
  discriminator?: 'strict' | 'inherit';
25
+ /**
26
+ * Resolve name collisions when schemas from different components share the same name (case-insensitive).
27
+ * @default false
28
+ */
29
+ collisionDetection?: boolean;
25
30
  };
26
31
  declare class Oas extends BaseOas {
27
32
  #private;
28
33
  document: Document;
29
34
  constructor(document: Document);
30
- setOptions(options: Options$2): void;
31
- get options(): Options$2;
35
+ setOptions(options: OasOptions): void;
36
+ get options(): OasOptions;
32
37
  get<T = unknown>($ref: string): T | null;
33
38
  getKey($ref: string): string | undefined;
34
39
  set($ref: string, value: unknown): false | undefined;
@@ -39,6 +44,18 @@ declare class Oas extends BaseOas {
39
44
  getParametersSchema(operation: Operation$1, inKey: 'path' | 'query' | 'header'): SchemaObject$1 | null;
40
45
  validate(): Promise<oas_normalize_lib_types0.ValidationResult>;
41
46
  flattenSchema(schema: SchemaObject$1 | null): SchemaObject$1 | null;
47
+ /**
48
+ * Get schemas from OpenAPI components (schemas, responses, requestBodies).
49
+ * Returns schemas in dependency order along with name mapping for collision resolution.
50
+ */
51
+ getSchemas(options?: {
52
+ contentType?: contentType;
53
+ includes?: Array<'schemas' | 'responses' | 'requestBodies'>;
54
+ collisionDetection?: boolean;
55
+ }): {
56
+ schemas: Record<string, SchemaObject$1>;
57
+ nameMapping: Map<string, string>;
58
+ };
42
59
  }
43
60
  //#endregion
44
61
  //#region ../core/src/BaseGenerator.d.ts
@@ -1101,6 +1118,11 @@ type SchemaGeneratorOptions = {
1101
1118
  emptySchemaType: 'any' | 'unknown' | 'void';
1102
1119
  enumType?: 'enum' | 'asConst' | 'asPascalConst' | 'constEnum' | 'literal' | 'inlineLiteral';
1103
1120
  enumSuffix?: string;
1121
+ /**
1122
+ * @deprecated Will be removed in v5. Use `collisionDetection: true` instead to prevent enum name collisions.
1123
+ * When `collisionDetection` is enabled, the rootName-based approach eliminates the need for numeric suffixes.
1124
+ * @internal
1125
+ */
1104
1126
  usedEnumNames?: Record<string, number>;
1105
1127
  mapper?: Record<string, string>;
1106
1128
  typed?: boolean;
@@ -1121,6 +1143,7 @@ type SchemaProps$1 = {
1121
1143
  schema: SchemaObject$1 | null;
1122
1144
  name: string | null;
1123
1145
  parentName: string | null;
1146
+ rootName?: string | null;
1124
1147
  };
1125
1148
  declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TOptions, Context<TOptions, TPluginOptions>> {
1126
1149
  #private;
@@ -1258,4 +1281,4 @@ type ResolvedOptions = {
1258
1281
  type PluginCypress = PluginFactoryOptions<'plugin-cypress', Options, ResolvedOptions, never, ResolvePathOptions>;
1259
1282
  //#endregion
1260
1283
  export { UserPluginWithLifeCycle as a, OperationSchemas as i, PluginCypress as n, HttpMethod as o, ReactGenerator as r, Options as t };
1261
- //# sourceMappingURL=types-gTgB2BJM.d.ts.map
1284
+ //# sourceMappingURL=types-BMPj9ZcL.d.ts.map
@@ -20,16 +20,21 @@ type Operation$1 = Operation;
20
20
  type DiscriminatorObject$1 = DiscriminatorObject;
21
21
  //#endregion
22
22
  //#region ../oas/src/Oas.d.ts
23
- type Options$2 = {
23
+ type OasOptions = {
24
24
  contentType?: contentType;
25
25
  discriminator?: 'strict' | 'inherit';
26
+ /**
27
+ * Resolve name collisions when schemas from different components share the same name (case-insensitive).
28
+ * @default false
29
+ */
30
+ collisionDetection?: boolean;
26
31
  };
27
32
  declare class Oas extends BaseOas {
28
33
  #private;
29
34
  document: Document;
30
35
  constructor(document: Document);
31
- setOptions(options: Options$2): void;
32
- get options(): Options$2;
36
+ setOptions(options: OasOptions): void;
37
+ get options(): OasOptions;
33
38
  get<T = unknown>($ref: string): T | null;
34
39
  getKey($ref: string): string | undefined;
35
40
  set($ref: string, value: unknown): false | undefined;
@@ -40,6 +45,18 @@ declare class Oas extends BaseOas {
40
45
  getParametersSchema(operation: Operation$1, inKey: 'path' | 'query' | 'header'): SchemaObject$1 | null;
41
46
  validate(): Promise<oas_normalize_lib_types0.ValidationResult>;
42
47
  flattenSchema(schema: SchemaObject$1 | null): SchemaObject$1 | null;
48
+ /**
49
+ * Get schemas from OpenAPI components (schemas, responses, requestBodies).
50
+ * Returns schemas in dependency order along with name mapping for collision resolution.
51
+ */
52
+ getSchemas(options?: {
53
+ contentType?: contentType;
54
+ includes?: Array<'schemas' | 'responses' | 'requestBodies'>;
55
+ collisionDetection?: boolean;
56
+ }): {
57
+ schemas: Record<string, SchemaObject$1>;
58
+ nameMapping: Map<string, string>;
59
+ };
43
60
  }
44
61
  //#endregion
45
62
  //#region ../core/src/BaseGenerator.d.ts
@@ -1102,6 +1119,11 @@ type SchemaGeneratorOptions = {
1102
1119
  emptySchemaType: 'any' | 'unknown' | 'void';
1103
1120
  enumType?: 'enum' | 'asConst' | 'asPascalConst' | 'constEnum' | 'literal' | 'inlineLiteral';
1104
1121
  enumSuffix?: string;
1122
+ /**
1123
+ * @deprecated Will be removed in v5. Use `collisionDetection: true` instead to prevent enum name collisions.
1124
+ * When `collisionDetection` is enabled, the rootName-based approach eliminates the need for numeric suffixes.
1125
+ * @internal
1126
+ */
1105
1127
  usedEnumNames?: Record<string, number>;
1106
1128
  mapper?: Record<string, string>;
1107
1129
  typed?: boolean;
@@ -1122,6 +1144,7 @@ type SchemaProps$1 = {
1122
1144
  schema: SchemaObject$1 | null;
1123
1145
  name: string | null;
1124
1146
  parentName: string | null;
1147
+ rootName?: string | null;
1125
1148
  };
1126
1149
  declare class SchemaGenerator<TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions, TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions, TFileMeta extends FileMetaBase = FileMetaBase> extends BaseGenerator<TOptions, Context<TOptions, TPluginOptions>> {
1127
1150
  #private;
@@ -1259,4 +1282,4 @@ type ResolvedOptions = {
1259
1282
  type PluginCypress = PluginFactoryOptions<'plugin-cypress', Options, ResolvedOptions, never, ResolvePathOptions>;
1260
1283
  //#endregion
1261
1284
  export { UserPluginWithLifeCycle as a, OperationSchemas as i, PluginCypress as n, HttpMethod as o, ReactGenerator as r, __name as s, Options as t };
1262
- //# sourceMappingURL=types-ClwdMxjY.d.cts.map
1285
+ //# sourceMappingURL=types-CQq8QXGk.d.cts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-cypress",
3
- "version": "4.18.5",
3
+ "version": "4.19.1",
4
4
  "description": "Cypress test generator plugin for Kubb, creating end-to-end tests from OpenAPI specifications for automated API testing.",
5
5
  "keywords": [
6
6
  "cypress",
@@ -75,10 +75,10 @@
75
75
  ],
76
76
  "dependencies": {
77
77
  "@kubb/react-fabric": "0.12.4",
78
- "@kubb/core": "4.18.5",
79
- "@kubb/oas": "4.18.5",
80
- "@kubb/plugin-oas": "4.18.5",
81
- "@kubb/plugin-ts": "4.18.5"
78
+ "@kubb/core": "4.19.1",
79
+ "@kubb/oas": "4.19.1",
80
+ "@kubb/plugin-oas": "4.19.1",
81
+ "@kubb/plugin-ts": "4.19.1"
82
82
  },
83
83
  "engines": {
84
84
  "node": ">=20"