diff --git a/.changeset/tame-lions-jump.md b/.changeset/tame-lions-jump.md new file mode 100644 index 000000000000..84ddf47767ec --- /dev/null +++ b/.changeset/tame-lions-jump.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-node': patch +--- + +[fix] upgrade polka and sirv. fixes handling of URLs with unicode characters diff --git a/packages/adapter-node/package.json b/packages/adapter-node/package.json index ffe1617692c9..88c9ea06306e 100644 --- a/packages/adapter-node/package.json +++ b/packages/adapter-node/package.json @@ -25,15 +25,14 @@ "tiny-glob": "^0.2.9" }, "devDependencies": { - "@polka/url": "^1.0.0-next.15", "@rollup/plugin-json": "^4.1.0", "@sveltejs/kit": "workspace:*", "c8": "^7.7.2", "compression": "^1.7.4", "node-fetch": "^3.0.0-beta.9", - "polka": "^1.0.0-next.15", + "polka": "^1.0.0-next.16", "rollup": "^2.55.0", - "sirv": "^1.0.12", + "sirv": "^1.0.13", "uvu": "^0.5.1" } } diff --git a/packages/adapter-node/src/server.js b/packages/adapter-node/src/server.js index 0e538042935c..4dc6c69aa209 100644 --- a/packages/adapter-node/src/server.js +++ b/packages/adapter-node/src/server.js @@ -3,7 +3,6 @@ import compression from 'compression'; import fs from 'fs'; import { dirname, join } from 'path'; import polka from 'polka'; -import { parse } from '@polka/url'; import sirv from 'sirv'; import { fileURLToPath } from 'url'; @@ -39,14 +38,7 @@ export function createServer({ render }) { }) : noop_handler; - const server = polka(); - // Polka has a non-standard behavior of decoding the request path - // Disable it so that adapter-node works just like the rest - // SvelteKit will handle decoding URI components into req.params - server.parse = (req) => { - return parse(req, false); - }; - server.use( + const server = polka().use( compression({ threshold: 0 }), assets_handler, prerendered_handler, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81ac37d79b99..e0daea9adf4a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -88,31 +88,29 @@ importers: packages/adapter-node: specifiers: - '@polka/url': ^1.0.0-next.15 '@rollup/plugin-json': ^4.1.0 '@sveltejs/kit': workspace:* c8: ^7.7.2 compression: ^1.7.4 esbuild: ^0.12.5 node-fetch: ^3.0.0-beta.9 - polka: ^1.0.0-next.15 + polka: ^1.0.0-next.16 rollup: ^2.55.0 - sirv: ^1.0.12 + sirv: ^1.0.13 tiny-glob: ^0.2.9 uvu: ^0.5.1 dependencies: esbuild: 0.12.5 tiny-glob: 0.2.9 devDependencies: - '@polka/url': 1.0.0-next.15 '@rollup/plugin-json': 4.1.0_rollup@2.55.0 '@sveltejs/kit': link:../kit c8: 7.7.2 compression: 1.7.4 node-fetch: 3.0.0-beta.9 - polka: 1.0.0-next.15 + polka: 1.0.0-next.16 rollup: 2.55.0 - sirv: 1.0.12 + sirv: 1.0.13 uvu: 0.5.1 packages/adapter-static: @@ -3015,8 +3013,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /polka/1.0.0-next.15: - resolution: {integrity: sha512-zBCZO40+USkSj0GDHMqufthqk4TIRc9xVGd50LbMvYNEwGHK8dZczLBQtw9pPHBM+i/Xg7ed7+c+r6J68XkWLg==} + /polka/1.0.0-next.16: + resolution: {integrity: sha512-oTipKVQSdyugiPpU13pliPkjrycwfiiUf3y9qKCZ2oQlxb1GEkJ3lGqSDFNGF8B2x58bPrW1Lef7IYwE9iu4IQ==} engines: {node: '>=8'} dependencies: '@polka/url': 1.0.0-next.15 @@ -3356,6 +3354,15 @@ packages: totalist: 1.1.0 dev: true + /sirv/1.0.13: + resolution: {integrity: sha512-J6AeSdfF0+QBqkuLb8IKv93bOn57U/YjVqlFLQITwgHZF27Asgbuu8Vyx4RM3TPUnTojCLh8C2krFe6xTfxRjA==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.15 + mime: 2.5.2 + totalist: 1.1.0 + dev: true + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: false