@kubb/core 5.0.0-alpha.14 → 5.0.0-alpha.16

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/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as __name } from "./chunk--u3MIqq1.js";
2
- import { A as UserConfig, B as Storage, C as PluginWithLifeCycle, D as ResolveOptionsContext, E as ResolveNameParams, F as CoreGeneratorV2, G as AsyncEventEmitter, H as formatters, I as Generator, L as ReactGeneratorV2, M as UserPlugin, N as UserPluginWithLifeCycle, O as ResolvePathParams, P as UserResolver, R as defineGenerator, S as PluginParameter, T as PrinterFactoryOptions, U as linters, V as createStorage, W as logLevel, _ as Plugin, a as AdapterFactoryOptions, b as PluginLifecycle, c as Config, d as InputData, f as InputPath, g as Output, h as LoggerOptions, i as Adapter, j as UserLogger, k as Resolver, l as DevtoolsOptions, m as LoggerContext, n as PluginDriver, o as AdapterSource, p as Logger, r as getMode, s as BarrelType, u as Group, v as PluginContext, w as Printer, x as PluginLifecycleHooks, y as PluginFactoryOptions, z as KubbEvents } from "./PluginDriver-By5lhDKP.js";
2
+ import { A as ResolveOptionsContext, B as ReactGeneratorV2, C as PluginParameter, D as Printer, E as Presets, F as UserPlugin, G as formatters, H as KubbEvents, I as UserPluginWithLifeCycle, J as AsyncEventEmitter, K as linters, L as UserResolver, M as Resolver, N as UserConfig, O as PrinterFactoryOptions, P as UserLogger, R as CoreGeneratorV2, S as PluginLifecycleHooks, T as Preset, U as Storage, V as defineGenerator, W as createStorage, _ as Output, a as AdapterFactoryOptions, b as PluginFactoryOptions, c as CompatibilityPreset, d as Group, f as InputData, g as LoggerOptions, h as LoggerContext, i as Adapter, j as ResolvePathParams, k as ResolveNameParams, l as Config, m as Logger, n as PluginDriver, o as AdapterSource, p as InputPath, q as logLevel, r as getMode, s as BarrelType, u as DevtoolsOptions, v as Plugin, w as PluginWithLifeCycle, x as PluginLifecycle, y as PluginContext, z as Generator } from "./PluginDriver-CNKhDf-w.js";
3
3
  import { definePrinter } from "@kubb/ast";
4
- import { Node, OperationNode, SchemaNode } from "@kubb/ast/types";
4
+ import { Node, OperationNode, SchemaNode, Visitor } from "@kubb/ast/types";
5
5
  import { Fabric, KubbFile } from "@kubb/fabric-core/types";
6
6
  import { Fabric as Fabric$1 } from "@kubb/react-fabric/types";
7
7
 
@@ -133,6 +133,45 @@ declare function createPlugin<T extends PluginFactoryOptions = PluginFactoryOpti
133
133
  */
134
134
  declare function defineLogger<Options extends LoggerOptions = LoggerOptions>(logger: UserLogger<Options>): Logger<Options>;
135
135
  //#endregion
136
+ //#region src/definePreset.d.ts
137
+ /**
138
+ * Creates a typed preset object that bundles a name, resolvers, and optional
139
+ * transformers — the building block for composable plugin presets.
140
+ *
141
+ * @example
142
+ * import { definePreset } from '@kubb/core'
143
+ * import { resolverTsLegacy } from '@kubb/plugin-ts'
144
+ *
145
+ * export const myPreset = definePreset('myPreset', { resolvers: [resolverTsLegacy] })
146
+ *
147
+ * @example
148
+ * // With custom transformers
149
+ * export const myPreset = definePreset('myPreset', { resolvers: [resolverTsLegacy], transformers: [myTransformer] })
150
+ */
151
+ declare function definePreset<TResolver extends Resolver = Resolver, TName extends string = string>(name: TName, {
152
+ resolvers,
153
+ transformers
154
+ }: {
155
+ resolvers: Array<TResolver>;
156
+ transformers?: Array<Visitor>;
157
+ }): Preset<TResolver> & {
158
+ name: TName;
159
+ };
160
+ //#endregion
161
+ //#region src/definePresets.d.ts
162
+ /**
163
+ * Creates a typed presets registry object — a named collection of {@link Preset} entries.
164
+ *
165
+ * @example
166
+ * import { definePreset, definePresets } from '@kubb/core'
167
+ * import { resolverTsLegacy } from '@kubb/plugin-ts'
168
+ *
169
+ * export const myPresets = definePresets({
170
+ * kubbV4: definePreset('kubbV4', { resolvers: [resolverTsLegacy] }),
171
+ * })
172
+ */
173
+ declare function definePresets<TResolver extends Resolver = Resolver>(presets: Presets<TResolver>): Presets<TResolver>;
174
+ //#endregion
136
175
  //#region src/defineResolver.d.ts
