@powerlines/core 0.12.6 → 0.13.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.
Files changed (37) hide show
  1. package/dist/index.d.cts +4 -4
  2. package/dist/index.d.mts +4 -4
  3. package/dist/plugin-utils/helpers.cjs +2 -2
  4. package/dist/plugin-utils/helpers.d.cts +7 -7
  5. package/dist/plugin-utils/helpers.d.cts.map +1 -1
  6. package/dist/plugin-utils/helpers.d.mts +7 -7
  7. package/dist/plugin-utils/helpers.d.mts.map +1 -1
  8. package/dist/plugin-utils/helpers.mjs +3 -3
  9. package/dist/plugin-utils/helpers.mjs.map +1 -1
  10. package/dist/plugin-utils/merge.cjs +2 -2
  11. package/dist/plugin-utils/merge.d.cts.map +1 -1
  12. package/dist/plugin-utils/merge.d.mts.map +1 -1
  13. package/dist/plugin-utils/merge.mjs +2 -2
  14. package/dist/plugin-utils/merge.mjs.map +1 -1
  15. package/dist/types/context.d.cts +6 -2
  16. package/dist/types/context.d.cts.map +1 -1
  17. package/dist/types/context.d.mts +6 -2
  18. package/dist/types/context.d.mts.map +1 -1
  19. package/dist/types/fs.d.cts +20 -0
  20. package/dist/types/fs.d.cts.map +1 -1
  21. package/dist/types/fs.d.mts +20 -0
  22. package/dist/types/fs.d.mts.map +1 -1
  23. package/dist/types/hooks.d.cts +13 -34
  24. package/dist/types/hooks.d.cts.map +1 -1
  25. package/dist/types/hooks.d.mts +13 -34
  26. package/dist/types/hooks.d.mts.map +1 -1
  27. package/dist/types/index.d.cts +3 -3
  28. package/dist/types/index.d.mts +3 -3
  29. package/dist/types/plugin.d.cts +16 -16
  30. package/dist/types/plugin.d.cts.map +1 -1
  31. package/dist/types/plugin.d.mts +16 -16
  32. package/dist/types/plugin.d.mts.map +1 -1
  33. package/dist/types/unplugin.d.cts +9 -3
  34. package/dist/types/unplugin.d.cts.map +1 -1
  35. package/dist/types/unplugin.d.mts +9 -3
  36. package/dist/types/unplugin.d.mts.map +1 -1
  37. package/package.json +3 -3
