fix: output workers to client assets - #16929
Merged
teemingc merged 3 commits intoAug 25, 2026
Merged
Conversation
Signed-off-by: will Farrell <willfarrell@proton.me>
|
Install the latest version of pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/a6a1364698428312393810f18adc5f714ba2b5a3Open in Note This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed. |
🦋 Changeset detectedLatest commit: a6a1364 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
6 tasks
6 tasks
teemingc
reviewed
Aug 25, 2026
teemingc
approved these changes
Aug 25, 2026
teemingc
left a comment
Member
There was a problem hiding this comment.
Thanks! I separated the no-csr tests a little bit to make it clearer when a test fails
Rich-Harris
pushed a commit
that referenced
this pull request
Aug 26, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to version-3, this PR will be updated.⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ `version-3` is currently in **pre mode** so this branch has prereleases rather than normal releases. If you want to exit prereleases, run `changeset pre exit` on `version-3`.⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ # Releases ## @sveltejs/adapter-bun@1.0.0-next.2 ### Major Changes - breaking: require Bun 1.4, which routes `HEAD` to `GET` handlers and settles `stop()` after a force close ([#16880](#16880)) ### Patch Changes - fix: build apps that use server instrumentation ([#16898](#16898)) - Updated dependencies [[`ff8cdd4`](ff8cdd4), [`723572c`](723572c), [`3b8e034`](3b8e034), [`f2c5102`](f2c5102), [`c66a6ed`](c66a6ed), [`428e5ef`](428e5ef)]: - @sveltejs/kit@3.0.0-next.26 ## @sveltejs/adapter-node@6.0.0-next.11 ### Patch Changes - chore: remove polka, attach the handler to the http server directly ([#16907](#16907)) - Updated dependencies [[`ff8cdd4`](ff8cdd4), [`723572c`](723572c), [`3b8e034`](3b8e034), [`f2c5102`](f2c5102), [`c66a6ed`](c66a6ed), [`428e5ef`](428e5ef)]: - @sveltejs/kit@3.0.0-next.26 ## @sveltejs/kit@3.0.0-next.26 ### Patch Changes - fix: only require the `svelte-trusted-html` trusted-types policy when client-side code is shipped, allowing builds where all pages have `csr: false` ([#16928](#16928)) - chore: stop externalizing `cookie` dependency during build ([#16936](#16936)) - fix: preserve metadata on streamed page responses ([#16935](#16935)) - fix: error on server-only imports reachable from hooks or service worker files outside the project root ([#16912](#16912)) - fix: copy worker files emitted by the server build to the client output directory ([#16929](#16929)) - fix: Reject all pending query promises when a query fails before resolving with a value for the first time ([#16890](#16890)) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Worker chunks from
?workerand?worker&urlimports are emitted to{appDir}/immutable/workers/. In two cases, only the SSR build emits them: when every page hascsr: false(the client build is skipped entirely), and when the import lives in a server-only module such as+page.server.js. The files then exist only inoutput/server/, which adapters never publish, so the worker URL returns a 404 in production.The build already handles this problem for
immutable/assets/by copying server-emitted files intooutput/client/. This PR applies the same copy toimmutable/workers/in both build branches. Filenames are content-hashed, so copying over an identical file is harmless, and apps without workers are unaffected.Tests: the
basicsapp covers the server-only import case by checking that the worker file lands in the client output. Theampapp covers the skipped client build case by fetching the worker URL and expecting a 200. Both tests fail without the fix.Related: #12438. That issue also stems from worker files being overlooked, but it concerns the
$service-workerbuildlist and is not resolved here.Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
Tests
pnpm testand lint the project withpnpm lintandpnpm checkChangesets
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