From ade0d29893aa5343d330e0f8598c545b0601696e Mon Sep 17 00:00:00 2001 From: Tee Ming Chew Date: Thu, 16 Jul 2026 06:13:20 +0800 Subject: [PATCH 1/2] changeset and fix --- .changeset/rare-lions-reply.md | 5 +++++ packages/adapter-node/index.js | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 .changeset/rare-lions-reply.md diff --git a/.changeset/rare-lions-reply.md b/.changeset/rare-lions-reply.md new file mode 100644 index 000000000000..88e765354b0e --- /dev/null +++ b/.changeset/rare-lions-reply.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-node': patch +--- + +fix: correctly bundle entrypoints on Windows diff --git a/packages/adapter-node/index.js b/packages/adapter-node/index.js index b0bea8b92a8f..90de3830cff3 100644 --- a/packages/adapter-node/index.js +++ b/packages/adapter-node/index.js @@ -1,5 +1,4 @@ import { readFileSync, writeFileSync } from 'node:fs'; -import { join } from 'node:path'; import { fileURLToPath } from 'node:url'; import { rolldown } from 'rolldown'; @@ -45,10 +44,10 @@ export default function (opts = {}) { // together with the app's server code. Bundling everything in a single // pass means shared modules (e.g. `SvelteKitError` from `@sveltejs/kit`) // aren't duplicated. See https://github.com/sveltejs/kit/issues/15755 - const entries = `${tmp}/entries`; + const entries = posixify(`${tmp}/entries`); builder.copy(files, entries); - const dir_id = join(entries, 'dir.js'); + const dir_id = `${entries}/dir.js`; writeFileSync( `${server}/manifest.js`, @@ -156,3 +155,8 @@ export default function (opts = {}) { } }; } + +/** @param {string} str */ +function posixify(str) { + return str.replace(/\\/g, '/'); +} From d613fc483520c81ed7bf666740f3e5e6db60548d Mon Sep 17 00:00:00 2001 From: Tee Ming Chew Date: Thu, 16 Jul 2026 06:20:42 +0800 Subject: [PATCH 2/2] add windows test --- .github/workflows/platform-tests-node.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/platform-tests-node.yml b/.github/workflows/platform-tests-node.yml index fba3585e3571..37052b2f8e65 100644 --- a/.github/workflows/platform-tests-node.yml +++ b/.github/workflows/platform-tests-node.yml @@ -24,12 +24,20 @@ env: jobs: test-basic: if: github.repository == 'sveltejs/kit' - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: matrix: - node-version: [22, 24] + include: + - node-version: 22 + os: ubuntu-latest + - node-version: 24 + os: ubuntu-latest + - node-version: 24 + os: windows-latest environment: '@sveltejs/adapter-node platform tests' steps: + - run: git config --global core.autocrlf false + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ inputs.sha || github.sha }}