132 Commits

Author SHA1 Message Date
Rich Harris
ee3807ecbe fix autofix (#17923)
we need to build the compiler before Prettier will work
2026-03-12 20:01:38 -04:00
Rich Harris
ad94009e34 chore: add autofix workflow (#17922)
lets maintainers comment `/autofix` to trigger Prettier and regenerate
messages/types/etc

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2026-03-12 19:55:15 -04:00
Elliott Johnson
f6e8b1d11e chore: require pr number as input when manually invoking pkg.pr.new (#17797) 2026-02-24 20:53:44 -07:00
Elliott Johnson
fef7e0f742 chore: remove ecosystem-ci-gate workflow (#17795)
The app shared between Kit and Svelte takes care of this now

### 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
- [ ] Prefix your PR title with `feat:`, `fix:`, `chore:`, or `docs:`.
- [ ] This message body should clearly illustrate what problems it
solves.
- [ ] Ideally, include a test that fails without this PR but passes with
it.
- [ ] If this PR changes code within `packages/svelte/src`, add a
changeset (`npx changeset`).

### Tests and linting

- [ ] Run the tests with `pnpm test` and lint the project with `pnpm
lint`
2026-02-24 21:02:30 +01:00
Simon H
d444e29907 chore: robustify ecosystem gate script (#17781)
- pull_request should be enough (pull_request_target exposes more stuff)
- trigger the full run less often
2026-02-22 15:36:32 -05:00
Simon H
8566b7a63b chore: require /ecosystem-ci run in "Version packages" PR (#17780)
let's see if this works
2026-02-22 15:09:18 -05:00
Elliott Johnson
168702d546 chore: compensate for github's complete lack of devex (#17698)
As far as we can tell, there's no good way to turn off deployment
request notifications. This removes automatic pkg.pr.new builds for
commits not pushed directly to the svelte repository, meaning forks'
commits will have to be manually requested through the GitHub Actions
UI. It also makes the drive-by change of deriving the PR number from the
commit, which technically is a "breaking change" because there _could_
be multiple PRs associated with a commit... but let's just not do that
and we'll be okay.
2026-02-13 08:45:25 -07:00
Rich Harris
e3d7f3986f chore: update ESLint to v10 (#17670)
* chore: update ESLint to v10

Update eslint and related plugins/configs. Bump CI lint job to Node 24
(ESLint 10 requires ^20.19.0 || ^22.13.0 || >=24). Replace removed
Linter.FlatConfig type with Linter.Config.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address new `no-useless-assignment` violations from ESLint 10

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* dedupe

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 15:23:29 -05:00
Elliott Johnson
660c4c12b1 chore: off-by-one in workflow (#17634) 2026-02-05 14:04:56 -07:00
Elliott Johnson
3970e7a302 chore: fix pkg.pr.new workflow (#17633) 2026-02-05 15:58:50 -05:00
Pádraic Slattery
6e4820dcf6 chore: Update outdated GitHub Actions versions (#17487) 2026-01-25 11:14:28 -05:00
Conduitry
b934372a3c chore: prevent two concurrent running release workflows (#17465) 2026-01-16 16:36:02 -05:00
Dominik G.
fc39f2ed0d chore: port security improvements from vite-ecosystem-ci trigger workflow in vite repo (#16902) 2025-10-06 09:23:59 -07:00
Simon H
bb33c555b4 chore: bump some dev deps, harden github actions (#16851) 2025-09-26 20:46:26 +02:00
Rich Harris
037314a4c0 chore: remove actions-permissions monitor (#16745) 2025-09-17 18:05:31 -04:00
Dominik G.
7f9fe99927 refactor(release): run with node24 and remove NPM_TOKEN to use oidc publish (#16733) 2025-09-09 11:53:35 -04:00
Nathan Shively-Sanders
97f263c3d4 chore:Update for TS7 (#16485)
* Update for TS7

I am testing Typescript 7's JS support, which I've largely rewritten
during the switch to Go. That means Javascript code will need to change
much more than Typescript code. Fortunately, most of the changes are for
the better: Javascript semantics are now nearly identical to Typescript
semantics. It's much stricter and no longer has some persistent bugs
that arose from shady JS handling I wrote years ago.

This PR changes Svelte so that it compiles both with TS5.* and TS7,
which means that occasionally there are duplicative or non-obvious
changes. I'll annotate the interesting changes to explain why I made them.

Because TS7 is quite a way off, I don't know whether you'll want to take
this PR. Most of the changes are for the better, because they're due to
stricter TS-aligned checking. But some are neutral and there is the
previously mentioned duplication in a few places.

* add changeset

* revert scribbles mistakenly added

* pnpm run format

* revert mistaken edit

* return to function declarations w/type tag

* add job to ci.yml

* skipLibCheck for now

* no need for a changeset here

---------

Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Rich Harris <hello@rich-harris.dev>
2025-08-06 14:25:55 -04:00
Rich Harris
0672e48223 feat: allow await in components (#15844)
* tidy

* tidy

* yes it can, apparently

* tidy up

* unused

* complete merge

* WIP

* simplify

* debugging help

* WIP

* unused

* partial merge

* WIP

* fix

* add test

* rename

* fix

* unused

* oops

* chore: merge main into async branch (#16197)

* chore: merge main into async branch

* adjust test

* fix: make effects depend on state created inside them (#16198)

* make effects depend on state created inside them

* fix, add github action

* disable test in async mode

* make batch.#deferred private

* fix settled when awaits occur inside pending boundary

* tweak

* change behaviour of `tick()` to be requestAnimationFrame-based

* get rid of a bunch of Promise.resolve chains

* more

* more

* fix test

* disallow `flushSync()` inside effects

* regenerate

* handle errors in block expressions

* make validate_each_keys async-aware

* for unowned deriveds, throw errors lazily

* rename ASYNC_ERROR -> ERROR_VALUE, and avoid conflicts with other flags now that it's used with deriveds as well as sources

* invoke boundary directly

* local effect pending

* update test

* fix

* fix

* fix weird bug in tests

* delete old changeset that somehow got left over here

* Update .changeset/eleven-weeks-dance.md

* update error details

* unused

* simplify

* tweak

* tweak

* tweak

* tweak

* tidy up

* handle errors in async block expressions

* tweak

* groundwork for async attribute_effect

* dry out

* fix async directives

* tidy up

* initialize option values before initing select values

* simplify init_select

* simplify

* tweak

* tidy up

* tweak

* on second thoughts just simplify it here

* tidy

* handle awaits in `<slot>`

* unused

* tidy up

* tidy up

* dry out

* dry out

* Revert "dry out"

This reverts commit 25855163bf.

* dry out

* dry out

* use let for block-scoped stuff

* dry out

* dry out

* tidy up

* only wrap awaits in `$.save` when necessary

* oops

* remove TODO comment (just checked)

* oops, leftover

* simplify

* unused

* remove logging

* tweak

* unused

* unused

* remove logging

* partial fix

* fix

* remove unused EFFECT_HAS_DERIVED

* Update packages/svelte/src/reactivity/create-subscriber.js

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* Update packages/svelte/src/index-client.js

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* Update packages/svelte/src/internal/client/runtime.js

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* unused

* Update packages/svelte/src/internal/client/reactivity/sources.js

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* Update packages/svelte/src/internal/client/reactivity/deriveds.js

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* Update packages/svelte/src/internal/client/reactivity/deriveds.js

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* prettier

* unused

* fix flags

* tweak

* tweak

* unused

* fix

* no idea what a 'boundary micro task' is or why it was deemed necessary but evidently it isn't

* remove queue_boundary_micro_task

* oops

* note

* tidy up

* remove TODO

* make method private

* simplify

* flesh out await_reactivity_loss warning

* tweak

* update test

* fix

* null out from_async_derived in more places

* tidy up test

* failing test

* unused

* fix test

* fix

* simplify. no idea what the async_mode_flag stuff is about, but it appears unnecessary

* add async_derived_orphan error

* regenerate

* flesh out await_outside_boundary message

* add some JSDoc

* only update `$effect.pending()` if someone is listening, since it causes a double flush and makes debugging harder

* tweak logic to make it clearer why and when we commit a batch

* add a couple of comments

* false -> 0

* add comment

* unused

* silence warning

* add effect_pending_outside_reaction error

* Update packages/svelte/src/compiler/types/index.d.ts

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* suspend batch, not boundary

* rename from_async_derived -> current_async_derived

* tweak

* remove TODO - this method is only called when pending snippet exists

* use error boundary for test - vitest does some weird error swallowing afaict

* flush less often

* restore -> activate

* remove TODO

* move batch-related code into batch.js

* make flush_queued_root_effects a method of batch

* make process_effects a method of batch

* make stuff private

* unused

* regenerate

* update test

* more JSDoc

* add more JSDoc

* branch and block effects do not also need to be render effects

* tidy up

* simplify

* unused

* move code where it belongs

* remove, for now

* fix

* only apply error adjustments when error escapes boundaries

* remove EFFECT_IS_UPDATING

* is_dirty is a better name than check_dirtiness

* duplicates are rare and harmless

* apparently we no longer need the merging logic? we can simplify and fix stuff by removing it

* tidy

* don't commit stale batches

* add skipped failing test

* partial merge

* WIP

* WIP

* WIP

* tweak

* tidy up

* dont update derived status when time-travelling

* tidy up

* tidy up

* tag async deriveds

* tweak

* bail out of secondary flushes

* re-run blocks on subsequent flushes

* add test

* fix

* add tests, one failing

* fix

* flesh out await_waterfall message

* tidy up

* dry out

* unused

* tweak

* tidy up

* TODO

* tweak

* tidy up

* remove TODO

* unused export

* add optimisation back

* revert unneeded changes

* revert

* update some tests

* more

* more

* move some code

* rename

* WIP

* unset context synchronously

* remove unused argument

* Apply suggestions from code review

Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>

* add comment

* add comment

* use queue_micro_task in createSubscriber

* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>

* prettier

---------

Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>
2025-07-14 15:58:44 -04:00
Dominik G.
443e76e4ba fix: set write permission for PR in ecosystem-ci-trigger workflow (#16337)
* fix: set write permission for PR in ecosystem-ci-trigger workflow

* chore: match wording with vites trigger
2025-07-10 16:56:41 +02:00
Dominik G.
0e7e873a1b chore: update svelte-ecosystem-ci trigger (#16315) 2025-07-10 13:41:47 +00:00
btea
c53ef5ce60 ci: use Node.js 24 (#16024) 2025-05-29 08:36:26 -04:00
Rich Harris
a5240ccfe4 use pnpm/action-setup (#15744) 2025-04-11 18:49:38 -04:00
Rich Harris
e9a16c4b42 chore: revert corepack override (#15197)
* Revert "try this (#15196)"

This reverts commit f878736f38.

* upgrade node

* upgrade pnpm

---------

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
2025-04-08 18:53:18 -04:00
Ben McCann
81480c40a0 chore: add missing permissions for pkg.pr.new-comment (#15489) 2025-03-10 12:48:50 -07:00
Rich Harris
1efad3f6e2 chore: add monitoring to github actions (#15436)
* chore: add monitoring to github actions

* try this
2025-03-05 12:26:18 -05:00
Rich Harris
f878736f38 try this (#15196) 2025-02-03 13:23:46 -05:00
Elliott Johnson
3d828b46b2 feat: Remove repository-sync workflows in favor of github-docs-bot (#15097)
* Revert "fix: ensure untrack correctly retains the active reaction (#15065)"

This reverts commit 2ad519542d.

* feat: Remove repository-sync workflows in favor of github-docs-bot

* Revert "Revert "fix: ensure untrack correctly retains the active reaction (#15065)""

This reverts commit f4e98bf89f.
2025-01-23 16:45:14 -07:00
ottomated
999b92d134 fix: intellisense DX for $props, $inspect, $bindable, and $host (#14777)
* remove default function types for $props, $inspect, $bindable, and $host

* changeset

* regenerate types

* add helper message for type regeneration

* append a newline to generated types

* prettier

---------

Co-authored-by: Rich Harris <rich.harris@vercel.com>
2024-12-19 13:12:59 -05:00
Simon H
6a5f30b290 chore: add changeset checkbox to PR template (#14388)
too many people forget it
2024-11-21 07:48:36 -05:00
Paolo Ricciuti
e786729555 fix: find the right sha for logging (#14159) 2024-11-05 17:05:21 +01:00
Paolo Ricciuti
0c853208ce fix: we are getting there...this should be it (#14158) 2024-11-05 15:46:01 +01:00
Paolo Ricciuti
16a40a8bce fix: use both correct paths (#14157)
* fix: try to read from right folder

* fix: use both correct paths
2024-11-05 15:30:04 +01:00
Paolo Ricciuti
f1f4c29a99 fix: pkg.pr.new comment workflow (#14156)
* fix: `pkg.pr.new` comment workflow

* chore: remove path from initial workflow and add ls

* chore: add path back since it's mandatory
2024-11-05 15:03:23 +01:00
Paolo Ricciuti
0ce4b559f2 chore: add custom comment with link to playground for pkg.pr.new (#14151)
* chore: add custom comment with link to playground for `pkg.pr.new`

* chore: small updates to the script output

* chore: refine comment a bit, include multiple packages

* tweak comment

* chore: two steps workflow

* chore: update workflow

---------

Co-authored-by: Rich Harris <rich.harris@vercel.com>
2024-11-05 08:07:54 -05:00
Rich Harris
c6904e892f use pull_request_target (#14148) 2024-11-04 15:08:15 -05:00
Rich Harris
4038b0cad6 chore: setup docs previews (#14128)
* chore: setup docs previews

* test

* delete
2024-11-02 22:19:48 -04:00
Rich Harris
e58c03b100 add link to sync-docs README (#14056) 2024-10-31 14:37:32 -04:00
Rich Harris
dc3c82cb2d chore: add sync request workflow (#14055) 2024-10-30 18:39:48 -04:00
Paolo Ricciuti
b5750ac667 chore: setup pkg.pr.new (#13891)
* chore: setup `pkg.pr.new`

* chore: let's try with this
2024-10-24 23:18:15 +02:00
Simon H
e41a66bdbe chore: clean up PR template (#13735)
time to remove the Svelte 5 note
2024-10-21 04:42:44 -04:00
Eng Zer Jun
3b8801cbba chore: update CI workflows to use latest version of actions (#13071) 2024-08-29 10:56:31 -07:00
Ignatius Bagus
34ad016a77 chore: configure provenance env var (#12809) 2024-08-12 11:23:22 -04:00
Ben McCann
9f28503bef chore: publish package provenance info (#12779) 2024-08-10 06:33:35 -04:00
Dominic Gannaway
c7f6805c37 chore: add more benchmarks (#12094)
chore: add more benchmarks
2024-06-19 20:52:20 +01:00
Ben McCann
1331cdc1de chore: upgrade to pnpm 9.2.0 (#11916) 2024-06-05 16:17:16 -04:00
Ben McCann
311b52453e chore: replace Node 21 with Node 22 on CI (#11825) 2024-05-30 14:49:17 +01:00
Paolo Ricciuti
5168dd734e chore: upgrade pnpm to version 9 (#11637)
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
2024-05-28 14:37:33 -07:00
Rich Harris
c87c2f452e Revert "check treeshakeability in CI (#10861)" (#10863)
This reverts commit aec4958e4f.
2024-03-21 23:10:39 +01:00
Rich Harris
aec4958e4f check treeshakeability in CI (#10861)
* check treeshakeability in CI

* copy-paste oops
2024-03-21 14:47:59 -04:00
Karol
77b4c4be6c fix: create <svelte:element> instances with the correct namespace (#10006)
Infer namespace from parents where possible, and do a runtime-best-effort where it's not statically known
fixes #9645

---------

Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
2024-01-29 20:56:04 +01:00