@@ -345,6 +345,26 @@ interface VirtualFileSystemInterface {
345
345
  * @returns `true` if the file is virtual, otherwise `false`.
346
346
  */
347
347
  isResolvableId: (path: string, importer?: string | undefined, options?: ResolveOptions$1) => boolean;
348
+ /**
349
+ * Checks if a given module ID is an alias.
350
+ *
351
+ * @remarks
352
+ * This function can be used to determine if a module ID matches any configured aliases.
353
+ *
354
+ * @param id - The module ID to check.
355
+ * @returns A boolean indicating whether the module ID is an alias.
356
+ */
357
+ isAlias: (id: string) => boolean;
358
+ /**
359
+ * Checks if a given module ID is a tsconfig path.
360
+ *
361
+ * @remarks
362
+ * This function can be used to determine if a module ID matches any configured tsconfig paths.
363
+ *
364
+ * @param id - The module ID to check.
365
+ * @returns A boolean indicating whether the module ID is a tsconfig path.
366
+ */
367
+ isTsconfigPath: (id: string) => boolean;
348
368
  /**
349
369
  * Gets the metadata of a file in the virtual file system (VFS).
350
370
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.cts","names":[],"sources":["../../src/types/fs.ts"],"mappings":"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"}
1
+ {"version":3,"file":"fs.d.cts","names":[],"sources":["../../src/types/fs.ts"],"mappings":"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"}
@@ -345,6 +345,26 @@ interface VirtualFileSystemInterface {
345
345
  * @returns `true` if the file is virtual, otherwise `false`.
346
346
  */
347
347
  isResolvableId: (path: string, importer?: string | undefined, options?: ResolveOptions$1) => boolean;
348
+ /**
349
+ * Checks if a given module ID is an alias.
350
+ *
351
+ * @remarks
352
+ * This function can be used to determine if a module ID matches any configured aliases.
353
+ *
354
+ * @param id - The module ID to check.
355
+ * @returns A boolean indicating whether the module ID is an alias.
356
+ */
357
+ isAlias: (id: string) => boolean;
358
+ /**
359
+ * Checks if a given module ID is a tsconfig path.
360
+ *
361
+ * @remarks
362
+ * This function can be used to determine if a module ID matches any configured tsconfig paths.
363
+ *
364
+ * @param id - The module ID to check.
365
+ * @returns A boolean indicating whether the module ID is a tsconfig path.
366
+ */
367
+ isTsconfigPath: (id: string) => boolean;
348
368
  /**
349
369
  * Gets the metadata of a file in the virtual file system (VFS).
350
370
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.mts","names":[],"sources":["../../src/types/fs.ts"],"mappings":"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"}
1
+ {"version":3,"file":"fs.d.mts","names":[],"sources":["../../src/types/fs.ts"],"mappings":"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"}
@@ -1,32 +1,19 @@
1
- import { UnpluginBuilderVariant } from "./unplugin.cjs";
2
- import { Plugin, PluginHookFields, PluginHookFunctions } from "./plugin.cjs";
3
- import { PluginContext, SelectHooksOptions, WithUnpluginBuildContext } from "./context.cjs";
4
- import { MaybePromise } from "@stryke/types/base";
1
+ import { BasePlugin, Plugin, PluginHook, PluginHooks } from "./plugin.cjs";
2
+ import { UnpluginBuilderVariant, UnpluginHookFunctions } from "./unplugin.cjs";
3
+ import { PluginContext, SelectHooksOptions } from "./context.cjs";
4
+ import { AnyFunction, MaybePromise } from "@stryke/types/base";
5
5
  import { UnpluginOptions } from "unplugin";
6
6
 
7
7
  //#region src/types/hooks.d.ts
8
8
  type HookListOrders = "preOrdered" | "preEnforced" | "normal" | "postEnforced" | "postOrdered";
9
- type UnpluginHookFunctions<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] = keyof Required<UnpluginOptions>[TUnpluginBuilderVariant]> = Required<UnpluginOptions>[TUnpluginBuilderVariant][TField] extends infer THandler | {
10
- handler: infer THandler;
11
- } ? THandler extends ((this: infer THandlerOriginalContext, ...args: infer THandlerArgs) => infer THandlerReturn) ? (this: THandlerOriginalContext & WithUnpluginBuildContext<TContext>, ...args: THandlerArgs) => THandlerReturn : THandler extends {
12
- handler: infer THandlerFunction;
13
- } ? THandlerFunction extends ((this: infer THandlerFunctionOriginalContext, ...args: infer THandlerFunctionArgs) => infer THandlerFunctionReturn) ? (this: THandlerFunctionOriginalContext & WithUnpluginBuildContext<TContext>, ...args: THandlerFunctionArgs) => THandlerFunctionReturn : never : never : never;
14
- interface PluginHooksListItem<TContext extends PluginContext = PluginContext, TFields extends PluginHookFields<TContext> = PluginHookFields<TContext>> {
9
+ interface HooksListItem<TContext extends PluginContext = PluginContext, TFields extends string = string> {
15
10
  plugin: Plugin<TContext>;
16
- handler: PluginHookFunctions<TContext>[TFields];
11
+ handler: InferHookFunction<TContext, TFields>;
17
12
  }
18
- type PluginHooksList<TContext extends PluginContext = PluginContext, TFields extends PluginHookFields<TContext> = PluginHookFields<TContext>> = { [TKey in HookListOrders]?: PluginHooksListItem<TContext, TFields>[] | undefined };
19
- interface UnpluginHooksListItem<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] = keyof Required<UnpluginOptions>[TUnpluginBuilderVariant]> {
20
- plugin: Plugin<TContext>;
21
- handler: UnpluginHookFunctions<TContext, TUnpluginBuilderVariant, TField>;
22
- }
23
- type UnpluginHookList<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TField extends keyof UnpluginOptions[TUnpluginBuilderVariant] = keyof UnpluginOptions[TUnpluginBuilderVariant]> = { [TKey in HookListOrders]?: UnpluginHooksListItem<TContext, TUnpluginBuilderVariant, TField>[] | undefined };
24
- type UnpluginHookVariantField<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant> = { [TKey in keyof UnpluginOptions[TUnpluginBuilderVariant]]?: UnpluginHookList<TContext, TUnpluginBuilderVariant, TKey> };
25
- type UnpluginHookVariant<TContext extends PluginContext = PluginContext> = { [TKey in UnpluginBuilderVariant]?: UnpluginHookVariantField<TContext, TKey> };
26
- type HookFields<TContext extends PluginContext = PluginContext> = PluginHookFields<TContext> | UnpluginBuilderVariant;
27
- type HooksList<TContext extends PluginContext = PluginContext> = { [TField in HookFields<TContext>]?: TField extends PluginHookFields<TContext> ? PluginHooksList<TContext, TField> : TField extends UnpluginBuilderVariant ? UnpluginHookVariant<TContext>[TField] : never };
28
- type InferHooksListItem<TContext extends PluginContext, TKey extends string> = TKey extends `${infer TUnpluginBuilderVariant}:${infer TUnpluginField}` ? TUnpluginBuilderVariant extends UnpluginBuilderVariant ? TUnpluginField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] ? UnpluginHooksListItem<TContext, TUnpluginBuilderVariant, TUnpluginField> : never : never : TKey extends keyof PluginHookFunctions<TContext> ? PluginHooksListItem<TContext, TKey> : never;
29
- type InferHookFunction<TContext extends PluginContext, TKey extends string> = TKey extends `${infer TUnpluginBuilderVariant}:${infer TUnpluginField}` ? TUnpluginBuilderVariant extends UnpluginBuilderVariant ? TUnpluginField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] ? UnpluginHookFunctions<TContext, TUnpluginBuilderVariant, TUnpluginField> : never : never : TKey extends keyof PluginHookFunctions<TContext> ? PluginHookFunctions<TContext>[TKey] : never;
13
+ type HooksList<TContext extends PluginContext = PluginContext, TFields extends string = string> = { [TKey in HookListOrders]?: HooksListItem<TContext, TFields>[] | undefined };
14
+ type InferPluginFunction<TObject, TKey extends keyof Required<TObject>> = InferPluginFunctionKey<Required<TObject>[TKey]>;
15
+ type InferPluginFunctionKey<TValue> = TValue extends AnyFunction ? TValue : TValue extends PluginHook<infer THookFunction, any> ? THookFunction : never;
16
+ type InferHookFunction<TContext extends PluginContext, TKey extends string> = TKey extends `${infer TVariant}:${infer TField}` ? TVariant extends keyof Required<BasePlugin<TContext>> ? TField extends keyof Required<BasePlugin<TContext>>[TVariant] ? InferPluginFunction<Required<BasePlugin<TContext>>[TVariant], TField> : TVariant extends keyof Required<PluginHooks<TContext>> ? TField extends keyof Required<PluginHooks<TContext>>[TVariant] ? InferPluginFunction<Required<PluginHooks<TContext>>[TVariant], TField> : never : never : TVariant extends UnpluginBuilderVariant ? TField extends keyof Required<UnpluginOptions>[TVariant] ? UnpluginHookFunctions<TContext, TVariant, TField> : never : never : TKey extends keyof Required<BasePlugin<TContext>> ? InferPluginFunction<Required<BasePlugin<TContext>>, TKey> : TKey extends keyof Required<PluginHooks<TContext>> ? InferPluginFunction<Required<PluginHooks<TContext>>, TKey> : never;
30
17
  type InferHookReturnType<TContext extends PluginContext, TKey extends string> = ReturnType<InferHookFunction<TContext, TKey>>;
31
18
  type InferHookParameters<TContext extends PluginContext, TKey extends string> = Parameters<InferHookFunction<TContext, TKey>>;
32
19
  type InferHookThisType<TContext extends PluginContext, TKey extends string> = ThisParameterType<InferHookFunction<TContext, TKey>>;
@@ -78,7 +65,7 @@ type CallHookOptions<TResult = any> = SelectHooksOptions & (({
78
65
  * @param previousResult - The previous hook result to merge with the current result.
79
66
  * @returns The merged result.
80
67
  */
81
- merge?: (currentResult: TResult, previousResult: TResult) => TResult;
68
+ merge?: (currentResult: TResult, previousResult: TResult) => MaybePromise<TResult>;
82
69
  } | {
83
70
  /**
84
71
  * How to handle multiple return values from hooks.
@@ -99,21 +86,13 @@ type CallHookOptions<TResult = any> = SelectHooksOptions & (({
99
86
  sequential: false;
100
87
  });
101
88
  declare type __ΩHookListOrders = any[];
102
- declare type __ΩUnpluginHookFunctions = any[];
103
- declare type __ΩPluginHooksListItem = any[];
104
- declare type __ΩPluginHooksList = any[];
105
- declare type __ΩUnpluginHooksListItem = any[];
106
- declare type __ΩUnpluginHookList = any[];
107
- declare type __ΩUnpluginHookVariantField = any[];
108
- declare type __ΩUnpluginHookVariant = any[];
109
- declare type __ΩHookFields = any[];
89
+ declare type __ΩHooksListItem = any[];
110
90
  declare type __ΩHooksList = any[];
111
- declare type __ΩInferHooksListItem = any[];
112
91
  declare type __ΩInferHookFunction = any[];
113
92
  declare type __ΩInferHookReturnType = any[];
114
93
  declare type __ΩInferHookParameters = any[];
115
94
  declare type __ΩInferHookThisType = any[];
116
95
  declare type __ΩCallHookOptions = any[];
117
96
  //#endregion
118
- export { CallHookOptions, HookFields, HookListOrders, HooksList, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, InferHooksListItem, PluginHooksList, PluginHooksListItem, UnpluginHookFunctions, UnpluginHookList, UnpluginHookVariant, UnpluginHookVariantField, UnpluginHooksListItem, __ΩCallHookOptions, __ΩHookFields, __ΩHookListOrders, __ΩHooksList, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType, __ΩInferHooksListItem, __ΩPluginHooksList, __ΩPluginHooksListItem, __ΩUnpluginHookFunctions, __ΩUnpluginHookList, __ΩUnpluginHookVariant, __ΩUnpluginHookVariantField, __ΩUnpluginHooksListItem };
97
+ export { CallHookOptions, HookListOrders, HooksList, HooksListItem, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, __ΩCallHookOptions, __ΩHookListOrders, __ΩHooksList, __ΩHooksListItem, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType };
119
98
  //# sourceMappingURL=hooks.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.cts","names":[],"sources":["../../src/types/hooks.ts"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.cts","names":[],"sources":["../../src/types/hooks.ts"],"mappings":";;;;;;;KAwBY,cAAA;AAAA,UAOK,aAAA,kBACE,aAAA,GAAgB,aAAA;EAGjC,MAAA,EAAQ,MAAA,CAAO,QAAA;EACf,OAAA,EAAS,iBAAA,CAAkB,QAAA,EAAU,OAAA;AAAA;AAAA,KAG3B,SAAA,kBACO,aAAA,GAAgB,aAAA,gDAGxB,cAAA,IAAkB,aAAA,CAAc,QAAA,EAAU,OAAA;AAAA,KAGhD,mBAAA,6BAEgB,QAAA,CAAS,OAAA,KAC1B,sBAAA,CAAuB,QAAA,CAAS,OAAA,EAAS,IAAA;AAAA,KAExC,sBAAA,WAAiC,MAAA,SAAe,WAAA,GACjD,MAAA,GACA,MAAA,SAAe,UAAA,6BACb,aAAA;AAAA,KAGM,iBAAA,kBACO,aAAA,yBAEf,IAAA,+CACA,QAAA,eAAuB,QAAA,CAAS,UAAA,CAAW,QAAA,KACzC,MAAA,eAAqB,QAAA,CAAS,UAAA,CAAW,QAAA,GAAW,QAAA,IAClD,mBAAA,CAAoB,QAAA,CAAS,UAAA,CAAW,QAAA,GAAW,QAAA,GAAW,MAAA,IAC9D,QAAA,eAAuB,QAAA,CAAS,WAAA,CAAY,QAAA,KAC1C,MAAA,eAAqB,QAAA,CAAS,WAAA,CAAY,QAAA,GAAW,QAAA,IACnD,mBAAA,CACE,QAAA,CAAS,WAAA,CAAY,QAAA,GAAW,QAAA,GAChC,MAAA,oBAIR,QAAA,SAAiB,sBAAA,GACf,MAAA,eAAqB,QAAA,CAAS,eAAA,EAAiB,QAAA,IAC7C,qBAAA,CAAsB,QAAA,EAAU,QAAA,EAAU,MAAA,oBAGhD,IAAA,eAAmB,QAAA,CAAS,UAAA,CAAW,QAAA,KACrC,mBAAA,CAAoB,QAAA,CAAS,UAAA,CAAW,QAAA,IAAY,IAAA,IACpD,IAAA,eAAmB,QAAA,CAAS,WAAA,CAAY,QAAA,KACtC,mBAAA,CAAoB,QAAA,CAAS,WAAA,CAAY,QAAA,IAAY,IAAA;AAAA,KAGjD,mBAAA,kBACO,aAAA,yBAEf,UAAA,CAAW,iBAAA,CAAkB,QAAA,EAAU,IAAA;AAAA,KAE/B,mBAAA,kBACO,aAAA,yBAEf,UAAA,CAAW,iBAAA,CAAkB,QAAA,EAAU,IAAA;AAAA,KAE/B,iBAAA,kBACO,aAAA,yBAEf,iBAAA,CAAkB,iBAAA,CAAkB,QAAA,EAAU,IAAA;AAAA,KAEtC,eAAA,kBAAiC,kBAAA;EA9DN;;;;;EAsE/B,UAAA;AAAA;EAzEN;;;;;;;;;;AAMF;EAiFY,MAAA;AAAA;EAhFO;;;EAsFP,WAAA,aAEM,cAAA,EAAgB,OAAA,KAAY,YAAA,CAAa,OAAA;AAAA;EArF9B;;;;;;;;;;;EAmGb,MAAA;EAnG4C;;AAC1D;;;;;;;;EA8Gc,KAAA,IACE,aAAA,EAAe,OAAA,EACf,cAAA,EAAgB,OAAA,KACb,YAAA,CAAa,OAAA;AAAA;EA5GR;;;;;;;;;;;EA0HV,MAAA;AAAA;EAxHW;;;EAgInB,UAAA;AAAA;AAAA"}
@@ -1,32 +1,19 @@
1
- import { UnpluginBuilderVariant } from "./unplugin.mjs";
2
- import { Plugin, PluginHookFields, PluginHookFunctions } from "./plugin.mjs";
3
- import { PluginContext, SelectHooksOptions, WithUnpluginBuildContext } from "./context.mjs";
1
+ import { BasePlugin, Plugin, PluginHook, PluginHooks } from "./plugin.mjs";
2
+ import { UnpluginBuilderVariant, UnpluginHookFunctions } from "./unplugin.mjs";
3
+ import { PluginContext, SelectHooksOptions } from "./context.mjs";
4
4
  import { UnpluginOptions } from "unplugin";
5
- import { MaybePromise } from "@stryke/types/base";
5
+ import { AnyFunction, MaybePromise } from "@stryke/types/base";
6
6
 
7
7
  //#region src/types/hooks.d.ts
8
8
  type HookListOrders = "preOrdered" | "preEnforced" | "normal" | "postEnforced" | "postOrdered";
9
- type UnpluginHookFunctions<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] = keyof Required<UnpluginOptions>[TUnpluginBuilderVariant]> = Required<UnpluginOptions>[TUnpluginBuilderVariant][TField] extends infer THandler | {
10
- handler: infer THandler;
11
- } ? THandler extends ((this: infer THandlerOriginalContext, ...args: infer THandlerArgs) => infer THandlerReturn) ? (this: THandlerOriginalContext & WithUnpluginBuildContext<TContext>, ...args: THandlerArgs) => THandlerReturn : THandler extends {
12
- handler: infer THandlerFunction;
13
- } ? THandlerFunction extends ((this: infer THandlerFunctionOriginalContext, ...args: infer THandlerFunctionArgs) => infer THandlerFunctionReturn) ? (this: THandlerFunctionOriginalContext & WithUnpluginBuildContext<TContext>, ...args: THandlerFunctionArgs) => THandlerFunctionReturn : never : never : never;
14
- interface PluginHooksListItem<TContext extends PluginContext = PluginContext, TFields extends PluginHookFields<TContext> = PluginHookFields<TContext>> {
9
+ interface HooksListItem<TContext extends PluginContext = PluginContext, TFields extends string = string> {
15
10
  plugin: Plugin<TContext>;
16
- handler: PluginHookFunctions<TContext>[TFields];
11
+ handler: InferHookFunction<TContext, TFields>;
17
12
  }
18
- type PluginHooksList<TContext extends PluginContext = PluginContext, TFields extends PluginHookFields<TContext> = PluginHookFields<TContext>> = { [TKey in HookListOrders]?: PluginHooksListItem<TContext, TFields>[] | undefined };
19
- interface UnpluginHooksListItem<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] = keyof Required<UnpluginOptions>[TUnpluginBuilderVariant]> {
20
- plugin: Plugin<TContext>;
21
- handler: UnpluginHookFunctions<TContext, TUnpluginBuilderVariant, TField>;
22
- }
23
- type UnpluginHookList<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TField extends keyof UnpluginOptions[TUnpluginBuilderVariant] = keyof UnpluginOptions[TUnpluginBuilderVariant]> = { [TKey in HookListOrders]?: UnpluginHooksListItem<TContext, TUnpluginBuilderVariant, TField>[] | undefined };
24
- type UnpluginHookVariantField<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant> = { [TKey in keyof UnpluginOptions[TUnpluginBuilderVariant]]?: UnpluginHookList<TContext, TUnpluginBuilderVariant, TKey> };
25
- type UnpluginHookVariant<TContext extends PluginContext = PluginContext> = { [TKey in UnpluginBuilderVariant]?: UnpluginHookVariantField<TContext, TKey> };
26
- type HookFields<TContext extends PluginContext = PluginContext> = PluginHookFields<TContext> | UnpluginBuilderVariant;
27
- type HooksList<TContext extends PluginContext = PluginContext> = { [TField in HookFields<TContext>]?: TField extends PluginHookFields<TContext> ? PluginHooksList<TContext, TField> : TField extends UnpluginBuilderVariant ? UnpluginHookVariant<TContext>[TField] : never };
28
- type InferHooksListItem<TContext extends PluginContext, TKey extends string> = TKey extends `${infer TUnpluginBuilderVariant}:${infer TUnpluginField}` ? TUnpluginBuilderVariant extends UnpluginBuilderVariant ? TUnpluginField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] ? UnpluginHooksListItem<TContext, TUnpluginBuilderVariant, TUnpluginField> : never : never : TKey extends keyof PluginHookFunctions<TContext> ? PluginHooksListItem<TContext, TKey> : never;
29
- type InferHookFunction<TContext extends PluginContext, TKey extends string> = TKey extends `${infer TUnpluginBuilderVariant}:${infer TUnpluginField}` ? TUnpluginBuilderVariant extends UnpluginBuilderVariant ? TUnpluginField extends keyof Required<UnpluginOptions>[TUnpluginBuilderVariant] ? UnpluginHookFunctions<TContext, TUnpluginBuilderVariant, TUnpluginField> : never : never : TKey extends keyof PluginHookFunctions<TContext> ? PluginHookFunctions<TContext>[TKey] : never;
13
+ type HooksList<TContext extends PluginContext = PluginContext, TFields extends string = string> = { [TKey in HookListOrders]?: HooksListItem<TContext, TFields>[] | undefined };
14
+ type InferPluginFunction<TObject, TKey extends keyof Required<TObject>> = InferPluginFunctionKey<Required<TObject>[TKey]>;
15
+ type InferPluginFunctionKey<TValue> = TValue extends AnyFunction ? TValue : TValue extends PluginHook<infer THookFunction, any> ? THookFunction : never;
16
+ type InferHookFunction<TContext extends PluginContext, TKey extends string> = TKey extends `${infer TVariant}:${infer TField}` ? TVariant extends keyof Required<BasePlugin<TContext>> ? TField extends keyof Required<BasePlugin<TContext>>[TVariant] ? InferPluginFunction<Required<BasePlugin<TContext>>[TVariant], TField> : TVariant extends keyof Required<PluginHooks<TContext>> ? TField extends keyof Required<PluginHooks<TContext>>[TVariant] ? InferPluginFunction<Required<PluginHooks<TContext>>[TVariant], TField> : never : never : TVariant extends UnpluginBuilderVariant ? TField extends keyof Required<UnpluginOptions>[TVariant] ? UnpluginHookFunctions<TContext, TVariant, TField> : never : never : TKey extends keyof Required<BasePlugin<TContext>> ? InferPluginFunction<Required<BasePlugin<TContext>>, TKey> : TKey extends keyof Required<PluginHooks<TContext>> ? InferPluginFunction<Required<PluginHooks<TContext>>, TKey> : never;
30
17
  type InferHookReturnType<TContext extends PluginContext, TKey extends string> = ReturnType<InferHookFunction<TContext, TKey>>;
31
18
  type InferHookParameters<TContext extends PluginContext, TKey extends string> = Parameters<InferHookFunction<TContext, TKey>>;
32
19
  type InferHookThisType<TContext extends PluginContext, TKey extends string> = ThisParameterType<InferHookFunction<TContext, TKey>>;
@@ -78,7 +65,7 @@ type CallHookOptions<TResult = any> = SelectHooksOptions & (({
78
65
  * @param previousResult - The previous hook result to merge with the current result.
79
66
  * @returns The merged result.
80
67
  */
81
- merge?: (currentResult: TResult, previousResult: TResult) => TResult;
68
+ merge?: (currentResult: TResult, previousResult: TResult) => MaybePromise<TResult>;
82
69
  } | {
83
70
  /**
84
71
  * How to handle multiple return values from hooks.
@@ -99,21 +86,13 @@ type CallHookOptions<TResult = any> = SelectHooksOptions & (({
99
86
  sequential: false;
100
87
  });
101
88
  declare type __ΩHookListOrders = any[];
102
- declare type __ΩUnpluginHookFunctions = any[];
103
- declare type __ΩPluginHooksListItem = any[];
104
- declare type __ΩPluginHooksList = any[];
105
- declare type __ΩUnpluginHooksListItem = any[];
106
- declare type __ΩUnpluginHookList = any[];
107
- declare type __ΩUnpluginHookVariantField = any[];
108
- declare type __ΩUnpluginHookVariant = any[];
109
- declare type __ΩHookFields = any[];
89
+ declare type __ΩHooksListItem = any[];
110
90
  declare type __ΩHooksList = any[];
111
- declare type __ΩInferHooksListItem = any[];
112
91
  declare type __ΩInferHookFunction = any[];
113
92
  declare type __ΩInferHookReturnType = any[];
114
93
  declare type __ΩInferHookParameters = any[];
115
94
  declare type __ΩInferHookThisType = any[];
116
95
  declare type __ΩCallHookOptions = any[];
117
96
  //#endregion
118
- export { CallHookOptions, HookFields, HookListOrders, HooksList, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, InferHooksListItem, PluginHooksList, PluginHooksListItem, UnpluginHookFunctions, UnpluginHookList, UnpluginHookVariant, UnpluginHookVariantField, UnpluginHooksListItem, __ΩCallHookOptions, __ΩHookFields, __ΩHookListOrders, __ΩHooksList, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType, __ΩInferHooksListItem, __ΩPluginHooksList, __ΩPluginHooksListItem, __ΩUnpluginHookFunctions, __ΩUnpluginHookList, __ΩUnpluginHookVariant, __ΩUnpluginHookVariantField, __ΩUnpluginHooksListItem };
97
+ export { CallHookOptions, HookListOrders, HooksList, HooksListItem, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, __ΩCallHookOptions, __ΩHookListOrders, __ΩHooksList, __ΩHooksListItem, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType };
119
98
  //# sourceMappingURL=hooks.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.mts","names":[],"sources":["../../src/types/hooks.ts"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.mts","names":[],"sources":["../../src/types/hooks.ts"],"mappings":";;;;;;;KAwBY,cAAA;AAAA,UAOK,aAAA,kBACE,aAAA,GAAgB,aAAA;EAGjC,MAAA,EAAQ,MAAA,CAAO,QAAA;EACf,OAAA,EAAS,iBAAA,CAAkB,QAAA,EAAU,OAAA;AAAA;AAAA,KAG3B,SAAA,kBACO,aAAA,GAAgB,aAAA,gDAGxB,cAAA,IAAkB,aAAA,CAAc,QAAA,EAAU,OAAA;AAAA,KAGhD,mBAAA,6BAEgB,QAAA,CAAS,OAAA,KAC1B,sBAAA,CAAuB,QAAA,CAAS,OAAA,EAAS,IAAA;AAAA,KAExC,sBAAA,WAAiC,MAAA,SAAe,WAAA,GACjD,MAAA,GACA,MAAA,SAAe,UAAA,6BACb,aAAA;AAAA,KAGM,iBAAA,kBACO,aAAA,yBAEf,IAAA,+CACA,QAAA,eAAuB,QAAA,CAAS,UAAA,CAAW,QAAA,KACzC,MAAA,eAAqB,QAAA,CAAS,UAAA,CAAW,QAAA,GAAW,QAAA,IAClD,mBAAA,CAAoB,QAAA,CAAS,UAAA,CAAW,QAAA,GAAW,QAAA,GAAW,MAAA,IAC9D,QAAA,eAAuB,QAAA,CAAS,WAAA,CAAY,QAAA,KAC1C,MAAA,eAAqB,QAAA,CAAS,WAAA,CAAY,QAAA,GAAW,QAAA,IACnD,mBAAA,CACE,QAAA,CAAS,WAAA,CAAY,QAAA,GAAW,QAAA,GAChC,MAAA,oBAIR,QAAA,SAAiB,sBAAA,GACf,MAAA,eAAqB,QAAA,CAAS,eAAA,EAAiB,QAAA,IAC7C,qBAAA,CAAsB,QAAA,EAAU,QAAA,EAAU,MAAA,oBAGhD,IAAA,eAAmB,QAAA,CAAS,UAAA,CAAW,QAAA,KACrC,mBAAA,CAAoB,QAAA,CAAS,UAAA,CAAW,QAAA,IAAY,IAAA,IACpD,IAAA,eAAmB,QAAA,CAAS,WAAA,CAAY,QAAA,KACtC,mBAAA,CAAoB,QAAA,CAAS,WAAA,CAAY,QAAA,IAAY,IAAA;AAAA,KAGjD,mBAAA,kBACO,aAAA,yBAEf,UAAA,CAAW,iBAAA,CAAkB,QAAA,EAAU,IAAA;AAAA,KAE/B,mBAAA,kBACO,aAAA,yBAEf,UAAA,CAAW,iBAAA,CAAkB,QAAA,EAAU,IAAA;AAAA,KAE/B,iBAAA,kBACO,aAAA,yBAEf,iBAAA,CAAkB,iBAAA,CAAkB,QAAA,EAAU,IAAA;AAAA,KAEtC,eAAA,kBAAiC,kBAAA;EA9DN;;;;;EAsE/B,UAAA;AAAA;EAzEN;;;;;;;;;;AAMF;EAiFY,MAAA;AAAA;EAhFO;;;EAsFP,WAAA,aAEM,cAAA,EAAgB,OAAA,KAAY,YAAA,CAAa,OAAA;AAAA;EArF9B;;;;;;;;;;;EAmGb,MAAA;EAnG4C;;AAC1D;;;;;;;;EA8Gc,KAAA,IACE,aAAA,EAAe,OAAA,EACf,cAAA,EAAgB,OAAA,KACb,YAAA,CAAa,OAAA;AAAA;EA5GR;;;;;;;;;;;EA0HV,MAAA;AAAA;EAxHW;;;EAgInB,UAAA;AAAA;AAAA"}
@@ -1,9 +1,9 @@
1
1
  import { ResolveOptions, StorageAdapter, StoragePort, StoragePreset, VirtualFile, VirtualFileData, VirtualFileExtension, VirtualFileMetadata, VirtualFileSystemInterface, WriteData, WriteOptions, __ΩResolveOptions, __ΩStorageAdapter, __ΩStoragePort, __ΩStoragePreset, __ΩVirtualFile, __ΩVirtualFileData, __ΩVirtualFileExtension, __ΩVirtualFileMetadata, __ΩVirtualFileSystemInterface, __ΩWriteData, __ΩWriteOptions } from "./fs.cjs";
2
2
  import { CommandType, Commands, __ΩCommandType, __ΩCommands } from "./commands.cjs";
3
+ import { BasePlugin, HookFunctions, Hooks, Plugin, PluginHook, PluginHookFields, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩBasePlugin, __ΩHookFunctions, __ΩHooks, __ΩPlugin, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult } from "./plugin.cjs";
3
4
  import { API, __ΩAPI } from "./api.cjs";
4
- import { BuilderVariant, InferUnpluginOptions, InferUnpluginVariant, UnpluginAsyncFactory, UnpluginBuilderVariant, UnpluginFactory, UnpluginOptions, UnpluginUserConfig, __ΩBuilderVariant, __ΩInferUnpluginOptions, __ΩInferUnpluginVariant, __ΩUnpluginAsyncFactory, __ΩUnpluginBuilderVariant, __ΩUnpluginFactory, __ΩUnpluginOptions, __ΩUnpluginUserConfig } from "./unplugin.cjs";
5
- import { Hooks, Plugin, PluginFields, PluginHook, PluginHookFields, PluginHookFunctions, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩHooks, __ΩPlugin, __ΩPluginFields, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookFunctions, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult } from "./plugin.cjs";
6
- import { CallHookOptions, HookFields, HookListOrders, HooksList, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, InferHooksListItem, PluginHooksList, PluginHooksListItem, UnpluginHookFunctions, UnpluginHookList, UnpluginHookVariant, UnpluginHookVariantField, UnpluginHooksListItem, __ΩCallHookOptions, __ΩHookFields, __ΩHookListOrders, __ΩHooksList, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType, __ΩInferHooksListItem, __ΩPluginHooksList, __ΩPluginHooksListItem, __ΩUnpluginHookFunctions, __ΩUnpluginHookList, __ΩUnpluginHookVariant, __ΩUnpluginHookVariantField, __ΩUnpluginHooksListItem } from "./hooks.cjs";
5
+ import { BuilderVariant, InferUnpluginOptions, InferUnpluginVariant, UnpluginAsyncFactory, UnpluginBuilderVariant, UnpluginFactory, UnpluginHookFunctions, UnpluginOptions, UnpluginUserConfig, __ΩBuilderVariant, __ΩInferUnpluginOptions, __ΩInferUnpluginVariant, __ΩUnpluginAsyncFactory, __ΩUnpluginBuilderVariant, __ΩUnpluginFactory, __ΩUnpluginHookFunctions, __ΩUnpluginOptions, __ΩUnpluginUserConfig } from "./unplugin.cjs";
6
+ import { CallHookOptions, HookListOrders, HooksList, HooksListItem, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, __ΩCallHookOptions, __ΩHookListOrders, __ΩHooksList, __ΩHooksListItem, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType } from "./hooks.cjs";
7
7
  import { DeepkitOptions, ParsedTypeScriptConfig, RawReflectionMode, ReflectionLevel, ReflectionMode, TSCompilerOptions, TSConfig, __ΩDeepkitOptions, __ΩParsedTypeScriptConfig, __ΩRawReflectionMode, __ΩReflectionLevel, __ΩReflectionMode, __ΩTSCompilerOptions, __ΩTSConfig } from "./tsconfig.cjs";
8
8
  import { APIContext, BuildPluginContext, Context, EmitEntryOptions, EmitOptions, EnvironmentContext, EnvironmentContextPlugin, FetchOptions, InitContextOptions, MetaInfo, ParseOptions, PluginContext, ResolveResult, Resolver, SelectHookResult, SelectHookResultItem, SelectHooksOptions, SourceFile, TransformResult, UnimportContext, UnresolvedContext, WithUnpluginBuildContext, WorkerProcess, __ΩAPIContext, __ΩBuildPluginContext, __ΩContext, __ΩEmitEntryOptions, __ΩEmitOptions, __ΩEnvironmentContext, __ΩEnvironmentContextPlugin, __ΩFetchOptions, __ΩInitContextOptions, __ΩMetaInfo, __ΩParseOptions, __ΩPluginContext, __ΩResolveResult, __ΩResolver, __ΩSelectHookResult, __ΩSelectHookResultItem, __ΩSelectHooksOptions, __ΩSourceFile, __ΩTransformResult, __ΩUnimportContext, __ΩUnresolvedContext, __ΩWithUnpluginBuildContext, __ΩWorkerProcess } from "./context.cjs";
9
9
  import { AnyOutputUserConfig, AnyUserConfig, BuildInlineConfig, CleanInlineConfig, Config, ConfigEnv, CopyConfig, CopyResolvedConfig, DeployInlineConfig, DocsInlineConfig, EnvironmentConfig, EnvironmentResolvedConfig, InitialUserConfig, InlineConfig, LintInlineConfig, LogFn, LogLevel, Logger, NewInlineConfig, OutputConfig, OutputResolvedConfig, ParsedUserConfig, PartialPlugin, PartialPluginFactory, PluginConfig, PluginConfigObject, PluginConfigTuple, PluginFactory, PowerlinesCommand, PrepareInlineConfig, ProjectType, ResolveConfig, ResolveResolvedConfig, ResolvedAssetGlob, ResolvedConfig, ResolvedEntryTypeDefinition, TypesInlineConfig, UserConfig, UserConfigFn, WorkspaceConfig, __ΩAnyOutputUserConfig, __ΩAnyUserConfig, __ΩBuildInlineConfig, __ΩCleanInlineConfig, __ΩConfig, __ΩConfigEnv, __ΩCopyConfig, __ΩCopyResolvedConfig, __ΩDeployInlineConfig, __ΩDocsInlineConfig, __ΩEnvironmentConfig, __ΩEnvironmentResolvedConfig, __ΩInitialUserConfig, __ΩInlineConfig, __ΩLintInlineConfig, __ΩLogFn, __ΩLogLevel, __ΩLogger, __ΩNewInlineConfig, __ΩOutputConfig, __ΩOutputResolvedConfig, __ΩParsedUserConfig, __ΩPartialPlugin, __ΩPartialPluginFactory, __ΩPluginConfig, __ΩPluginConfigObject, __ΩPluginConfigTuple, __ΩPluginFactory, __ΩPowerlinesCommand, __ΩPrepareInlineConfig, __ΩProjectType, __ΩResolveConfig, __ΩResolveResolvedConfig, __ΩResolvedAssetGlob, __ΩResolvedConfig, __ΩResolvedEntryTypeDefinition, __ΩTypesInlineConfig, __ΩUserConfig, __ΩUserConfigFn, __ΩWorkspaceConfig } from "./config.cjs";
@@ -1,9 +1,9 @@
1
1
  import { ResolveOptions, StorageAdapter, StoragePort, StoragePreset, VirtualFile, VirtualFileData, VirtualFileExtension, VirtualFileMetadata, VirtualFileSystemInterface, WriteData, WriteOptions, __ΩResolveOptions, __ΩStorageAdapter, __ΩStoragePort, __ΩStoragePreset, __ΩVirtualFile, __ΩVirtualFileData, __ΩVirtualFileExtension, __ΩVirtualFileMetadata, __ΩVirtualFileSystemInterface, __ΩWriteData, __ΩWriteOptions } from "./fs.mjs";
2
2
  import { CommandType, Commands, __ΩCommandType, __ΩCommands } from "./commands.mjs";
3
+ import { BasePlugin, HookFunctions, Hooks, Plugin, PluginHook, PluginHookFields, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩBasePlugin, __ΩHookFunctions, __ΩHooks, __ΩPlugin, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult } from "./plugin.mjs";
3
4
  import { API, __ΩAPI } from "./api.mjs";
4
- import { BuilderVariant, InferUnpluginOptions, InferUnpluginVariant, UnpluginAsyncFactory, UnpluginBuilderVariant, UnpluginFactory, UnpluginOptions, UnpluginUserConfig, __ΩBuilderVariant, __ΩInferUnpluginOptions, __ΩInferUnpluginVariant, __ΩUnpluginAsyncFactory, __ΩUnpluginBuilderVariant, __ΩUnpluginFactory, __ΩUnpluginOptions, __ΩUnpluginUserConfig } from "./unplugin.mjs";
5
- import { Hooks, Plugin, PluginFields, PluginHook, PluginHookFields, PluginHookFunctions, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩHooks, __ΩPlugin, __ΩPluginFields, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookFunctions, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult } from "./plugin.mjs";
6
- import { CallHookOptions, HookFields, HookListOrders, HooksList, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, InferHooksListItem, PluginHooksList, PluginHooksListItem, UnpluginHookFunctions, UnpluginHookList, UnpluginHookVariant, UnpluginHookVariantField, UnpluginHooksListItem, __ΩCallHookOptions, __ΩHookFields, __ΩHookListOrders, __ΩHooksList, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType, __ΩInferHooksListItem, __ΩPluginHooksList, __ΩPluginHooksListItem, __ΩUnpluginHookFunctions, __ΩUnpluginHookList, __ΩUnpluginHookVariant, __ΩUnpluginHookVariantField, __ΩUnpluginHooksListItem } from "./hooks.mjs";
5
+ import { BuilderVariant, InferUnpluginOptions, InferUnpluginVariant, UnpluginAsyncFactory, UnpluginBuilderVariant, UnpluginFactory, UnpluginHookFunctions, UnpluginOptions, UnpluginUserConfig, __ΩBuilderVariant, __ΩInferUnpluginOptions, __ΩInferUnpluginVariant, __ΩUnpluginAsyncFactory, __ΩUnpluginBuilderVariant, __ΩUnpluginFactory, __ΩUnpluginHookFunctions, __ΩUnpluginOptions, __ΩUnpluginUserConfig } from "./unplugin.mjs";
6
+ import { CallHookOptions, HookListOrders, HooksList, HooksListItem, InferHookFunction, InferHookParameters, InferHookReturnType, InferHookThisType, __ΩCallHookOptions, __ΩHookListOrders, __ΩHooksList, __ΩHooksListItem, __ΩInferHookFunction, __ΩInferHookParameters, __ΩInferHookReturnType, __ΩInferHookThisType } from "./hooks.mjs";
7
7
  import { DeepkitOptions, ParsedTypeScriptConfig, RawReflectionMode, ReflectionLevel, ReflectionMode, TSCompilerOptions, TSConfig, __ΩDeepkitOptions, __ΩParsedTypeScriptConfig, __ΩRawReflectionMode, __ΩReflectionLevel, __ΩReflectionMode, __ΩTSCompilerOptions, __ΩTSConfig } from "./tsconfig.mjs";
8
8
  import { APIContext, BuildPluginContext, Context, EmitEntryOptions, EmitOptions, EnvironmentContext, EnvironmentContextPlugin, FetchOptions, InitContextOptions, MetaInfo, ParseOptions, PluginContext, ResolveResult, Resolver, SelectHookResult, SelectHookResultItem, SelectHooksOptions, SourceFile, TransformResult, UnimportContext, UnresolvedContext, WithUnpluginBuildContext, WorkerProcess, __ΩAPIContext, __ΩBuildPluginContext, __ΩContext, __ΩEmitEntryOptions, __ΩEmitOptions, __ΩEnvironmentContext, __ΩEnvironmentContextPlugin, __ΩFetchOptions, __ΩInitContextOptions, __ΩMetaInfo, __ΩParseOptions, __ΩPluginContext, __ΩResolveResult, __ΩResolver, __ΩSelectHookResult, __ΩSelectHookResultItem, __ΩSelectHooksOptions, __ΩSourceFile, __ΩTransformResult, __ΩUnimportContext, __ΩUnresolvedContext, __ΩWithUnpluginBuildContext, __ΩWorkerProcess } from "./context.mjs";
9
9
  import { AnyOutputUserConfig, AnyUserConfig, BuildInlineConfig, CleanInlineConfig, Config, ConfigEnv, CopyConfig, CopyResolvedConfig, DeployInlineConfig, DocsInlineConfig, EnvironmentConfig, EnvironmentResolvedConfig, InitialUserConfig, InlineConfig, LintInlineConfig, LogFn, LogLevel, Logger, NewInlineConfig, OutputConfig, OutputResolvedConfig, ParsedUserConfig, PartialPlugin, PartialPluginFactory, PluginConfig, PluginConfigObject, PluginConfigTuple, PluginFactory, PowerlinesCommand, PrepareInlineConfig, ProjectType, ResolveConfig, ResolveResolvedConfig, ResolvedAssetGlob, ResolvedConfig, ResolvedEntryTypeDefinition, TypesInlineConfig, UserConfig, UserConfigFn, WorkspaceConfig, __ΩAnyOutputUserConfig, __ΩAnyUserConfig, __ΩBuildInlineConfig, __ΩCleanInlineConfig, __ΩConfig, __ΩConfigEnv, __ΩCopyConfig, __ΩCopyResolvedConfig, __ΩDeployInlineConfig, __ΩDocsInlineConfig, __ΩEnvironmentConfig, __ΩEnvironmentResolvedConfig, __ΩInitialUserConfig, __ΩInlineConfig, __ΩLintInlineConfig, __ΩLogFn, __ΩLogLevel, __ΩLogger, __ΩNewInlineConfig, __ΩOutputConfig, __ΩOutputResolvedConfig, __ΩParsedUserConfig, __ΩPartialPlugin, __ΩPartialPluginFactory, __ΩPluginConfig, __ΩPluginConfigObject, __ΩPluginConfigTuple, __ΩPluginFactory, __ΩPowerlinesCommand, __ΩPrepareInlineConfig, __ΩProjectType, __ΩResolveConfig, __ΩResolveResolvedConfig, __ΩResolvedAssetGlob, __ΩResolvedConfig, __ΩResolvedEntryTypeDefinition, __ΩTypesInlineConfig, __ΩUserConfig, __ΩUserConfigFn, __ΩWorkspaceConfig } from "./config.mjs";
@@ -1,6 +1,5 @@
1
- import { KNOWN_PLUGIN_FIELDS, PLUGIN_NON_HOOK_FIELDS } from "../constants/plugin.cjs";
1
+ import { PLUGIN_NON_HOOK_FIELDS } from "../constants/plugin.cjs";
2
2
  import { CommandType } from "./commands.cjs";
3
- import { BuilderVariant, InferUnpluginOptions, UnpluginBuilderVariant } from "./unplugin.cjs";
4
3
  import { BuildPluginContext, PluginContext, ResolveResult, UnresolvedContext } from "./context.cjs";
5
4
  import { EnvironmentConfig, EnvironmentResolvedConfig, PluginConfig, ResolvedConfig } from "./config.cjs";
6
5
  import { AnyFunction, MaybePromise } from "@stryke/types/base";
@@ -129,14 +128,15 @@ interface Hooks<TContext extends PluginContext> {
129
128
  */
130
129
  writeBundle: (this: TContext) => MaybePromise<void>;
131
130
  }