137
176
  /**
138
177
  * Builder type for the plugin-specific resolver fields.
@@ -364,6 +403,21 @@ declare function getBarrelFiles(files: Array<KubbFile.ResolvedFile>, {
364
403
  */
365
404
  declare function getConfigs(config: ConfigInput | UserConfig, args: CLIOptions): Promise<Array<Config>>;
366
405
  //#endregion
406
+ //#region src/utils/getPreset.d.ts
407
+ type GetPresetParams<TResolver extends Resolver> = {
408
+ preset: CompatibilityPreset;
409
+ presets: Presets<TResolver>;
410
+ resolvers: Array<TResolver>;
411
+ transformers?: Array<Visitor>;
412
+ };
413
+ type GetPresetResult<TResolver extends Resolver> = {
414
+ baseResolver: TResolver;
415
+ resolver: TResolver;
416
+ transformers: Array<Visitor>;
417
+ preset: Preset<TResolver> | undefined;
418
+ };
419
+ declare function getPreset<TResolver extends Resolver = Resolver>(params: GetPresetParams<TResolver>): GetPresetResult<TResolver>;
420
+ //#endregion
367
421
  //#region src/utils/linters.d.ts
368
422
  type Linter = keyof typeof linters;
369
423
  declare function detectLinter(): Promise<Linter | undefined>;
@@ -379,5 +433,5 @@ type DependencyName = string;
379
433
  type DependencyVersion = string;
380
434
  declare function satisfiesDependency(dependency: DependencyName | RegExp, version: DependencyVersion, cwd?: string): boolean;
381
435
  //#endregion
382
- export { Adapter, AdapterFactoryOptions, AdapterSource, BarrelType, type CLIOptions, Config, type ConfigInput, CoreGeneratorV2, DevtoolsOptions, type FileMetaBase, FunctionParams, type FunctionParamsAST, Generator, Group, InputData, InputPath, KubbEvents, Logger, LoggerContext, LoggerOptions, Output, Plugin, PluginContext, PluginDriver, PluginFactoryOptions, PluginLifecycle, PluginLifecycleHooks, PluginParameter, PluginWithLifeCycle, Printer, PrinterFactoryOptions, ReactGeneratorV2, ResolveNameParams, ResolveOptionsContext, ResolvePathParams, Resolver, Storage, UserConfig, UserLogger, UserPlugin, UserPluginWithLifeCycle, UserResolver, build, build as default, createAdapter, createPlugin, createStorage, defaultResolveOptions, defineConfig, defineGenerator, defineLogger, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, isInputPath, linters, logLevel, memoryStorage, mergeResolvers, renderOperation, renderOperations, renderSchema, safeBuild, satisfiesDependency, setup };
436
+ export { Adapter, AdapterFactoryOptions, AdapterSource, BarrelType, type CLIOptions, CompatibilityPreset, Config, type ConfigInput, CoreGeneratorV2, DevtoolsOptions, type FileMetaBase, FunctionParams, type FunctionParamsAST, Generator, Group, InputData, InputPath, KubbEvents, Logger, LoggerContext, LoggerOptions, Output, Plugin, PluginContext, PluginDriver, PluginFactoryOptions, PluginLifecycle, PluginLifecycleHooks, PluginParameter, PluginWithLifeCycle, Preset, Presets, Printer, PrinterFactoryOptions, ReactGeneratorV2, ResolveNameParams, ResolveOptionsContext, ResolvePathParams, Resolver, Storage, UserConfig, UserLogger, UserPlugin, UserPluginWithLifeCycle, UserResolver, build, build as default, createAdapter, createPlugin, createStorage, defaultResolveOptions, defineConfig, defineGenerator, defineLogger, definePreset, definePresets, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, getPreset, isInputPath, linters, logLevel, memoryStorage, mergeResolvers, renderOperation, renderOperations, renderSchema, safeBuild, satisfiesDependency, setup };
383
437
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1441,7 +1441,7 @@ const fsStorage = createStorage(() => ({
1441
1441
  }));
1442
1442
  //#endregion
1443
1443
  //#region package.json
1444
- var version$1 = "5.0.0-alpha.14";
1444
+ var version$1 = "5.0.0-alpha.16";
1445
1445
  //#endregion
1446
1446
  //#region src/utils/diagnostics.ts
