diff --git a/.changeset/famous-colts-grin.md b/.changeset/famous-colts-grin.md new file mode 100644 index 000000000000..469f1f9a36f2 --- /dev/null +++ b/.changeset/famous-colts-grin.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: svelte should find other package on yarn pnp ([#12563](https://github.com/sveltejs/kit/pull/12563)) diff --git a/packages/kit/src/utils/import.js b/packages/kit/src/utils/import.js index ca49592e492b..eb33b31af4cc 100644 --- a/packages/kit/src/utils/import.js +++ b/packages/kit/src/utils/import.js @@ -7,9 +7,17 @@ import { pathToFileURL } from 'node:url'; * @param {string} dependency */ export function resolve_peer_dependency(dependency) { + const [major, minor] = process.versions.node.split('.').map(Number); try { + const resolved = (() => { + if (major > 20 || (major === 20 && minor >= 6) || (major === 18 && minor >= 19)) { + // @ts-expect-error the types are wrong + return import.meta.resolve(dependency); + } + // @ts-expect-error the types are wrong + return imr.resolve(dependency, pathToFileURL(process.cwd() + '/dummy.js')); + })(); // @ts-expect-error the types are wrong - const resolved = imr.resolve(dependency, pathToFileURL(process.cwd() + '/dummy.js')); return import(resolved); } catch { throw new Error(