132
- type PluginHookFunctions<TContext extends PluginContext> = { [TCommandType in CommandType]: (this: TContext) => MaybePromise<void> } & Hooks<TContext>;
133
- type PluginHooks<TContext extends PluginContext> = { [TPluginHook in keyof PluginHookFunctions<TContext>]?: PluginHook<PluginHookFunctions<TContext>[TPluginHook]> } & {
134
- transform: PluginHook<PluginHookFunctions<TContext>["transform"], "code" | "id">;
135
- load: PluginHook<PluginHookFunctions<TContext>["load"], "id">;
136
- resolveId: PluginHook<PluginHookFunctions<TContext>["resolveId"], "id">;
137
- };
131
+ type HookFunctions<TContext extends PluginContext> = { [TCommandType in CommandType]: (this: TContext) => MaybePromise<void> } & Hooks<TContext>;
138
132
  type DeepPartial$1<T> = { [K in keyof T]?: DeepPartial$1<T[K]> };
139
- type Plugin<TContext extends PluginContext<ResolvedConfig> = PluginContext<ResolvedConfig>> = Partial<PluginHooks<TContext>> & {
133
+ type InferPluginHookFunction<TContext extends PluginContext, TKey extends string> = TKey extends keyof HookFunctions<TContext> ? HookFunctions<TContext>[TKey] extends AnyFunction ? PluginHook<HookFunctions<TContext>[TKey], TKey & keyof HookFilter> : HookFunctions<TContext>[TKey] extends object ? { [K in keyof HookFunctions<TContext>[TKey]]?: InferPluginHookFunction<TContext, `${TKey}:${K & string}`> } : never : never;
134
+ type PluginHooks<TContext extends PluginContext> = { [TKey in keyof HookFunctions<TContext>]?: InferPluginHookFunction<TContext, TKey> } & {
135
+ transform?: PluginHook<HookFunctions<TContext>["transform"], "code" | "id">;
136
+ load?: PluginHook<HookFunctions<TContext>["load"], "id">;
137
+ resolveId?: PluginHook<HookFunctions<TContext>["resolveId"], "id">;
138
+ };
139
+ interface BasePlugin<TContext extends PluginContext> {
140
140
  /**
141
141
  * The name of the plugin, for use in deduplication, error messages and logs.
142
142
  */
@@ -199,20 +199,20 @@ type Plugin<TContext extends PluginContext<ResolvedConfig> = PluginContext<Resol
199
199
  * @returns A promise that resolves to a partial configuration object.
200
200
  */
201
201
  config?: PluginHook<(this: UnresolvedContext<TContext["config"]>) => MaybePromise<DeepPartial$1<TContext["config"]> & Record<string, any>>> | (DeepPartial$1<TContext["config"]> & Record<string, any>);
202
- } & { [TBuilderVariant in BuilderVariant]?: InferUnpluginOptions<TContext, TBuilderVariant> };
203
- type PluginNonHookFields = ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS> | UnpluginBuilderVariant;
204
- type PluginHookFields<TContext extends PluginContext = PluginContext> = keyof PluginHookFunctions<TContext>;
205
- type PluginFields = ArrayValues<typeof KNOWN_PLUGIN_FIELDS>;
202
+ }
203
+ type Plugin<TContext extends PluginContext<ResolvedConfig> = PluginContext<ResolvedConfig>> = Partial<PluginHooks<TContext>> & BasePlugin<TContext>;
204
+ type PluginNonHookFields = ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>;
205
+ type PluginHookFields<TContext extends PluginContext = PluginContext, TKey extends string = string> = TKey extends ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS> ? never : TKey extends keyof HookFunctions<TContext> ? HookFunctions<TContext>[TKey] extends AnyFunction ? TKey : HookFunctions<TContext>[TKey] extends object ? { [K in keyof HookFunctions<TContext>[TKey]]?: `${TKey}:${K & string}` }[keyof HookFunctions<TContext>[TKey]] : never : never;
206
206
  declare type __ΩPluginHookObject = any[];
