@kimesh/auto-import 0.2.21 → 0.2.22-nightly.20260127153128
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.mts +54 -2
- package/dist/index.mjs +30 -6
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import MagicString from "magic-string";
|
|
2
|
-
import { Plugin, PluginOption } from "vite";
|
|
3
2
|
import { ComponentResolver } from "unplugin-vue-components";
|
|
3
|
+
import { Plugin, PluginOption } from "vite";
|
|
4
4
|
|
|
5
5
|
//#region src/types.d.ts
|
|
6
6
|
/**
|
|
@@ -189,6 +189,47 @@ interface ResolvedLayerInfo {
|
|
|
189
189
|
/** Is this the host app? */
|
|
190
190
|
isApp: boolean;
|
|
191
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Minimal Kimesh context interface for auto-import
|
|
194
|
+
* This avoids circular dependency with @kimesh/kit
|
|
195
|
+
*/
|
|
196
|
+
interface KimeshContextForAutoImport {
|
|
197
|
+
_registries: {
|
|
198
|
+
/** Components registered via addComponent() */components: Array<{
|
|
199
|
+
name: string;
|
|
200
|
+
filePath: string;
|
|
201
|
+
export?: string;
|
|
202
|
+
prefix?: string;
|
|
203
|
+
priority?: number;
|
|
204
|
+
layer?: string;
|
|
205
|
+
}>; /** Component directories registered via addComponentsDir() */
|
|
206
|
+
componentsDirs: Array<{
|
|
207
|
+
path: string;
|
|
208
|
+
prefix?: string;
|
|
209
|
+
pattern?: string | string[];
|
|
210
|
+
extensions?: string[];
|
|
211
|
+
deep?: boolean;
|
|
212
|
+
}>; /** Component resolvers registered via addComponentResolver() */
|
|
213
|
+
componentResolvers: ComponentResolver[]; /** Imports registered via addImports() */
|
|
214
|
+
imports: Array<{
|
|
215
|
+
name: string;
|
|
216
|
+
as?: string;
|
|
217
|
+
from: string;
|
|
218
|
+
type?: boolean;
|
|
219
|
+
priority?: number;
|
|
220
|
+
layer?: string;
|
|
221
|
+
}>; /** Import directories registered via addImportsDir() */
|
|
222
|
+
importsDirs: Array<{
|
|
223
|
+
path: string;
|
|
224
|
+
pattern?: string | string[];
|
|
225
|
+
}>; /** Import presets registered via addImportsPreset() */
|
|
226
|
+
importsPresets: Array<{
|
|
227
|
+
from: string;
|
|
228
|
+
imports: string[];
|
|
229
|
+
type?: boolean;
|
|
230
|
+
}>;
|
|
231
|
+
};
|
|
232
|
+
}
|
|
192
233
|
/**
|
|
193
234
|
* Vite plugin options
|
|
194
235
|
*/
|
|
@@ -201,6 +242,12 @@ interface AutoImportPluginOptions {
|
|
|
201
242
|
layers?: ResolvedLayerInfo[];
|
|
202
243
|
/** Resolved layers getter (lazy evaluation for async resolution) */
|
|
203
244
|
getLayers?: () => ResolvedLayerInfo[];
|
|
245
|
+
/**
|
|
246
|
+
* Kimesh context getter for accessing module-registered imports and components.
|
|
247
|
+
* This enables modules to contribute auto-imports via kit's addComponent(),
|
|
248
|
+
* addComponentResolver(), and addImports() functions.
|
|
249
|
+
*/
|
|
250
|
+
getKimesh?: () => KimeshContextForAutoImport | null;
|
|
204
251
|
/** Include patterns */
|
|
205
252
|
include?: string[];
|
|
206
253
|
/** Exclude patterns */
|
|
@@ -356,6 +403,11 @@ declare function createKimeshResolver(options: KimeshResolverOptions): Component
|
|
|
356
403
|
//#region src/template/plugin.d.ts
|
|
357
404
|
interface TemplatePluginOptions {
|
|
358
405
|
getRegistry: () => ImportRegistry | null;
|
|
406
|
+
/**
|
|
407
|
+
* Get external resolvers from kimesh registries.
|
|
408
|
+
* These are resolvers added via addComponentResolver() in modules.
|
|
409
|
+
*/
|
|
410
|
+
getExternalResolvers?: () => ComponentResolver[];
|
|
359
411
|
dts?: string | false;
|
|
360
412
|
debug?: boolean;
|
|
361
413
|
}
|
|
@@ -413,4 +465,4 @@ declare function buildImportRegistry(sources: LayerAutoImportSource[]): Promise<
|
|
|
413
465
|
*/
|
|
414
466
|
declare function scanExports(filePath: string): Promise<ScanResult>;
|
|
415
467
|
//#endregion
|
|
416
|
-
export { type AutoImportConfig, type AutoImportPluginOptions, type ConflictReport, ConflictResolver, type ExportInfo, type ImportEntry, ImportInjector, type ImportPreset, type ImportRegistry, type InjectionResult, type KimeshResolverOptions, type LayerAutoImportSource, OxcExportScanner, ReferenceDetector, RegistryBuilder, type ResolvedLayerInfo, type ScanResult, type ScriptPluginOptions, type TemplatePluginOptions, type TransformResult, type UnresolvedReference, autoImportPlugin, autoImportPlugin as default, buildImportRegistry, builtinPresets, createTemplatePlugin as createComponentsPlugin, createTemplatePlugin, createKimeshResolver, createScriptPlugin, generateDtsFiles as generateDts, generateDtsFiles, generateSourceDts, kimeshAutoImport, kimeshPreset, normalizePreset, piniaPreset, resolvePresets, scanExports, tanstackQueryPreset, vuePreset, vueRouterPreset };
|
|
468
|
+
export { type AutoImportConfig, type AutoImportPluginOptions, type ConflictReport, ConflictResolver, type ExportInfo, type ImportEntry, ImportInjector, type ImportPreset, type ImportRegistry, type InjectionResult, type KimeshContextForAutoImport, type KimeshResolverOptions, type LayerAutoImportSource, OxcExportScanner, ReferenceDetector, RegistryBuilder, type ResolvedLayerInfo, type ScanResult, type ScriptPluginOptions, type TemplatePluginOptions, type TransformResult, type UnresolvedReference, autoImportPlugin, autoImportPlugin as default, buildImportRegistry, builtinPresets, createTemplatePlugin as createComponentsPlugin, createTemplatePlugin, createKimeshResolver, createScriptPlugin, generateDtsFiles as generateDts, generateDtsFiles, generateSourceDts, kimeshAutoImport, kimeshPreset, normalizePreset, piniaPreset, resolvePresets, scanExports, tanstackQueryPreset, vuePreset, vueRouterPreset };
|
package/dist/index.mjs
CHANGED
|
@@ -863,12 +863,35 @@ function resolveDtsPath(dts) {
|
|
|
863
863
|
return true;
|
|
864
864
|
}
|
|
865
865
|
function createTemplatePlugin(options) {
|
|
866
|
-
const { getRegistry, dts, debug = false } = options;
|
|
866
|
+
const { getRegistry, getExternalResolvers, dts, debug = false } = options;
|
|
867
|
+
const kimeshResolver = createKimeshResolver({
|
|
868
|
+
getRegistry,
|
|
869
|
+
debug
|
|
870
|
+
});
|
|
871
|
+
/**
|
|
872
|
+
* Create a lazy resolver that wraps external resolvers from kimesh._registries.componentResolvers.
|
|
873
|
+
* This is needed because external resolvers are registered by modules during their setup() phase,
|
|
874
|
+
* which happens AFTER the Vite plugins are created. By deferring the resolver evaluation to
|
|
875
|
+
* transform time, we ensure external resolvers are available when components are being resolved.
|
|
876
|
+
*/
|
|
877
|
+
/**
|
|
878
|
+
* Invoke a ComponentResolver which can be either a function or an object with resolve method.
|
|
879
|
+
*/
|
|
880
|
+
const invokeResolver = (resolver, name) => {
|
|
881
|
+
if (typeof resolver === "function") return resolver(name);
|
|
882
|
+
return resolver.resolve(name);
|
|
883
|
+
};
|
|
867
884
|
const basePlugin = Components({
|
|
868
|
-
resolvers: [
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
885
|
+
resolvers: [kimeshResolver, {
|
|
886
|
+
type: "component",
|
|
887
|
+
resolve: (name) => {
|
|
888
|
+
const externalResolvers = getExternalResolvers?.() ?? [];
|
|
889
|
+
for (const resolver of externalResolvers) {
|
|
890
|
+
const result = invokeResolver(resolver, name);
|
|
891
|
+
if (result) return result;
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
}],
|
|
872
895
|
dirs: [],
|
|
873
896
|
dts: resolveDtsPath(dts),
|
|
874
897
|
include: [/\.vue$/, /\.vue\?vue/],
|
|
@@ -945,7 +968,7 @@ function resolveDtsDirectory(dts) {
|
|
|
945
968
|
return ".kimesh";
|
|
946
969
|
}
|
|
947
970
|
function autoImportPlugin(options) {
|
|
948
|
-
const { dts = ".kimesh", debug = false } = options;
|
|
971
|
+
const { dts = ".kimesh", debug = false, getKimesh } = options;
|
|
949
972
|
let sharedRegistry = null;
|
|
950
973
|
return [createScriptPlugin({
|
|
951
974
|
...options,
|
|
@@ -954,6 +977,7 @@ function autoImportPlugin(options) {
|
|
|
954
977
|
}
|
|
955
978
|
}), createTemplatePlugin({
|
|
956
979
|
getRegistry: () => sharedRegistry,
|
|
980
|
+
getExternalResolvers: () => getKimesh?.()?._registries.componentResolvers ?? [],
|
|
957
981
|
dts: resolveDtsDirectory(dts),
|
|
958
982
|
debug
|
|
959
983
|
})];
|