diff --git a/package.json b/package.json index 701a8dcd..3b5444c5 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ }, "dependencies": { "defu": "^6.1.4", - "mlly": "^1.7.4", + "exsolve": "^1.0.0", "ohash": "^2.0.5", "pathe": "^2.0.3", "ufo": "^1.5.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b330fd74..8e2efa18 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,9 @@ importers: defu: specifier: ^6.1.4 version: 6.1.4 - mlly: - specifier: ^1.7.4 - version: 1.7.4 + exsolve: + specifier: ^1.0.0 + version: 1.0.0 ohash: specifier: ^2.0.5 version: 2.0.5 diff --git a/src/env.ts b/src/env.ts index f62a737e..0e912039 100644 --- a/src/env.ts +++ b/src/env.ts @@ -1,4 +1,4 @@ -import { resolvePathSync, type ResolveOptions } from "mlly"; +import { createResolver } from "exsolve"; import { resolveAlias } from "pathe/utils"; import type { Preset, @@ -86,29 +86,26 @@ function resolveEnvPaths( return; } - const resolvePaths: (string | URL)[] = [ - ...(opts.resolve === true ? [] : opts.resolve.paths || []), - ...presets.map((preset) => preset.meta?.url).filter((v) => v !== undefined), - import.meta.url, - ]; - const resolveOpts: ResolveOptions = { - url: resolvePaths, - }; - - const _tryResolve = (id: string) => { - try { - return resolvePathSync(id, resolveOpts); - } catch {} - }; + const { resolveModulePath } = createResolver({ + from: [ + ...(opts.resolve === true ? [] : opts.resolve.paths || []), + ...presets + .map((preset) => preset.meta?.url) + .filter((v) => v !== undefined), + import.meta.url, + ], + }); const _resolve = (id: string) => { if (!id) { return id; } id = resolveAlias(id, env.alias); - let resolved = _tryResolve(id); + let resolved = resolveModulePath(id, { try: true }); if (!resolved && id.startsWith("unenv/")) { - resolved = _tryResolve(id.replace("unenv/", "unenv-nightly/")); + resolved = resolveModulePath(id.replace("unenv/", "unenv-nightly/"), { + try: true, + }); } return resolved || id; };