207
207
  declare type __ΩPluginHook = any[];
208
208
  declare type __ΩTypesResult = any[];
209
209
  declare type __ΩHooks = any[];
210
- declare type __ΩPluginHookFunctions = any[];
210
+ declare type __ΩHookFunctions = any[];
211
211
  declare type __ΩPluginHooks = any[];
212
+ declare type __ΩBasePlugin = any[];
212
213
  declare type __ΩPlugin = any[];
213
214
  declare type __ΩPluginNonHookFields = any[];
214
215
  declare type __ΩPluginHookFields = any[];
215
- declare type __ΩPluginFields = any[];
216
216
  //#endregion
217
- export { Hooks, Plugin, PluginFields, PluginHook, PluginHookFields, PluginHookFunctions, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩHooks, __ΩPlugin, __ΩPluginFields, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookFunctions, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult };
217
+ export { BasePlugin, HookFunctions, Hooks, Plugin, PluginHook, PluginHookFields, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩBasePlugin, __ΩHookFunctions, __ΩHooks, __ΩPlugin, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult };
218
218
  //# sourceMappingURL=plugin.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { KNOWN_PLUGIN_FIELDS, PLUGIN_NON_HOOK_FIELDS } from "../constants/plugin.mjs";
1
+ import { PLUGIN_NON_HOOK_FIELDS } from "../constants/plugin.mjs";
2
2
  import { CommandType } from "./commands.mjs";
