@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/{PluginDriver-By5lhDKP.d.ts → PluginDriver-CNKhDf-w.d.ts} +36 -3
- package/dist/hooks.d.ts +1 -1
- package/dist/index.cjs +68 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +57 -3
- package/dist/index.js +66 -13
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/definePreset.ts +23 -0
- package/src/definePresets.ts +16 -0
- package/src/index.ts +3 -0
- package/src/types.ts +37 -1
- package/src/utils/getPreset.ts +34 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __name } from "./chunk--u3MIqq1.js";
|
|
2
2
|
import { EventEmitter } from "node:events";
|
|
3
|
-
import { Node, OperationNode, Printer, PrinterFactoryOptions, RootNode, SchemaNode } from "@kubb/ast/types";
|
|
3
|
+
import { Node, OperationNode, Printer, PrinterFactoryOptions, RootNode, SchemaNode, Visitor } from "@kubb/ast/types";
|
|
4
4
|
import { Fabric, KubbFile } from "@kubb/fabric-core/types";
|
|
5
5
|
import { FabricReactNode } from "@kubb/react-fabric/types";
|
|
6
6
|
|
|
@@ -929,6 +929,39 @@ type Logger<TOptions extends LoggerOptions = LoggerOptions> = {
|
|
|
929
929
|
install: (context: LoggerContext, options?: TOptions) => void | Promise<void>;
|
|
930
930
|
};
|
|
931
931
|
type UserLogger<TOptions extends LoggerOptions = LoggerOptions> = Logger<TOptions>;
|
|
932
|
+
/**
|
|
933
|
+
* Compatibility preset for code generation tools.
|
|
934
|
+
* - `'default'` – no compatibility adjustments (default behavior).
|
|
935
|
+
* - `'kubbV4'` – align generated names and structures with Kubb v4 output.
|
|
936
|
+
*/
|
|
937
|
+
type CompatibilityPreset = 'default' | 'kubbV4';
|
|
938
|
+
/**
|
|
939
|
+
* A preset bundles a name, one or more resolvers, and optional AST transformers
|
|
940
|
+
* into a single reusable configuration object.
|
|
941
|
+
*
|
|
942
|
+
* @template TResolver - The concrete resolver type for this preset.
|
|
943
|
+
*/
|
|
944
|
+
type Preset<TResolver extends Resolver = Resolver> = {
|
|
945
|
+
/**
|
|
946
|
+
* Unique identifier for this preset.
|
|
947
|
+
*/
|
|
948
|
+
name: string;
|
|
949
|
+
/**
|
|
950
|
+
* Ordered list of resolvers applied by this preset (last entry wins on merge).
|
|
951
|
+
*/
|
|
952
|
+
resolvers: Array<TResolver>;
|
|
953
|
+
/**
|
|
954
|
+
* Optional AST visitors / transformers applied after resolving.
|
|
955
|
+
*/
|
|
956
|
+
transformers?: Array<Visitor>;
|
|
957
|
+
};
|
|
958
|
+
/**
|
|
959
|
+
* A named registry of presets, keyed by preset name.
|
|
960
|
+
*
|
|
961
|
+
* @template TResolver - The concrete resolver type shared by all presets in this registry.
|
|
962
|
+
* @template TName - The union of valid preset name keys.
|
|
963
|
+
*/
|
|
964
|
+
type Presets<TResolver extends Resolver = Resolver> = Record<CompatibilityPreset, Preset<TResolver>>;
|
|
932
965
|
//#endregion
|
|
933
966
|
//#region src/PluginDriver.d.ts
|
|
934
967
|
type RequiredPluginLifecycle = Required<PluginLifecycle>;
|
|
@@ -1051,5 +1084,5 @@ declare class PluginDriver {
|
|
|
1051
1084
|
getPluginsByName(hookName: keyof PluginWithLifeCycle, pluginName: string): Plugin[];
|
|
1052
1085
|
}
|
|
1053
1086
|
//#endregion
|
|
1054
|
-
export {
|
|
1055
|
-
//# sourceMappingURL=PluginDriver-
|
|
1087
|
+
export { ResolveOptionsContext as A, ReactGeneratorV2 as B, PluginParameter as C, Printer as D, Presets as E, UserPlugin as F, formatters as G, KubbEvents as H, UserPluginWithLifeCycle as I, AsyncEventEmitter as J, linters as K, UserResolver as L, Resolver as M, UserConfig as N, PrinterFactoryOptions as O, UserLogger as P, CoreGeneratorV2 as R, PluginLifecycleHooks as S, Preset as T, Storage as U, defineGenerator as V, createStorage as W, Output as _, AdapterFactoryOptions as a, PluginFactoryOptions as b, CompatibilityPreset as c, Group as d, InputData as f, LoggerOptions as g, LoggerContext as h, Adapter as i, ResolvePathParams as j, ResolveNameParams as k, Config as l, Logger as m, PluginDriver as n, AdapterSource as o, InputPath as p, logLevel as q, getMode as r, BarrelType as s, GetFileOptions as t, DevtoolsOptions as u, Plugin as v, PluginWithLifeCycle as w, PluginLifecycle as x, PluginContext as y, Generator as z };
|
|
1088
|
+
//# sourceMappingURL=PluginDriver-CNKhDf-w.d.ts.map
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __name } from "./chunk--u3MIqq1.js";
|
|
2
|
-
import {
|
|
2
|
+
import { b as PluginFactoryOptions, j as ResolvePathParams, k as ResolveNameParams, l as Config, n as PluginDriver, t as GetFileOptions, v as Plugin } from "./PluginDriver-CNKhDf-w.js";
|
|
3
3
|
import { RootNode } from "@kubb/ast/types";
|
|
4
4
|
import { KubbFile } from "@kubb/fabric-core/types";
|
|
5
5
|
|
package/dist/index.cjs
CHANGED
|
@@ -1447,7 +1447,7 @@ const fsStorage = createStorage(() => ({
|
|
|
1447
1447
|
}));
|
|
1448
1448
|
//#endregion
|
|
1449
1449
|
//#region package.json
|
|
1450
|
-
var version = "5.0.0-alpha.
|
|
1450
|
+
var version = "5.0.0-alpha.16";
|
|
1451
1451
|
//#endregion
|
|
1452
1452
|
//#region src/utils/diagnostics.ts
|
|
1453
1453
|
/**
|
|
@@ -1852,6 +1852,45 @@ function defineLogger(logger) {
|
|
|
1852
1852
|
return logger;
|
|
1853
1853
|
}
|
|
1854
1854
|
//#endregion
|
|
1855
|
+
//#region src/definePreset.ts
|
|
1856
|
+
/**
|
|
1857
|
+
* Creates a typed preset object that bundles a name, resolvers, and optional
|
|
1858
|
+
* transformers — the building block for composable plugin presets.
|
|
1859
|
+
*
|
|
1860
|
+
* @example
|
|
1861
|
+
* import { definePreset } from '@kubb/core'
|
|
1862
|
+
* import { resolverTsLegacy } from '@kubb/plugin-ts'
|
|
1863
|
+
*
|
|
1864
|
+
* export const myPreset = definePreset('myPreset', { resolvers: [resolverTsLegacy] })
|
|
1865
|
+
*
|
|
1866
|
+
* @example
|
|
1867
|
+
* // With custom transformers
|
|
1868
|
+
* export const myPreset = definePreset('myPreset', { resolvers: [resolverTsLegacy], transformers: [myTransformer] })
|
|
1869
|
+
*/
|
|
1870
|
+
function definePreset(name, { resolvers, transformers }) {
|
|
1871
|
+
return {
|
|
1872
|
+
name,
|
|
1873
|
+
resolvers,
|
|
1874
|
+
transformers
|
|
1875
|
+
};
|
|
1876
|
+
}
|
|
1877
|
+
//#endregion
|
|
1878
|
+
//#region src/definePresets.ts
|
|
1879
|
+
/**
|
|
1880
|
+
* Creates a typed presets registry object — a named collection of {@link Preset} entries.
|
|
1881
|
+
*
|
|
1882
|
+
* @example
|
|
1883
|
+
* import { definePreset, definePresets } from '@kubb/core'
|
|
1884
|
+
* import { resolverTsLegacy } from '@kubb/plugin-ts'
|
|
1885
|
+
*
|
|
1886
|
+
* export const myPresets = definePresets({
|
|
1887
|
+
* kubbV4: definePreset('kubbV4', { resolvers: [resolverTsLegacy] }),
|
|
1888
|
+
* })
|
|
1889
|
+
*/
|
|
1890
|
+
function definePresets(presets) {
|
|
1891
|
+
return presets;
|
|
1892
|
+
}
|
|
1893
|
+
//#endregion
|
|
1855
1894
|
//#region src/defineResolver.ts
|
|
1856
1895
|
/**
|
|
1857
1896
|
* Checks if an operation matches a pattern for a given filter type (`tag`, `operationId`, `path`, `method`).
|
|
@@ -2375,6 +2414,31 @@ async function getConfigs(config, args) {
|
|
|
2375
2414
|
return (Array.isArray(resolved) ? resolved : [resolved]).map((item) => ({ ...item }));
|
|
2376
2415
|
}
|
|
2377
2416
|
//#endregion
|
|
2417
|
+
//#region src/utils/mergeResolvers.ts
|
|
2418
|
+
/**
|
|
2419
|
+
* Merges an array of resolvers into a single resolver. Later entries override earlier ones (last wins).
|
|
2420
|
+
*/
|
|
2421
|
+
function mergeResolvers(...resolvers) {
|
|
2422
|
+
return resolvers.reduce((acc, curr) => ({
|
|
2423
|
+
...acc,
|
|
2424
|
+
...curr
|
|
2425
|
+
}), resolvers[0]);
|
|
2426
|
+
}
|
|
2427
|
+
//#endregion
|
|
2428
|
+
//#region src/utils/getPreset.ts
|
|
2429
|
+
function getPreset(params) {
|
|
2430
|
+
const { preset: presetName, presets, resolvers, transformers: userTransformers } = params;
|
|
2431
|
+
const [defaultResolver, ...userResolvers] = resolvers;
|
|
2432
|
+
const preset = presets[presetName];
|
|
2433
|
+
const baseResolver = mergeResolvers(defaultResolver, ...preset?.resolvers ?? []);
|
|
2434
|
+
return {
|
|
2435
|
+
baseResolver,
|
|
2436
|
+
resolver: mergeResolvers(baseResolver, ...userResolvers ?? []),
|
|
2437
|
+
transformers: [...preset?.transformers ?? [], ...userTransformers ?? []],
|
|
2438
|
+
preset
|
|
2439
|
+
};
|
|
2440
|
+
}
|
|
2441
|
+
//#endregion
|
|
2378
2442
|
//#region src/utils/linters.ts
|
|
2379
2443
|
async function isLinterAvailable(linter) {
|
|
2380
2444
|
try {
|
|
@@ -2393,17 +2457,6 @@ async function detectLinter() {
|
|
|
2393
2457
|
for (const linter of linterNames) if (await isLinterAvailable(linter)) return linter;
|
|
2394
2458
|
}
|
|
2395
2459
|
//#endregion
|
|
2396
|
-
//#region src/utils/mergeResolvers.ts
|
|
2397
|
-
/**
|
|
2398
|
-
* Merges an array of resolvers into a single resolver. Later entries override earlier ones (last wins).
|
|
2399
|
-
*/
|
|
2400
|
-
function mergeResolvers(...resolvers) {
|
|
2401
|
-
return resolvers.reduce((acc, curr) => ({
|
|
2402
|
-
...acc,
|
|
2403
|
-
...curr
|
|
2404
|
-
}), resolvers[0]);
|
|
2405
|
-
}
|
|
2406
|
-
//#endregion
|
|
2407
2460
|
//#region src/utils/packageJSON.ts
|
|
2408
2461
|
function getPackageJSONSync(cwd) {
|
|
2409
2462
|
const pkgPath = empathic_package.up({ cwd });
|
|
@@ -2443,6 +2496,8 @@ exports.defaultResolveOptions = defaultResolveOptions;
|
|
|
2443
2496
|
exports.defineConfig = defineConfig;
|
|
2444
2497
|
exports.defineGenerator = defineGenerator;
|
|
2445
2498
|
exports.defineLogger = defineLogger;
|
|
2499
|
+
exports.definePreset = definePreset;
|
|
2500
|
+
exports.definePresets = definePresets;
|
|
2446
2501
|
Object.defineProperty(exports, "definePrinter", {
|
|
2447
2502
|
enumerable: true,
|
|
2448
2503
|
get: function() {
|
|
@@ -2457,6 +2512,7 @@ exports.fsStorage = fsStorage;
|
|
|
2457
2512
|
exports.getBarrelFiles = getBarrelFiles;
|
|
2458
2513
|
exports.getConfigs = getConfigs;
|
|
2459
2514
|
exports.getMode = getMode;
|
|
2515
|
+
exports.getPreset = getPreset;
|
|
2460
2516
|
exports.isInputPath = isInputPath;
|
|
2461
2517
|
exports.linters = linters;
|
|
2462
2518
|
exports.logLevel = logLevel;
|