-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: atomic builds #11760
base: main
Are you sure you want to change the base?
feat: atomic builds #11760
Conversation
🦋 Changeset detectedLatest commit: 84443d4 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It feels to me like we'd want to make this change to the cloudflare-workers-adapter
as well
adapter-cloudflare
I've added similar changes to the cloudflare workers adapter. |
"@sveltejs/adapter-cloudflare-workers": minor | ||
--- | ||
|
||
feat: atomic builds |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this may be a patch fix instead; it prevents those transient error messages during rebuilds.
Before this PR, when building
adapter-cloudflare
first removes the build directory, then initiates a build.When using workers-sdk alongside sveltekit this leads to lots of error messages when watching and rebuilding, first due to files not existing, and then due to incomplete builds. This creates lots of output of transient errors in the console confusing the development process (especially for beginners), and also hides any real issues behind a wall of non-errors.
This PR updates the build behaviour to leave the existing build in place while building to a new temporary build location. When the build finishes, the final build destination is removed and the temporary build directory is renamed to take the place of the final build destination.
This fixes all of the transient error outputs during rebuilds. I'm working on fixes to workers-sdk as well which should further smooth the integration between these two projects.
Let me know if you have any questions or feedback, I'm all ears!
Magnus
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
Tests
pnpm test
and lint the project withpnpm lint
andpnpm check
Changesets
pnpm changeset
and following the prompts. Changesets that add features should beminor
and those that fix bugs should bepatch
. Please prefix changeset messages withfeat:
,fix:
, orchore:
.Edits