3
- import { BuilderVariant, InferUnpluginOptions, UnpluginBuilderVariant } from "./unplugin.mjs";
4
3
  import { BuildPluginContext, PluginContext, ResolveResult, UnresolvedContext } from "./context.mjs";
5
4
  import { EnvironmentConfig, EnvironmentResolvedConfig, PluginConfig, ResolvedConfig } from "./config.mjs";
6
5
  import { HookFilter, TransformResult } from "unplugin";
@@ -129,14 +128,15 @@ interface Hooks<TContext extends PluginContext> {
129
128
  */
130
129
  writeBundle: (this: TContext) => MaybePromise<void>;
131
130
  }
132
- type PluginHookFunctions<TContext extends PluginContext> = { [TCommandType in CommandType]: (this: TContext) => MaybePromise<void> } & Hooks<TContext>;
133
- type PluginHooks<TContext extends PluginContext> = { [TPluginHook in keyof PluginHookFunctions<TContext>]?: PluginHook<PluginHookFunctions<TContext>[TPluginHook]> } & {
134
- transform: PluginHook<PluginHookFunctions<TContext>["transform"], "code" | "id">;
135
- load: PluginHook<PluginHookFunctions<TContext>["load"], "id">;
136
- resolveId: PluginHook<PluginHookFunctions<TContext>["resolveId"], "id">;
137
- };
131
+ type HookFunctions<TContext extends PluginContext> = { [TCommandType in CommandType]: (this: TContext) => MaybePromise<void> } & Hooks<TContext>;
138
132
  type DeepPartial$1<T> = { [K in keyof T]?: DeepPartial$1<T[K]> };
