Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/brisk-otters-glow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/adapter-auto': patch
---

fix: convert resolved adapter path to a file URL before importing, so builds work on Windows
6 changes: 6 additions & 0 deletions .changeset/tall-frogs-argue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@sveltejs/kit': patch
'@sveltejs/package': patch
---

fix: import resolved peer dependencies as file URLs so project-relative resolution works on Windows
3 changes: 2 additions & 1 deletion packages/adapter-auto/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { execSync } from 'node:child_process';
import { pathToFileURL } from 'node:url';
import { adapters } from './adapters.js';
import path from 'node:path';
import fs from 'node:fs';
Expand Down Expand Up @@ -122,7 +123,7 @@ async function get_adapter() {
}

/** @type {{ default: () => Adapter }} */
const module = await import(resolved);
const module = await import(pathToFileURL(resolved).href);

const adapter = module.default();

Expand Down
3 changes: 2 additions & 1 deletion packages/kit/src/utils/import.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import fs from 'node:fs';
import path from 'node:path';
import { pathToFileURL } from 'node:url';

/**
* Resolves a peer dependency relative to the current working directory.
Expand Down Expand Up @@ -51,7 +52,7 @@ function resolve_peer(dependency, root) {
*/
export async function import_peer(dependency, root) {
try {
return await import(/* @vite-ignore */ resolve_peer(dependency, root));
return await import(/* @vite-ignore */ pathToFileURL(resolve_peer(dependency, root)).href);
} catch {
return await import(/* @vite-ignore */ dependency);
}
Expand Down
3 changes: 2 additions & 1 deletion packages/package/src/config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import path from 'node:path';
import process from 'node:process';
import fs from 'node:fs';
import { pathToFileURL } from 'node:url';

/**
* Loads and validates the SvelteKit config
Expand Down Expand Up @@ -39,7 +40,7 @@ export function load_pkg_json(cwd = process.cwd()) {
*/
async function import_peer(dependency, root) {
try {
return await import(/* @vite-ignore */ resolve_peer(dependency, root));
return await import(/* @vite-ignore */ pathToFileURL(resolve_peer(dependency, root)).href);
} catch {
return await import(/* @vite-ignore */ dependency);
}
Expand Down
Loading