diff --git a/.changeset/chatty-trees-sell.md b/.changeset/chatty-trees-sell.md new file mode 100644 index 000000000..677de2d51 --- /dev/null +++ b/.changeset/chatty-trees-sell.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/vite-plugin-svelte': patch +--- + +don't try to resolve node internal modules via package.json svelte field diff --git a/packages/vite-plugin-svelte/src/utils/resolve.ts b/packages/vite-plugin-svelte/src/utils/resolve.ts index 543df354c..57f45b6dd 100644 --- a/packages/vite-plugin-svelte/src/utils/resolve.ts +++ b/packages/vite-plugin-svelte/src/utils/resolve.ts @@ -1,5 +1,5 @@ import path from 'path'; -import { createRequire } from 'module'; +import { builtinModules, createRequire } from 'module'; import { is_common_without_svelte_field, resolveDependencyData } from './dependencies'; import { VitePluginSvelteCache } from './vite-plugin-svelte-cache'; @@ -8,7 +8,12 @@ export function resolveViaPackageJsonSvelte( importer: string | undefined, cache: VitePluginSvelteCache ): string | void { - if (importer && isBareImport(importee) && !is_common_without_svelte_field(importee)) { + if ( + importer && + isBareImport(importee) && + !isNodeInternal(importee) && + !is_common_without_svelte_field(importee) + ) { const cached = cache.getResolvedSvelteField(importee, importer); if (cached) { return cached; @@ -28,6 +33,10 @@ export function resolveViaPackageJsonSvelte( } } +function isNodeInternal(importee: string) { + return importee.startsWith('node:') || builtinModules.includes(importee); +} + function isBareImport(importee: string): boolean { if ( !importee ||