139
- type Plugin<TContext extends PluginContext<ResolvedConfig> = PluginContext<ResolvedConfig>> = Partial<PluginHooks<TContext>> & {
133
+ type InferPluginHookFunction<TContext extends PluginContext, TKey extends string> = TKey extends keyof HookFunctions<TContext> ? HookFunctions<TContext>[TKey] extends AnyFunction ? PluginHook<HookFunctions<TContext>[TKey], TKey & keyof HookFilter> : HookFunctions<TContext>[TKey] extends object ? { [K in keyof HookFunctions<TContext>[TKey]]?: InferPluginHookFunction<TContext, `${TKey}:${K & string}`> } : never : never;
134
+ type PluginHooks<TContext extends PluginContext> = { [TKey in keyof HookFunctions<TContext>]?: InferPluginHookFunction<TContext, TKey> } & {
135
+ transform?: PluginHook<HookFunctions<TContext>["transform"], "code" | "id">;
136
+ load?: PluginHook<HookFunctions<TContext>["load"], "id">;
137
+ resolveId?: PluginHook<HookFunctions<TContext>["resolveId"], "id">;
138
+ };
139
+ interface BasePlugin<TContext extends PluginContext> {
140
140
  /**
141
141
  * The name of the plugin, for use in deduplication, error messages and logs.
142
142
  */
@@ -199,20 +199,20 @@ type Plugin<TContext extends PluginContext<ResolvedConfig> = PluginContext<Resol
199
199
  * @returns A promise that resolves to a partial configuration object.
200
200
  */
201
201
  config?: PluginHook<(this: UnresolvedContext<TContext["config"]>) => MaybePromise<DeepPartial$1<TContext["config"]> & Record<string, any>>> | (DeepPartial$1<TContext["config"]> & Record<string, any>);
202
- } & { [TBuilderVariant in BuilderVariant]?: InferUnpluginOptions<TContext, TBuilderVariant> };
203
- type PluginNonHookFields = ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS> | UnpluginBuilderVariant;
204
- type PluginHookFields<TContext extends PluginContext = PluginContext> = keyof PluginHookFunctions<TContext>;
205
- type PluginFields = ArrayValues<typeof KNOWN_PLUGIN_FIELDS>;
202
+ }
203
+ type Plugin<TContext extends PluginContext<ResolvedConfig> = PluginContext<ResolvedConfig>> = Partial<PluginHooks<TContext>> & BasePlugin<TContext>;
204
+ type PluginNonHookFields = ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>;
205
+ type PluginHookFields<TContext extends PluginContext = PluginContext, TKey extends string = string> = TKey extends ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS> ? never : TKey extends keyof HookFunctions<TContext> ? HookFunctions<TContext>[TKey] extends AnyFunction ? TKey : HookFunctions<TContext>[TKey] extends object ? { [K in keyof HookFunctions<TContext>[TKey]]?: `${TKey}:${K & string}` }[keyof HookFunctions<TContext>[TKey]] : never : never;
206
206
  declare type __ΩPluginHookObject = any[];
