@kubb/core 5.0.0-alpha.25 → 5.0.0-alpha.27
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-BGRDpPpK.d.ts → PluginDriver-B12z6KO-.d.ts} +32 -8
- package/dist/hooks.d.ts +1 -1
- package/dist/index.cjs +35 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +17 -24
- package/dist/index.js +31 -31
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/PluginDriver.ts +3 -0
- package/src/index.ts +1 -2
- package/src/types.ts +31 -7
- package/src/utils/getPreset.ts +50 -24
- package/src/utils/mergeResolvers.ts +0 -16
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __name } from "./chunk--u3MIqq1.js";
|
|
2
|
-
import { $ as
|
|
3
|
-
import { definePrinter } from "@kubb/ast";
|
|
2
|
+
import { $ as createStorage, A as PrinterFactoryOptions, B as ResolverPathParams, C as PluginLifecycle, D as Preset, E as PluginWithLifeCycle, F as ResolvePathOptions, G as UserPluginWithLifeCycle, H as UserGroup, I as ResolvePathParams, J as CoreGeneratorV2, K as UserResolver, L as Resolver, M as ResolveBannerContext, N as ResolveNameParams, O as Presets, P as ResolveOptionsContext, Q as Storage, R as ResolverContext, S as PluginFactoryOptions, T as PluginParameter, U as UserLogger, V as UserConfig, W as UserPlugin, X as ReactGeneratorV2, Y as Generator, Z as defineGenerator, _ as LoggerOptions, a as AdapterSource, b as Plugin, c as Config, d as Group, et as formatters, f as Include, g as LoggerContext, h as Logger, i as AdapterFactoryOptions, it as AsyncEventEmitter, j as PrinterPartial, k as Printer, l as DevtoolsOptions, m as InputPath, n as getMode, nt as logLevel, o as BarrelType, p as InputData, q as KubbEvents, r as Adapter, rt as PossiblePromise, s as CompatibilityPreset, t as PluginDriver, tt as linters, u as Exclude, v as Output, w as PluginLifecycleHooks, x as PluginContext, y as Override, z as ResolverFileParams } from "./PluginDriver-B12z6KO-.js";
|
|
3
|
+
import { composeTransformers, definePrinter } from "@kubb/ast";
|
|
4
4
|
import { Node, OperationNode, RootNode, SchemaNode, Visitor } from "@kubb/ast/types";
|
|
5
5
|
import { Fabric, FabricFile } from "@kubb/fabric-core/types";
|
|
6
6
|
import { Fabric as Fabric$1 } from "@kubb/react-fabric/types";
|
|
@@ -809,25 +809,32 @@ declare function getConfigs(config: ConfigInput | UserConfig, args: CLIOptions):
|
|
|
809
809
|
type GetPresetParams<TResolver extends Resolver> = {
|
|
810
810
|
preset: CompatibilityPreset;
|
|
811
811
|
presets: Presets<TResolver>;
|
|
812
|
-
|
|
812
|
+
/**
|
|
813
|
+
* Optional single resolver whose methods override the preset resolver.
|
|
814
|
+
* When a method returns `null` or `undefined` the preset resolver's method is used instead.
|
|
815
|
+
*/
|
|
816
|
+
resolver?: Partial<TResolver> & ThisType<TResolver>;
|
|
813
817
|
/**
|
|
814
818
|
* User-supplied generators to append after the preset's generators.
|
|
815
819
|
*/
|
|
816
820
|
generators?: Array<Generator<any>>;
|
|
817
|
-
|
|
821
|
+
/**
|
|
822
|
+
* Optional single transformer visitor whose methods override the preset transformer.
|
|
823
|
+
* When a method returns `null` or `undefined` the preset transformer's method is used instead.
|
|
824
|
+
*/
|
|
825
|
+
transformer?: Visitor;
|
|
818
826
|
};
|
|
819
827
|
type GetPresetResult<TResolver extends Resolver> = {
|
|
820
828
|
resolver: TResolver;
|
|
821
|
-
|
|
829
|
+
transformer: Visitor | undefined;
|
|
822
830
|
generators: Array<Generator<any>>;
|
|
823
831
|
preset: Preset<TResolver> | undefined;
|
|
824
832
|
};
|
|
825
833
|
/**
|
|
826
|
-
* Resolves a named preset into
|
|
834
|
+
* Resolves a named preset into a resolver, transformer, and generators.
|
|
827
835
|
*
|
|
828
|
-
* -
|
|
829
|
-
* -
|
|
830
|
-
* - Concatenates preset transformers before user-supplied transformers.
|
|
836
|
+
* - Selects the preset resolver; wraps it with user overrides using null/undefined fallback.
|
|
837
|
+
* - Composes the preset's transformers into a single visitor; wraps it with the user transformer using null/undefined fallback.
|
|
831
838
|
* - Combines preset generators with user-supplied generators; falls back to the `default` preset's generators when neither provides any.
|
|
832
839
|
*/
|
|
833
840
|
declare function getPreset<TResolver extends Resolver = Resolver>(params: GetPresetParams<TResolver>): GetPresetResult<TResolver>;
|
|
@@ -850,20 +857,6 @@ type Linter = keyof typeof linters;
|
|
|
850
857
|
*/
|
|
851
858
|
declare function detectLinter(): Promise<Linter | null>;
|
|
852
859
|
//#endregion
|
|
853
|
-
//#region src/utils/mergeResolvers.d.ts
|
|
854
|
-
/**
|
|
855
|
-
* Merges an ordered list of resolvers into a single resolver by shallow-merging each entry left to right.
|
|
856
|
-
*
|
|
857
|
-
* Later entries win when keys conflict, so the last resolver in the list takes highest precedence.
|
|
858
|
-
*
|
|
859
|
-
* @example
|
|
860
|
-
* ```ts
|
|
861
|
-
* const resolver = mergeResolvers(resolverTs, resolverTsLegacy)
|
|
862
|
-
* // resolverTsLegacy methods override resolverTs where they overlap
|
|
863
|
-
* ```
|
|
864
|
-
*/
|
|
865
|
-
declare function mergeResolvers<T extends Resolver>(...resolvers: Array<T>): T;
|
|
866
|
-
//#endregion
|
|
867
860
|
//#region src/utils/packageJSON.d.ts
|
|
868
861
|
type DependencyName = string;
|
|
869
862
|
type DependencyVersion = string;
|
|
@@ -884,5 +877,5 @@ type DependencyVersion = string;
|
|
|
884
877
|
*/
|
|
885
878
|
declare function satisfiesDependency(dependency: DependencyName | RegExp, version: DependencyVersion, cwd?: string): boolean;
|
|
886
879
|
//#endregion
|
|
887
|
-
export { Adapter, AdapterFactoryOptions, AdapterSource, AsyncEventEmitter, BarrelType, type CLIOptions, CompatibilityPreset, Config, type ConfigInput, CoreGeneratorV2, DevtoolsOptions, Exclude, type FileMetaBase, FunctionParams, type FunctionParamsAST, Generator, Group, Include, InputData, InputPath, KubbEvents, Logger, LoggerContext, LoggerOptions, Output, Override, Plugin, PluginContext, PluginDriver, PluginFactoryOptions, PluginLifecycle, PluginLifecycleHooks, PluginParameter, PluginWithLifeCycle, Preset, Presets, Printer, PrinterFactoryOptions, ReactGeneratorV2, ResolveBannerContext, ResolveNameParams, ResolveOptionsContext, ResolvePathOptions, ResolvePathParams, Resolver, ResolverContext, ResolverFileParams, ResolverPathParams, Storage, URLPath, UserConfig, UserGroup, UserLogger, UserPlugin, UserPluginWithLifeCycle, UserResolver, build, build as default, buildDefaultBanner, createAdapter, createPlugin, createStorage, defaultResolveBanner, defaultResolveFile, defaultResolveFooter, defaultResolveOptions, defaultResolvePath, defineConfig, defineGenerator, defineLogger, definePresets, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, getPreset, isInputPath, linters, logLevel, memoryStorage,
|
|
880
|
+
export { Adapter, AdapterFactoryOptions, AdapterSource, AsyncEventEmitter, BarrelType, type CLIOptions, CompatibilityPreset, Config, type ConfigInput, CoreGeneratorV2, DevtoolsOptions, Exclude, type FileMetaBase, FunctionParams, type FunctionParamsAST, Generator, Group, Include, InputData, InputPath, KubbEvents, Logger, LoggerContext, LoggerOptions, Output, Override, Plugin, PluginContext, PluginDriver, PluginFactoryOptions, PluginLifecycle, PluginLifecycleHooks, PluginParameter, PluginWithLifeCycle, Preset, Presets, Printer, PrinterFactoryOptions, PrinterPartial, ReactGeneratorV2, ResolveBannerContext, ResolveNameParams, ResolveOptionsContext, ResolvePathOptions, ResolvePathParams, Resolver, ResolverContext, ResolverFileParams, ResolverPathParams, Storage, URLPath, UserConfig, UserGroup, UserLogger, UserPlugin, UserPluginWithLifeCycle, UserResolver, build, build as default, buildDefaultBanner, composeTransformers, createAdapter, createPlugin, createStorage, defaultResolveBanner, defaultResolveFile, defaultResolveFooter, defaultResolveOptions, defaultResolvePath, defineConfig, defineGenerator, defineLogger, definePresets, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, getPreset, isInputPath, linters, logLevel, memoryStorage, renderOperation, renderOperations, renderSchema, runGeneratorOperation, runGeneratorOperations, runGeneratorSchema, safeBuild, satisfiesDependency, setup };
|
|
888
881
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { EventEmitter } from "node:events";
|
|
|
3
3
|
import { readFileSync } from "node:fs";
|
|
4
4
|
import { access, mkdir, readFile, readdir, rm, writeFile } from "node:fs/promises";
|
|
5
5
|
import path, { basename, dirname, extname, join, posix, relative, resolve } from "node:path";
|
|
6
|
-
import { definePrinter, isOperationNode, isSchemaNode } from "@kubb/ast";
|
|
6
|
+
import { composeTransformers, composeTransformers as composeTransformers$1, definePrinter, isOperationNode, isSchemaNode } from "@kubb/ast";
|
|
7
7
|
import { Fabric, createFabric, createReactFabric } from "@kubb/react-fabric";
|
|
8
8
|
import { typescriptParser } from "@kubb/react-fabric/parsers";
|
|
9
9
|
import { fsPlugin } from "@kubb/react-fabric/plugins";
|
|
@@ -996,6 +996,9 @@ var PluginDriver = class {
|
|
|
996
996
|
get resolver() {
|
|
997
997
|
return plugin.resolver;
|
|
998
998
|
},
|
|
999
|
+
get transformer() {
|
|
1000
|
+
return plugin.transformer;
|
|
1001
|
+
},
|
|
999
1002
|
openInStudio(options) {
|
|
1000
1003
|
if (!driver.config.devtools || driver.#studioIsOpen) return;
|
|
1001
1004
|
if (typeof driver.config.devtools !== "object") throw new Error("Devtools must be an object");
|
|
@@ -1410,7 +1413,7 @@ const fsStorage = createStorage(() => ({
|
|
|
1410
1413
|
}));
|
|
1411
1414
|
//#endregion
|
|
1412
1415
|
//#region package.json
|
|
1413
|
-
var version$1 = "5.0.0-alpha.
|
|
1416
|
+
var version$1 = "5.0.0-alpha.27";
|
|
1414
1417
|
//#endregion
|
|
1415
1418
|
//#region src/utils/diagnostics.ts
|
|
1416
1419
|
/**
|
|
@@ -2763,46 +2766,43 @@ async function getConfigs(config, args) {
|
|
|
2763
2766
|
}));
|
|
2764
2767
|
}
|
|
2765
2768
|
//#endregion
|
|
2766
|
-
//#region src/utils/
|
|
2769
|
+
//#region src/utils/getPreset.ts
|
|
2767
2770
|
/**
|
|
2768
|
-
*
|
|
2769
|
-
*
|
|
2770
|
-
*
|
|
2771
|
-
*
|
|
2772
|
-
* @example
|
|
2773
|
-
* ```ts
|
|
2774
|
-
* const resolver = mergeResolvers(resolverTs, resolverTsLegacy)
|
|
2775
|
-
* // resolverTsLegacy methods override resolverTs where they overlap
|
|
2776
|
-
* ```
|
|
2771
|
+
* Returns a copy of `defaults` where each function in `userOverrides` is wrapped
|
|
2772
|
+
* so a `null`/`undefined` return falls back to the original. Non-function values
|
|
2773
|
+
* are assigned directly. All calls use the merged object as `this`.
|
|
2777
2774
|
*/
|
|
2778
|
-
function
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2775
|
+
function withFallback(defaults, userOverrides) {
|
|
2776
|
+
const merged = { ...defaults };
|
|
2777
|
+
for (const key of Object.keys(userOverrides)) {
|
|
2778
|
+
const userVal = userOverrides[key];
|
|
2779
|
+
const defaultVal = defaults[key];
|
|
2780
|
+
if (typeof userVal === "function" && typeof defaultVal === "function") merged[key] = (...args) => userVal.apply(merged, args) ?? defaultVal.apply(merged, args);
|
|
2781
|
+
else if (userVal !== void 0) merged[key] = userVal;
|
|
2782
|
+
}
|
|
2783
|
+
return merged;
|
|
2783
2784
|
}
|
|
2784
|
-
//#endregion
|
|
2785
|
-
//#region src/utils/getPreset.ts
|
|
2786
2785
|
/**
|
|
2787
|
-
* Resolves a named preset into
|
|
2786
|
+
* Resolves a named preset into a resolver, transformer, and generators.
|
|
2788
2787
|
*
|
|
2789
|
-
* -
|
|
2790
|
-
* -
|
|
2791
|
-
* - Concatenates preset transformers before user-supplied transformers.
|
|
2788
|
+
* - Selects the preset resolver; wraps it with user overrides using null/undefined fallback.
|
|
2789
|
+
* - Composes the preset's transformers into a single visitor; wraps it with the user transformer using null/undefined fallback.
|
|
2792
2790
|
* - Combines preset generators with user-supplied generators; falls back to the `default` preset's generators when neither provides any.
|
|
2793
2791
|
*/
|
|
2794
2792
|
function getPreset(params) {
|
|
2795
|
-
const { preset: presetName, presets,
|
|
2796
|
-
const [defaultResolver, ...userResolvers] = resolvers;
|
|
2793
|
+
const { preset: presetName, presets, resolver: userResolver, transformer: userTransformer, generators: userGenerators = [] } = params;
|
|
2797
2794
|
const preset = presets[presetName];
|
|
2798
|
-
const
|
|
2799
|
-
const
|
|
2795
|
+
const presetResolver = preset?.resolver ?? presets["default"].resolver;
|
|
2796
|
+
const resolver = userResolver ? withFallback(presetResolver, userResolver) : presetResolver;
|
|
2797
|
+
const presetTransformers = preset?.transformers ?? [];
|
|
2798
|
+
const presetTransformer = presetTransformers.length > 0 ? composeTransformers$1(...presetTransformers) : void 0;
|
|
2799
|
+
const transformer = presetTransformer && userTransformer ? withFallback(presetTransformer, userTransformer) : userTransformer ?? presetTransformer;
|
|
2800
2800
|
const presetGenerators = preset?.generators ?? [];
|
|
2801
|
-
const
|
|
2801
|
+
const defaultGenerators = presets["default"]?.generators ?? [];
|
|
2802
2802
|
return {
|
|
2803
2803
|
resolver,
|
|
2804
|
-
|
|
2805
|
-
generators: presetGenerators.length > 0 || userGenerators.length ? [...presetGenerators, ...userGenerators] :
|
|
2804
|
+
transformer,
|
|
2805
|
+
generators: presetGenerators.length > 0 || userGenerators.length > 0 ? [...presetGenerators, ...userGenerators] : defaultGenerators,
|
|
2806
2806
|
preset
|
|
2807
2807
|
};
|
|
2808
2808
|
}
|
|
@@ -2889,6 +2889,6 @@ function satisfiesDependency(dependency, version, cwd) {
|
|
|
2889
2889
|
return satisfies(semVer, version);
|
|
2890
2890
|
}
|
|
2891
2891
|
//#endregion
|
|
2892
|
-
export { AsyncEventEmitter, FunctionParams, PluginDriver, URLPath, build, build as default, buildDefaultBanner, createAdapter, createPlugin, createStorage, defaultResolveBanner, defaultResolveFile, defaultResolveFooter, defaultResolveOptions, defaultResolvePath, defineConfig, defineGenerator, defineLogger, definePresets, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, getPreset, isInputPath, linters, logLevel, memoryStorage,
|
|
2892
|
+
export { AsyncEventEmitter, FunctionParams, PluginDriver, URLPath, build, build as default, buildDefaultBanner, composeTransformers, createAdapter, createPlugin, createStorage, defaultResolveBanner, defaultResolveFile, defaultResolveFooter, defaultResolveOptions, defaultResolvePath, defineConfig, defineGenerator, defineLogger, definePresets, definePrinter, defineResolver, detectFormatter, detectLinter, formatters, fsStorage, getBarrelFiles, getConfigs, getMode, getPreset, isInputPath, linters, logLevel, memoryStorage, renderOperation, renderOperations, renderSchema, runGeneratorOperation, runGeneratorOperations, runGeneratorSchema, safeBuild, satisfiesDependency, setup };
|
|
2893
2893
|
|
|
2894
2894
|
//# sourceMappingURL=index.js.map
|