1447
1447
  /**
@@ -1846,6 +1846,45 @@ function defineLogger(logger) {
1846
1846
  return logger;
1847
1847
  }
1848
1848
  //#endregion
1849
+ //#region src/definePreset.ts
1850
+ /**
1851
+ * Creates a typed preset object that bundles a name, resolvers, and optional
1852
+ * transformers — the building block for composable plugin presets.
1853
+ *
1854
+ * @example
1855
+ * import { definePreset } from '@kubb/core'
1856
+ * import { resolverTsLegacy } from '@kubb/plugin-ts'
1857
+ *
1858
+ * export const myPreset = definePreset('myPreset', { resolvers: [resolverTsLegacy] })
1859
+ *
1860
+ * @example
1861
+ * // With custom transformers
1862
+ * export const myPreset = definePreset('myPreset', { resolvers: [resolverTsLegacy], transformers: [myTransformer] })
1863
+ */
1864
+ function definePreset(name, { resolvers, transformers }) {
1865
+ return {
1866
+ name,
1867
+ resolvers,
1868
+ transformers
1869
+ };
1870
+ }
1871
+ //#endregion
1872
+ //#region src/definePresets.ts
1873
+ /**
1874
+ * Creates a typed presets registry object — a named collection of {@link Preset} entries.
1875
+ *
1876
+ * @example
1877
+ * import { definePreset, definePresets } from '@kubb/core'
1878
+ * import { resolverTsLegacy } from '@kubb/plugin-ts'
1879
+ *
1880
+ * export const myPresets = definePresets({
1881
+ * kubbV4: definePreset('kubbV4', { resolvers: [resolverTsLegacy] }),
1882
+ * })
1883
+ */
1884
+ function definePresets(presets) {
1885
+ return presets;
1886
+ }
1887
+ //#endregion
1849
1888
  //#region src/defineResolver.ts
1850
1889
  /**
1851
1890
  * Checks if an operation matches a pattern for a given filter type (`tag`, `operationId`, `path`, `method`).
@@ -2369,6 +2408,31 @@ async function getConfigs(config, args) {
2369
2408
  return (Array.isArray(resolved) ? resolved : [resolved]).map((item) => ({ ...item }));
2370
2409
  }
2371
2410
  //#endregion
2411
+ //#region src/utils/mergeResolvers.ts
2412
+ /**
2413
+ * Merges an array of resolvers into a single resolver. Later entries override earlier ones (last wins).
2414
+ */
2415
+ function mergeResolvers(...resolvers) {
2416
+ return resolvers.reduce((acc, curr) => ({
2417
+ ...acc,
2418
+ ...curr
2419
+ }), resolvers[0]);
2420
+ }
2421
+ //#endregion
2422
+ //#region src/utils/getPreset.ts
2423
+ function getPreset(params) {
2424
+ const { preset: presetName, presets, resolvers, transformers: userTransformers } = params;
2425
+ const [defaultResolver, ...userResolvers] = resolvers;
2426
+ const preset = presets[presetName];
2427
+ const baseResolver = mergeResolvers(defaultResolver, ...preset?.resolvers ?? []);
2428
+ return {
2429
+ baseResolver,
2430
+ resolver: mergeResolvers(baseResolver, ...userResolvers ?? []),
2431
+ transformers: [...preset?.transformers ?? [], ...userTransformers ?? []],
2432
+ preset
2433
+ };
2434
+ }
2435
+ //#endregion
2372
2436
  //#region src/utils/linters.ts
2373
2437
  async function isLinterAvailable(linter) {
2374
2438
  try {
@@ -2387,17 +2451,6 @@ async function detectLinter() {
2387
2451
  for (const linter of linterNames) if (await isLinterAvailable(linter)) return linter;
2388
2452
  }
2389
2453
  //#endregion
2390
- //#region src/utils/mergeResolvers.ts
2391
- /**
2392
- * Merges an array of resolvers into a single resolver. Later entries override earlier ones (last wins).
2393
- */
2394
- function mergeResolvers(...resolvers) {
2395
- return resolvers.reduce((acc, curr) => ({
2396
- ...acc,
2397
- ...curr
2398
- }), resolvers[0]);
2399
- }
2400
- //#endregion
2401
2454
  //#region src/utils/packageJSON.ts
2402
2455
  function getPackageJSONSync(cwd) {
2403
2456
  const pkgPath = pkg.up({ cwd });
@@ -2426,6 +2479,6 @@ function satisfiesDependency(dependency, version, cwd) {
2426
2479
  return satisfies(semVer, version);
2427
2480
  }
2428
2481
  //#endregion
2429
- export { FunctionParams, PluginDriver, build, build as default, createAdapter, createPlugin, createStorage, defaultResolveOptions, defineConfig, defineGenerator, defineLogger, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, isInputPath, linters, logLevel, memoryStorage, mergeResolvers, renderOperation, renderOperations, renderSchema, safeBuild, satisfiesDependency, setup };
2482
+ export { FunctionParams, PluginDriver, build, build as default, createAdapter, createPlugin, createStorage, defaultResolveOptions, defineConfig, defineGenerator, defineLogger, definePreset, definePresets, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, getPreset, isInputPath, linters, logLevel, memoryStorage, mergeResolvers, renderOperation, renderOperations, renderSchema, safeBuild, satisfiesDependency, setup };
2430
2483
 
2431
2484
  //# sourceMappingURL=index.js.map