207
207
  declare type __ΩPluginHook = any[];
208
208
  declare type __ΩTypesResult = any[];
209
209
  declare type __ΩHooks = any[];
210
- declare type __ΩPluginHookFunctions = any[];
210
+ declare type __ΩHookFunctions = any[];
211
211
  declare type __ΩPluginHooks = any[];
212
+ declare type __ΩBasePlugin = any[];
212
213
  declare type __ΩPlugin = any[];
213
214
  declare type __ΩPluginNonHookFields = any[];
214
215
  declare type __ΩPluginHookFields = any[];
215
- declare type __ΩPluginFields = any[];
216
216
  //#endregion
217
- export { Hooks, Plugin, PluginFields, PluginHook, PluginHookFields, PluginHookFunctions, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩHooks, __ΩPlugin, __ΩPluginFields, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookFunctions, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult };
217
+ export { BasePlugin, HookFunctions, Hooks, Plugin, PluginHook, PluginHookFields, PluginHookObject, PluginHooks, PluginNonHookFields, TypesResult, __ΩBasePlugin, __ΩHookFunctions, __ΩHooks, __ΩPlugin, __ΩPluginHook, __ΩPluginHookFields, __ΩPluginHookObject, __ΩPluginHooks, __ΩPluginNonHookFields, __ΩTypesResult };
218
218
  //# sourceMappingURL=plugin.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.mts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.mts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":";;;;;;;;;;UAqCiB,gBAAA,uBACO,WAAA,wBACA,UAAA;;AAFxB;;EAOE,KAAA;EANsB;;;EAWtB,MAAA,GAAS,IAAA,CAAK,UAAA,EAAY,OAAA;EAAjB;;;EAKT,OAAA,EAAS,aAAA;AAAA;AAAA,KAGC,UAAA,uBACY,WAAA,wBACA,UAAA,YACpB,aAAA,GAAgB,gBAAA,CAAiB,aAAA,EAAe,OAAA;;;;UAKnC,WAAA;EACf,UAAA;EACA,IAAA;AAAA;AAAA,UAGe,KAAA,kBAAuB,aAAA;EAhB7B;;;AAGX;;;;;;;;;;;EA4BE,MAAA,GACE,IAAA,EAAM,iBAAA,CAAkB,QAAA,gBACrB,YAAA,CAAa,aAAA,CAAY,QAAA,cAAsB,MAAA;EA7B9B;;;;;;;;;AAOxB;;;;EAqCE,iBAAA,GACE,IAAA,EAAM,QAAA,EACN,IAAA,UACA,WAAA,EAAa,iBAAA,KACV,YAAA,CAAa,OAAA,CAAQ,yBAAA;EApCX;;;;;;;;EA8Cf,cAAA,GAAiB,IAAA,EAAM,QAAA,KAAa,YAAA;EA7B/B;;;;;;;EAsCL,KAAA,GACE,IAAA,EAAM,QAAA,EACN,IAAA,aACG,YAAA,CAAa,WAAA;EAFV;;;;;;EAUR,UAAA,GACE,IAAA,EAAM,kBAAA,CAAmB,QAAA,cAAsB,QAAA,KAC5C,YAAA;EASsB;;;;;;EAD3B,QAAA,GACE,IAAA,EAAM,kBAAA,CAAmB,QAAA,cAAsB,QAAA,KAC5C,YAAA;EAca;;;;;;;;EAJlB,SAAA,GACE,IAAA,EAAM,kBAAA,CAAmB,QAAA,cAAsB,QAAA,EAC/C,IAAA,UACA,EAAA,aACG,YAAA,CAAa,eAAA;EAwB+B;;;;;;;EAfjD,IAAA,GACE,IAAA,EAAM,kBAAA,CAAmB,QAAA,cAAsB,QAAA,EAC/C,EAAA,aACG,YAAA,CAAa,UAAA;EAxGoB;;;;;;;;;EAmHtC,SAAA,GACE,IAAA,EAAM,kBAAA,CAAmB,QAAA,cAAsB,QAAA,EAC/C,EAAA,UACA,QAAA,sBACA,OAAA;IAAW,OAAA;EAAA,MACR,YAAA,UAAsB,aAAA;EAtFzB;;;;;;EA8FF,WAAA,GAAc,IAAA,EAAM,QAAA,KAAa,YAAA;AAAA;AAAA,KAGvB,aAAA,kBAA+B,aAAA,uBACxB,WAAA,IAAe,IAAA,EAAM,QAAA,KAAa,YAAA,WACjD,KAAA,CAAM,QAAA;AAAA,KAEL,aAAA,oBACS,CAAA,IAAK,aAAA,CAAY,CAAA,CAAE,CAAA;AAAA,KAG5B,uBAAA,kBACc,aAAA,yBAEf,IAAA,eAAmB,aAAA,CAAc,QAAA,IACjC,aAAA,CAAc,QAAA,EAAU,IAAA,UAAc,WAAA,GACpC,UAAA,CAAW,aAAA,CAAc,QAAA,EAAU,IAAA,GAAO,IAAA,SAAa,UAAA,IACvD,aAAA,CAAc,QAAA,EAAU,IAAA,iCAER,aAAA,CAAc,QAAA,EAAU,IAAA,KAAS,uBAAA,CAC3C,QAAA,KACG,IAAA,IAAQ,CAAA;AAAA,KAMX,WAAA,kBAA6B,aAAA,qBACxB,aAAA,CAAc,QAAA,KAAa,uBAAA,CACxC,QAAA,EACA,IAAA;EAGF,SAAA,GAAY,UAAA,CAAW,aAAA,CAAc,QAAA;EACrC,IAAA,GAAO,UAAA,CAAW,aAAA,CAAc,QAAA;EAChC,SAAA,GAAY,UAAA,CAAW,aAAA,CAAc,QAAA;AAAA;AAAA,UAGtB,UAAA,kBAA4B,aAAA;EAzFM;;;EA6FjD,IAAA;EAjFQ;;;;;EAwFR,GAAA,GAAM,MAAA;EArFD;;;;;;;;;;;;;;;;EAuGL,OAAA;EA5Ea;;;;;;;;;EAuFb,MAAA,aAAmB,KAAA,EAAO,MAAA;EA3EhB;;;EAA+B;;;;;;EAwFzC,kBAAA,IACE,WAAA,EAAa,yBAAA,eACA,YAAA,CAAa,QAAA;EAxFrB;;;;;;;;;;;;AAAW;;EAwGlB,MAAA,GACI,UAAA,EAEI,IAAA,EAAM,iBAAA,CAAkB,QAAA,gBACrB,YAAA,CAAa,aAAA,CAAY,QAAA,cAAsB,MAAA,mBAErD,aAAA,CAAY,QAAA,cAAsB,MAAA;AAAA;AAAA,KAG7B,MAAA,kBACO,aAAA,CAAc,cAAA,IAAkB,aAAA,CAAc,cAAA,KAC7D,OAAA,CAAQ,WAAA,CAAY,QAAA,KAAa,UAAA,CAAW,QAAA;AAAA,KAEpC,mBAAA,GAAsB,WAAA,QAAmB,sBAAA;AAAA,KAEzC,gBAAA,kBACO,aAAA,GAAgB,aAAA,kCAGjC,IAAA,SAAa,WAAA,QAAmB,sBAAA,YAE5B,IAAA,eAAmB,aAAA,CAAc,QAAA,IAC/B,aAAA,CAAc,QAAA,EAAU,IAAA,UAAc,WAAA,GACpC,IAAA,GACA,aAAA,CAAc,QAAA,EAAU,IAAA,iCAER,aAAA,CAAc,QAAA,EAAU,IAAA,QAAY,IAAA,IAAQ,CAAA,oBAClD,aAAA,CAAc,QAAA,EAAU,IAAA;AAAA"}
@@ -1,6 +1,6 @@
1
- import { API } from "./api.cjs";
2
1
  import { PluginHook } from "./plugin.cjs";
3
- import { Context } from "./context.cjs";
2
+ import { API } from "./api.cjs";
3
+ import { Context, PluginContext, WithUnpluginBuildContext } from "./context.cjs";
4
4
  import { UserConfig } from "./config.cjs";
5
5
  import { MaybePromise } from "@stryke/types/base";
