Crawling resolves to incorrect URL
#14512
Development PRs
Fixes #14512
Fixed $app/paths.resolve so prerendered builds no longer duplicate paths.base, and added a regression test that verifies the helper emits the correct relative href.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
- It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
- This message body should clearly illustrate what problems it solves.
- Ideally, include a test that fails without this PR but passes with it.
Tests
- Run the tests with
pnpm testand lint the project withpnpm lintandpnpm check
Changesets
- If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running
pnpm changesetand following the prompts. Changesets that add features should beminorand those that fix bugs should bepatch. Please prefix changeset messages withfeat:,fix:, orchore:.
Edits
- Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.
Bumps the all_dependencies group with 7 updates:
| Package | From | To |
|---|---|---|
| @eslint/compat | 1.3.2 | 1.4.0 |
| @sveltejs/kit | 2.42.2 | 2.43.5 |
| @sveltejs/vite-plugin-svelte | 6.2.0 | 6.2.1 |
| svelte | 5.39.4 | 5.39.6 |
| svelte-check | 4.3.1 | 4.3.2 |
| typescript-eslint | 8.44.0 | 8.44.1 |
| vite | 7.1.6 | 7.1.7 |
Updates @eslint/compat from 1.3.2 to 1.4.0
Release notes
Sourced from @eslint/compat's releases.
migrate-config: v1.4.0
1.4.0 (2025-03-14)
Features
compat: v1.4.0
1.4.0 (2025-09-16)
Features
Dependencies
- The following workspace dependencies were updated
- dependencies
@eslint/corebumped from ^0.15.2 to ^0.16.0migrate-config: v1.3.8
1.3.8 (2025-02-21)
Dependencies
- The following workspace dependencies were updated
- dependencies
@eslint/compatbumped from ^1.2.6 to ^1.2.7migrate-config: v1.3.7
1.3.7 (2025-01-31)
Dependencies
- The following workspace dependencies were updated
- dependencies
@eslint/compatbumped from ^1.2.5 to ^1.2.6migrate-config: v1.3.6
1.3.6 (2025-01-09)
Dependencies
- The following workspace dependencies were updated
... (truncated)
Changelog
Sourced from @eslint/compat's changelog.
1.4.0 (2025-09-16)
Features
Dependencies
- The following workspace dependencies were updated
- dependencies
@eslint/corebumped from ^0.15.2 to ^0.16.0
Commits
7f592e3chore: release main (#257)4f07e51docs: correct bun installation command and usedefineConfigin README (#269)ab10682docs: Update README sponsors7255100chore: standardize test filenames to *.test.js (#267)7e61e90test: remove deprecatedtypeproperty (#266)100a4c7docs: Update README sponsorsb23f179docs: Update README sponsors7b6dd37feat: Add config types in@eslint/core(#237)8ba766arefactor: update eslint-config-eslint (#253)62089bcdocs: Update README sponsors- Additional commits viewable in compare view
Updates @sveltejs/kit from 2.42.2 to 2.43.5
Release notes
Sourced from @sveltejs/kit's releases.
@sveltejs/kit@2.43.5Patch Changes
- fix: fall back to non-relative resolution when calling
resolve(...)outside an event context (#14532)
@sveltejs/kit@2.43.4Patch Changes
- fix: Webcontainer AsyncLocalStorage workaround (#14526)
@sveltejs/kit@2.43.3Patch Changes
fix: Webcontainer AsyncLocalStorage workaround (#14521)
fix: include the value of form submitters on
formremote functions (#14475)
@sveltejs/kit@2.43.2Patch Changes
fix: ensure rendering starts off synchronously (#14517)
fix: keep serialized remote data alive until navigation (#14508)
@sveltejs/kit@2.43.1Patch Changes
- fix: consistently use bare import for internals (#14506)
@sveltejs/kit@2.43.0Minor Changes
- feat: experimental async SSR (#14447)
Patch Changes
Changelog
Sourced from @sveltejs/kit's changelog.
2.43.5
Patch Changes
- fix: fall back to non-relative resolution when calling
resolve(...)outside an event context (#14532)2.43.4
Patch Changes
- fix: Webcontainer AsyncLocalStorage workaround (#14526)
2.43.3
Patch Changes
fix: Webcontainer AsyncLocalStorage workaround (#14521)
fix: include the value of form submitters on
formremote functions (#14475)2.43.2
Patch Changes
fix: ensure rendering starts off synchronously (#14517)
fix: keep serialized remote data alive until navigation (#14508)
2.43.1
Patch Changes
- fix: consistently use bare import for internals (#14506)
2.43.0
Minor Changes
- feat: experimental async SSR (#14447)
Patch Changes
Commits
197ad58Version Packages (#14538)09d0961fix: fall back to non-relative resolution when callingresolve(...)outside...abc9887Version Packages (#14527)c78b177fix: Webcontainer AsyncLocalStorage workaround throttle (#14526)4769d16Version Packages (#14524)13176adfix: Webcontainer AsyncLocalStorage workaround (#14521)85596d0chore: use specific versions instead catalog for dependencies (#14525)71b2c49fix: submitters on remote forms (#14475)5f9df61use catalog dependencies for everything (#14509)28e24ceVersion Packages (#14511)- Additional commits viewable in compare view
Updates @sveltejs/vite-plugin-svelte from 6.2.0 to 6.2.1
Release notes
Sourced from @sveltejs/vite-plugin-svelte's releases.
@sveltejs/vite-plugin-svelte@6.2.1Patch Changes
Commits
Updates svelte from 5.39.4 to 5.39.6
Release notes
Sourced from svelte's releases.
[email protected]
Patch Changes
fix: depend on reads of deriveds created within reaction (async mode) (#16823)
fix: SSR regression of processing attributes of
<select>and<option>(#16821)fix: async
class:+ spread attributes were compiled into sync server-side code (#16834)fix: ensure tick resolves within a macrotask (#16825)
[email protected]
Patch Changes
Changelog
Sourced from svelte's changelog.
5.39.6
Patch Changes
fix: depend on reads of deriveds created within reaction (async mode) (#16823)
fix: SSR regression of processing attributes of
<select>and<option>(#16821)fix: async
class:+ spread attributes were compiled into sync server-side code (#16834)fix: ensure tick resolves within a macrotask (#16825)
5.39.5
Patch Changes
Commits
b92a559Version Packages (#16824)ac7e160fix: SSR scoped classes for <select value> elements (#16821)24944e6fix: asyncclass:+ spread attributes were compiled into sync server-side c...7b2113echore: fix typos (#16830)1ef297ffix: ensure tick resolves within a macrotask (#16825)5e6fed6fix: depend on reads of deriveds created within reaction (async mode) (#16823)8680c29Version Packages (#16818)562623dfix: use SSR format compatible with nginx SSI for props.id (#16820)cf35a22fix: allow{@html await ...}and async snippets on the server (#16817)- See full diff in compare view
Updates svelte-check from 4.3.1 to 4.3.2
Release notes
Sourced from svelte-check's releases.
[email protected]
Patch Changes
Commits
b467045chore: fix svelte-check build62b31ffVersion Packages (#2848)69e258eperf: rework snapshot hot paths (#2852)ec7be4bperf: use failed path to invalidate module cache (#2853)dec37eafix(svelte2tsx): support for runes={false} in svelte:options (#2847)f799839(deps) Replacepascal-casewithscule(Maintained & Lighter) (#2842)0d8e5aechore: set vscode package to private8269ff7chore: fix release scriptb9bf257Version Packages (#2846)c73e4f5chore: add missing changeset formatting package- Additional commits viewable in compare view
Maintainer changes
This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for svelte-check since your current version.
Updates typescript-eslint from 8.44.0 to 8.44.1
Release notes
Sourced from typescript-eslint's releases.
v8.44.1
8.44.1 (2025-09-22)
🩹 Fixes
- eslint-plugin: [no-base-to-string] make ignoredTypeNames match type names without generics (#11597)
- eslint-plugin: [no-unsafe-enum-comparison] support unions of literals (#11599)
- eslint-plugin: [await-thenable] should not report passing values to promise aggregators which may be a promise in an array literal (#11611)
- typescript-estree: forbid class property with name
constructor(#11590)❤️ Thank You
- fisker Cheung
@fisker- Kirk Waiblinger
@kirkwaiblinger- mdm317
- Ronen Amiel
You can read about our versioning strategy and releases on our website.
Changelog
Sourced from typescript-eslint's changelog.
8.44.1 (2025-09-22)
This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.
You can read about our versioning strategy and releases on our website.
Commits
c198052chore(release): publish 8.44.1- See full diff in compare view
Updates vite from 7.1.6 to 7.1.7
Changelog
Sourced from vite's changelog.
7.1.7 (2025-09-22)
Bug Fixes
- build: fix ssr environment
emitAssets: truewhensharedConfigBuild: true(#20787) (4c4583c)- client: use CSP nonce when rendering error overlay (#20791) (9bc9d12)
- deps: update all non-major dependencies (#20811) (9f2247c)
- glob: handle glob imports from folders starting with dot (#20800) (105abe8)
- hmr: trigger prune event when import is removed from non hmr module (#20768) (9f32b1d)
- hmr: wait for
import.meta.hot.prunecallbacks to complete before running other HMRs (#20698) (98a3484)
Commits
693d255release: v7.1.798a3484fix(hmr): wait forimport.meta.hot.prunecallbacks to complete before runni...9f32b1dfix(hmr): trigger prune event when import is removed from non hmr module (#20...9f2247cfix(deps): update all non-major dependencies (#20811)105abe8fix(glob): handle glob imports from folders starting with dot (#20800)4c4583cfix(build): fix ssr environmentemitAssets: truewhen `sharedConfigBuild: t...9bc9d12fix(client): use CSP nonce when rendering error overlay (#20791)- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions
Issue
Describe the bug
<script>
import { resolve } from "$app/paths";
</script>
<!--
[404] GET /lv1/lv1
node:internal/event_target:1101
process.nextTick(() => { throw err; });
^
Error: 404 /lv1/lv1 (linked from /lv1/lv2)
->
<!-- Link works in vite dev -->
<a href="{resolve('/lv1')}">Hey</a>
Reproduction
https://github.com/hyunbinseo/svelte-kit-14512
Logs
pnpm build
[404] GET /lv1/lv1
node:internal/event_target:1101
process.nextTick(() => { throw err; });
^
Error: 404 /lv1/lv1 (linked from /lv1/lv2)
pnpm i @sveltejs/[email protected] && pnpm build
> Using @sveltejs/adapter-auto
Could not detect a supported production environment. See https://svelte.dev/docs/kit/adapters to learn how to configure your app to run on the platform of your choosing
✔ done
System Info
System:
OS: Windows 11 10.0.26100
CPU: (8) x64 Intel(R) Core(TM) Ultra 7 258V
Memory: 5.24 GB / 31.48 GB
Binaries:
Node: 24.8.0 - ~\AppData\Local\fnm_multishells\42720_1758590779869\node.EXE
Yarn: 1.22.22 - ~\AppData\Local\fnm_multishells\42720_1758590779869\yarn.CMD
npm: 11.6.0 - ~\AppData\Local\fnm_multishells\42720_1758590779869\npm.CMD
pnpm: 10.17.1 - ~\AppData\Local\fnm_multishells\42720_1758590779869\pnpm.CMD
Browsers:
Edge: Chromium (140.0.3485.54)
npmPackages:
@sveltejs/adapter-auto: ^6.1.0 => 6.1.0
@sveltejs/kit: ^2.43.1 => 2.43.1
@sveltejs/vite-plugin-svelte: ^6.2.0 => 6.2.0
svelte: ^5.39.4 => 5.39.4
vite: ^7.1.7 => 7.1.7
Severity
blocking an upgrade
Info
Pro tip: You can prefix GitHub URLs of issues, PRs or discussions with svcl.dev/ to view them on this page! Also try it on a GitHub release ;)