| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /**
- * Options to configure module resolution.
- */
- type ResolveOptions = {
- /**
- * A URL, path, or array of URLs/paths from which to resolve the module.
- * If not provided, resolution starts from the current working directory.
- * You can use `import.meta.url` to mimic the behavior of `import.meta.resolve()`.
- * For better performance, use a `file://` URL or path that ends with `/`.
- */
- from?: string | URL | (string | URL)[];
- /**
- * Resolve cache (enabled by default with a shared global object).
- * Can be set to `false` to disable or a custom `Map` to bring your own cache object.
- */
- cache?: boolean | Map<string, unknown>;
- /**
- * Additional file extensions to check.
- * For better performance, use explicit extensions and avoid this option.
- */
- extensions?: string[];
- /**
- * Conditions to apply when resolving package exports.
- * Defaults to `["node", "import"]`.
- * Conditions are applied without order.
- */
- conditions?: string[];
- /**
- * Path suffixes to check.
- * For better performance, use explicit paths and avoid this option.
- * Example: `["", "/index"]`
- */
- suffixes?: string[];
- /**
- * If set to `true` and the module cannot be resolved,
- * the resolver returns `undefined` instead of throwing an error.
- */
- try?: boolean;
- };
- type ResolverOptions = Omit<ResolveOptions, "try">;
- type ResolveRes<Opts extends ResolveOptions> = Opts["try"] extends true ? string | undefined : string;
- /**
- * Synchronously resolves a module url based on the options provided.
- *
- * @param {string} input - The identifier or path of the module to resolve.
- * @param {ResolveOptions} [options] - Options to resolve the module. See {@link ResolveOptions}.
- * @returns {string} The resolved URL as a string.
- */
- declare function resolveModuleURL<O extends ResolveOptions>(input: string | URL, options?: O): ResolveRes<O>;
- /**
- * Synchronously resolves a module then converts it to a file path
- *
- * (throws error if reolved path is not file:// scheme)
- *
- * @param {string} id - The identifier or path of the module to resolve.
- * @param {ResolveOptions} [options] - Options to resolve the module. See {@link ResolveOptions}.
- * @returns {string} The resolved URL as a string.
- */
- declare function resolveModulePath<O extends ResolveOptions>(id: string | URL, options?: O): ResolveRes<O>;
- declare function createResolver(defaults?: ResolverOptions): {
- resolveModuleURL: <O extends ResolveOptions>(id: string | URL, opts: ResolveOptions) => ResolveRes<O>;
- resolveModulePath: <O extends ResolveOptions>(id: string | URL, opts: ResolveOptions) => ResolveRes<O>;
- clearResolveCache: () => void;
- };
- declare function clearResolveCache(): void;
- export { type ResolveOptions, type ResolverOptions, clearResolveCache, createResolver, resolveModulePath, resolveModuleURL };
|