6
6
  import { HookFilter, UnpluginContextMeta, UnpluginOptions } from "unplugin";
@@ -28,6 +28,11 @@ type UnpluginUserConfig = UserConfig & {
28
28
  };
29
29
  type UnpluginFactory<TContext extends Context = Context> = (options: Partial<TContext["config"]["userConfig"]>, meta: UnpluginContextMeta) => UnpluginOptions$1<TContext>;
30
30
  type UnpluginAsyncFactory<TContext extends Context = Context> = (options: Partial<TContext["config"]["userConfig"]>, meta: UnpluginContextMeta) => Promise<UnpluginOptions$1<TContext>>;
31
+ type UnpluginHookFunctions<TContext extends PluginContext = PluginContext, TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TField extends keyof Required<UnpluginOptions$1>[TUnpluginBuilderVariant] = keyof Required<UnpluginOptions$1>[TUnpluginBuilderVariant]> = Required<UnpluginOptions$1>[TUnpluginBuilderVariant][TField] extends infer THandler | {
32
+ handler: infer THandler;
33
+ } ? THandler extends ((this: infer THandlerOriginalContext, ...args: infer THandlerArgs) => infer THandlerReturn) ? (this: THandlerOriginalContext & WithUnpluginBuildContext<TContext>, ...args: THandlerArgs) => THandlerReturn : THandler extends {
34
+ handler: infer THandlerFunction;
35
+ } ? THandlerFunction extends ((this: infer THandlerFunctionOriginalContext, ...args: infer THandlerFunctionArgs) => infer THandlerFunctionReturn) ? (this: THandlerFunctionOriginalContext & WithUnpluginBuildContext<TContext>, ...args: THandlerFunctionArgs) => THandlerFunctionReturn : never : never : never;
31
36
  declare type __ΩUnpluginBuilderVariant = any[];
32
37
  declare type __ΩBuilderVariant = any[];
33
38
  declare type __ΩInferUnpluginVariant = any[];
@@ -36,6 +41,7 @@ declare type __ΩInferUnpluginOptions = any[];
36
41
  declare type __ΩUnpluginUserConfig = any[];
37
42
  declare type __ΩUnpluginFactory = any[];
38
43
  declare type __ΩUnpluginAsyncFactory = any[];
44
+ declare type __ΩUnpluginHookFunctions = any[];
39
45
  //#endregion
40
- export { BuilderVariant, InferUnpluginOptions, InferUnpluginVariant, UnpluginAsyncFactory, UnpluginBuilderVariant, UnpluginFactory, UnpluginOptions$1 as UnpluginOptions, UnpluginUserConfig, __ΩBuilderVariant, __ΩInferUnpluginOptions, __ΩInferUnpluginVariant, __ΩUnpluginAsyncFactory, __ΩUnpluginBuilderVariant, __ΩUnpluginFactory, __ΩUnpluginOptions, __ΩUnpluginUserConfig };
46
+ export { BuilderVariant, InferUnpluginOptions, InferUnpluginVariant, UnpluginAsyncFactory, UnpluginBuilderVariant, UnpluginFactory, UnpluginHookFunctions, UnpluginOptions$1 as UnpluginOptions, UnpluginUserConfig, __ΩBuilderVariant, __ΩInferUnpluginOptions, __ΩInferUnpluginVariant, __ΩUnpluginAsyncFactory, __ΩUnpluginBuilderVariant, __ΩUnpluginFactory, __ΩUnpluginHookFunctions, __ΩUnpluginOptions, __ΩUnpluginUserConfig };
41
47
  //# sourceMappingURL=unplugin.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unplugin.d.cts","names":[],"sources":["../../src/types/unplugin.ts"],"mappings":";;;;;;;;KA6BY,sBAAA;AAAA,KAWA,cAAA,GACR,sBAAA;AAAA,KAKQ,oBAAA,uBAA2C,cAAA,IACrD,aAAA,8BAEI,aAAA,iCAEE,aAAA,gCAEE,aAAA;AAAA,UAEO,iBAAA,kBACE,OAAA,GAAU,OAAA,UACnB,eAAA;;;;AAjBV;;EAuBE,GAAA,EAAK,GAAA,CAAI,QAAA;AAAA;AAAA,KAGC,oBAAA,kBACO,OAAA,GAAU,OAAA,0BACH,cAAA,GAAiB,cAAA,2BAChB,oBAAA,CAAqB,eAAA,IAC5C,oBAAA,CAAqB,eAAA,sBAER,QAAA,CACb,iBAAA,CAAgB,QAAA,GAChB,gBAAA,KAAqB,QAAA,CACrB,iBAAA,CAAgB,QAAA,GAChB,gBAAA,EAAkB,IAAA;EAGd,OAAA;AAAA,IAEF,QAAA,WACE,IAAA,6BACG,IAAA,mCAEH,UAAA,EAEI,IAAA,EAAM,gBAAA,GAAmB,QAAA,KACtB,IAAA,EAAM,KAAA,KACN,YAAA,CAAa,OAAA,SACZ,UAAA,IAER,QAAA,CAAS,iBAAA,CAAgB,QAAA,GAAW,gBAAA,EAAkB,IAAA,IACxD,QAAA,CAAS,iBAAA,CAAgB,QAAA,GAAW,gBAAA,EAAkB,IAAA;AAAA,KAGhD,kBAAA,GAAqB,UAAA;EA/C3B;;;EAmDJ,QAAA,EAAU,mBAAA;AAAA;AAAA,KAGA,eAAA,kBAAiC,OAAA,GAAU,OAAA,KACrD,OAAA,EAAS,OAAA,CAAQ,QAAA,2BACjB,IAAA,EAAM,mBAAA,KACH,iBAAA,CAAgB,QAAA;AAAA,KAET,oBAAA,kBAAsC,OAAA,GAAU,OAAA,KAC1D,OAAA,EAAS,OAAA,CAAQ,QAAA,2BACjB,IAAA,EAAM,mBAAA,KACH,OAAA,CAAQ,iBAAA,CAAgB,QAAA;AAAA"}
1
+ {"version":3,"file":"unplugin.d.cts","names":[],"sources":["../../src/types/unplugin.ts"],"mappings":";;;;;;;;KAiCY,sBAAA;AAAA,KAWA,cAAA,GACR,sBAAA;AAAA,KAKQ,oBAAA,uBAA2C,cAAA,IACrD,aAAA,8BAEI,aAAA,iCAEE,aAAA,gCAEE,aAAA;AAAA,UAEO,iBAAA,kBACE,OAAA,GAAU,OAAA,UACnB,eAAA;;;;AAjBV;;EAuBE,GAAA,EAAK,GAAA,CAAI,QAAA;AAAA;AAAA,KAGC,oBAAA,kBACO,OAAA,GAAU,OAAA,0BACH,cAAA,GAAiB,cAAA,2BAChB,oBAAA,CAAqB,eAAA,IAC5C,oBAAA,CAAqB,eAAA,sBAER,QAAA,CACb,iBAAA,CAAgB,QAAA,GAChB,gBAAA,KAAqB,QAAA,CACrB,iBAAA,CAAgB,QAAA,GAChB,gBAAA,EAAkB,IAAA;EAGd,OAAA;AAAA,IAEF,QAAA,WACE,IAAA,6BACG,IAAA,mCAEH,UAAA,EAEI,IAAA,EAAM,gBAAA,GAAmB,QAAA,KACtB,IAAA,EAAM,KAAA,KACN,YAAA,CAAa,OAAA,SACZ,UAAA,IAER,QAAA,CAAS,iBAAA,CAAgB,QAAA,GAAW,gBAAA,EAAkB,IAAA,IACxD,QAAA,CAAS,iBAAA,CAAgB,QAAA,GAAW,gBAAA,EAAkB,IAAA;AAAA,KAGhD,kBAAA,GAAqB,UAAA;EA/C3B;;;EAmDJ,QAAA,EAAU,mBAAA;AAAA;AAAA,KAGA,eAAA,kBAAiC,OAAA,GAAU,OAAA,KACrD,OAAA,EAAS,OAAA,CAAQ,QAAA,2BACjB,IAAA,EAAM,mBAAA,KACH,iBAAA,CAAgB,QAAA;AAAA,KAET,oBAAA,kBAAsC,OAAA,GAAU,OAAA,KAC1D,OAAA,EAAS,OAAA,CAAQ,QAAA,2BACjB,IAAA,EAAM,mBAAA,KACH,OAAA,CAAQ,iBAAA,CAAgB,QAAA;AAAA,KAEjB,qBAAA,kBACO,aAAA,GAAgB,aAAA,kCACD,sBAAA,GAC9B,sBAAA,uBACmB,QAAA,CAAS,iBAAA,EAAiB,uBAAA,UACvC,QAAA,CAAS,iBAAA,EAAiB,uBAAA,KAChC,QAAA,CAAS,iBAAA,EAAiB,uBAAA,EAAyB,MAAA;EAGjD,OAAA;AAAA,IAEF,QAAA,WACE,IAAA,oCACG,IAAA,kDAGD,IAAA,EAAM,uBAAA,GAA0B,wBAAA,CAAyB,QAAA,MACtD,IAAA,EAAM,YAAA,KACN,cAAA,GACL,QAAA;EAAmB,OAAA;AAAA,IACjB,gBAAA,WACE,IAAA,4CACG,IAAA,kEAGD,IAAA,EAAM,+BAAA,GACJ,wBAAA,CAAyB,QAAA,MACxB,IAAA,EAAM,oBAAA,KACN,sBAAA;AAAA"}