eslint-import-resolver-oxc
Version:
A simply wrapped `oxc-resolver` for `eslint-plugin-import-x` and `eslint-plugin-import`
56 lines (49 loc) • 2.29 kB
text/typescript
import { NapiResolveOptions, ResolverFactory } from 'oxc-resolver';
interface RspackTransformerOptions {
/** only take effect when there are multiple configurations */
merge?: boolean;
/** only take effect when there are multiple configurations */
configName?: string;
}
declare function transformRspackConfig(path: string, _options?: RspackTransformerOptions): Promise<NapiResolveOptions>;
interface ViteTranformerOptions {}
declare function transformViteConfig(path: string): Promise<NapiResolveOptions>;
interface WebpackTransformerOptions {
/** only take effect when there are multiple configurations */
merge?: boolean;
/** only take effect when there are multiple configurations */
configName?: string;
}
declare function transformWebpackConfig(path: string, _options?: WebpackTransformerOptions): Promise<NapiResolveOptions>;
interface ImportResolver {
interfaceVersion: 3;
name: string;
resolve: (source: string, file: string) => {
found: boolean
path: string | null | undefined
};
}
interface BundlerTransformerOptions {
vite: ViteTranformerOptions;
webpack: WebpackTransformerOptions;
rspack: RspackTransformerOptions;
}
type SupportedBundler = "vite" | "webpack" | "rspack";
type BundlerOption<T extends SupportedBundler = SupportedBundler> = { [K in SupportedBundler] : {
type?: K
path?: string
options?: BundlerTransformerOptions[K]
} }[T];
interface OxcResolverOptions extends NapiResolveOptions {
/** @experimental detect bundler's resolve config */
bundlerConfig?: string | BundlerOption;
}
declare function resolve(source: string, file: string, options?: OxcResolverOptions | null, resolver?: ResolverFactory | null): {
found: boolean
path: string | null | undefined
};
declare const interfaceVersion = 2;
declare function createOxcImportResolver(options?: NapiResolveOptions): ImportResolver;
declare function createOxcImportResolver(options?: OxcResolverOptions): Promise<ImportResolver>;
declare function createOxcImportResolverAsync(options: OxcResolverOptions): Promise<ImportResolver>;
export { type BundlerOption, type ImportResolver, type OxcResolverOptions, type SupportedBundler, createOxcImportResolver, createOxcImportResolverAsync, interfaceVersion, resolve, transformRspackConfig, transformViteConfig, transformWebpackConfig };