github-actions[bot]
ae7d73453c
Version Packages (next) ( #11176 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Dominic Gannaway
2fa095b61e
fix: improve spreading of attributes ( #11177 )
...
* fix: improve spreading of attributes
* twak
5 months ago
Daniel
d061f2f137
fix: ssr comments in head elements that require raw content ( #10936 )
...
* added raw elements set
* added test
* added changeset
* moved raw text elements to constands and made array
* moved to correct constants
* fix test
* fix constants formatting
5 months ago
github-actions[bot]
322737ac01
Version Packages (next) ( #11162 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Tan Li Hau
8caaa375cf
feat: add reactive URL object to svelte/reactivity ( #11157 )
...
* feat: reactive url
* fix
* simplify
* tidy
* simplify, make ReactiveURLSearchParams signature match URLSearchParams
* Update .changeset/tidy-chefs-taste.md
* fix
* fix
* regenerate types
* improve minifiability
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Rich Harris <hello@rich-harris.dev>
5 months ago
Rich Harris
2cefd785a4
fix: make ownership validation work with HMR ( #11171 )
...
* fix: make ownership validation work with HMR
* bump vite-plugin-svelte in playground
* missed a spot
5 months ago
Tan Li Hau
a092899843
feat: update error message for snippet binding and assignments ( #11168 )
...
* feat: update error message for snippet binding and assignments
* make invalid-snippet-assignment apply in non-runes mode too
* update tests
* update types
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
5 months ago
Tan Li Hau
d1976c07ff
fix: fix string name of reactive map and set iterator ( #11169 )
...
* fix: fix string name of reactive map and set iterator
* remove solo: true
* lint
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
5 months ago
Tan Li Hau
9b67ee18eb
fix: throw error when auto-subscribed store variable shadow by local variable ( #11170 )
5 months ago
Rich Harris
f90639d89c
add missing changeset for #11155 ( #11161 )
5 months ago
github-actions[bot]
be842425f5
Version Packages (next) ( #11154 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Rich Harris
02f8dafeaa
changeset ( #11153 )
5 months ago
github-actions[bot]
70ddaf4048
Version Packages (next) ( #11133 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Dominic Gannaway
19144b000f
fix: add validation around disallowed sequence expressions to element attributes ( #11149 )
5 months ago
Tan Li Hau
15eb5b5864
fix: missing classes after dynamic expressions in class attributes ( #11134 )
5 months ago
Rich Harris
d5776c3ec3
feat: simplify HMR implementation ( #11132 )
...
* chore: simplify HMR implementation
* changeset
* unused
* prettier
5 months ago
github-actions[bot]
a740b7bb43
Version Packages (next) ( #11130 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Dominic Gannaway
0896543e67
fix: further improvements to hmr component key generation ( #11129 )
5 months ago
github-actions[bot]
3f9f28604e
Version Packages (next) ( #11126 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Dominic Gannaway
53e6a99458
fix: use correct meta property for hmr key ( #11125 )
5 months ago
github-actions[bot]
37b689b320
Version Packages (next) ( #11121 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Dominic Gannaway
b01af747e8
fix: use keys for hmr modules ( #11123 )
...
* fix: use keys for hmr modules
* simplify
* lint
* ts
5 months ago
Dominic Gannaway
1183984f68
fix: addresses reactive Set bug in certain engines ( #11120 )
5 months ago
github-actions[bot]
710c8f4924
Version Packages (next) ( #11111 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
5 months ago
Dominic Gannaway
afe1d11a5b
feat: hot module reloading support for Svelte 5 ( #11106 )
...
* feat: hot module reloading support for Svelte 5
* fix lockfile
* tweaks
* types
* lint
* lint
* tweaks
* add hmr flag
* tweak
* tweaks
* move HMR logic into its own module
* simplify
* tidy up types
* fix test
* lint
* need some indirection here or references break
* prevent transitions during HMR update
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
5 months ago
Dominic Gannaway
3bb231197e
fix: loosen proxy signal creation heuristics ( #11109 )
...
* fix: loosen proxy signal creation heuristics
* tighten up test
* update comment
* no need to create a source outside an effect here, because it can't result in a reference
* preserve reference to props.$$events
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
5 months ago
Simon H
27891cb2dd
fix: ensure top level snippets are defined when binding to component prop ( #11104 )
...
...by hoisting top level snippets out of the binding loop in ssr mode
fixes #11086
5 months ago
github-actions[bot]
e8f7437cf6
Version Packages (next) ( #11093 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Simon H
5a1c756a4e
fix: execute sole static script tag ( #11095 )
...
- take into account that template could consist of a single script tag, for which querySelectorAll('script') would yield false negatives
- add test to ensure that we don't execute script tags inside `@html` tags next to static script tags
fixes #11082
6 months ago
Dominic Gannaway
3c2f4d2d55
fix: improve hydration of svelte head blocks ( #11099 )
...
* fix: improve hydration of svelte head blocks
* revert sandbox
* simplify
6 months ago
Dominic Gannaway
48549f7d00
fix: improve internal proxied state signal heuristic ( #11102 )
...
Fixes #11069
6 months ago
Simon H
ed9bab9200
fix: better sibling selector handling ( #11096 )
...
Keep sibling selectors when dealing with slots/render tags/`svelte:element` tags
fixes #9274
6 months ago
Dominic Gannaway
3462c54fd2
fix: improve compiled output of multiple call expression in single text node ( #11097 )
...
* fix: improve compiled output of multiple call expression in single text node
* fix
6 months ago
Simon H
22494be9ec
feat: introduce `$host` rune, deprecate `createEventDispatcher` ( #11059 )
...
closes #11022
6 months ago
Simon H
8578857332
fix: ensure deep mutation ownership widening ( #11094 )
...
Previously, ownership widening/removal was only done if the immediate object that was encountered was state. This isn't always the case. It also didn't take into account classes with state on it (which turn into getters). This change takes both these cases into account and now always traverses the given object deeply.
fixes #11060
6 months ago
Simon H
b1a8038f8b
fix: make static `element` property available ( #11079 )
...
for the SvelteComponent type
closes #8936
6 months ago
github-actions[bot]
dfc55c18f0
Version Packages (next) ( #11072 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Simon H
a9e15bdf2d
breaking: robustify interop of exports and props ( #11064 )
...
- don't throw a dev time error when binding to an export (fixes #11008 )
- remove bindings that are for component exports
- throw an error when using a component export with the same name as a property
6 months ago
Dominic Gannaway
452749494e
Fix unowned bug 2 ( #11077 )
...
* fix: improve handled of unowned derived signals
* fix: improve handled of unowned derived signals
* lint
6 months ago
Rich Harris
8cbe8c1197
fix: bundle CSS types ( #11067 )
...
* make Css a proper namespace
* changeset
6 months ago
github-actions[bot]
ae3d472cbc
Version Packages (next) ( #11057 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
b87d57dc6e
fix: add `anchor` support to mount() API ( #11050 )
...
* fix: add `anchor` support to mount() API
* use ??
* fix inconsistent formatting
* required options before optional ones
* regenerate types
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
github-actions[bot]
d85d5a060b
Version Packages (next) ( #11035 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
c50883e496
fix: ensure transition errors are not swallowed ( #11039 )
...
* fix: ensure transition errors are not swallowed
* feedback
6 months ago
Rich Harris
92909834f0
breaking: prevent unparenthesized sequence expressions in attributes ( #11032 )
6 months ago
github-actions[bot]
2a1d3c6e73
Version Packages (next) ( #11034 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Rich Harris
3254d2e22f
fix: add missing package.json in package ( #11033 )
6 months ago
github-actions[bot]
6bb825b1b1
Version Packages (next) ( #11018 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
1d52c1323b
fix: improve unowned derived signal heuristics ( #11029 )
...
* fix: improve unowned derived signal heuristics
* spelling
6 months ago
Dominic Gannaway
2a784fce16
fix: correctly handle closure passed to $derived.by when destructuring ( #11028 )
...
* fix: correctly handle closure passed to $derived.by when destructuring
* oops
6 months ago
Rich Harris
3c155e3f3e
fix: ensure effect cleanup functions are called with null `this` ( #11024 )
6 months ago
Rich Harris
ad11c5087f
fix: ensure correct context for action update/destroy functions ( #11023 )
6 months ago
Rich Harris
0a162924fb
feat: more efficient hydration markers ( #11019 )
...
* remove <!--ssr:if:true--> comments
* remove <!--ssr:each_else--> comments
* changeset
* tidy up
6 months ago
Rich Harris
4f3fae7c6d
chore: compiler subpackage ( #10988 )
...
* move compiler.cjs to compiler/index.js
* changeset
* prettier
* ugh
6 months ago
Frédéric Crozatier
1c75b9ac4d
fix: add `name` to HTMLDetailsAttributes ( #11013 )
...
* add name attribute to HTMLDetailsAttributes
* changeset
6 months ago
github-actions[bot]
57813124d8
Version Packages (next) ( #10995 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Rich Harris
7bd853b1a8
fix: hydrate HTML with surrounding whitespace ( #10996 )
...
* fix: hydrate HTML with surrounding whitespace
* add test
* fix a few more short comments
* tidy up
* avoid magic strings
* avoid magic strings
* fix
* oops
6 months ago
Rich Harris
4a6316818c
feat: faster HTML tags ( #10986 )
...
* feat: faster HTML tags
* move code to where it is used
6 months ago
github-actions[bot]
442f2d7c39
Version Packages (next) ( #10983 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
b119600966
fix: ensure child effects are removed from parent branches ( #10985 )
...
* fix: ensure child effects are removed from parent branches
* fix: child effects are removed from parent branches
* oops
6 months ago
Rich Harris
5b2d5212d2
feat: expose `'svelte/internal'` ( #10987 )
...
* feat: expose svelte/internal
* fix
6 months ago
Dominic Gannaway
696b6922e8
fix: revert shorthand ssr comments ( #10980 )
...
* fix: revert shorthand ssr comments
* tests
* add changeset
6 months ago
github-actions[bot]
ef0191a6ae
Version Packages (next) ( #10977 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Rich Harris
227945d242
feat: re-export built-ins from `svelte/reactivity` on the server ( #10973 )
...
* chore: re-export builtins from svelte/reactivity on the server
* changeset
* fix
6 months ago
Dominic Gannaway
8971910940
fix: further improvements to effect scheduling and flushing ( #10971 )
...
* fix: improve effect scheduling
* fix: further improvements to effect scheduling and flushin
* add test
* simplify
* simplify
* lint
* fix e2e tests
* fix e2e tests
* simplify
* Update packages/svelte/src/internal/client/runtime.js
* Update packages/svelte/src/internal/client/runtime.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/runtime.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/runtime.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* style tweak
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
github-actions[bot]
de6a802435
Version Packages (next) ( #10966 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
ea6fd72e79
fix: apply animate on prefix/suffix each block mutations ( #10965 )
6 months ago
github-actions[bot]
1c645c3c07
Version Packages (next) ( #10963 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
f118f8ea27
fix: improve action support for nested $effect ( #10962 )
...
* fix: improve action support for nested $effect
* tweaks
* simplify
* comment
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
Dominic Gannaway
d50b7661e5
fix: improve effect sequencing and execution order ( #10949 )
...
* WIP
* WIP
* address bad merge conflict
* add test
* fix issues
* remove debugger
* increase count
* increase count
* something different
* change
* change
* try it
* better comment
* remove deadcode
* move to continue
* fix tests
* add optimization
* unksip test
* Update packages/svelte/src/internal/client/dom/elements/bindings/this.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/dom/elements/bindings/this.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/dom/elements/bindings/this.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* remove import
* add changeset
* tweaks
* code golf
* remove pre effects
* more effect ordering stuff (#10958 )
* WIP
* i guess this change makes sense?
* simplify
* delete unused code
* delete pre_effect
* note to self
* tidy up
* typos
* style tweaks
* style tweaks
* improve reactive statement handling
* no return needed
* let prettier put everything on a single line
* style tweaks
* var
* failing test
* fix test
* fix ordering
* simplify
* ondestroy
* working
* note breaking change
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
github-actions[bot]
b6598a3cc5
Version Packages (next) ( #10934 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
afe589e219
fix: improve order of pre-effect execution ( #10942 )
...
* chore: refactor local effect flushing to use new topological approach
6 months ago
Rich Harris
f2cca537a3
feat: use implicit return for each block keys ( #10938 )
...
* feat: use implicit return for each block keys
* swap args
* update test
6 months ago
Rich Harris
808cc6fca6
feat: shorter each blocks ( #10937 )
6 months ago
Rich Harris
8cfea9f36c
breaking: always run pre effects synchronously ( #10928 )
6 months ago
github-actions[bot]
b44311acc1
Version Packages (next) ( #10920 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
miunau
bbd44e9e47
fix: Add `elementtiming` HTMLAttribute, remove `crossorigin` from HTMLInputAttributes ( #10921 )
...
* Removed `crossorigin` from HTMLInputAttributes
* Added `elementtiming` attribute to HTMLAttributes
* changeset
---------
Co-authored-by: Rich Harris <hello@rich-harris.dev>
6 months ago
Rich Harris
59ff650ccb
remove if blocks around attribute updates ( #10917 )
6 months ago
github-actions[bot]
1e0054e915
Version Packages (next) ( #10889 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
miunau
0c05733d31
fix: Add `dirname` to HTMLInputAttributes ( #10908 )
...
* Add `dirname` to HTMLInputAttributes
* changeset
---------
Co-authored-by: Rich Harris <hello@rich-harris.dev>
6 months ago
Rich Harris
f1d9afe32f
changeset ( #10906 )
6 months ago
Rich Harris
8214075285
fix: update type of `options.target` ( #10892 )
6 months ago
Rich Harris
7f10642add
chore: improve hydration tests ( #10887 )
...
* use server-rendered HTML as hydration test starting point
* update tests
* remove _before.html files
* remove _before_head.html files
* override output with _expected.html
* expected output for binding-input case
* remove unused files
* fix
* changeset
6 months ago
github-actions[bot]
c47c5713e2
Version Packages (next) ( #10869 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
83f30bf0e8
fix: allow runes for variable declarations in the template ( #10879 )
6 months ago
Simon H
b468978e4d
fix: handle multiple snippet parameters with one or more being optional ( #10833 )
...
fixes #10825
Co-authored-by: Dominic Gannaway <dg@domgan.com>
6 months ago
Simon H
3eef1cb8cf
feat: take form resets into account for two way bindings ( #10617 )
...
* feat: take form resets into account for two way bindings
When resetting a form, the value of the inputs within it get out of sync with the bound value of those inputs. This PR introduces a reset listener on the parent form to reset the value in that case
closes #2659
* slightly different approach
* tweaks, test
* this is a breaking change, strictly speaking
* bind:files
* use capture phase
* tweak wording
* use promise, explain
6 months ago
Simon H
a339c28bb7
breaking: apply fallback value every time in runes mode ( #10797 )
...
* breaking: apply fallback value every time in runes mode
closes #9948
* apply fallback value in setter
* encapsulate fallback logic
* we should keep this logic out of b.set, since it's very specific to accessors
* oops
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
github-actions[bot]
c60f2e38a3
Version Packages (next) ( #10832 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
8c2f6039c6
fix: improve element class attribute behaviour ( #10856 )
...
* fix: improve element class attribute behaviour
* Update packages/svelte/src/internal/client/dom/elements/class.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
6 months ago
Dominic Gannaway
efe85fcce0
fix: more robust select element logic ( #10848 )
...
* follow up to 10846
* lint
* simplify
* don't update value
* rework logic, rely more on mutation observer, fix bug related to select multiple
* fix lazy select options bug
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: brunnerh <brunnerh@users.noreply.github.com>
6 months ago
Dominic Gannaway
f5f9465edc
feat: add support for webkitdirectory DOM boolean attribute ( #10847 )
...
* feat: add support for webkitdirectory DOM boolean attribute
* add to types
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
6 months ago
Dominic Gannaway
c564c77199
fix: ensure select value is updated upon select element removal ( #10846 )
...
* fix: ensure select value is updated upon select element removal
* lint
* lol
6 months ago
Simon H
682f4a6513
fix: adjust scope parent for named slots ( #10843 )
...
fixes #10802
6 months ago
Dominic Gannaway
117082b039
fix: improve handling of unowned derived signals ( #10842 )
6 months ago
Simon H
1fc41730a1
fix: don't override instance methods during legacy class creation ( #10834 )
...
fixes #10805
6 months ago
Simon H
f8c85d525d
fix: ensure capture events don't call delegated events ( #10831 )
...
fixes #10821
6 months ago
github-actions[bot]
1bfafe935b
Version Packages (next) ( #10814 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Rich Harris
d921fb97bd
fix: add types for svelte/reactivity ( #10817 )
...
* fix: add types for svelte/reactivity - closes #10816
* simplify
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
Dominic Gannaway
474fc7ebe0
fix: ensure arguments are supported on all reactive Date methods ( #10813 )
6 months ago
github-actions[bot]
afc2eea382
Version Packages (next) ( #10806 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
fe3b3b463c
feat: adds reactive Map class to svelte/reactivity ( #10803 )
...
* feat: adds reactive Map class to svelte/reactivity
* add docs
* add docs
* add test case
* types
* make reactive set better
* address feedback
* fix typo
* more efficient initialisation
* this is incorrect, it would fail if given a map for example
* increase consistency (with e.g. proxy.js)
* tidy up
* Revert "more efficient initialisation"
This reverts commit 29d4a8078b
.
* efficient initialization, without bugs this time
* convention
* delete make_iterable
* update changeset
* efficient initialization
* avoid generator functions
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
6 months ago
github-actions[bot]
924f0611f7
Version Packages (next) ( #10792 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Rich Harris
1e653ef4d8
fix: make `set.has(...)` granular for existing properties ( #10793 )
...
* fix: make set.has(...) granular
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
Simon H
fbbd89a917
fix: invalidate store when mutated inside each block ( #10785 )
...
* fix: invalidate store when mutated inside each block
fixes #10771
* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/template.js
6 months ago
github-actions[bot]
2701c0ad64
Version Packages (next) ( #10782 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Simon H
339782f3e0
fix: handle component binding mutation ( #10786 )
...
* fix: handle component binding mutation
https://github.com/sveltejs/svelte/issues/10359#issuecomment-1991885046
* alternative approach to mutating props (#10788 )
Co-authored-by: Rich Harris <rich.harris@vercel.com>
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
Dominic Gannaway
2cb78ac253
fix: adjust render effect ordering ( #10783 )
...
We can simplify pre effects by not doing the flush logic at all now. Instead we can move the flushing logic to the only place its needed – for beforeUpdate
6 months ago
github-actions[bot]
0c1026f166
Version Packages (next) ( #10770 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
3f7fcf9aec
feat: add reactive Set class to svelte/reactivity ( #10781 )
...
* feat: add reactive Set class to svelte/reactivity
* add some type safety
* simplify, read entries lazily
* failing unit test
* fix deletions
* minor tweaks
* work around effect ordering bug
* simplify, make entries lazy
* small tweak
* use var, minor tweaks
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
Rich Harris
77f39ea988
breaking: make `$props()` rune non-generic ( #10694 )
...
* breaking: make `$props()` rune non-generic
* explain why type argument was removed
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
6 months ago
Dominic Gannaway
468ecda6ea
fix: improve internal render effect sequencing ( #10769 )
...
We need to additionally check the levels to not accidentally insert a higher level before a lower level
fixes #10741
6 months ago
github-actions[bot]
3bdef5486f
Version Packages (next) ( #10758 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Dominic Gannaway
ef206fe1b5
fix: improve derived output for ssr ( #10757 )
...
* fix: improve derived output for ssr
* ts
* Update .changeset/rotten-rules-invite.md
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
6 months ago
github-actions[bot]
8dc7cd2151
Version Packages (next) ( #10742 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Mostafa Kheibary
e16591abe8
docs: Change all the word "initialization" to "initialisation" ( #10708 )
...
* Docs: Change all initizlisation to initialisation
* Reverted to "initialization" when asserting errors with specific message
* Reverted to "initialization" where related to specific error message
6 months ago
Simon H
74474fe085
fix: prevent reactive statement reruns ( #10736 )
...
- run reactive statements only once per tick, even when they have indirect cyclic dependencies. Made possible by adding an array to the component context, which is filled with identifiers of the reactive statements, and which is cleared after all have run. Reactive statements rerunning before that will bail early if they detect they're still in the list
- part of the solution is to run all reactive statements, and then all render effects, which also fixes #10597
6 months ago
github-actions[bot]
f3bfb938ee
Version Packages (next) ( #10716 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
7c00f1dacb
fix: improve bind:this support around proxyied state ( #10732 )
...
* fix: improve bind:this support around proxyied state
* fix: improve bind:this support around proxyied state
* fix: improve bind:this support around proxyied state
7 months ago
Simon H
304db0d5b2
fix: bump specificity on all members of a selector list ( #10730 )
...
Previously, only `div span` in `div span, div div { .. }` would've gotten the specificity bump
7 months ago
Simon H
b1267b03b6
fix: error when exporting reassigned state from module context ( #10728 )
...
fixes #10380
7 months ago
Simon H
ae4af6841a
fix: eagerly unsubscribe when store is changed ( #10727 )
...
fixes #9346
7 months ago
Simon H
3fd02f1c49
breaking: preserve slots inside templates with a shadowrootmode attribute ( #10721 )
...
closes #10641
7 months ago
Simon H
fff3320517
chore: custom elements validation ( #10720 )
...
- add "missing customElement option" warning
- add backwards compat support for customElement={null}
7 months ago
Dominic Gannaway
622195cc21
fix: ensure performance.now() and requestAnimationFrame() are polyfilled in ssr ( #10715 )
7 months ago
github-actions[bot]
b3d0a0695a
Version Packages (next) ( #10701 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
d9d1022895
fix: improve indexed each equality ( #10702 )
7 months ago
Simon H
4285e6d814
fix: prevent snippet children conflict ( #10700 )
...
closes #10385
7 months ago
Dominic Gannaway
eedb59355f
fix: adjust keyed each block equality handling ( #10699 )
...
Fixes #10685
7 months ago
github-actions[bot]
d577740c82
Version Packages (next) ( #10693 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Ahmad
6fb64c9914
fix: improve namespace inference when having `{@render}` and `{@html}` tags ( #10631 )
...
* fix: treat snippets like normal components when inferring namespace
* n
* simplify
* better desc
* slight adjustment
* feedback
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* feedback
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* skip html tag
* test
* changeset name
* cleanup
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
7 months ago
Simon H
5d3385c56f
fix: don't collapse whitespace within text nodes ( #10691 )
...
fixes #9892
7 months ago
github-actions[bot]
c4473dff7c
Version Packages (next) ( #10670 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Simon H
5768ac3027
fix: better ownership mutation validation ( #10673 )
...
- widen ownership when getContext is called, part of #10649
- widen ownership when assigning one proxy to another
- skip first 4 stack trace entries and bail if first after that is not a module, hinting at a mutation encapsulated in a .svelte.js file; part of #10649
7 months ago
Simon H
1ac313594c
fix: handle TypeScript's optional parameter syntax in snippets ( #10671 )
...
fixes #10530
7 months ago
Simon H
b1b51a404b
fix: deduplicate generated props and action arg names ( #10669 )
...
fixes #10662
7 months ago
github-actions[bot]
e21488fc4b
Version Packages (next) ( #10640 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
710f73f9cf
fix: improve derived rune destructuring support ( #10665 )
7 months ago
Simon H
56315df679
feat: allow arbitrary call expressions for render tags ( #10656 )
...
closes #9582
7 months ago
Dominic Gannaway
b2e9be2148
fix: improve ssr code generation for class property $derived ( #10661 )
...
* fix: improve ssr code generation for class property $derived
* fix ts
7 months ago
Dominic Gannaway
99e1665ce1
feat: improve ssr html mismatch validation ( #10658 )
...
* feat: improve ssr html mismatch validation
* update types
* Update packages/svelte/src/internal/server/index.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Update packages/svelte/src/compiler/validate-options.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* feedback
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
7 months ago
Simon H
3fe4940a9d
perf: bail early when traversing non-state ( #10654 )
...
This has a lot of overhead for large lists, and we can at least diminish in the "no state proxy" case by applying a sensible heuristic:
- If the value passed is a state proxy, read it
- If not, and if the value is an array, then bail because an array of state proxies is highly unlikely
- Traverse the first level of properties of the object and look if these are state, if not bail. State proxies nested further down are highly unlikely, too
part of #10637
7 months ago
Simon H
6625c1e080
fix: warn when `$props` rune not called ( #10655 )
...
It's a warning because even when typing it out and knowing what to do you'll always be in a state where the validation kicks in, and it would be too distracting to always see a compiler error during that short time frame.
closes #10374
7 months ago
Simon H
749d3aa413
fix: add `$set` and `$on` methods in legacy compat mode ( #10642 )
...
People could've done bind:this and called instance methods on the instance - a rare case, but not impossible. This shims $set and $on when in legacy compat mode. $destroy is never shimmed because you shouldn't manually destroy a component, ever, and there's no way to make that work in the new world.
closes #10420
7 months ago
Dominic Gannaway
a4a789db4d
fix: improve ssr output of dynamic textarea elements ( #10638 )
...
* fix: improve ssr output of dynamic textarea elements
* format
7 months ago
github-actions[bot]
512edaad6f
Version Packages (next) ( #10625 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
aa28ac3c7a
fix: improve deep_read performance ( #10624 )
7 months ago
github-actions[bot]
1822396a55
Version Packages (next) ( #10621 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
f658ca0d54
feat: add reactive Date object to svelte/reactivity ( #10622 )
...
* feat: add reactive Date object to svelte/reactivity
* add type safety, fix revealed typos
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
Dominic Gannaway
b4a70ea38a
fix: improve event delegation with shadowed bindings ( #10620 )
...
* fix: improve event delegation with shadowed bindings
* fix: improve event delegation with shadowed bindings
7 months ago
github-actions[bot]
cc6155922b
Version Packages (next) ( #10601 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
xxkl1
fc6666bc56
fix: prevent window listeners from triggering events twice ( #10611 )
...
fixes #10271
The prior fix in #10307 wasn't quite right, because JSDom has a difference between window and event.composedPath which sounds like a bug, and a workaround in that PR made it so the test did pass when the bug still occurred. That's also why there isn't a test here, because we can't properly test this using JSDom.
7 months ago
Simon H
45e385721c
fix: don't clear date input on temporarily invalid value ( #10616 )
...
fixes #7897
No test because this is only visually observable
7 months ago
Dominic Gannaway
2de741219f
fix: correctly handle proxied signal writes before reads ( #10612 )
...
* fix: correctly handle proxied signal writes before reads
* managed
* Update packages/svelte/src/internal/client/proxy.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
7 months ago
Simon H
506196b72b
feat: allow dynamic `type` attribute with `bind:value` ( #10608 )
...
Since these all share the same underlying small runtime code, there's no reason anymore to not allow it.
closes #10256
closes #3921
7 months ago
Simon H
db0b802fc2
fix: use safe-equals comparison for `@const` tags in legacy mode ( #10606 )
...
fixes #10600
7 months ago
Dominic Gannaway
c10337cfb2
fix: improve proxy effect dependency tracking ( #10605 )
7 months ago
Rich Harris
6afaf75a37
fix: synchronise element bindings ( #10512 )
...
fixes #10511
We used the animation frame dance previously where the `$effect` timing was slightly different and did not wait on its children before rerunning. With that changed now everything false into place nicely.
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
7 months ago
Simon H
a2164ff9f4
fix: make `bind_this` implementation more robust ( #10598 )
...
The previous `bind_this` implementation had flaws around timing and didn't work correctly when the binding wasn't `$state` in runes mode.
This PR reimplements `bind_this` by aligning it more with how Svelte 4 bindings work, namely reacting to each block context variables updates properly and introducing a mechanism to get the previous binding destination using said variables.
7 months ago
github-actions[bot]
d2b11ec4da
Version Packages (next) ( #10589 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
ec52c75cc4
fix: permit whitespace within template scripts ( #10591 )
7 months ago
Dominic Gannaway
a2fbef2050
fix: improve import event handler support ( #10592 )
...
* fix: improve import event handler support
* simplify
7 months ago
Simon H
66b624491e
fix: allow boolean `contenteditable` attribute ( #10590 )
...
fixes #10559
7 months ago
Dominic Gannaway
58008479fc
fix: improve $inspect handling of derived objects ( #10584 )
...
* fix: improve $inspect handling of derived objects
* Update packages/svelte/src/internal/client/runtime.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
7 months ago
github-actions[bot]
187400b409
Version Packages (next) ( #10579 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Rich Harris
ddb968cc35
fix: ensure proxy owner set always has 1 or more members ( #10577 )
...
* fix missing owners
* regression test
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
github-actions[bot]
88389ad2cf
Version Packages (next) ( #10571 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Ahmad
d6e0fbd8ba
fix: handle member expressions in directives ( #10576 )
7 months ago
Dominic Gannaway
802bfcabec
fix: improve props spreading logic ( #10574 )
7 months ago
Rich Harris
96eae28ed2
fix: remove memory leak, make `beforeUpdate` etc work correctly ( #10570 )
...
* fix: remove memory leak
* changeset
* mutable_source is only used in non-runes mode, no need to check here
* simplify
* oops
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
github-actions[bot]
662eda4ae7
Version Packages (next) ( #10568 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Rich Harris
8613a6f28a
fix: stack-trace-based readonly validation ( #10464 )
...
* fix: remove readonly validation
The readonly dev time validation results in false-negative object equality checks: The original object is proxified and thus comparisons could be between the unproxified and proxified version, which will always return false. Fixes #10372
There's also the problem that an object could be passed into a component but then passed upwards into shared state. At that point, it should no longer be readonly, but it's not possible to statically analyze these points. Fixes #10372
Lastly, the each block logic mutates an internal array and that also throws errors with the readonly logic. Fixes #10037
* reinstate tests
* track ownership of state and mutations
* working?
* remove old changeset
* tidy
* error
* simplify
* fix
* fix
* fix
* tidy
* make it a warning
* rename test
* remove unused test
* update tests
* slap ts-expect-error everywhere, because its too finicky otherwise
* oops
* oh no the hall monitor is here
* only call add_owner in dev
* only owners can transfer ownership
* simplify
* fixes
* tidy up
* fix type error
* while we're at it
* rename file
* rename functions
* add some comments
* move ownership checking logic
* ugh eslint
* more detailed message
* only add filename in dev
* comment
* update tests
* move more code
* undo change to sourcemap tests
* allow proxy to have multiple owners
* use SignalDebug
* i was doing this all wrong
* tidy up
* implement inheritance
* fix
* tidy up
* update filename stuff
* changeset
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
Dominic Gannaway
f1550b2ea3
fix: correct context applied to batch_inspect ( #10569 )
7 months ago
Rich Harris
02c6176622
feat: allow state/derived/props to be explicitly exported from components ( #10523 )
...
* Revert "fix: stricter validation for component exports (#10430 )"
This reverts commit dab0a43693
.
* dont remove old changeset
* changeset
* tweak error messages
* make component-exported state work
* consistency
* fix
* fix
* update messages
* update tests
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
github-actions[bot]
ad2b8b9112
Version Packages (next) ( #10539 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
bcb1b8eb98
fix: improve handling of unowned derived signals ( #10565 )
...
* fix: improve handling of unowned derived signals
* lint
7 months ago
Dominic Gannaway
0afb8d489e
fix: improve state store mutation compiler output ( #10561 )
7 months ago
Dominic Gannaway
5698fb789c
fix: better handling of derived signals that have no dependencies ( #10558 )
...
* fix: better handling of derived signals that have no dependencies
* fix: better handling of derived signals that have no dependencies
7 months ago
Simon H
aef245364c
fix: only escape characters in SSR template ( #10555 )
...
Adjusts the escaping mechanism done for server compilation. For template literals it's now only applied when explicitly told, which is the case for generated literals from the html template. Fixes a bug where a template literal string inside the `@html` tag was wrongfully escaped (https://github.com/sveltejs/svelte/issues/10359#issuecomment-1949678228 )
7 months ago
Simon H
08978bfae8
fix: don't execute scripts inside `@html` when instantiated on the client ( #10556 )
...
In Svelte 4, scripts inside `@html` were not executed when it was created client-side. This is because `innerHTML = ..` which was used under the hood does not execute scripts due to security reasons. This adjusts the code so the same is true for Svelte 5.
7 months ago
Simon H
b80d9bd654
fix: wire up `events` in `mount` correctly and fix its types ( #10553 )
...
fixes #10551
7 months ago
Simon H
f5102013af
fix: better interop of `$state` with actions/`$:` statements ( #10543 )
...
Ensure update methods of actions and reactive statements work with fine-grained `$state` by deep-reading them. This is necessary because mutations to `$state` objects don't notify listeners to only the object as a whole, it only notifies the listeners of the property that changed.
fixes #10460
fixes https://github.com/simeydotme/svelte-range-slider-pips/issues/130
7 months ago
Dominic Gannaway
7032837ef0
fix: better handling of empty text node hydration ( #10545 )
...
* fix: better handling of empty text node hydration
7 months ago
Dominic Gannaway
71db9edcdc
fix: improve each block item equality for immutable mode ( #10537 )
...
* fix: improve each block item equality for immutable mode
* alter
7 months ago
github-actions[bot]
01b6543739
Version Packages (next) ( #10534 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
41cdbafc40
fix: improve effect over-fire on store subscription init ( #10535 )
7 months ago
Rich Harris
8feb86583a
fix: use init properties when exporting non-state values ( #10521 )
7 months ago
github-actions[bot]
a279e802d5
Version Packages (next) ( #10528 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Ahmad
06e1d86091
fix: visit expression node in directives ( #10527 )
...
* fix: visit child nodes in directives
* test
* cleanup
* small change
* lint
* err
* types
* define the set locally, limit the blast radius
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
Rich Harris
3da6cef29b
chore: improve code generation for `bind:this` in SSR mode ( #10524 )
...
* chore: improve code generation for `bind:this` in SSR mode
* test
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
github-actions[bot]
b5628af72e
Version Packages (next) ( #10518 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Simon H
2755401034
breaking: remove `createRoot`, adjust `mount`/`hydrate` APIs, introduce `unmount` ( #10516 )
...
* breaking: remove `createRoot`, adjust `mount`/`hydrate` APIs, introduce `unmount`
closes #9827
* Update packages/svelte/src/internal/client/runtime.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
7 months ago
github-actions[bot]
11b69459b9
Version Packages (next) ( #10509 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Rich Harris
5605e8cf49
feat: implement support for `:is(...)` and `:where(...)` ( #10490 )
...
* failing test for :is(...)
* simplify
* trim
* factor out truncate function
* pass stylesheet around
* recurse into :is and :where
* fix types
* fix types
* almost there
* gah so close
* tada
* changeset
* simplify
* feat: nested CSS support (#10491 )
* parse nested CSS
* tests
* track parent rules
* some progress
* switch it up
* pruning
* works
* changeset
* lint
* error early on invalid nesting selector
* tidy
* note to self
* fix some specificity stuff
* failing test
* note to self
* fix: correctly scope CSS selectors with descendant combinators (#10502 )
* fix traversal, but break some other stuff
* man this is fucken hard
* fixes
* getting closer
* be conservative for now
* tidy
* invert
* invert
* simplify
* switch
* for now
* progress
* i think it works?
* fix
* tidy up
* revert some stuff
* remove some junk
* handle weird cases
* update
* tweak
* shrink
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update playgrounds/sandbox/run.js
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
Rich Harris
40ac2cafd6
chore: treeshakeable store subs ( #10506 )
...
* make store subscriptions treeshakeable on the server
* drive-by fix
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
Dominic Gannaway
df10204fcc
fix: improve bind:this support for each blocks ( #10510 )
7 months ago
Simon H
71601ba2e5
fix: warn against accidental global event referenced ( #10442 )
...
* fix: warn against accidental global event referenced
closes #10393
* remove list
* remove else
* tweak
* update test
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
github-actions[bot]
2a5ca51594
Version Packages (next) ( #10499 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Simon H
72ff5366de
feat: add hydrate method, make hydration treeshakeable ( #10497 )
...
* feat: add hydrate method, make hydration treeshakeable
Introduces a new `hydrate` method which does hydration. Refactors code so that hydration-related code is treeshaken out when not using that method.
closes #9533
part of #9827
* get docs building
* ugh
* one more
* Update packages/svelte/scripts/check-treeshakeability.js
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
* warn
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/05-functions.md
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
Dominic Gannaway
2c93c255f0
fix: makes keyed each blocks consistent between dev and prod ( #10500 )
7 months ago
Ahmad
3f75ea64ca
fix: allow stores in `transition`,`animation`,`use` directives ( #10481 )
...
* fix: allow stores in `transition`,`animation`,`use` directives
* ssr
* naming
* linting is broken
* hope it works
* style
* desc
7 months ago
github-actions[bot]
baf2b67f3f
Version Packages (next) ( #10479 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Simon H
f8ff2b6ea3
chore: source maps for preprocessors + tests ( #10459 )
...
Add source map merging for preprocessors and get tests passing.
- fixed some issues around the `sources` array where they weren't calculated relative to the input correctly
- adjusted some CSS tests because due to our own CSS parser the AST is less granular, so there are less mappings now. Don't think this is a problem, but worth thinking about
- removed enableSourcemap but only log a warning, the reason this was introduced was to mitigate a bug in Vite which occured when having the source map inlined into the SSR'd output. Since SSR doesn't contain inlined CSS anymore (and if it did, we would omit the source map) the reason for which it was introduced no longer exists
- files without js mapping in it have no source mappings yet (originally added in Svelte 4 for #6092 )
7 months ago
Dominic Gannaway
4b274dd00d
feat: derive destructured derived objects values ( #10488 )
...
* feat: derive destructured derived objects values
* address feedback
* address feedback
7 months ago
Dominic Gannaway
cc273f7d53
fix: prevent infinite loop when writing to store using shorthand ( #10477 )
...
Fixes #10472
This PR ensures we untrack parts of the compiled output to a store write, such as that this no longer brings up an infinite updates error
7 months ago
github-actions[bot]
643edc34db
Version Packages (next) ( #10470 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
74742d9233
fix: improve global transition outro handling ( #10474 )
7 months ago
Rich Harris
d41d0c26ad
chore: rename `$derived.call` to `$derived.by` ( #10445 )
...
* rename $derived.call to $derived.by
* more replacements, plus a compiler error
* regenerate types
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
github-actions[bot]
9cee83c864
Version Packages (next) ( #10457 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Dominic Gannaway
667ffb7a39
fix: improve global transition handling of effect cleardown ( #10469 )
...
* fix: improve global transition handling of effect cleardown
7 months ago
Dominic Gannaway
1b56a3219c
fix: ensure inspect fires on prop changes ( #10468 )
...
* fix: ensure inspect fires on prop changes
* fix: ensure inspect fires on prop changes
* fix: ensure inspect fires on prop changes
7 months ago
Simon H
1a721e5916
fix: only throw bind error when not passing a value ( #10090 )
...
Relax the runtime error to only throw when you're passing a binding with an undefined value. This makes it possible to provide components in a way that can be used more flexibly while keeping the error to guard against the case that we want to avoid: a default value propagation up.
7 months ago
Dominic Gannaway
9161448ee5
fix: improve handling of object property deletions ( #10456 )
...
* fix: improve handling of object property deletions
* revert
* revert
* revert
7 months ago
github-actions[bot]
89123a8117
Version Packages (next) ( #10434 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
7 months ago
Rich Harris
999fca97cf
fix: use hybrid scoping strategy for consistent specificity increase ( #10443 )
...
* end the specificity wars
* tweaks
* document breaking change
* blurgh
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
7 months ago
Simon H
5dd9951cb6
fix: handle sole empty expression tags ( #10433 )
...
* fix: handle sole empty expression tags
When there's only a single expression tag and its value evaluates to the empty string, special handling is needed to create and insert a text node
fixes #10426
* fix
* need this, too
* Update packages/svelte/src/internal/client/operations.js
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
7 months ago
Simon H
456cf843d2
fix: throw validation error when binding to each argument in runes mode ( #10441 )
...
closes #10437
8 months ago
Ahmad
49bfb6b1d6
fix: improve animation name transformation ( #10432 )
...
* fix: improve animation name transformation
* oops
* s
* minor style tweaks
* expand changeset description
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
github-actions[bot]
2d032c733d
Version Packages (next) ( #10419 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
4fcd1cb1ed
fix: add compiler error for each block mutations in runes mode ( #10428 )
...
* fix: improve code generation for mutation to each block reference
* fix: add compiler error for each block mutations in runes mode
* lint
* lint
* lint
* use existing validate_assignment logic
* assignment, not mutation
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
Simon H
dab0a43693
fix: stricter validation for component exports ( #10430 )
...
disallow exporting props, derived and reassigned state from within components
closes #10310 , closes #10311 , closes #10293
8 months ago
Dominic Gannaway
0e011add4e
fix: improve indexed each array reconcilation ( #10422 )
...
* fix: improve indexed each array reconcilation
* simplify
8 months ago
Rich Harris
623340a1de
fix: make beforeUpdate/afterUpdate behave more like Svelte 4 ( #10408 )
...
Closes #9420 .
This PR creates an $effect.pre (before beforeUpdate and an $effect (for afterUpdate) and, inside those, listen for all locally declared signals plus reactive props. This does mean that we need to link the locally declared signals to the component context (the reverse of the current behaviour, wherein we link the component context to locally declared signals).
8 months ago
github-actions[bot]
983db98756
Version Packages (next) ( #10417 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Ahmad
89c4cf393f
fix: set `open` binding value in `<details>` ( #10413 )
...
* fix: set initial value for `open` binding in `<details>`
* accurate desc
8 months ago
github-actions[bot]
76620e7d02
Version Packages (next) ( #10409 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
f9f5d3a1be
fix: only update lazy properties that have actually changed ( #10415 )
...
* fix: only update lazy properties that have actually changed
* code golf
* changeset
* Add test
8 months ago
Simon H
9aa0ed3eb6
fix: handle nested script tags ( #10416 )
...
fixes #9484
8 months ago
Rich Harris
90f8b63bee
fix: run `onDestroy` cleanup during SSR ( #10297 )
...
fixes #10296
Also make sure to use the server export conditions when resolving Svelte imports from inside the server compiler output
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
8 months ago
Simon H
268ac95fde
fix: properly analyze group expressions ( #10410 )
...
fixes #9947 for real
closes #10379
8 months ago
Daniel Imfeld
255693e78f
fix: correctly determine binding scope of `let:` directives ( #10395 )
...
Fixes #9797
Also added missing validation error around duplicate slots
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
8 months ago
github-actions[bot]
a84d02ff08
Version Packages (next) ( #10406 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Rich Harris
b831562218
chore: bump zimmerframe ( #10405 )
...
* bump zimmerframe
* Create famous-pants-pay.md
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
github-actions[bot]
20893270db
Version Packages (next) ( #10402 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Simon Holthausen
b63ab91c7b
chore: bump zimmerframe to resolve AST-traversal-related bugs
...
fixes #10371
fixes #10370
8 months ago
github-actions[bot]
1381d1937c
Version Packages (next) ( #10399 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Daniel Imfeld
97d3ec2f89
fix: allow `let:` directives on slot elements ( #10391 )
...
fixes #10382
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
8 months ago
Simon H
b6fcc149b8
fix: repair each block length mismatches during hydration ( #10398 )
...
fixes #10332
8 months ago
github-actions[bot]
d08e05bf7f
Version Packages (next) ( #10367 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Simon H
bd0ebf3b81
fix: correctly determine `bind:group` members ( #10368 )
...
- Previously, any each block parents where used as keys for the sub group. That's wrong, it should only be using each blocks whos declarations contribute to the `bind:group` expression. Fixes #10345
- Only the left-most identifier of the expression was used to determine the binding group. This is wrong, all identifiers within the expression need to be taken into account. Fixes #9947
8 months ago
Rich Harris
3b78c14be8
fix: make inline doc links valid ( #10365 )
...
* fix: make inline doc links valid
* couple more
* doh
* ugh
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
github-actions[bot]
283366b13a
Version Packages (next) ( #10357 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Simon H
e75c9acd18
fix: don't reuse proxies when state symbol refers to stale value ( #10343 )
...
* fix: don't reuse proxies when state symbol refers to stale value
When somebody copies over the state symbol property onto a new object (you can retrieve the symbol by using `Reflect.ownKeys(...)`), it was wrongfully assumed that it always relates to the current value. This PR adds an additional check that this is actually the case.
This also adds a dev time warning when an object is frozen but contains a state property, which hints at a bug in user land.
fixes #10316
* lint
* rename
* remove warning
* update test
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
8 months ago
gtmnayan
bce4f3f01c
fix: strip typescript assertions before analysis ( #10329 )
...
* strip typescript assertions before analysis
* add test
* changeset
* move ts handling from transform to before analysis
* format
* types
* remove unwrap_ts_expression
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
8 months ago
github-actions[bot]
2a31987da5
Version Packages (next) ( #10353 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Rich Harris
36fc203eec
fix: correctly update tweened store initialized with nullish value ( #10356 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
Rich Harris
0aedab8d5e
fix: insert empty text nodes during hydration, where necessary ( #9729 )
...
* Revert "fix: improve template text node serialization (#9722 )"
This reverts commit 2fa06447cf
.
* regression test for #9722
* add back failing test
* better test
* create text nodes during hydration
* partial fix
* partial fix
* remove nasty brittle logic
* simplify
* refactor
* rename
* thunkify
* fix
* add back changeset
* changeset
* lint
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
github-actions[bot]
c0f280c7e7
Version Packages (next) ( #10327 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
dcfae026da
fix: improve unstate handling of non enumerable properties ( #10348 )
...
* fix: improve unstate handling of non enumerable properties
* Update packages/svelte/src/internal/client/proxy.js
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
8 months ago
Jayden Carey
f9ed9cfc4b
fix: Update `$derived.call` type declaration ( #10349 )
...
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
8 months ago
S. Elliott Johnson
d309a9d47a
feat: Variadic snippets ( #9988 )
...
* give this another try
* fix: lint
* fix: Forgot to save
* feat: it works boiiii
* look, ok, it did work, i just needed to update the snapshots
* bruh
* changeset
* feat: ok I think the client snippet block finally works
* feat: current tests pass; I'm sure I'm missing stuff for new things
* fix: snapshot
* feat: I think non-destructured rest should work now?
* chore: duplicated computation
* feat: Tests (passing and failing
* feat: it's... alive?
* chore: Clean up my messes
* chore: devtime stuff
* fix: fmt
* chore: see if this fixes repl
* chore: make naming more offensive
* fix: Don't throw on missing keys, return undefined as it usually would
* Update packages/svelte/src/compiler/phases/1-parse/state/tag.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Update packages/svelte/src/compiler/phases/1-parse/state/tag.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* fix: Hopefully default param values now work
* dumb
* types
* feat: Test it
* fix: Turns out javascript parameters are optional
* feat: The Final Solution
* document function
* feat: Better bracket matching, unit tests
* feat: exclude test files from publish
* feat: More unit tests
* feat: Use more efficient parsing for @const
* Update .changeset/curvy-cups-cough.md
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Update packages/svelte/package.json
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Update packages/svelte/src/compiler/phases/1-parse/utils/bracket.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* fix: changesets
* chore: additional comments
* fix: kill foreach
* fix: foreach again
* feat: Docs
* Revert "fix: kill foreach"
This reverts commit 9a688cc543
.
* fix: My own stupidity
* fix: style
* fix - maybe
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/03-snippets.md
* Update tag.js
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* Update .changeset/curvy-cups-cough.md
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* chore: Remove rest params
* Delete .changeset/eighty-rivers-wash.md
* fix: Honestly idk why it was broken but it's fixed now
* fix: var name lol
* fix: typegen
* fix: idk
* fix: It looks like a bunch of unformatted shit came in through main?? idk
* Revert "fix: It looks like a bunch of unformatted shit came in through main?? idk"
This reverts commit ab851d5627
.
* fix: format again
* this is getting ridiculous
* Update tag.js
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* fix errors
* simplify a bit
* use read_context
* use read_context for const as well
* remove unused code
* unused import
* unused export
* remove spread args. sorry elliott
* tidy up SnippetBlock interface
* fix test
* simplify
* tweak
* revert example, so that it matches the surrounding text
* move PropsWithChildren back to public.d.ts
* update typing docs, so that it flows from previous example
* temporarily revert const parsing changes, to get prettier working again (???)
* oops
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
Dominic Gannaway
23b38a3471
fix: improve handling of unowned derived signals ( #10342 )
8 months ago
Arslan
145b233041
fix: add `onscrollend` event type ( #10337 )
...
* feat: add scrollend type
* Update .changeset/tame-cycles-kneel.md
8 months ago
Dominic Gannaway
4d0d0a3a9d
fix: correctly reference destructured derived binding in event handler ( #10333 )
8 months ago
Simon Holthausen
6145be5c69
fix: add proper typings for `$derived.call`
...
fixes #10330
8 months ago
Rich Harris
5ebd9e0b45
fix: disallow TODO errors ( #10326 )
...
* disallow TODO errors
* replace TODO errors
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
github-actions[bot]
d31ccf3be3
Version Packages (next) ( #10324 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
d9a6b8b17a
chore: add $derived.call rune ( #10240 )
...
* chore: add $derived.fn rune
* fix strange bug
* update types
* remove prev stuff
* regenerate types
* $derived.fn -> $derived.call
* docs
* regenerate types
* get rid of $$derived
* tighten up validation etc
* fix tests
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
8 months ago
Simon H
76a4bbd5ec
fix: handle event delegation correctly when having sibling event listeners ( #10307 )
...
If you had `on:` directives listening to the same name (through multiple on:click on the same element or indirectly through multiple `<svelte:window>` elements with event listeners of the same name) there was a bug of delegation firing too often. This PR fixes that by tweaking the "should I continue with the given path index" logic.
fixes #10271
8 months ago
github-actions[bot]
ecba825fb7
Version Packages (next) ( #10304 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Rogério Luiz Aques de Amorim
a58d93f8bf
fix: parser error when using semicolon inside quotes in style ( #10221 )
...
* fix error when using semicolon inside quotes in style
* refactor to include { like in the original code
* simplified version of regex
Co-authored-by: navorite <navorite@gmail.com>
* add changeset
* add changeset
* add test
* Update .changeset/seven-hornets-smile.md
Co-authored-by: navorite <navorite@gmail.com>
* undo demo.css change
* fix support-font-face test not passing
* add double quotes
* beef up test
* robustify parsing
* Update .changeset/seven-hornets-smile.md
---------
Co-authored-by: navorite <navorite@gmail.com>
Co-authored-by: Rogerio Luiz Aques de Amorim <Rogerio Amorim>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Rich Harris <hello@rich-harris.dev>
8 months ago
Lucas I
f7cc8cb263
fix: Add missing miter-clip and arcs value to stroke-linejoin attribute ( #10141 )
...
* Add missing miter-clip and arcs attribute stroke-linejoin
* format
* changeset
---------
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Rich Harris <hello@rich-harris.dev>
8 months ago
Dominic Gannaway
0504ad5ed7
chore: cleanup derived destruction ( #10303 )
...
* chore: cleanup derived destruction
* add changeset
* cleanup
* cleanup
8 months ago
github-actions[bot]
5a81610a2e
Version Packages (next) ( #10290 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Simon H
005ff894ff
fix: prevent false positive store error in module script ( #10291 )
...
When a variable with the same name was declared in the instance script, the module-no-auto-store-subscription-validation would fail
fixes #10285
8 months ago
Simon H
107ec1c848
fix: handle deep assignments to `$state()` class properties correctly ( #10289 )
...
fixes #10276
8 months ago
Simon H
c8da99646a
fix: `:global()` compound selector validation tweak ( #10287 )
...
Allow type selector in `:global()` when it's at a start of a compound selector
fixes #10286
8 months ago
github-actions[bot]
722bd56bc4
Version Packages (next) ( #10229 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
fb61f4eb70
fix: correctly cleanup unowned derived dependency memory ( #10280 )
...
* fix: correctly cleanup unowned derived dependency memory
* recursive
* recursive
8 months ago
Simon Holthausen
1538264bd5
fix: don't hoist function when already referenced in module scope
...
fixes #10279
8 months ago
Simon Holthausen
14d7b26897
fix: more robust url equality check at dev time
...
fixes #10021
8 months ago
Dominic Gannaway
a476e81e63
chore: improve $state static reference warning heuristics ( #10275 )
...
* chore: improve $state static reference warning heuristics
* fix bug
* update test
* lint
8 months ago
Simon H
03c067f598
fix: try-catch deep read ( #10270 )
...
Accessing values might throw errors if they're not just values but getters. Guard against that by try-catching every access so that `$inspect` doesn't fail
fixes the iframe error in the playground reported in #10174
8 months ago
Simon H
14bf4b4b2c
fix: ensure proxy is updated before notifying listeners ( #10267 )
...
fixes #10264
fixes #10265
8 months ago
Simon H
036e88f1f7
fix: allow `:global(..)` in compound selectors ( #10266 )
...
Someone could programmatically add a class to an element and Svelte doesn't see it, so having global be part of a modifier is necessary so that Svelte doesn't mark it as unused
fixes #10210
8 months ago
Simon H
6b0bd8b23a
fix: hydrate controlled each blocks correctly ( #10259 )
...
Controlled each block didn't handle hydration of fallback correctly
fixes #10231
8 months ago
Simon H
434a58711f
fix: sanitize component event names ( #10235 )
...
fixes #9916
8 months ago
Dominic Gannaway
88582479f2
chore: improve should_proxy_or_freeze logic internally ( #10249 )
8 months ago
Simon Holthausen
776ac3c176
fix: add back `derived` type overload
...
fixes #9866
8 months ago
gtmnayan
0071e0252a
fix: allow ts casts in bindings ( #10181 )
...
fixes #10179
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
8 months ago
Simon Holthausen
2861ad66e0
fix: correct increment/decrement code generation
...
fixes #10226
8 months ago
github-actions[bot]
2e238ada92
Version Packages (next) ( #10202 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Simon H
9f87f059d2
fix: skip certain slot validations for custom elements ( #10207 )
...
fixes #10196
8 months ago
Dominic Gannaway
e398047f8f
fix: correctly apply event.currentTarget ( #10216 )
8 months ago
Dominic Gannaway
2b2bd06d6f
fix: ensure derived signals properly capture consumers ( #10213 )
...
* fix: ensure derived signals properly capture consumers
* fix: ensure derived signals properly capture consumers
8 months ago
Dominic Gannaway
c7a7725abd
fix: add compiler error for invalid <p> contents ( #10201 )
...
* fix: add compiler error for invalid <p> contents
* add test
8 months ago
github-actions[bot]
73c5983e9a
Version Packages (next) ( #10188 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
b04c5bb398
fix: improve invalid nested interactive element error ( #10199 )
...
* fix: improve invalid nested interactive element error
* add test
* revise
8 months ago
Simon H
db8cba3216
fix: react to mutated slot props in legacy mode ( #10197 )
...
If a list is passed to a component and an item of that list is passed as a slot prop back up, then mutating a property of that item did not result in a rerun. The reason was that derived is using object identity equality, resulting in the value not being updated. To fix it, we use safe-equals in this situations instead.
8 months ago
Dominic Gannaway
b94d72bbfb
fix: improve transition outro easing ( #10190 )
...
* fix: improve transition outro easing
* Update tests
8 months ago
Dominic Gannaway
86bbc83544
fix: ensure unstate() only deeply applies to plain objects and arrays ( #10191 )
...
* fix: ensure unstate() only deeply applies to plain objects and arrays
* tweak
8 months ago
Simon H
1b675c0264
fix: transform textarea and contenteditable binding expressions ( #10187 )
...
fixes #10185
8 months ago
github-actions[bot]
d509de2503
Version Packages (next) ( #10164 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Simon H
b3ba25da94
fix: simplify event delegation logic ( #10169 )
...
* fix: simplify event delegation logic
Only delegate event attributes, and don't take into account bindings/actions while determining that. Never delegate `on:` directives. This simplifies the logic and makes it easier to explain, while avoiding any accidental breaking changes when upgrading from Svelte 4 to 5 without changing code.
Fixes #10165
Related to #9714
* update types
8 months ago
Dominic Gannaway
c628904861
fix: ensure topological order for render effects ( #10175 )
...
* fix: ensure topological order for render effects
* optimize
8 months ago
Dominic Gannaway
05bd922f7f
fix: improve nested effect heuristics ( #10171 )
8 months ago
Dominic Gannaway
0eca0ace94
fix: improve event handling compatibility with delegation ( #10168 )
...
* fix: improve event handling compatibility with delegation
* fix
* lint
* add test
8 months ago
Dominic Gannaway
a26012fc62
fix: prevent transition action overfiring ( #10163 )
8 months ago
github-actions[bot]
2e9e8e8454
Version Packages (next) ( #10158 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
ef3e0721fc
fix: improve intro transitions on dynamic mount ( #10162 )
...
* fix: improve intro transitions on dynamic mount
* fix: improve intro transitions on dynamic mount
* fix: improve intro transitions on dynamic mount
8 months ago
Simon H
da9a5bf1cf
fix: make `@types/estree` a dependency ( #10150 )
...
types are exposed through our types, so we need to add it as a dependency
fixes #10010
8 months ago
Simon Holthausen
a271878abe
fix: adjust `parse` return type
...
It returns the root which contains the Svelte nodes
8 months ago
Simon Holthausen
c7cb90c91c
fix: adjust `$inspect.with` type
8 months ago
Dominic Gannaway
ab13356008
fix: improve code generation ( #10156 )
...
* fix: improve code generation
* format
8 months ago
Dominic Gannaway
8c95777644
fix: improve how transitions are handled on mount ( #10157 )
8 months ago
github-actions[bot]
a1a3e819c9
Version Packages (next) ( #10148 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8 months ago
Dominic Gannaway
ff8dff993d
fix: improve ssr template code generation ( #10151 )
...
* fix: improve ssr template code generation
* lint
8 months ago
Dominic Gannaway
e2fc04d0d5
fix: improve template literal expression output generation ( #10147 )
...
* fix: improve template literal expression output generation
* do not proxy template literal
9 months ago
github-actions[bot]
a13c946966
Version Packages (next) ( #10137 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
0e9b83c20d
fix: improve outro behavior with transitions ( #10139 )
...
* fix: improve outro behavior with transitions
* debug
* revise
9 months ago
Dominic Gannaway
4ad5b73341
fix: further animation transition improvements ( #10138 )
...
* fix: further animation transition improvements
* clever hack
9 months ago
brunnerh
960fe308a5
chore: remove internal functions from `svelte/transition` exports ( #10132 )
...
* chore: remove internal functions from `svelte/transition` exports
* regenerate types
9 months ago
Dominic Gannaway
08579461b1
fix: improve animation heuristics ( #10119 )
...
* fix: improve animation heuristics
better fix
better fix
* improve-animation
* more fixes
* use rAF
* feedback
* fix absolute positioning
* fix more
* revert
* more fixes
9 months ago
github-actions[bot]
c05e94f26e
Version Packages (next) ( #10122 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Simon Holthausen
dda4ad510f
fix: silence false positive state warning
...
the continue was essentially a noop because it targeted the wrong for loop
9 months ago
Simon Holthausen
d171a39b0a
fix: keep intermediate number value representations
...
fixes #9959
9 months ago
Simon Holthausen
14dbc1be17
fix: make `ComponentType` generic optional
...
fixes #9975
9 months ago
Simon H
aa5a62396a
fix: legacy reactive dependencies tweak ( #10128 )
...
take into account member expressions when determining legacy reactive dependencies
fixes #9954
9 months ago
Dominic Gannaway
901cfc9f15
fix: improve ssr template literal generation ( #10127 )
9 months ago
navorite
cd2263fdab
fix: infer `svg` namespace correctly ( #10027 )
...
Add recursive check for logic blocks, ignore things such as ConstTags and Comments
closes #10025
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
9 months ago
Dominic Gannaway
f5dc562ee7
fix: ensure nested blocks are inert during outro transitions ( #10126 )
...
* fix: ensure nested blocks are inert during outro transitions
* lint
9 months ago
Simon H
3624a4c2a0
feat: allow modifiying derived props ( #10080 )
...
It's an unnecessary restruction because it can be worked around (hide it behind a getter/setter), already works for bind:x and prevents valid use cases
9 months ago
Nguyen Tran
1ff9c0f2b9
fix: support destructurings containing await ( #9962 )
...
Adds a traversion mechanism to found out if destructured expressions contain await
Fixes #9686
Fixes #9312
Fixes #9982
9 months ago
Dominic Gannaway
d16f17c306
fix: improve signal consumer tracking behavior ( #10121 )
9 months ago
github-actions[bot]
092370b43f
Version Packages (next) ( #10112 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Simon H
527d099a09
fix: transform `{@render ...}` expression ( #10116 )
...
fixes #10059
9 months ago
Dominic Gannaway
05789daff9
fix: allow transition undefined payload + microtask queue handling ( #10117 )
...
* fix: allow transition undefined payload
* cleanup
* cleanup
* add microtask queue handling
9 months ago
Simon H
b3d185da29
fix: correctly call exported state ( #10114 )
...
fixes #10104
also cleans up related code and adds support for destructuring `$state.frozen`
9 months ago
Simon H
92408e1506
fix: get spread + bind working ( #10091 )
...
fixes #10033
9 months ago
Dominic Gannaway
6acf7f3fc3
fix: apply key animations on proxied arrays ( #10113 )
...
* fix: apply key animations on proxed arrays
* fix: apply key animations on proxed arrays
* fix: apply key animations on proxed arrays
9 months ago
Dominic Gannaway
ebbb5dd655
fix: improve internal signal dependency checking logic ( #10111 )
9 months ago
github-actions[bot]
0c58524d23
Version Packages (next) ( #10070 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
ddd7926240
fix: improve key block reactivity detection ( #10092 )
9 months ago
Dominic Gannaway
86eae7e77d
fix: loosen input in button error ( #10083 )
...
The validation exists to error on html that would result in the browser repairing it, causing hydration errors. input is never moved, so we can remove it from the array
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
9 months ago
Dominic Gannaway
94aab90bd1
fix: improve text node output ( #10081 )
...
* fix: improve text node output
* revert
9 months ago
navorite
3c6977add3
fix: improve style parser whitespace handling ( #10077 )
...
allow whitespace, allow comments
fixes #10073
9 months ago
Simon H
570884eabd
fix: spread attributes reactivity improvements ( #10071 )
...
- the objects could contain getters with reactive values, so we play it safe and assume they're always reactive - fixes #10065
- isolate spreads with call expression similar to how we do it with other effects -fixes #10013
9 months ago
Simon Holthausen
877ff1ee7d
fix: provide `unstate` in server environment
...
fixes #10016
9 months ago
Simon H
2133d7d67a
fix: support TS satisfies operator ( #10068 )
...
fixes #9606
9 months ago
github-actions[bot]
fa8aa2d481
Version Packages (next) ( #10052 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
5f3fcaf88a
fix: bail-out event handler referencing each index ( #10063 )
...
* fix: bail-out event handler referencing each index
* lint
* ts
* types
9 months ago
Simon H
15d6308d60
fix: catch delegated events from elements moved outside the container ( #10060 )
...
fixes #9777
9 months ago
Simon H
8a8505928e
fix: deeply unstate objects passed to inspect ( #10056 )
...
When doing `$inspect({ x, y })`, both `x` and `y` are now unstated if they are signals, compared to before where `unstate` was only called on the top level object, leaving the proxies in place which results in a worse debugging experience.
Also improved typings which makes it easier to find related code paths.
9 months ago
Simon H
e46a71e8a3
fix: handle pseudo class elements with content ( #10055 )
...
closes #9398 (the other things in that issue are already addressed)
closes #10019
9 months ago
navorite
6d65b2f8ad
fix: improve parsing of `:nth-of-type(xn+b)` ( #9970 )
...
closes #9969
this also fixes the following along the way:
the + in nth-of-type(+xn-b) would be parsed as a combinator.
invalid cases like these are not allowed anymore:
b(+/-)b
-ax
-ax-b
-b
9 months ago
Dominic Gannaway
1e33ed5bb9
fix: ensure if block is executed in correct order ( #10053 )
...
* fix: ensure if block is executed in correct order
* alternative approach
* improve algo
* optimize
* lint
9 months ago
navorite
abc126630a
fix: add types for popover attributes and events ( #10041 )
...
closes #10036 , this also moves the HTMLDetailsElement toggle event to its interface as it was conflicting with HTMLElement popover toggle event.
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
9 months ago
navorite
d56223b162
fix: improve script `lang` attribute detection ( #10046 )
...
closes #10038
9 months ago
Jeremy Deutsch
346041f454
chore: skip generating $.proxy() calls for more expressions ( #9979 )
...
* chore: skip emitting $.proxy() calls for more expressions
* Update pretty-ties-help.md
---------
Co-authored-by: Dominic Gannaway <trueadm@users.noreply.github.com>
9 months ago
github-actions[bot]
6307a3322c
Version Packages (next) ( #10005 )
...
* Version Packages (next)
* Apply suggestions from code review
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
9 months ago
Holger Dal Mogensen
8a013c4cc6
fix: transition parameters are not reactive ( #9836 )
...
* test: add tests of transitions in new runtime
* fix: move evaluation of props
* format
* add changeset
9 months ago
Tom
c0a357c262
fix: support hydrating around `<noscript>` ( #9953 )
...
* add test
* fix: support hydrating around `<noscript>`
* changeset
9 months ago
Nguyen Tran
b31946eb08
fix: Backtick now displays with templates ( #9973 )
...
* Add a test for backtick in template
* Put sanitize_template_string and use it everywhere
* Prettier
* Add changeset
9 months ago
Nguyen Tran
5dffe715d3
fix: issue with assiging prop values as defaults of other props ( #9985 )
...
* Fix issue on assiging prop values as defaults of other props
* Prettier
* Add changeset
9 months ago
Dominic Gannaway
75cd1e825c
feat: add $state.frozen rune ( #9851 )
...
* feat: add $state.raw rune
fix typo
fix typo
* add more tests, fix example
* add other test
* change to $state.readonly
* fix readme
* fix validation
* fix more
* improve types
* improve REPL
* switch to $state.frozen
* update docs
* update docs
* update docs
* Update .changeset/dry-clocks-grow.md
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
* Update packages/svelte/src/internal/client/runtime.js
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
* Update packages/svelte/src/internal/client/runtime.js
* docs
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
github-actions[bot]
eab690d31a
Version Packages (next) ( #9922 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
b8f3c49e5f
fix: improve event delegation handler hoisting ( #9929 )
...
* fix: improve event delegation handler hoisting
* fixes
9 months ago
Dominic Gannaway
59c7487f36
fix: better handle array property deletion reactivity ( #9921 )
9 months ago
github-actions[bot]
b779e72eb6
Version Packages (next) ( #9913 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
2608e621d6
add test ( #9917 )
9 months ago
Dominic Gannaway
b1efd8c4cd
fix: improve each block fallback handling ( #9914 )
9 months ago
Dominic Gannaway
3a4a09102c
fix: improve whitespace handling ( #9912 )
...
revert
9 months ago
github-actions[bot]
f2d111264c
Version Packages (next) ( #9899 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
navorite
55656f520d
feat: add support for {@const} inside snippet block ( #9904 )
...
* check for snippet block
* change the error msg
* edit tests
* changeset
* test
9 months ago
Dominic Gannaway
b0511a5966
fix: improve attribute directive reactivity detection ( #9907 )
9 months ago
Dominic Gannaway
4e61db7201
chore: improve readonly prop messaging ( #9901 )
9 months ago
Dominic Gannaway
436a6c3dc4
fix: improve $inspect batching ( #9902 )
...
* fix: improve $inspect batching
* fix dev bug
* simplify
* simplify
9 months ago
Dominic Gannaway
a9a5b11c78
fix: improve props aliasing ( #9900 )
9 months ago
Dominic Gannaway
0236cf87e7
fix: better support for top-level snippet declarations ( #9898 )
9 months ago
github-actions[bot]
a8e5cc83cd
Version Packages (next) ( #9856 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
56de55bb77
fix: improve unstate type definition ( #9895 )
...
* fix: improve unstate type definition
* tweak
* tweak
9 months ago
Dominic Gannaway
daa19173b1
fix: improve html tag svg behaviour ( #9894 )
9 months ago
Dominic Gannaway
2ca3c87d18
fix: correctly reflect readonly proxy marker ( #9893 )
9 months ago
Dominic Gannaway
7238e1d3ce
fix: improve each block index handling ( #9889 )
10 months ago
Dominic Gannaway
bdd63c8187
fix: ensure class constructor values are proxied ( #9888 )
...
* fix: ensure class constructor values are proxied
* debugger
10 months ago
Jirawat Boonkumnerd
acf73104b5
feat: add GamepadEventHandler type ( #9861 )
...
Add GamepadEventHandler type for window.addEventListener `gamepadconnected` and `gamepaddisconnected`
10 months ago
Dominic Gannaway
cb529fc666
chore: improve each block fast-path heuristic ( #9855 )
...
* chore: improve each block fast-path heuristic
* chore: improve each block fast-path heuristic
10 months ago
github-actions[bot]
b90b14645b
Version Packages (next) ( #9847 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
56d8c0fd3a
fix: ensure action function returns object ( #9848 )
10 months ago
Dominic Gannaway
4717d2ad23
fix: handle event hoisting props referencing ( #9846 )
...
* fix: handle event hoisting props referencing
10 months ago
Dominic Gannaway
fd78acfec9
fix: support dynamic transition functions ( #9844 )
...
* fix: support dynamic transition functions
* add test
* lint
* load dynamic code lazily
load dynamic code lazily
load dynamic code lazily
10 months ago
github-actions[bot]
ab21253073
Version Packages (next) ( #9833 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
df5105ef2e
breaking: change `$inspect` API ( #9838 )
...
* breaking: change `$inspect` API
`$inspect` now takes 1-n arguments, and inspections modification happens through `.with(..)`
closes #9737
* lint
10 months ago
Rich Harris
26c6d6f95d
chore: avoid creating unnecessary thunks ( #9841 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Dominic Gannaway
8dfb2894b4
fix: improve each key animations ( #9842 )
10 months ago
Dominic Gannaway
08d93a2f5f
fix: improve each block with animate ( #9839 )
10 months ago
Dominic Gannaway
388e3e68fc
fix: improve signal consumer removal logic ( #9837 )
10 months ago
Dominic Gannaway
e2dcdc2887
fix: ensure computed props are wrapped in derived ( #9835 )
10 months ago
Dominic Gannaway
d9c250a4bf
fix: better handle unowned derived signals ( #9832 )
...
* fix: better handle unowned derived signals
* format
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
10 months ago
Rich Harris
b20b4617c0
chore: rethink props ( #9826 )
...
Cleaned up prop_source and renamed it to prop. Updated tests accordingly
10 months ago
github-actions[bot]
384e3a42b3
Version Packages (next) ( #9807 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Rich Harris
481df0e64a
fix: correctly apply scope on component children ( #9824 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
5797bb34ce
fix: reuse proxy between objects ( #9821 )
...
* chore: reuse proxy between objects
* lint
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Simon H
074615d7fd
fix: prevent infinite loops stemming from invalidation method ( #9811 )
...
* fix: prevent infinite loops stemming from invalidation method
The logic was flawed: the captured signals where always added to the previous captured no matter what, which meant a) memory leak b) that when another one runs afterwards, it will falsely contain the signals from the previous run
fixes #9788
* fix lint
10 months ago
Simon Holthausen
dcdd645480
fix: adjust children snippet default type
...
Needs to be void so that zero args are passed to it
fixes #9744
10 months ago
Simon H
5667785903
fix: better readonly checks for proxies ( #9808 )
...
- Expect the thing that's checked to be wrapped with the proxy already, so that we can just check for the state symbol
- Make error message more descriptive
10 months ago
Dominic Gannaway
d5167e75b9
fix: improve non state referenced warning ( #9809 )
...
* fix: improve non state referenced warning
* add test
10 months ago
Dominic Gannaway
d793d570e2
fix: improve consistency issues around binding invalidation ( #9810 )
...
* co
* Add comment
10 months ago
Simon H
3c2e656187
fix: tweak css nth regex ( #9806 )
...
fixes #9795
10 months ago
github-actions[bot]
f552a4b2ea
Version Packages (next) ( #9771 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
e6b5ccd29a
fix: tweak invalid dollar prefix rules around function args ( #9792 )
10 months ago
Rich Harris
62c9292947
feat: make fallback prop values readonly ( #9789 )
...
* WIP
* update tests
* only make readonly in runes mode
* remove this for now
* changeset
* ugh
* add reassignment test
* tweak message
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Dominic Gannaway
3b15e32a91
fix: ensure generate guards against keywords ( #9790 )
...
* fix: ensure generate guards against keywords
* changeset
* lint
* Update .changeset/old-flies-jog.md
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
10 months ago
Simon H
9c3516dd3d
feat: runes globals error ( #9773 )
...
* feat: runes globals error
throw descriptive error for using runes globals outside of Svelte-compiled files
* less hacky/more future-proof treeshaking check
* tweak
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
24777c335a
feat: disallow fallback values with bindings in runes mode ( #9784 )
...
* disallow fallback values with bindings in runes mode
* on second thoughts
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Dominic Gannaway
c7e626ebbb
feat: add unstate utility function ( #9776 )
...
* feat: add unstate utility function
* Update packages/svelte/src/internal/client/proxy/proxy.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* update docs
* add class support
* oops
* lint
* fix docs
* remove symbol and class support
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
10 months ago
Dominic Gannaway
f1954d034b
fix: ensure proxied array length is updated ( #9782 )
...
* fix: ensure proxied array length is updated
* fix: ensure proxied array length is updated
* add test
* lint
10 months ago
Dominic Gannaway
25abca78b2
fix: ensure transitions properly cancel on completion ( #9778 )
10 months ago
Simon H
ef158ff729
fix: apply event attribute validation to elements only ( #9772 )
...
fixes #9755
10 months ago
Rich Harris
ede5dab230
chore: fix compiler-errors test suite ( #9754 )
...
- fix compiler-errors test suite
- handle css nth-selector syntax (fixes #9765 )
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
10 months ago
github-actions[bot]
e4056107f0
Version Packages (next) ( #9753 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
f0c47c31bc
fix: allow duplicate snippet declaration names ( #9759 )
...
Fixes #9756
10 months ago
Dominic Gannaway
ef5bcfe542
fix: ensure event handlers containing arguments are not hoisted ( #9758 )
...
* fix: ensure event handlers containing arguments are not hoisted
* add test
* handle rest arguments
10 months ago
Dominic Gannaway
2017af407d
fix: ensure computed props are cached with derived ( #9757 )
...
Fixes #9751
10 months ago
Simon H
402a322317
chore: more validation errors ( #9723 )
...
* invalid directive on component
* duplicate animation
* invalid animation
* no const assignment
* expected token
* invalid-attribute-name
* fixes
* invalid event modifier
* component name
* slot validation
* fix test
* const validation + fix double declaration bug
* omg this validation is skipped in svelte 4, remove it entirely then
* gah
* unskip
* contenteditable
* invalid css selector
* css global selector + css parser fixes
* export default
* dynamic element
* each block
* html tag
* logic block
* reactive declaration
* duplicate script
* namespace
* module context
* slot
* svelte fragment
* textarea
* title
* transition
* window bindings
* changeset
* svelte head, let directive, tweaks
10 months ago
github-actions[bot]
61e5e53eee
Version Packages (next) ( #9736 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Rich Harris
765d01d76c
correctly inspect derived values ( #9731 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
1108587f1b
Version Packages (next) ( #9707 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
2fa06447cf
fix: improve template text node serialization ( #9722 )
...
fix: improve template text node serialization
10 months ago
Dominic Gannaway
7eba35b9d1
fix: improve infinite loop capturing ( #9721 )
10 months ago
Simon H
cb1ea1f2db
fix: ensure `$$slots` exists in runes mode ( #9718 )
...
fixes #9683
10 months ago
Simon H
4a8f0bc7e7
fix: keep fallback value after spread update not setting that prop ( #9717 )
...
fixes #9716
10 months ago
Simon H
65fa717ccd
fix: port over props that were set prior to initialization ( #9704 )
...
Svelte 5 version of #9701
10 months ago
Dominic Gannaway
2e461eb314
chore: remove redundant hydration code ( #9698 )
10 months ago
Simon H
e3dc185a4c
fix: tweak const tag parsing ( #9715 )
...
fixes #9711
10 months ago
Simon H
f88895e955
fix: allow `bind:this` with dynamic type on inputs ( #9713 )
...
fixes #9709
10 months ago
Simon H
1fe0152dd4
fix: delegate events on elements with bind-this ( #9696 )
...
fixes #9688
10 months ago
Simon H
2416587215
fix: ensure implicit children snippet renders correctly ( #9706 )
...
place anchors around render tags, not snippet tags
fixes #9678
10 months ago
Rich Harris
bde42d5676
`$inspect` rune ( #9705 )
...
* feat: add $log rune
* fix issues
* fix issues
* tune
* avoid static state reference validation
* work around unfortunate browser behavior
* call it ExpectedError
* cleanup
* Fix docs
* tweaks
* tweaks
* lint
* repl, dev: true
* repl dev mode
* Update sites/svelte-5-preview/src/lib/Repl.svelte
* squelch static-state-reference warning
* simplify
* remove redundant code
* Update packages/svelte/src/main/ambient.d.ts
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* Update packages/svelte/src/main/ambient.d.ts
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* Update packages/svelte/src/main/ambient.d.ts
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* only pause/trace on change
* Update packages/svelte/src/main/ambient.d.ts
* Update .changeset/chatty-hotels-grin.md
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* $log.break and $log.trace no-op during SSR
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* update test
* improve break experience
* fix ts
* remove unnecessary if (DEV) checks - log runes are removed in prod
* ensure hoisting doesnt mess up source maps
* check visited for cyclical values
* rename $log to $inspect, remove children
* custom inspect function
* implement custom inspect functions
* changeset
* update docs
* only fire on change
* lint
* make inspect take a single argument
* ugh eslint
* document console.trace trick
* demos
* fix site
---------
Co-authored-by: Dominic Gannaway <dg@domgan.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Dominic Gannaway <trueadm@users.noreply.github.com>
10 months ago
github-actions[bot]
3e3ae925f3
Version Packages (next) ( #9692 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
f9ba528265
fix: add children to element typings ( #9679 )
...
* fix: add children to element typings
Add this here so that libraries doing `props$<HTMLButtonAttributes>()` don't need a separate interface
fixes #https://github.com/sveltejs/language-tools/issues/2218
* typo
10 months ago
Simon H
aabab263ee
fix: handle ts expressions when dealing with runes ( #9681 )
...
* fix: handle ts expressions when dealing with runes
related to #9639
* docs, more tests
* simplify
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
a31b2e1b8e
Version Packages (next) ( #9650 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
81d3e47d1c
feat: add $effect.root rune ( #9638 )
...
* feat: effect-root-rune
feat: add $effect.root rune
update doc
update doc
fix validation
* cleanup logic
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
* address feedback
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
10 months ago
Ben McCann
2660727a93
chore: tweak changeset ( #9667 )
...
* chore: tweak changeset
* Update .changeset/slimy-clouds-talk.md
* Update seven-ravens-check.md
10 months ago
Rich Harris
48e78e420f
chore: remove static value handling ( #9571 )
...
The deleted code ensured that a static variable wouldn't update when it's in the same text expression as a reactive variable. We solved this through emitting a warning about this instead, marking it as undefined behavior.
10 months ago
Rich Harris
5836c1cdbd
chore: improve output for `<svelte:element>` ( #9648 )
...
- doesn't add spread_dynamic_element_attributes when there are no attributes — Unnecessary spread_dynamic_element_attributes call #9646
- skips the child render function altogether if there is nothing to do
10 months ago
Rich Harris
6e863e617c
feat: warn on referenced mutated nonstate ( #9669 )
...
Walk the path and warn if this is a mutated normal variable that's referenced inside a function scope
10 months ago
Rich Harris
9c44fd7854
feat: ignore href when hydrating ( #9662 )
...
* ignore href when hydrating
* remove unused export keyword
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Yuichiro Yamashita
da1aa7c4a8
feat: support type annotations in `{@const ...}` tag ( #9609 )
...
* support type for const tag
* use expression directly
* lint
* format
* format
* revert
* legacy mode
* format
* revert and update .prettierignore
10 months ago
Simon H
617d63dd90
fix: take event attributes into account when checking a11y ( #9664 )
...
also adjusted the warning messages slightly so they make sense for both variants of event handlers
fixes #9654
10 months ago
Simon H
83fd001157
fix: prevent reactive snippet from reinitializing unnecessarily ( #9665 )
...
untrack the invocation itself, only track the snippet function
fixes #9652
10 months ago
Rich Harris
405e9da4ff
chore: bump esrap ( #9649 )
...
* bump esrap
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
66d540d3c5
Version Packages (next) ( #9642 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
7f237c2e41
fix: omit this bind this arg if we know it's not a signal ( #9635 )
...
fixes #9629
Co-authored-by: Dominic Gannaway <dg@domgan.com>
10 months ago
Dominic Gannaway
dee5bed829
fix: improve each block index handling ( #9644 )
...
* fix: improve each block index handling
* format
10 months ago
Dominic Gannaway
02f3f42981
fix: apply keyed validation only for keyed each ( #9641 )
10 months ago
github-actions[bot]
94afdc8a4b
Version Packages (next) ( #9633 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon Holthausen
63e5831846
fix: adjust mount and createRoot types
...
they expect the component constructor, not the instance
10 months ago
Simon Holthausen
a3bc7d5698
fix: type-level back-compat for default slot and children prop
...
If someone has an existing SvelteComponent type definition and using the slot generic to type the default slot, automatically add that slot to the prop type as "children"
10 months ago
Simon Holthausen
cb4b1f0a18
fix: remove constructor overload
...
The original intent was for typing generation tools like svelte2tsx to use the virtual constructor instead, but it does more harm than good. Most notably, the TS error message when props are wrong becomes completely useless. It's better for tooling to silence the deprecation message and switch over to a new virtual constructor once we remove the deprecated one.
10 months ago
github-actions[bot]
b7af2ffabd
Version Packages (next) ( #9607 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
78a69acfa1
fix: dont error on stores looking like runes when runes explicitly turned off ( #9615 )
10 months ago
Simon H
72d3a2a8ce
fix: better attribute casing logic ( #9626 )
...
- don't lowercase attributes on svg and custom element elements, fixes #9605
- better lowercasing + property alias checking for spreads, fixes #9305
10 months ago
Dominic Gannaway
ef68b66dee
fix: improve member expression mutation logic ( #9625 )
...
* fix: improve member expression mutation logic
* cleanup
* Update .changeset/moody-frogs-exist.md
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
10 months ago
Yuichiro Yamashita
c7121aa38c
feat: add type of `$effect.active` ( #9624 )
10 months ago
Dominic Gannaway
d8d9be39d3
fix: apply correct snippet scope ( #9623 )
10 months ago
Dominic Gannaway
509f92d29e
fix: correctly assign bind:this with multiples ( #9617 )
...
* fix: correctly assign bind:this with multiples
* better fix
* better fix
* lint
* lint
* Update packages/svelte/src/internal/client/render.js
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
10 months ago
Dominic Gannaway
c22ebffb00
chore: untrack keyed validation logic ( #9618 )
...
* untrack validation logic
* chore: untrack keyed validation logic
10 months ago
Dominic Gannaway
8118efd115
fix: handle undefined bubble events ( #9614 )
...
Fixes #9610
10 months ago
Rich Harris
0283e50070
chore: reuse common templates ( #9601 )
...
#9589 - add comment and space as reusable templates to save a few bytes. We can definitely take this idea further, but this is a base to iterate from.
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
10 months ago
github-actions[bot]
d83bd7f7c1
Version Packages (next) ( #9576 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
13c6c273c6
fix: prevent false positives when detecting runes mode ( #9599 )
...
Move references from module scope to instance scope if we determined that these references are store subscriptions
fixes #9580
10 months ago
Rich Harris
1f4ae5ef45
chore: remove some unused code ( #9593 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Dominic Gannaway
cf9130613d
feat: add $effect.active rune ( #9591 )
...
* chore: add $effect.active rune
* chore: add $effect.active rune
10 months ago
Rich Harris
fe9c0bc19d
chore: bump esrap ( #9590 )
10 months ago
Dominic Gannaway
eb0b4dc6e5
chore: add inline new class warning ( #9583 )
...
* chore: add inline new class warning
* Address feedback
* address feedback
* more tests
10 months ago
Simon H
1003acccc4
feat: add Snippet type ( #9584 )
...
* feat: add Snippet type
related to #9447
* one more test
10 months ago
Dominic Gannaway
da15806136
fix: adjust event delegation heuristics ( #9581 )
...
Fixes #9561
10 months ago
Rich Harris
1bc89b5eb6
fix: deconflict generated names against globals ( #9570 )
...
fixes #9559
10 months ago
Simon H
617df1f3c3
fix: adjust regex ( #9572 )
...
would error on non-quoted attributes with more than one character
10 months ago
github-actions[bot]
b9664700b7
Version Packages (next) ( #9542 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Rich Harris
459e4ff006
feat: native TypeScript support ( #9482 )
...
* add typescript support to parser
* fix
* unnecessary
* various
* transform assertions
* tweak
* prettier
* robustify
* fix
* see if this fixes the prettier stuff
* only parse ts in ts mode
* fixes
* fix
* fix
* fix
* fix
* more
* check
* changeset
* allow type annotations on all contexts
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Dominic Gannaway
bd2a586fea
chore: more transition code-golfing ( #9536 )
10 months ago
github-actions[bot]
699c337908
Version Packages (next) ( #9535 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
5809ac6758
chore: rename internal object properties ( #9532 )
...
* chore: rename internal object properties
chore: rename internal object properties
order properties and add comments
add missing remove_in_transitions
* jsdoc
10 months ago
github-actions[bot]
5458ea7735
Version Packages (next) ( #9530 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
b0588d7888
fix: address intro transition bugs ( #9528 )
...
* fix: address intro transition bugs
* fix: address intro transition bugs
10 months ago
Dominic Gannaway
298da65ed6
chore: more signal fine-tuning ( #9531 )
...
* chore: opt for two signal data-structures to reduce memory usage
10 months ago
Dominic Gannaway
bbd1a6c05a
chore: tune signals for better runtime perf ( #9529 )
10 months ago
github-actions[bot]
a36dba7df0
Version Packages (next) ( #9519 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
f886bc133e
fix: handle intro global transition propagation correctly ( #9515 )
...
* fix: stop propagating global intros
* fix: stop propagating global intros
* add test
10 months ago
github-actions[bot]
e0271f0fc7
Version Packages (next) ( #9492 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
3b2e6eac9a
fix: address unowned propagation signal issue ( #9510 )
...
* fix: address unowned propagation signal issue
* Add comments
10 months ago
Dominic Gannaway
378093941d
fix: ensure we visit assignments during compilation ( #9511 )
...
* fix: add missing visit for expressions
* fix: add missing visit for expressions
* Add test
10 months ago
Simon H
4418ba6535
fix: add top level snippets to instance scope ( #9467 )
...
fixes #9460
10 months ago
Simon H
1beb5e8dc9
fix: tweak script/style tag parsing/preprocessing logic ( #9502 )
...
Related to sveltejs/language-tools#2204 / sveltejs/language-tools#2039
The Svelte 5 version of #9486 and #9498
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
c827b0c772
fix: only treat instance context exports as accessors ( #9500 )
...
* failing test for #9499
* limit export handling to instance context
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
ede1edd314
fix: emit useful error on invalid binding to derived state ( #9497 )
...
closes #9495
10 months ago
Tee Ming
37f249350c
allow setting files ( #9463 )
10 months ago
github-actions[bot]
c823dd2efa
Version Packages (next) ( #9481 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
60c273eb76
Revert "fix: address bug in before/after update" ( #9480 )
...
* Revert "fix: address bug in before/after update (#9448 )"
This reverts commit 9eb969ddd4
.
* add changeset
10 months ago
github-actions[bot]
7e94dee955
Version Packages (next) ( #9431 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
c1f6ee096d
fix: handle dynamic selects with falsy select values ( #9471 )
...
when options are added later, we need to ensure the select value still stays in sync
fixes #9412
10 months ago
Yuichiro Yamashita
19f84ca730
fix: Added missing context of `svelte.js` for validation ( #9394 )
...
* fix
* add changeset
* Update .changeset/eighty-bikes-camp.md
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
* Update .changeset/eighty-bikes-camp.md
---------
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Rich Harris <hello@rich-harris.dev>
10 months ago
Dominic Gannaway
455fa8950e
Code golf each transitions ( #9476 )
...
* chore: improve code size of transitions
* Add changeset
10 months ago
Rich Harris
e3e1fef238
fix: stringify attribute values before comparison ( #9475 )
...
* fix: stringify attribute values before comparison
* simplify
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Dominic Gannaway
73e8820fe7
chore: make DOM operations lazily init ( #9468 )
...
* chore: make DOM operations lazyily init
* cleanup types
* cleanup types
* cleanup types
* Update packages/svelte/src/internal/client/operations.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* single line annotations
* remove unnecessary coercion
* group statements by type
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Simon H
9ef3424732
fix: support class exports ( #9465 )
10 months ago
Paolo Ricciuti
6f3dc04c82
fix: allow member access on directives ( #9462 )
...
fixes #9445
10 months ago