Simon H
434a58711f
fix: sanitize component event names ( #10235 )
...
fixes #9916
2 years ago
Dominic Gannaway
83628c901d
fix main ( #10237 )
...
* fix main
* fix main
2 years ago
Simon Holthausen
776ac3c176
fix: add back `derived` type overload
...
fixes #9866
2 years ago
Simon Holthausen
a6797614ef
fix: clarify error message
...
closes #10109
2 years ago
gtmnayan
0071e0252a
fix: allow ts casts in bindings ( #10181 )
...
fixes #10179
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
2 years ago
Simon Holthausen
2861ad66e0
fix: correct increment/decrement code generation
...
fixes #10226
2 years ago
Simon H
61118835db
chore: bit of code cleanup ( #10218 )
2 years ago
Simon H
9f87f059d2
fix: skip certain slot validations for custom elements ( #10207 )
...
fixes #10196
2 years 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
2 years ago
Simon Holthausen
1798e58300
chore: fix signals test suite
...
now simulates a component environment more correctly
2 years ago
Dominic Gannaway
c7a7725abd
fix: add compiler error for invalid <p> contents ( #10201 )
...
* fix: add compiler error for invalid <p> contents
* add test
2 years ago
Dominic Gannaway
b04c5bb398
fix: improve invalid nested interactive element error ( #10199 )
...
* fix: improve invalid nested interactive element error
* add test
* revise
2 years 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.
2 years ago
Dominic Gannaway
b94d72bbfb
fix: improve transition outro easing ( #10190 )
...
* fix: improve transition outro easing
* Update tests
2 years ago
Simon H
1b675c0264
fix: transform textarea and contenteditable binding expressions ( #10187 )
...
fixes #10185
2 years 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
2 years ago
Dominic Gannaway
c628904861
fix: ensure topological order for render effects ( #10175 )
...
* fix: ensure topological order for render effects
* optimize
2 years ago
Dominic Gannaway
05bd922f7f
fix: improve nested effect heuristics ( #10171 )
2 years ago
Dominic Gannaway
0eca0ace94
fix: improve event handling compatibility with delegation ( #10168 )
...
* fix: improve event handling compatibility with delegation
* fix
* lint
* add test
2 years ago
Dominic Gannaway
a26012fc62
fix: prevent transition action overfiring ( #10163 )
2 years ago
Ben McCann
aecd47e8df
chore: upgrade prettier to 3.1 ( #10134 )
2 years 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
2 years ago
Dominic Gannaway
ab13356008
fix: improve code generation ( #10156 )
...
* fix: improve code generation
* format
2 years ago
Dominic Gannaway
ff8dff993d
fix: improve ssr template code generation ( #10151 )
...
* fix: improve ssr template code generation
* lint
2 years ago
Dominic Gannaway
e2fc04d0d5
fix: improve template literal expression output generation ( #10147 )
...
* fix: improve template literal expression output generation
* do not proxy template literal
2 years 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
2 years ago
Simon Holthausen
f3265c580c
chore: better test case
...
closes #10129
2 years ago
Simon Holthausen
dda4ad510f
fix: silence false positive state warning
...
the continue was essentially a noop because it targeted the wrong for loop
2 years ago
Simon H
aa5a62396a
fix: legacy reactive dependencies tweak ( #10128 )
...
take into account member expressions when determining legacy reactive dependencies
fixes #9954
2 years ago
Dominic Gannaway
901cfc9f15
fix: improve ssr template literal generation ( #10127 )
2 years 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>
2 years ago
Dominic Gannaway
f5dc562ee7
fix: ensure nested blocks are inert during outro transitions ( #10126 )
...
* fix: ensure nested blocks are inert during outro transitions
* lint
2 years 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
2 years 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
2 years ago
Dominic Gannaway
d16f17c306
fix: improve signal consumer tracking behavior ( #10121 )
2 years ago
Simon H
527d099a09
fix: transform `{@render ...}` expression ( #10116 )
...
fixes #10059
2 years ago
Dominic Gannaway
05789daff9
fix: allow transition undefined payload + microtask queue handling ( #10117 )
...
* fix: allow transition undefined payload
* cleanup
* cleanup
* add microtask queue handling
2 years ago
Simon H
b3d185da29
fix: correctly call exported state ( #10114 )
...
fixes #10104
also cleans up related code and adds support for destructuring `$state.frozen`
2 years ago
Simon H
92408e1506
fix: get spread + bind working ( #10091 )
...
fixes #10033
2 years ago
Dominic Gannaway
ebbb5dd655
fix: improve internal signal dependency checking logic ( #10111 )
2 years ago
Dominic Gannaway
ddd7926240
fix: improve key block reactivity detection ( #10092 )
2 years ago
Dominic Gannaway
94aab90bd1
fix: improve text node output ( #10081 )
...
* fix: improve text node output
* revert
2 years ago
navorite
3c6977add3
fix: improve style parser whitespace handling ( #10077 )
...
allow whitespace, allow comments
fixes #10073
2 years 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
2 years ago
Simon H
2133d7d67a
fix: support TS satisfies operator ( #10068 )
...
fixes #9606
2 years ago
Simon H
15d6308d60
fix: catch delegated events from elements moved outside the container ( #10060 )
...
fixes #9777
2 years 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.
2 years 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
2 years 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
2 years 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
2 years ago
navorite
d56223b162
fix: improve script `lang` attribute detection ( #10046 )
...
closes #10038
2 years 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>
2 years ago
Rich Harris
2ad5e53d53
remove unnecessary test ( #10008 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
2 years 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
2 years ago
Tom
c0a357c262
fix: support hydrating around `<noscript>` ( #9953 )
...
* add test
* fix: support hydrating around `<noscript>`
* changeset
2 years ago
Nguyen Tran
bd34367660
fix: Add some tests to avoid regression on #8559 ( #9956 )
...
* Add some tests to avoid regression
* Add runes test and remove extra tests
2 years 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
2 years 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
2 years 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>
2 years ago
Dominic Gannaway
b8f3c49e5f
fix: improve event delegation handler hoisting ( #9929 )
...
* fix: improve event delegation handler hoisting
* fixes
2 years ago
Dominic Gannaway
59c7487f36
fix: better handle array property deletion reactivity ( #9921 )
2 years ago
Dominic Gannaway
2608e621d6
add test ( #9917 )
2 years ago
Dominic Gannaway
b1efd8c4cd
fix: improve each block fallback handling ( #9914 )
2 years ago
Dominic Gannaway
3a4a09102c
fix: improve whitespace handling ( #9912 )
...
revert
2 years ago
navorite
55656f520d
feat: add support for {@const} inside snippet block ( #9904 )
...
* check for snippet block
* change the error msg
* edit tests
* changeset
* test
2 years ago
Dominic Gannaway
b0511a5966
fix: improve attribute directive reactivity detection ( #9907 )
2 years ago
Dominic Gannaway
4e61db7201
chore: improve readonly prop messaging ( #9901 )
2 years ago
Dominic Gannaway
a9a5b11c78
fix: improve props aliasing ( #9900 )
2 years ago
Dominic Gannaway
0236cf87e7
fix: better support for top-level snippet declarations ( #9898 )
2 years ago
Dominic Gannaway
daa19173b1
fix: improve html tag svg behaviour ( #9894 )
2 years ago
Dominic Gannaway
2ca3c87d18
fix: correctly reflect readonly proxy marker ( #9893 )
2 years ago
Dominic Gannaway
7238e1d3ce
fix: improve each block index handling ( #9889 )
2 years ago
Dominic Gannaway
bdd63c8187
fix: ensure class constructor values are proxied ( #9888 )
...
* fix: ensure class constructor values are proxied
* debugger
2 years ago
Dominic Gannaway
4717d2ad23
fix: handle event hoisting props referencing ( #9846 )
...
* fix: handle event hoisting props referencing
2 years 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
2 years 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
2 years ago
Rich Harris
26c6d6f95d
chore: avoid creating unnecessary thunks ( #9841 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
2 years ago
Dominic Gannaway
08d93a2f5f
fix: improve each block with animate ( #9839 )
2 years ago
Dominic Gannaway
388e3e68fc
fix: improve signal consumer removal logic ( #9837 )
2 years ago
Dominic Gannaway
e2dcdc2887
fix: ensure computed props are wrapped in derived ( #9835 )
2 years 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>
2 years ago
Rich Harris
b20b4617c0
chore: rethink props ( #9826 )
...
Cleaned up prop_source and renamed it to prop. Updated tests accordingly
2 years ago
Rich Harris
481df0e64a
fix: correctly apply scope on component children ( #9824 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
2 years 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>
2 years ago
Rich Harris
c0150b0bd3
chore: tweak readonly error message ( #9816 )
...
* tweak readonly error message
* update tests
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
2 years 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
2 years 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
2 years ago
Dominic Gannaway
d5167e75b9
fix: improve non state referenced warning ( #9809 )
...
* fix: improve non state referenced warning
* add test
2 years ago
Dominic Gannaway
d793d570e2
fix: improve consistency issues around binding invalidation ( #9810 )
...
* co
* Add comment
2 years ago
Rich Harris
01a2117330
chore: use proxy instead of signal in createRoot ( #9799 )
...
* use proxy instead of signal in createRoot
* DRY
* remove for now
* lint
* chore: use proxies instead of signals for spread/rest props (#9801 )
* use proxies instead of signals for spread/rest
* fix some spread attribute stuff
* remove is_signal calls
* simplify some more
* more
* remove some unnecessary unwrapping
* another
* simplify
* simplify
* simplify
* remove another MaybeSignal
* more
* remove more unwraps
* code-golf, docs
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
* add missing jsdoc annotation
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
2 years ago
Simon H
3c2e656187
fix: tweak css nth regex ( #9806 )
...
fixes #9795
2 years 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>
2 years ago
Rich Harris
bd8f7db754
check runtime errors ( #9791 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
2 years 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>
2 years 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>
2 years 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
2 years ago
Rich Harris
10aacfa603
chore: remove `exposable` ( #9783 )
...
* use flags for prop_source, this will be useful later
* remove exposable/expose stuff
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
2 years ago
Dominic Gannaway
25abca78b2
fix: ensure transitions properly cancel on completion ( #9778 )
2 years ago
Simon H
ef158ff729
fix: apply event attribute validation to elements only ( #9772 )
...
fixes #9755
2 years 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>
2 years ago