Dominic Gannaway
4d2f2fb8e6
feat: allow snippets to be exported from module scripts ( #14315 )
...
* feat: allow snippets to be exported from module scripts
* tweak type
* fix issue + add test
* refactor
* refactor
* fix exports error
* fix lint
* fix lint
* error on undefined export
* hoisted snippets belong in transform state, not analysis
* put the code where it's used
* drop the local_. just binding. it's cleaner
* simplify
* simplify
* simplify
* simplify
* tidy up
* oops
* update message, add some details
* lint
* Apply suggestions from code review
* add some docs
* Update packages/svelte/src/compiler/phases/3-transform/utils.js
* Update .changeset/famous-parents-turn.md
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
10 months ago
Rich Harris
2e57612ef4
chore: fix typo ( #14513 )
10 months ago
Simon H
b72fd2b3cd
fix: ignore TypeScript generics on variables ( #14509 )
...
fixes #14505
10 months ago
github-actions[bot]
a091fb5ce6
Version Packages ( #14501 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
a283083751
feat: each without as ( #14396 )
...
* feat: each without as
WIP
closes #8348
* properly
* docs
* changeset
* real world demo
* simplify
* typo
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
a39605ec7a
Version Packages ( #14499 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Rich Harris
ef640c3b46
fix: render attributes during SSR regardless of case ( #14492 )
...
fixes part of #14479
10 months ago
Rich Harris
83cec2f3d1
chore: better SSR output for <svelte:element> ( #14493 )
10 months ago
Rich Harris
1f25bd4f47
fix: correctly prune CSS for elements inside snippets ( #14494 )
...
fixes #14483
10 months ago
github-actions[bot]
99b4cfbb51
Version Packages ( #14489 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
ComputerGuy
945b625e95
fix: Prevent `$state` `bigint`s incrementing and decrementing from throwing ( #14485 )
...
* Fix `$.update` and `$.update_pre` for bigints
* resolve conflicts
* fix some things
* fix thing i definitely didn't just break
* hopefully this will fix it
* fix formatting
* simplify
* style consistency
* simplify
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
fe15ad4ae8
fix: treat spread elements the same as call expressions ( #14488 )
10 months ago
github-actions[bot]
f75a9a566e
Version Packages ( #14486 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
ed7ebcde1e
feat: add error boundaries ( #14211 )
...
* feat: add error boundary support
tweak
tweak again
retry -> reset
tweaks
add tests
tweaks
tweaks
tweaks
more tests
more tests and tweaks
comments
tweak
tweak
tweak
tweak
tweak
* tweak
tweak
tweak
tweak
more fixes
tweak
tweak
more fixes
changeset
* Update packages/svelte/elements.d.ts
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* Update .changeset/polite-peaches-do.md
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* fix issue with rethrowing
* handle fallback error
* handle fallback error
* add more test coverage
* more tests
* more bug fixes
* guard against non-errors
* add component_stack to error
* alternative approach
* remove spread support
* lint
* add to legacy ast
* add to svelte-html
* disallow anything but attributes on the boundary element
* fix error
* more validation
* only create block when necessary
* swap argument order - results in nicer-looking code in many cases
* Update .changeset/polite-peaches-do.md
* simplify a bit
* simplify
* move declaration closer to usage
* push once
* unused
* tweaks
* consistent naming
* simplify
* add a couple newlines
* tweak comments
* simplify
* newlines
* placeholder documentation
* add some docs
* Update packages/svelte/src/internal/client/dom/blocks/boundary.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/dom/blocks/boundary.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/dom/blocks/boundary.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* fix type
* fix link
* explain what happens if onerror throws
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Romain l'Ourson
f2eed15c02
docs: fix scale description ( #14454 )
...
* Fix scale description
* regenerate
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
6dd60b5685
Version Packages ( #14477 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Ben McCann
4c88431228
fix: upgrade to esm-env 1.2.1 to fix issues with non-Vite setups ( #14470 )
...
* fix: upgrade to esm-env 1.2.1 to fix issues with non-Vite setups
* fix (albeit with annoying warnings)
* bundle with conditions to silence noise
* production is probably better
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
00aaad16b2
fix: generate correct code when encountering object expression statement ( #14480 )
...
* bump esrap
* changeset
10 months ago
Rich Harris
a60e837e44
fix: prevent infinite loops when pruning CSS ( #14474 )
...
fixes #14472
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
10 months ago
github-actions[bot]
ca3690f7df
Version Packages ( #14464 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
d62e7bdbe1
fix: ignore text and expressions outside the template when validating HTML ( #14468 )
...
fixes #14466
The logic introduced in #14395 was flawed - not every text or expression outside the template is the child of an attribute. This turns it around: We know that every child of a fragment is inside the template, so we ignore all text/expression tags that are not child of a fragment
10 months ago
Rich Harris
c4ac0e01e7
fix: better account for render tags when pruning CSS ( #14456 )
...
Fixes #14399
Add a mechanism to connect render tags to snippets to know where to walk when coming across render tags
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
10 months ago
github-actions[bot]
dcef8ff45a
Version Packages ( #14451 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
d6fc176fcb
fix: strip exported TypeScript function overloads ( #14458 )
...
fixes #14455
10 months ago
Ben McCann
41e47a4c00
chore: upgrade esm-env for Vite 6 support ( #14460 )
...
* chore: upgrade esm-env for Vite 6 support
* dedupe
---------
Co-authored-by: Conduitry <git@chor.date>
10 months ago
Rich Harris
e9ff665bea
chore: minor css-prune.js tweaks ( #14457 )
10 months ago
Paolo Ricciuti
19d80ad63c
fix: css pruning producing invalid css ( #14448 )
...
* fix: css pruning producing invalid css
* Update .changeset/big-hats-wonder.md
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Ben McCann
4f318e6ad6
chore: remove unused dep and upgrade another one ( #14449 )
10 months ago
Rich Harris
1a8aab0e38
chore: remove `node.parent` and `node.prev` ( #14447 )
...
* make get_possible_element_siblings non-recursive
* treat slots as blocks
* simplify
* simplify
* add test
* changeset
* chore: remove node.parent and node.prev
* simplify
10 months ago
github-actions[bot]
3a6bf1041b
Version Packages ( #14444 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
45417a36ce
fix: addresses memory leak when creating deriveds inside untrack ( #14443 )
...
* fix: addresses memory leak when creating deriveds inside untrack
* fix: addresses memory leak when creating deriveds inside untrack
* changeset
* Update packages/svelte/src/internal/client/reactivity/deriveds.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* fix
* fix
* fix
* comment
* Update packages/svelte/tests/signals/test.ts
* Update packages/svelte/src/internal/client/reactivity/deriveds.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update .changeset/great-crabs-rhyme.md
Co-authored-by: Rich Harris <rich.harris@vercel.com>
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
a6ad5af0bb
fix: disregard TypeScript nodes when pruning CSS ( #14446 )
...
* make get_possible_element_siblings non-recursive
* treat slots as blocks
* simplify
* simplify
* add test
* changeset
10 months ago
Simon H
3fa08d565c
fix: show `:then` block for `null` value ( #14440 )
...
fixes #14439
This bug was introduced in #13642 because setting the input to null means the equality check ("is the input different") fails if you set the value to null
Also fixes #14441 - this bug was present for a long time, and the reason is the same as for the other bug: The equality check always returns "yes this is the same" if the value is undefined initially. The fix is similar; we need to initialize the input to something that can never be equal to whatever value is passed
10 months ago
Simon H
9e9fb2463c
fix: relax parent validation ( #14442 )
...
This reverts #13255 / #13158 , and helps with the validation error part of #14120
If you would have a component like this...
```svelte
<td>hi there</td>
```
...and then render it on the server via our `render` function like this:
```js
const result = render(Main);
```
...then right now you get an error saying that `td` is not valid at this position. But that doesn't seem right, because we should give people the benefit of the doubt: It may very well be that someone renders such a component and then correctly puts it into a `tr` tag themselves on the server (another example is rendering a full html document like in #14120 ).
All the other validation where there's a known parent (X not valid inside Y) is untouched by this.
Doing this as cleanup prior to tackling #13331
10 months ago
Rich Harris
4f0dde5207
chore: simplify css pruning slightly ( #14432 )
10 months ago
Rich Harris
1912459308
chore: initialize snippet binding correctly ( #14430 )
10 months ago
Rich Harris
d2ce0a79ae
remove stylesheet property from state ( #14429 )
10 months ago
github-actions[bot]
2b5c0e791e
Version Packages ( #14383 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
63484aff9b
fix: ensure last empty text node correctly hydrates ( #14425 )
...
* fix: ensure last empty text node correctly hydrates
* fix: ensure last empty text node correctly hydrates
10 months ago
Rich Harris
37e6c7f26b
fix: correctly prune key/each blocks ( #14403 )
...
* fix: correctly prune key blocks
* fix pruning of each blocks
* simplify
* make more explicit
* changeset
* helperise/robustify
10 months ago
Theodor Steiner
e721d96d32
fix: export temporary LegacyComponentType ( #14256 ) ( #14257 )
...
closes #14256
helps TypeScript when generating dts files to not fail
10 months ago
Rich Harris
046900876f
chore: remove references to node.parent ( #14395 )
...
* chore: remove references to node.parent
* types
* add ElementWithPath interface
* put path on analysis.elements instead of metadata
* Revert "put path on analysis.elements instead of metadata"
This reverts commit c0c7ab8bd1
.
* use node.metadata.path
* remove a node.parent usage
* another
* and another, albeit by replacing some bewildering code with some more bewildering code
* make loop idiomatic
* replace some more weirdo code
* simplify
10 months ago
Dominic Gannaway
dd9abea2a1
fix: ensure spread attribute events are attached synchronously ( #14387 )
...
* fix: ensure spread attribute events are attached synchronously
* fix: ensure spread attribute events are attached synchronously
* Update .changeset/rich-worms-burn.md
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* simplify
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
6e391fce59
Version Packages ( #14380 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Paolo Ricciuti
520055cf5c
fix: always use set for private identifiers ( #14378 )
...
* fix: always use set for private identifiers
* we can simplify this further - no need to check the value was transformed, since the outcome of not returning immediately is the same but with extra steps
* add explanatory note
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
85ec6fa276
Version Packages ( #14377 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
9d12fd1a01
chore: remove template expression inlining ( #14374 )
...
* chore: remove template expression inlining
* missed some
* fix
* feedback
* feedback
* Update packages/svelte/src/compiler/phases/3-transform/client/utils.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* fix
* Update .changeset/calm-mice-perform.md
Co-authored-by: Rich Harris <rich.harris@vercel.com>
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
f616c22053
Version Packages ( #14366 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
811c8d32eb
fix: correctly handle srcObject attribute on video elements ( #14369 )
...
* fix: correctly handle srcObject attribute on video elements
* remove side-effect
* side-effects agin
* side-effects agin
* better fix
10 months ago
Frédéric Crozatier
7bd1cdf427
feat: add content-visibility: auto state change event ( #14373 )
...
* add contentvisibilityautostatechange event
* changeset
* Update .changeset/kind-horses-lay.md
* Update .changeset/kind-horses-lay.md
---------
Co-authored-by: Rich Harris <hello@rich-harris.dev>
10 months ago
Simon H
4dfa0e31fe
fix: tighten up `export default` validation ( #14368 )
...
through #14363 I noticed our `export default` validation wasn't quite right:
- missed checking for derived/state exports
- the "cannot have a default export" error was only thrown if you did `export default` from the instance script, but it shouldn't matter from which component part you export it; it's never ok
10 months ago
Simon H
4c98c2e4a6
chore: consolidate checks for never-static attributes ( #14372 )
...
We're using string checks in various places, better to have it encapsulated in one function
10 months ago
Paolo Ricciuti
32a1453805
fix: include method definitions in class private fields ( #14365 )
...
* fix: include method definitions in class private fields
* Update packages/svelte/tests/runtime-runes/samples/class-disabinguate-private-method-definition/_config.js
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Rich Harris
ce471310c4
chore: remove some unused code ( #14363 )
10 months ago
github-actions[bot]
53cc60085e
Version Packages ( #14362 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
747d40833b
fix: ensure is_pure takes into account runes ( #14333 )
...
* fix: ensure is_pure takes into account runes
* feedback
10 months ago
Dominic Gannaway
741106879b
fix: ensure internal cloning can work circular values ( #14347 )
...
* fix: ensure internal cloning can work circular values
* better fixc
* 'original' feels slightly clearer than 'json_instance'
* use an optional parameter, so we can omit it in most cases
* Update packages/svelte/src/internal/shared/clone.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Dominic Gannaway
6e8267f462
fix: correctly update dynamic member expressions ( #14359 )
...
* fix: output template effect for svg xlink attribute
* mark subtree dynamic in MemberExpression visitor
* don't treat attributes and text nodes differently
* Update .changeset/serious-spiders-bake.md
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
Santiago Cézar
012166ec3c
fix: convert input value to number on hydration ( #14349 )
...
* convert input value to number on hydration
* add test
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
b145035a00
Version Packages ( #14348 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
1c454c236e
fix: ensure dynamic call expressions correctly generate output ( #14345 )
10 months ago
github-actions[bot]
396ea2ef37
Version Packages ( #14328 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Dominic Gannaway
3a69b4c415
fix: ensure inline object literals are correctly serialised ( #14325 )
...
* fix: ensure inline object literals are correctly serialised
* Apply suggestions from code review
* address feedback
* address feedback
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
95ab85fad7
Version Packages ( #14304 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
94471ca38e
fix: avoid relying on Node specifics within compiler ( #14314 )
...
fixes #14294
10 months ago
Paolo Ricciuti
1f0700f5c5
fix: mark subtree dynamic for img with loading attribute ( #14317 )
...
* fix: mark subtree dynamic for img with loading attribute
* chore: unify conditions
* chore: change conditions
10 months ago
Simon H
efc65d4e0c
fix: mark pseudo classes nested inside `:not` as used ( #14303 )
...
fixes the css bug part of #14299
10 months ago
Simon H
e379319626
fix: ensure props passed to components via mount are updateable ( #14210 )
...
The detection whether or not props are writable is buggy; it doesn't take into account the case when instantiating components via `mount` or legacy-`new`
Fixes #14161
This posed an interesting question: What to do about (non-)`bind:`able properties? The answer I arrived on was: Treat it as if everything that _can_ be bound _is_ treated as bound, and everything else as readonly. In other words, if you're reassigning a prop, it will diverge from the passed in props if it's not bindable or not set in the parent, otherwise it will mutate the passed in props. I think that makes the most sense, given that you can't control this behavior from the outside.
10 months ago
Dominic Gannaway
7fd3774015
fix: disallow invalid attributes for `<svelte:window>` and `<svelte:document>` ( #14228 )
10 months ago
github-actions[bot]
312dd51acc
Version Packages ( #14302 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Paolo Ricciuti
8a8e6f70e8
fix: avoid marking subtree as dynamic for inlined attributes ( #14269 )
...
* fix: avoid marking subtree as dynamic for inlined attributes
* fix: i'm a silly goose 🪿
* chore: refactor `is_inlinable_expression` to accept the attribute
* feat: inline dom expression too
* fix: special case literals with `"` in it and fix standalone case
* chore: simpler check first
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
* typo
* add more stuff to snapshot test
* simplify/speedup by doing the work once, during analysis
* simplify
* simplify - no reason these cases should prevent inlining
* return template
* name is incorrect
* name is incorrect
* fix escaping
* no longer necessary
* remove obsolete description
* better concatenation
* fix test
* do the work at runtime
* fix another thing
* tidy
* tidy up
* simplify
* simplify
* fix
* note to self
* another
* simplify
* more accurate name
* simplify
* simplify
* explain what is happening
* tidy up
* simplify
* better inlining
* update test
* colocate some code
* better inlining
* use attribute metadata
* Update packages/svelte/src/compiler/phases/2-analyze/visitors/Identifier.js
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
* Apply suggestions from code review
---------
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
10 months ago
github-actions[bot]
6a7146bee7
Version Packages ( #14287 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Simon H
320ebd24d8
fix: bump `is-reference` dependency to fix `import.meta` bug ( #14286 )
...
closes #14234
10 months ago
Simon H
45fa678242
fix: account for `:has(...)` as part of `:root` ( #14229 )
...
We previously marked all `:root` selectors as global-like, which excempted them from further analysis. This causes problems:
- things like `:not(...)` are never visited and therefore never marked as used -> we gotta do that directly when coming across this
- `:has(...)` was never visited, too. Just marking it as used is not enough though, because we might need to scope its contents
Therefore the logic is enhanced to account for these special cases. Fixes #14118
While fixing this I cleaned up some inconsistencies in what we mark as global. This simplified code and fixed some adjacent bugs, which conindicentally also fixes #14189
10 months ago
Rich Harris
ac9b7de058
fix: use strict equality for key block comparisons in runes mode ( #14285 )
...
fixes #14283
10 months ago
Dominic Gannaway
25d9aa1828
chore: simplify signal capturing logic ( #14281 )
10 months ago
github-actions[bot]
f5a7d49216
Version Packages ( #14274 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Torsten Dittmann
033061842d
fix: named slots with reserved keywords during migration ( #14278 )
...
Fixes named slots with a reserved keyword not working anymore after migration. Re-uses the @migration-task logic for invalid identifiers.
Fixes #14277
10 months ago
Simon H
36ece1c381
fix: don't wrap pseudo classes inside `:global(...)` with another `:global(...)` ( #14267 )
...
fixes #14088
10 months ago
github-actions[bot]
4a85c4157d
Version Packages ( #14262 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
10 months ago
Paolo Ricciuti
0fa43e216d
fix: consider static attributes that are inlined in the template ( #14249 )
...
* fix: consider static attributes that are inlined in the template
* fix: use `is_inlinable_expression`
* fix: move check for inlinable expression as last
* fix: simplify and correct
* chore: accept single node in `is_inlinable_expression`
* chore: update comment
* chore: add snapshots for non static nodes
11 months ago
github-actions[bot]
832499fee8
Version Packages ( #14251 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Paolo Ricciuti
653f4accbd
fix: migration script messing with attributes ( #14260 )
11 months ago
Paolo Ricciuti
ae9f53a3bd
fix: account for mutations in script module in ownership check ( #14253 )
11 months ago
Paolo Ricciuti
7bc94b9984
fix: do not treat reassigned synthetic binds as state in runes mode ( #14236 )
...
* fix: do not treat reassigned synthetic binds as state in runes mode
* fix: avoid calling checks if we are in runes mode
11 months ago
Paolo Ricciuti
d207666ec3
fix: consider img with loading attribute not static ( #14237 )
...
* fix: consider img with loading attribute not static
* chore: add comment for `is_static_element`
* chore: better comment
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
---------
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
11 months ago
github-actions[bot]
4bcd01b994
Version Packages ( #14207 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Paolo Ricciuti
1060bea6e1
fix: consider `valueOf` in the reactive methods of `SvelteDate` ( #14227 )
11 months ago
Paolo Ricciuti
f0c2d4c698
fix: account for shadowing children slot during migration ( #14224 )
...
Fixes #14171
11 months ago
Simon H
31e6bbb646
fix: add `lang="ts"` attribute during migration if needed ( #14222 )
...
* fix: add `lang="ts"` attribute during migration if needed
fixes #14219
* fix
11 months ago
Paolo Ricciuti
438de04fb2
fix: add migration task when there's a variable named that would conflict with a rune ( #14216 )
...
Closes #14215
11 months ago
Simon H
870745fc53
fix: handle sibling combinators within `:has` ( #14213 )
...
We didn't collect sibling elements of a given element to then check the `:has` selectors. This adds the logic for that. Fixes #14072
11 months ago
Paolo Ricciuti
53af138d58
fix: read index as a source in legacy keyed each block ( #14208 )
...
Fixes #14203
11 months ago
Paolo Ricciuti
ea0d80e195
fix: consider variables with synthetic store sub as state ( #14195 )
...
Fixes #14183
11 months ago
Simon H
1eed645919
fix: ensure explicit nesting selector is always applied ( #14193 )
...
Previously, we were applying an explicit nesting selector to the start of a relative selector chain only when starting the traversal. Prepending the selector is important because it ensures we traverse upwards to the parent rule when the current selectors all matched and there's still more to do. But we forgot to do the prepend for parent rules, which meant that if we were nested two levels deep, we would stop too early. This fix ensures we prepend in that case, too.
Fixes #14178
11 months ago
github-actions[bot]
d7caf0833c
Version Packages ( #14184 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
7eb4cb91d7
chore: ensure binding events are without context ( #14194 )
...
* chore: ensure binding events are without context
* doh
11 months ago
Paolo Ricciuti
44a833fafe
fix: restore active reaction if then block throws ( #14191 )
11 months ago
Dominic Gannaway
f1aeaf19e5
feat: adds legacy mode flag ( #14180 )
...
* feat: adds legacy mode flag
* feedback
* feedback and tweaks
* feedback and tweaks
* tweaks
* tweaks
* tweaks
* tweaks
11 months ago
Simon H
9b2a8f15fb
fix: ignore `as` type expressions on property definitions ( #14181 )
...
fixes #14179
11 months ago
github-actions[bot]
c49949621b
Version Packages ( #14167 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Simon H
aa23415179
fix: remove scoping for most `:not` selectors ( #14177 )
...
fixes #14168
This reverts the whole "selectors inside `:not` are scoped" logic. Scoping is done so that styles don't bleed. But within `:not`,everything is reversed, which means scoping the selectors now means they are more likely to bleed. That is the opposite of what we want to achieve, therefore we should just leave those selectors alone.
The exception are `:not` selectors with descendant selectors, as that means "look up the tree" and we need to scope all ancestor elements in that case.
11 months ago
Caique Torres
5077061695
fix: issue with implicit public modifier causing undefined properties ( #14153 )
...
closes #14152
11 months ago
github-actions[bot]
ecc9b97a5b
Version Packages ( #14097 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Rich Harris
927319c139
fix: update links in JSDoc ( #14165 )
11 months ago
Gonzalo Ruiz
e6dd871819
fix: ensure migrate keeps inline/trailing comments in $props type definition and produces non-broken code ( #14143 )
...
* feat[sv migrate]: keep inline/trailing comments when migrating export let types to type definition
* test: add tests for inline comment migration
* chore: add changeset
* fix: migrate trailing multiline comment parsing no longer results in broken code, FIXES PR #14143#issuecomment-2455702689
* test: add migrate test with same-line trailing multiline comments and same-line leading multiline comments
* chore: add changeset
* fix: lint
---------
Co-authored-by: Gonzalo Ruiz <rgon@rgon.es>
Co-authored-by: paoloricciuti <ricciutipaolo@gmail.com>
11 months ago
Simon H
7dbe812fc9
fix: ensure non-matching elements are scoped for `:not(...)` selector ( #13999 )
...
If the contents of a `:not` selector don't match, then it's actually a match for `:not` because it's inverted. Therefore, we need to scope such elements. We're also making sure that contents of `:not` that never match actually count as a used (because the result is negated), and as such the contents of `:not` that always match are actually marked as unused.
Fixes #13974
11 months ago
wackbyte
57e27ae90e
fix: only output the key for each_key_duplicate ( #14147 )
...
Fixes #14146
11 months ago
Simon H
551284ca22
fix: correctly infer `<a>` tag namespace ( #14134 )
...
`<a>` tags are valid in both the SVG and HTML namespace. If there's no parent, we therefore have to look downwards to see if it's the parent of a SVG or HTML element.
fixes #7807
fixes #13793
11 months ago
Paolo Ricciuti
8de5605b6a
fix: prevent migrated snippet from shadow snippet prop ( #14127 )
11 months ago
Paolo Ricciuti
74a2c6b580
fix: migrate multiple declarations with only some exported correctly ( #14126 )
11 months ago
Simon H
00f5b14d40
docs: fix description ( #14109 )
...
Since Svelte 5, comments are also preserved on the client
11 months ago
Simon H
4ec9986cba
fix: check options namespace for top level `svelte:element`s ( #14101 )
...
We were checking it for nested elements, but not root elements
fixes #13875
11 months ago
Dominic Gannaway
9883e7078c
fix: ensure SvelteMap and SvelteSet work with generators in dev ( #14103 )
...
* fix: ensure SvelteMap and SvelteSet work with generators in dev
* add test
* better fix
* better fix
* better fix
* better fix
11 months ago
Conduitry
535ea44b9d
chore: replace non-breaking spaces ( #14098 )
...
* replace nbsp in docs
* replace nbsp in test
* replace nbsp in types
* regenerate types
11 months ago
Simon H
e7d68d8c10
fix: pass along `anchor` in legacy class wrappers ( #14100 )
...
fixes #13832
11 months ago
Dominic Gannaway
a315a14939
fix: ensure video elements autoplay in safari ( #14095 )
11 months ago
Simon H
7d11fa8da2
fix: recognize all custom element prop definitions ( #14084 )
...
We didn't account for the `$props` rune being writtin in a way that makes some props unknown, and they would only be visible through the `customElement.props` definition. This changes the iteration to account for that and also adds a note to the documentation that you need to list out the properties explicitly.
fixes #13785
11 months ago
Rich Harris
6a2c28c590
docs: tweak untrack description, provide an example of usage ( #14085 )
...
* docs: tweak untrack description, provide an example of usage
* link to untrack
* add derived docs too
11 months ago
Conduitry
2ab70041fd
chore: mark markdown output from process-messages as generated ( #13913 )
...
* chore: mark markdown output from process-messages as generated
* regenerate
11 months ago
github-actions[bot]
cf25930512
Version Packages ( #14081 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
58b1540ddc
fix: ensure transitions are applied to nested elements ( #14080 )
11 months ago
github-actions[bot]
b0d255aefe
Version Packages ( #14075 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
2bdc3d401f
fix: ensure compiler statements are correctly included ( #14074 )
...
Fixes #14068 and fixes #14071
11 months ago
github-actions[bot]
3b38bc2a77
Version Packages ( #14052 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Rich Harris
37049b4171
Revert "feat: migrate `Component` to `ComponentExports<typeof Component>` in …" ( #14070 )
...
This reverts commit 4715dfaad2
.
11 months ago
Rich Harris
2784fb19f3
Revert "feat: add `ComponentExports` utility type ( #13441 )" ( #14069 )
...
This reverts commit d93ad3ba1e
.
11 months ago
Simon H
4f80ab6da6
fix: allow `warningFilter` option for `compileModule` ( #14066 )
...
fixes #14012
11 months ago
Paolo Ricciuti
4715dfaad2
feat: migrate `Component` to `ComponentExports<typeof Component>` in TS ( #13656 )
...
Closes #13491
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
11 months ago
FoHoOV
d93ad3ba1e
feat: add `ComponentExports` utility type ( #13441 )
...
Safer/clearer/backwards/forward-compatibale way to reference them
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
11 months ago
Dominic Gannaway
3999fed4ca
fix: ensure each block inert items are disposed of if the each block is also inert ( #13930 )
...
Fixes #13926
11 months ago
Paolo Ricciuti
e47ee22628
fix: wrap `:id`, `:where``:not` and `:has` with `:global` during migration ( #13850 )
...
Closes #13765
11 months ago
Dominic Gannaway
4a5a0b15d9
fix: ensure onMount correctly fires when new expressions are used ( #14049 )
...
* fix: ensure onMount correctly fires when used externally
* fix root context
* fix root context
* revert
* alternative fix
11 months ago
Dominic Gannaway
cdec39afac
fix: ensure custom element attribute/prop changes are in their own context ( #14016 )
...
Fixes #13848 .
When we set custom element attributes/props, we should be doing so without the current effect/reaction active. Otherwise, the custom element lifecycle might attach effects/dependencies to the wrong reaction and all manner of things can incorrectly occur
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
11 months ago
Rich Harris
4c6255f8dd
chore: remove unnecessary ternary ( #14045 )
11 months ago
github-actions[bot]
e78ea1d555
Version Packages ( #14047 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
bce1c4898c
fix: ensure child effects are destroyed before their deriveds ( #14043 )
...
* fix: ensure legacy props cache last value when destroyed
* fix runes
* better approach
* better approach
* kill code
* lint
11 months ago
github-actions[bot]
f519b3d7b7
Version Packages ( #14031 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Rich Harris
4157db94c4
fix: correct typo in compiler error messages ( #14044 )
11 months ago
Ahmad S.
224fcde821
fix: preserve the separator between selectors when an unused selector is in between ( #13954 )
...
fixes #13945
11 months ago
Dominic Gannaway
253d01ec29
fix: ensure element effects are executed in the correct order ( #14038 )
11 months ago
Ben McCann
217e40998a
chore: add changeset and comment ( #14040 )
...
for #14026
11 months ago
Simon H
8a2c97a7b8
fix: extend derived/state validation error to indirect exports ( #14039 )
...
Closes #14029
11 months ago
Simon H
1434f48f7c
fix: make compiler error extend from `Error` ( #14036 )
...
We originally didn't extend from `Error` anymore because its fields are of no real value to us, and has problems with serialization in a worker context.
Turns out this was a mistake, because various build tools rely on errors being thrown as something that extends Error, else they try to wrap it in their own error.
We therefore revert that change while still trying to preserve most of the advantages of not extending `Error`, namely nuking the useless stack trace and making sure the message is enumerable.
11 months ago
Simon H
f52a30347f
fix: ensure comma is also pruned if necessary ( #14032 )
...
immediately after merging #14006 I noticed there's a bug when pruning one selector in a list of several; this fixes it
no changeset because not released yet
11 months ago
Dominic Gannaway
435a9c1cd0
fix: ensure toStore subscription correctly syncs latest value ( #14015 )
...
* fix: ensure toStore subscription correctly syncs latest value
* Update packages/svelte/src/store/index-client.js
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
11 months ago
Simon H
0106204982
fix: minify inject CSS in prod mode ( #14006 )
...
When CSS is externalized we rightfully rely on the following tooling chain to properly minify CSS. When we inject the CSS however, that tooling won't be able to do that, so we gotta do it ourselves.
This PR brings back most of that logic that existed in Svelte 4. Fixes #13716
11 months ago
Simon H
2e9dab6a21
fix: more robust re-subscribe detection for `fromStore` ( #13995 )
...
Only count down after timeout, else we would reach 0 before our own render effect reruns, but reach 1 again when the tick callback of the prior teardown runs. That would mean we re-subcribe unnecessarily and create a memory leak because the old subscription is never cleaned up.
11 months ago
Simon H
cbc2ca36ce
fix: allow to pass in TS preference to migration ( #13929 )
...
First half of https://github.com/sveltejs/kit/issues/12880 - the idea is for the migration script to check for a tsconfig.json and then set it to `true` if one is found
11 months ago
Ben McCann
08bc37a374
fix: don't access requestAnimationFrame eagerly ( #14026 )
11 months ago
github-actions[bot]
4441952028
Version Packages ( #13949 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Ben McCann
07219f1cbd
chore: update links that previously pointed to preview site ( #14001 )
11 months ago
Ben McCann
c93a645b68
docs: fix broken links ( #13944 )
11 months ago
Paolo Ricciuti
b6fccdb4f7
fix: properly migrate imports types prefixed with $ ( #14007 )
11 months ago
Dominic Gannaway
3876b302f3
fix: ensure effect_tracking correctly handles tracking reactions ( #14005 )
...
* fix: ensure effect_tracking correctly handles tracking reactions
* fix: ensure effect_tracking correctly handles tracking reactions
11 months ago
Richard Smith
e99e865291
docs: update links to point to new site ( #13986 )
...
Update (some) of the links pointing to the old preview site as mentioned in #13982 .
This updates all the links in documentation/ and packages/svelte/messages, but doesn't touch others present in packages/svelte/ or fix the original link in that issue.
11 months ago
Paolo Ricciuti
67cf3871b4
fix: more exhaustive check during `SvelteMap.set` in deriveds ( #13951 )
...
* fix: more exhaustive check during `SvelteMap.set` in deriveds
* chore: use set for version reactions
* chore: cleanup
11 months ago
Paolo Ricciuti
12fcc7a35a
fix: trim whitespace while migrating blocks ( #13941 )
...
Co-authored-by: Oscar Dominguez <dominguez.celada@gmail.com>
11 months ago
Paolo Ricciuti
7be3afb3a6
fix: add empty stack to `CompileDiagnostic` to show error on build ( #13942 )
...
* fix: add empty stack to `CompileDiagnostic` to show error on build
* chore: generate types
* chore: make stack optional to make TS happy
* chore: generate types -.-"
* chore: add comment
11 months ago
github-actions[bot]
da1fefcd45
Version Packages ( #13920 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
83a5eaac8e
fix: skip comment nodes in snippet validation logic ( #13936 )
11 months ago
Dominic Gannaway
37fa34c4ad
fix: ensure value is correctly set to zero on the progress element ( #13924 )
...
* fix: ensure value is correctly set to zero on the progress element
* fix: ensure value is correctly set to zero on the progress element
* fix: ensure value is correctly set to zero on the progress element
11 months ago
Dominic Gannaway
1e6cf1bb40
fix: ensure bind:group works as intended with proxied state objects ( #13939 )
11 months ago
Dominic Gannaway
7bbaedd6c7
fix: rethrow errors from await block if no catch block exists ( #13819 )
...
* chore: highlight swallowed errors from await blocks in DEV
* chore: highlight swallowed errors from await blocks in DEV
* chore: highlight swallowed errors from await blocks in DEV
* lint
* feedback
* feedback
* add test
* Update packages/svelte/tests/runtime-runes/samples/await-no-catch-error/main.svelte
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
11 months ago
Simon H
81f9bdd376
fix: remove metadata from legacy AST ( #13927 )
...
Besides being private API that shouldn't be exposed, they caused our AST explorer on the Svelte site to traverse endlessly
fixes https://github.com/sveltejs/svelte.dev/issues/480
11 months ago
Dominic Gannaway
441124c5c7
fix: ensure SVG element attributes have case preserved ( #13935 )
...
* fix: ensure SVG element attributes have case preserved
* fix: ensure SVG element attributes have case preserved
* fix: ensure SVG element attributes have case preserved
11 months ago
Matthew Carroll
1a6a3e7ebd
fix: typo in `Action` types ( #13874 )
...
* typo: HTMLDiveElement
* regenerate types
* add changeset
---------
Co-authored-by: Conduitry <git@chor.date>
11 months ago
github-actions[bot]
1ee2ac4d05
Version Packages ( #13888 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Paolo Ricciuti
b63fde3b75
fix: prevent migration script from adding `props.` to the `export let` identifier ( #13899 )
11 months ago
Paolo Ricciuti
3147287813
fix: prevent var name clashing for delegated events without params ( #13896 )
11 months ago
adiGuba
d0177711b1
fix : Rapidly toggling element with out: transition causes incorrect node removal ( #13884 )
...
* set onfinish to null to fix a rare bug
* replace null by noop
11 months ago
Dominic Gannaway
42ccdc1023
fix: ensure snippets after empty text correctly hydrate ( #13870 )
11 months ago
Dominic Gannaway
771b1e8905
fix: enable bound store props in runes mode components ( #13887 )
...
* fix: enable bound store props in runes mode components
* add some JSDoc, since it could be a headscratcher for future us
* make it clear that this is specifically about bindings
* skip intermediate value
* tweak other names too
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
11 months ago
Dominic Gannaway
4cf2d4a904
fix: ensure each block references to imports are handled correctly ( #13892 )
11 months ago
adiGuba
59ff7f1e88
fix: date test fail for some timezone ( #13889 )
...
* fix test for some timezone
* lint
11 months ago
Dominic Gannaway
5a54ad9cc7
fix: ensure SvelteMap reactivity persists through deriveds ( #13877 )
...
* fix: ensure SvelteMap reactivity persists through deriveds
* fix: ensure SvelteMap reactivity persists through deriveds
* fix: ensure SvelteMap reactivity persists through deriveds
11 months ago
github-actions[bot]
041e563466
Version Packages ( #13863 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
adiGuba
7c7fd6518f
feat: Little improvement to set_style() ( #13836 )
...
* improvement to set_style()
* add __styles to Element prototype
11 months ago
Simon H
b979c291e2
fix: properly traverse children when checking matches for `:has` ( #13866 )
...
The previous algorithm didn't take control flow blocks etc into account, this fixes that. Fixes #13860
11 months ago
Paolo Ricciuti
04c38b089f
fix: allow binding to const with spread in legacy mode ( #13849 )
11 months ago
Dominic Gannaway
4fbd2a6f10
fix: ensure props internally untracks current_value on sets ( #13859 )
...
* fix: ensure props internally untracks current_value on sets
* Update packages/svelte/src/internal/client/reactivity/props.js
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
11 months ago
Dominic Gannaway
60dcffb856
fix: internally wrap store subscribe in untrack ( #13858 )
...
* fix: internally wrap store subscribe in untrack
* lint
* Update packages/svelte/src/store/utils.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
11 months ago
github-actions[bot]
af4d105cd3
Version Packages ( #13757 )
...
* Version Packages
* Update packages/svelte/CHANGELOG.md
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
11 months ago
Simon H
44c8889291
chore: tweak MountOptions docs ( #13841 )
...
A few wording tweaks, and most importantly mark `events` as deprecated - we don't want to encourage its use.
11 months ago
Dominic Gannaway
d621f59642
feat: allow usage of getContext() within $derived runes ( #13830 )
...
Closes #13493 .
This PR allows the usage of getContext() inside $derived runes. Previously, you could use it, but only on init and not updates – and this inconsistency was unnecessary. We can make it work just like we do in other places.
11 months ago
Simon H
5669b31fe6
fix: ensure `:has` selectors followed by other selectors match ( #13824 )
...
I resisted this previously because it felt a bit wasteful, but I now think that there's really no way around this: Instead of only going upwards the tree while matching, for `:has` we go _down_ the tree to see what matches. More specifically, we're collecting the children of the current element and then check if one of those does match the selectors inside `:has`.
This makes the way the code works easier to reason about and also removes some boolean tracking we had to add for the previous approach.
Fixes #13779
11 months ago
Simon H
c603553e89
docs: fix ComponentProps info ( #13827 )
...
* docs: fix ComponentProps info
closes #13770
* fix
11 months ago
Dominic Gannaway
17cb462ca4
fix: ensure muted DOM property works correctly in FF ( #13751 )
...
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
11 months ago
Francesco Zanini
185e112377
fix: property name conversion in custom transitions ( #13820 )
11 months ago
Ben McCann
0b178cecce
chore: update all learn.svelte.dev links and a couple of others ( #13803 )
11 months ago
José Pablo Ramírez Vargas
95980d1f08
feat: Define the MountOptions type ( #13674 )
...
* feat: Define the MountOptions type
* Revert "feat: Define the MountOptions type"
This reverts commit bd3596fcba
.
* feat: Define the MountOptions type
* chore: Add changeset
* lint
* lint
---------
Co-authored-by: Dominic Gannaway <dg@domgan.com>
11 months ago
Paolo Ricciuti
b6a67e85b4
fix: prevent spread attribute from overriding class directive ( #13763 )
11 months ago
Dominic Gannaway
de609ec34c
fix: ensure $effect.tracking returns false inside transition functions ( #13775 )
11 months ago
Paolo Ricciuti
8ff2af52d3
fix: show filename information in `legacy_recursive_reactive_block` ( #13764 )
11 months ago
Paolo Ricciuti
41d61c7a37
fix: properly migrate ts with inferred type comments ( #13761 )
...
Closes #13747
11 months ago
Paolo Ricciuti
9832c639e5
fix: migrate default slots to children snippet ( #13760 )
...
Closes #13758
11 months ago
Paolo Ricciuti
d1cac703c0
fix: don't print errors on migration errors ( #13754 )
...
makes it look like the migration script failed when in reality you need to update some of your files by hand
11 months ago
github-actions[bot]
ae8f50fd6a
Version Packages ( #13742 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Simon H
a6e416da8c
fix: mark `:has` selectors with multiple preceding selectors as used ( #13750 )
...
Fixes #13717
There are two parts to this:
1. the parent selectors weren't passed along for the check inside `:has`, which in case of a leading combinator would mean it would always count as unused
2. In case if a selector like `x > y:has(z)`, the prior logic would correctly determine that for element `z` there's a match for the `:has` selector, by first checking its contents and then walking up the tree. But after it did that, it would try to walk up the tree once more, which is a) wasteful b) buggy because the tree walking mechanism would no longer be adjusted for the `:has` special case, resulting in false negatives. To fix that, the `:has` will return a new value from the function, signaling that it already fully checked the upper selectors, and so the function calling it will skip doing that.
11 months ago
Rich Harris
fd78385447
chore: restructure docs for new site ( #13699 )
11 months ago
adiGuba
ad578a5da5
fix: @debug does not work with proxied-state ( #13690 )
...
* fix: @debug must use $state.snapshot() on value
* changeset
* add test
---------
Co-authored-by: Dominic Gannaway <dg@domgan.com>
11 months ago
Simon H
28c8d2b95d
fix: do not comment out unused selectors that are inside an unused selector ( #13746 )
...
fixes #13680
11 months ago
Simon H
2efae794b8
fix: add more robust check for `Element` prototype ( #13744 )
...
fixes #13691
fixes #13414
fixes #13726
11 months ago
Simon H
a08f063b37
fix: more accurately detect `$derived` migration use cases ( #13740 )
...
- detect store mutations and not use `$derived` in that case, fixes #13723
- better detect `let x` that can be folded into `$derived`, fixes #13727
---------
Co-authored-by: ComputerGuy <63362464+Ocean-OS@users.noreply.github.com>
11 months ago
Simon H
8a06d051e8
fix: do not add jsdoc if no types found ( #13738 )
...
fixes #13417
fixes #13724
11 months ago
Dominic Gannaway
be02b7e54c
event_context ( #13737 )
11 months ago
github-actions[bot]
fb052be96e
Version Packages ( #13736 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Simon H
8251bae8db
fix: better children snippet / default slot interop ( #13734 )
...
- correctly assign children snippet to default slot, fixes #13067
- allow `svelte:fragment` without `let:` directives to be rendered by `@render children()`, fixes #13066
11 months ago
Florent BENOIT
d0bfd22bef
fix: webview can contain any string for preload ( #13733 )
...
fixes #13661
11 months ago
github-actions[bot]
41b5cd6f5d
Version Packages ( #13720 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
ed6d7eeb48
wrap-transition-events ( #13719 )
11 months ago
github-actions[bot]
0581e334a0
Version Packages ( #13704 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Paolo Ricciuti
e43176906f
fix: don't blank css on migration error ( #13703 )
11 months ago
github-actions[bot]
c73c683ecd
Version Packages ( #13702 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Paolo Ricciuti
6ad017ffc5
fix: use typedef for JSDoc props and maintain comments ( #13698 )
...
* fix: use typedef for JSDoc props and maintain comments
* chore: add comments
* chore: add extra spaces and delete commented line
11 months ago
Rich Harris
663a3ca550
update version.js
11 months ago
pngwn
7691521dc1
major bump - svelte 5 ( #13701 )
11 months ago
github-actions[bot]
0fdfd9c50c
Version Packages (next) ( #13696 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
2ca9a81679
fix: ensure user effects are correctly executed on initialisation ( #13697 )
11 months ago
Dominic Gannaway
ae10f4d37c
breaking: state mutations inside the template are no longer allowed ( #13660 )
...
* breaking: state mutations inside the template are no longer allowed
* fix test
* fix test
* lint
* update error message
* fix test
11 months ago
github-actions[bot]
966a6bda05
Version Packages (next) ( #13695 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
a577ce08c6
chore: ensure effect destruction of deriveds is consistent ( #13693 )
...
* chore: ensure effect destruction of deriveds is consistent
* chore: ensure effect destruction of deriveds is consistent
11 months ago
Dominic Gannaway
bb491f1229
fix: avoid chromium issue with dispatching blur on element removal ( #13694 )
...
* fix: avoid chromium issue with dispatching blur on element removal
* fix: avoid chromium issue with dispatching blur on element removal
* fix: avoid chromium issue with dispatching blur on element removal
* active effect too
* try/finally
11 months ago
github-actions[bot]
793a8de06e
Version Packages (next) ( #13650 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Paolo Ricciuti
18c5a5ba2d
fix: bail out if slot name changes and $$slots assigned to variable ( #13678 )
11 months ago
Paolo Ricciuti
ab9eeb46fe
fix: migrated snippet shadowing prop and let directive removal ( #13679 )
11 months ago
Dominic Gannaway
894b1c37ad
chore: CompileDiagnostic no longer extends Error ( #13651 )
11 months ago
Dominic Gannaway
61391c8704
fix: ensure migrate correctly handles named slots ( #13676 )
...
* fix: ensure migrate correctly handles named slots
* tweak
* fix
11 months ago
Dominic Gannaway
c9d85c2d52
fix: migrate reactive statements with inner blocks ( #13675 )
11 months ago
Dominic Gannaway
f398929fdd
fix: correct migration of uninitialised state ( #13673 )
...
* fix: correct migration of uninitialised state
* better fix
11 months ago
Paolo Ricciuti
0598f2bbe1
fix: reset `reset_element` in `render` to prevent runtime error ( #13669 )
11 months ago
Paolo Ricciuti
9f930f4e9b
feat: tell users of `@migration-task` ( #13668 )
11 months ago
Paolo Ricciuti
969e6aa750
feat: add `migration-task` for impossible to migrate slots ( #13658 )
...
* feat: add `migration-task` for impossible to migrate slots
* Update packages/svelte/src/compiler/migrate/index.js
Co-authored-by: Paolo Ricciuti <ricciutipaolo@gmail.com>
* Update packages/svelte/tests/migrate/samples/slot-non-identifier/output.svelte
Co-authored-by: Paolo Ricciuti <ricciutipaolo@gmail.com>
* Update packages/svelte/tests/migrate/samples/slot-non-identifier/output.svelte
Co-authored-by: Paolo Ricciuti <ricciutipaolo@gmail.com>
* Update packages/svelte/tests/migrate/samples/slot-non-identifier/output.svelte
Co-authored-by: Paolo Ricciuti <ricciutipaolo@gmail.com>
* Update packages/svelte/tests/migrate/samples/slot-non-identifier/output.svelte
Co-authored-by: Paolo Ricciuti <ricciutipaolo@gmail.com>
---------
Co-authored-by: Dominic Gannaway <trueadm@users.noreply.github.com>
11 months ago
Paolo Ricciuti
0dcd4f6c6e
feat: add `migration-task` comment after errors ( #13659 )
11 months ago
Paolo Ricciuti
b352f08e9d
fix: migrating rest props type includes props types ( #13632 )
...
* fix: rest props type includes props types
* chore: remove extra line
* Update .changeset/spotty-kings-hug.md
11 months ago
github-actions[bot]
d7cf76bbb6
Version Packages (next) ( #13640 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
193cc37f7a
fix: correctly applies autofocus to static elements ( #13648 )
...
* fix: correctly applies autofocus to static elements
* lint
* fix other case
11 months ago
Dominic Gannaway
e21e624fff
chore: avoid reporting inspections when an exception occurs ( #13601 )
...
* chore: avoid reporting inspections when an exception occurs
* add test
* revise
11 months ago
adiGuba
bb245445fc
fix : $.component() break transition ( #13646 )
...
* $.component() must use EFFECT_TRANSPARENT
* changeset
* Update .changeset/eight-pans-worry.md
---------
Co-authored-by: Dominic Gannaway <trueadm@users.noreply.github.com>
11 months ago
Dominic Gannaway
139114bdcb
fix: ensure legacy run utility does not cause cycles ( #13643 )
...
* fix: ensure legacy run utility does not cause cycles
* add warning
* add warning
* lint
* feedback
* lint
* lint
11 months ago
Frédéric Crozatier
ffa2af7549
fix: `method` is case insensitive ( #13639 )
...
* fix method
* changeset
11 months ago
Paolo Ricciuti
372884cf99
fix: use `internal_set` in `await` block ( #13642 )
11 months ago
Paolo Ricciuti
440017d442
fix: better migration for leading and trailing comments ( #13630 )
11 months ago
github-actions[bot]
f579a3ba7d
Version Packages (next) ( #13627 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Frédéric Crozatier
53ae2b8170
breaking: stronger enumerated types ( #13624 )
...
* dir
* as
* http-equiv
* kind
* preload
* shape
* scope
* method
* enctype
* template
* writingsuggestions
* autocapitalize
* autocapitalize is standard
* autocorrect
* changeset
11 months ago
Dominic Gannaway
2070c8a166
breaking: disallow state mutations in logic block expression ( #13625 )
11 months ago
Dominic Gannaway
7429854383
chore: improve runtime performance of derived signals ( #13626 )
11 months ago
github-actions[bot]
99c744adbe
Version Packages (next) ( #13621 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
11 months ago
Dominic Gannaway
75fecf82a6
fix: ensure each block consistency to internal mutations to the collection ( #13614 )
...
* fix: ensure bind_checked defers mutation to ensure reactive graph stability
* better fix
* better fix
* better fix
* better fix
* lint
* simplify
11 months ago
Dominic Gannaway
ed790ee166
fix: ensure await block scope transforms are isolated ( #13622 )
11 months ago