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
1 year ago
Rich Harris
26c6d6f95d
chore: avoid creating unnecessary thunks ( #9841 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
Dominic Gannaway
8dfb2894b4
fix: improve each key animations ( #9842 )
1 year ago
Dominic Gannaway
08d93a2f5f
fix: improve each block with animate ( #9839 )
1 year ago
Dominic Gannaway
388e3e68fc
fix: improve signal consumer removal logic ( #9837 )
1 year ago
Dominic Gannaway
e2dcdc2887
fix: ensure computed props are wrapped in derived ( #9835 )
1 year 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>
1 year ago
Rich Harris
b20b4617c0
chore: rethink props ( #9826 )
...
Cleaned up prop_source and renamed it to prop. Updated tests accordingly
1 year ago
github-actions[bot]
384e3a42b3
Version Packages (next) ( #9807 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Rich Harris
481df0e64a
fix: correctly apply scope on component children ( #9824 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year 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>
1 year 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
1 year ago
Simon Holthausen
dcdd645480
fix: adjust children snippet default type
...
Needs to be void so that zero args are passed to it
fixes #9744
1 year 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
1 year ago
Dominic Gannaway
d5167e75b9
fix: improve non state referenced warning ( #9809 )
...
* fix: improve non state referenced warning
* add test
1 year ago
Dominic Gannaway
d793d570e2
fix: improve consistency issues around binding invalidation ( #9810 )
...
* co
* Add comment
1 year ago
Simon H
3c2e656187
fix: tweak css nth regex ( #9806 )
...
fixes #9795
1 year ago
github-actions[bot]
f552a4b2ea
Version Packages (next) ( #9771 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Dominic Gannaway
e6b5ccd29a
fix: tweak invalid dollar prefix rules around function args ( #9792 )
1 year 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>
1 year 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>
1 year 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>
1 year 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>
1 year 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>
1 year 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
1 year ago
Dominic Gannaway
25abca78b2
fix: ensure transitions properly cancel on completion ( #9778 )
1 year ago
Simon H
ef158ff729
fix: apply event attribute validation to elements only ( #9772 )
...
fixes #9755
1 year 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>
1 year ago
github-actions[bot]
e4056107f0
Version Packages (next) ( #9753 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Dominic Gannaway
f0c47c31bc
fix: allow duplicate snippet declaration names ( #9759 )
...
Fixes #9756
1 year 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
1 year ago
Dominic Gannaway
2017af407d
fix: ensure computed props are cached with derived ( #9757 )
...
Fixes #9751
1 year 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
1 year ago
github-actions[bot]
61e5e53eee
Version Packages (next) ( #9736 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Rich Harris
765d01d76c
correctly inspect derived values ( #9731 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
github-actions[bot]
1108587f1b
Version Packages (next) ( #9707 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Dominic Gannaway
2fa06447cf
fix: improve template text node serialization ( #9722 )
...
fix: improve template text node serialization
1 year ago
Dominic Gannaway
7eba35b9d1
fix: improve infinite loop capturing ( #9721 )
1 year ago
Simon H
cb1ea1f2db
fix: ensure `$$slots` exists in runes mode ( #9718 )
...
fixes #9683
1 year ago
Simon H
4a8f0bc7e7
fix: keep fallback value after spread update not setting that prop ( #9717 )
...
fixes #9716
1 year ago
Simon H
65fa717ccd
fix: port over props that were set prior to initialization ( #9704 )
...
Svelte 5 version of #9701
1 year ago
Dominic Gannaway
2e461eb314
chore: remove redundant hydration code ( #9698 )
1 year ago
Simon H
e3dc185a4c
fix: tweak const tag parsing ( #9715 )
...
fixes #9711
1 year ago
Simon H
f88895e955
fix: allow `bind:this` with dynamic type on inputs ( #9713 )
...
fixes #9709
1 year ago
Simon H
1fe0152dd4
fix: delegate events on elements with bind-this ( #9696 )
...
fixes #9688
1 year ago
Simon H
2416587215
fix: ensure implicit children snippet renders correctly ( #9706 )
...
place anchors around render tags, not snippet tags
fixes #9678
1 year 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>
1 year ago
github-actions[bot]
3e3ae925f3
Version Packages (next) ( #9692 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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
1 year 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>
1 year ago
github-actions[bot]
a31b2e1b8e
Version Packages (next) ( #9650 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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>
1 year ago
Ben McCann
2660727a93
chore: tweak changeset ( #9667 )
...
* chore: tweak changeset
* Update .changeset/slimy-clouds-talk.md
* Update seven-ravens-check.md
1 year 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.
1 year 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
1 year 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
1 year 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>
1 year 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
1 year 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
1 year ago
Simon H
83fd001157
fix: prevent reactive snippet from reinitializing unnecessarily ( #9665 )
...
untrack the invocation itself, only track the snippet function
fixes #9652
1 year ago
Rich Harris
405e9da4ff
chore: bump esrap ( #9649 )
...
* bump esrap
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
github-actions[bot]
66d540d3c5
Version Packages (next) ( #9642 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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>
1 year ago
Dominic Gannaway
dee5bed829
fix: improve each block index handling ( #9644 )
...
* fix: improve each block index handling
* format
1 year ago
Dominic Gannaway
02f3f42981
fix: apply keyed validation only for keyed each ( #9641 )
1 year ago
github-actions[bot]
94afdc8a4b
Version Packages (next) ( #9633 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Simon Holthausen
63e5831846
fix: adjust mount and createRoot types
...
they expect the component constructor, not the instance
1 year 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"
1 year 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.
1 year ago
github-actions[bot]
b7af2ffabd
Version Packages (next) ( #9607 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Simon H
78a69acfa1
fix: dont error on stores looking like runes when runes explicitly turned off ( #9615 )
1 year 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
1 year 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>
1 year ago
Yuichiro Yamashita
c7121aa38c
feat: add type of `$effect.active` ( #9624 )
1 year ago
Dominic Gannaway
d8d9be39d3
fix: apply correct snippet scope ( #9623 )
1 year 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>
1 year ago
Dominic Gannaway
c22ebffb00
chore: untrack keyed validation logic ( #9618 )
...
* untrack validation logic
* chore: untrack keyed validation logic
1 year ago
Dominic Gannaway
8118efd115
fix: handle undefined bubble events ( #9614 )
...
Fixes #9610
1 year 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>
1 year ago
github-actions[bot]
d83bd7f7c1
Version Packages (next) ( #9576 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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
1 year ago
Rich Harris
1f4ae5ef45
chore: remove some unused code ( #9593 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
Dominic Gannaway
cf9130613d
feat: add $effect.active rune ( #9591 )
...
* chore: add $effect.active rune
* chore: add $effect.active rune
1 year ago
Rich Harris
fe9c0bc19d
chore: bump esrap ( #9590 )
1 year ago
Dominic Gannaway
eb0b4dc6e5
chore: add inline new class warning ( #9583 )
...
* chore: add inline new class warning
* Address feedback
* address feedback
* more tests
1 year ago
Simon H
1003acccc4
feat: add Snippet type ( #9584 )
...
* feat: add Snippet type
related to #9447
* one more test
1 year ago
Dominic Gannaway
da15806136
fix: adjust event delegation heuristics ( #9581 )
...
Fixes #9561
1 year ago
Rich Harris
1bc89b5eb6
fix: deconflict generated names against globals ( #9570 )
...
fixes #9559
1 year ago
Simon H
617df1f3c3
fix: adjust regex ( #9572 )
...
would error on non-quoted attributes with more than one character
1 year ago
github-actions[bot]
b9664700b7
Version Packages (next) ( #9542 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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>
1 year ago
Dominic Gannaway
bd2a586fea
chore: more transition code-golfing ( #9536 )
1 year ago
github-actions[bot]
699c337908
Version Packages (next) ( #9535 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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
1 year ago
github-actions[bot]
5458ea7735
Version Packages (next) ( #9530 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Dominic Gannaway
b0588d7888
fix: address intro transition bugs ( #9528 )
...
* fix: address intro transition bugs
* fix: address intro transition bugs
1 year ago
Dominic Gannaway
298da65ed6
chore: more signal fine-tuning ( #9531 )
...
* chore: opt for two signal data-structures to reduce memory usage
1 year ago
Dominic Gannaway
bbd1a6c05a
chore: tune signals for better runtime perf ( #9529 )
1 year ago
github-actions[bot]
a36dba7df0
Version Packages (next) ( #9519 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Dominic Gannaway
f886bc133e
fix: handle intro global transition propagation correctly ( #9515 )
...
* fix: stop propagating global intros
* fix: stop propagating global intros
* add test
1 year ago
github-actions[bot]
e0271f0fc7
Version Packages (next) ( #9492 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Dominic Gannaway
3b2e6eac9a
fix: address unowned propagation signal issue ( #9510 )
...
* fix: address unowned propagation signal issue
* Add comments
1 year 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
1 year ago
Simon H
4418ba6535
fix: add top level snippets to instance scope ( #9467 )
...
fixes #9460
1 year 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>
1 year 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>
1 year ago
Rich Harris
ede1edd314
fix: emit useful error on invalid binding to derived state ( #9497 )
...
closes #9495
1 year ago
Tee Ming
37f249350c
allow setting files ( #9463 )
1 year ago
github-actions[bot]
c823dd2efa
Version Packages (next) ( #9481 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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
1 year ago
github-actions[bot]
7e94dee955
Version Packages (next) ( #9431 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year 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
1 year 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>
1 year ago
Dominic Gannaway
455fa8950e
Code golf each transitions ( #9476 )
...
* chore: improve code size of transitions
* Add changeset
1 year 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>
1 year 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>
1 year ago
Simon H
9ef3424732
fix: support class exports ( #9465 )
1 year ago
Paolo Ricciuti
6f3dc04c82
fix: allow member access on directives ( #9462 )
...
fixes #9445
1 year ago
Dominic Gannaway
9eb969ddd4
fix: address bug in before/after update ( #9448 )
...
* fix: address bug in before/after update
fix: address bug in before/after update
* Add changeset
* use every instead of filter - more explicit and enables early-exit from the loop
* Update logic and comment
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
Rich Harris
f5101c0d8c
treat `slot` the same as other props - closes #9455 ( #9457 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
Rich Harris
6f6c3a0787
fix: only escape attribute values for elements, not components ( #9456 )
...
* only escape attribute values for elements, not components - closes #9454
* changeset
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
Paolo Ricciuti
e90ded677e
fix: allow svelte:self in snippets ( #9439 )
...
* fix: allow svelte:self in snippets
* Create funny-wombats-argue.md
1 year ago
Dominic Gannaway
73ae5ef5bc
fix: tighten up event attributes and hoisting logic ( #9433 )
...
- add event delegation to spread_attributes
- add event attributes to spread
- don't delegate when bindings/actions on the same element in order to preserve backwards compatibility of ordering
- don't hoist identifiers when one of them is used in an event that is not delegateable
---------
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
1 year ago
Dominic Gannaway
cf63220a0e
fix: ensure keyed fallback to indexed ( #9441 )
...
Fixes #9408 . Ensures that if we have a key that matches the index, that we fallback to using an indexed each block.
1 year ago
Dominic Gannaway
da37c928ef
fix: support dynamic attributes containing call expressions ( #9443 )
...
Fixes #9403 . We weren't taking into account the containment of call expressions logic before.
1 year ago
Rich Harris
66661eff04
chore: use internal `get_descriptors` helper ( #9389 )
...
* chore: use internal get_descriptors helper
* tweak changeset
* fix bad merge
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
Simon H
7ab03ae36c
fix: add missing files binding ( #9415 )
...
no two-way binding because setting it involves a `DataTransfer` workaround, so it's not really officially supported that way - if you need that, you shouldn't use that binding probably. This matches the behavior in Svelte 4.
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
Simon H
9aa06bdf9e
fix: check that snippet is not rendered as a component ( #9423 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
github-actions[bot]
1fd77d7494
Version Packages (next) ( #9386 )
...
* Version Packages (next)
* Update packages/svelte/CHANGELOG.md
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
1 year ago
Dominic Gannaway
5768df1300
chore: remove selector api ( #9426 )
...
* chore: remove selector api
1 year ago
Dominic Gannaway
17e6c4f834
fix: address runtime effect issues ( #9417 )
...
* Fix runtime effect issues
* Prettier
* Add changeset
* Fix operations
* Update .changeset/khaki-mails-draw.md
* more tweaks
* more tweaks
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
1 year ago
Dominic Gannaway
8798f3b1e7
chore: split $.each into $.each_keyed/$.each_indexed ( #9422 )
...
* Split $.each into $.each_keyed/$.each_indexed
* Add changeset
* Update .changeset/quiet-camels-mate.md
* Fix typo
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
1 year ago
Dominic Gannaway
5a6afe5463
fix: correct each block update index type ( #9425 )
...
* fix: correctly handle index within each block updates
* changeset
1 year ago
Simon H
9a99554379
breaking: remove Component type, keep using SvelteComponent instead ( #9413 )
...
I came to the conclusion that when we're making up arbitrary types, we might as well keep the old class. That way:
- one less thing to worry about (language tools and other tooling basically can continue to spit out SvelteComponent )
- we can more clearly mark $set , the constructor etc as being deprecated and no longer functioning unless you use that legacy compatibility mode
- much more ergonomic to type for the user:
- const someInstance: SvelteComponent<..> instead of const someInstance: ReturnType<typeof Component<..>>
- If you're using generics, you can do export class MyComponent<T> extends SvelteComponent<{ prop: T }> {} instead of having to type out the whole function in a way that I'm not even sure how to do with generics
1 year ago
gtmnayan
7a84e78b4d
fix: add snippet symbol to children prop ( #9395 )
...
* add snippet symbol to children prop
* fix error message for snippet validation
* changeset
1 year ago
Rich Harris
2aacfad9ae
fix: exclude internal props from spread attributes ( #9384 )
...
* exclude internal props from spread attributes
* changeset
* tighten up
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
1 year ago
github-actions[bot]
28b560392b
Version Packages (next) ( #9382 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Simon H
c6c934afb2
chore: cleanup ( #9381 )
...
* lets see if this works
* fix versions
* sigh
* debugging ci is sooo fun
* oh wow
* fix stuff, changelog, add back readme
* appease prettier
* format stuff
1 year ago
Simon Holthausen
b8ea454372
chore: enter changeset prerelease mode
1 year ago
Simon Holthausen
fe8a9ce31d
breaking: init Svelte 5
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Dominic Gannaway <dg@domgan.com>
1 year ago
github-actions[bot]
1369aa5cec
Version Packages ( #9380 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Simon H
2a2a773174
chore: rewire some master occurences ( #9379 )
...
(main for a few in contributing; doesn't exist yet but will, soon)
1 year ago
Kelvin Soh
00700621bb
fix: html tag hydration: regard empty claimed_nodes array as content mismatch ( #9184 )
...
fixes #6832
1 year ago
Ben McCann
895612514c
fix: improve a11y-click-events-have-key-events message ( #9358 )
1 year ago
github-actions[bot]
590503044f
Version Packages ( #9293 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Sina Salahshour
6b9b8af050
fix: ignore comments while comparing nodes in node_match ( #9197 )
...
related to issue #9088
it doesn't solve the main problem of dependencies getting invalidated whenever value of a variable gets changed.
but it fixes the behavior difference between the code with and without comments
1 year ago
vhladko
ab80d9d214
fix: add missing plaintext-only value to contenteditable type ( #9242 )
...
fixes #9181
1 year ago
Simon H
9900c85acf
fix: support camelCase properties on custom elements ( #9328 )
...
while attributes are case insensitive, properties are not. to not introduce a breaking change, the lowercased variant is checked first.
fixes #9325
1 year ago
Ben McCann
052d38158f
chore: upgrade magic-string ( #9292 )
1 year ago
github-actions[bot]
bd5e5eef9b
Version Packages ( #9121 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
gtmnayan
26eb2a2f89
fix: false reactive component warning ( #9094 )
...
fixes #9082
1 year ago
Teo
93b17c85f7
fix: spreading attributes on option value attribute get's replaced by option's inner text ( #9125 )
...
fixes #9107
Apart from the problem with the option the same happens with the textarea.
1 year ago
Teo
228dd4d9d7
fix: svelte:element with dynamic this and spread attributes throws error ( #9112 )
...
fixes #9092
---------
Co-authored-by: gtmnayan <50981692+gtm-nayan@users.noreply.github.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
1 year ago
paulreece
6fe17eabf2
fix: This makes the indeterminate HTML attribute available for use. Fixes #9176 . ( #9180 )
...
Fixes #9176 . This adds indeterminate to the list of HTMLAttributes so that one can use it without receiving an error.
1 year ago
Kelvin Soh
d5a1822428
fix: style directive not updating when style attribute is present and style directive is updated via an object prop. fixes #9185 ( #9187 )
...
fixes #9185 .
I narrowed down the issue to the bug surfacing when we use object properties to update style attributes and directives. This fix removes the size check (because a single object will be of size 1 but can affect n attributes/directives via its properties).
In addition, the order of the OR is switched as the earlier condition has some reactive assignments which are not run in the current order when style_changed_var is truthy.
1 year ago
gtmnayan
115ea1ff4a
fix: do not add module declared variables as dependencies ( #9122 )
...
closes #5943
1 year ago
gtmnayan
d5839ef194
fix: head duplication when binding is present ( #9124 )
...
fixes #7879
fixes #4982
1 year ago
Teo
bd64f07e98
fix: take custom attribute name into account when reflecting property ( #9140 )
...
fixes #9134
1 year ago
gtmnayan
ba1e67844e
fix: css sourcemap generation with unicode filenames ( #9120 )
...
* fix: css sourcemap generation with unicode filenames
* format
1 year ago
github-actions[bot]
50c270a54d
Version Packages ( #9096 )
...
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
1 year ago
Lyu, Wei-Da
05f99d20f9
feat: move svelteHTML to load the correct svelte/element ( #9070 )
...
Make IntrinsicElements extends SvelteHTMLElements
so it can be extend with declare module
converting to module so it can extend without needing another type alias
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
1 year ago
github-actions[bot]
a08ae0f555
Version Packages ( #9037 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
hackape
99a3cc93b6
fix: allow child element with slot attribute within svelte:element ( #9038 )
...
fix #9018
1 year ago
Paolo Ricciuti
a71f3595a3
fix: Add data-* to svg attributes ( #9036 )
...
* Add data-* to svg attributes
* Create twelve-suits-drive.md
1 year ago
github-actions[bot]
6827709373
Version Packages ( #9008 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
hackape
a2b6401c43
fix: `svelte:component` spread props change not picked up ( #9006 )
...
fix #9003 , amend #8946 (comment)
1 year ago
github-actions[bot]
5d66f96d01
Version Packages ( #8928 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 year ago
Nguyen Tran
f8283fbc77
fix: remove let variable from select binding dependencies ( #8969 )
...
Fixes #2943
The issue linked above invalidates a variable that is not defined in <script> but instead is defined as a let: variable, which does not make sense to invalidate, therefore, this PR exists.
1 year ago
Simon H
cb1358cc41
fix: don't add accessor twice ( #8996 )
...
In dev mode, Svelte creates a setter to throw an error noting that you can't set that readonly prop, which resulted in the accessor getting applied twice to the custom element wrapper, causing an error
fixes #8971
1 year ago
Simon H
657f11376c
feat: add ability to extend custom element class ( #8991 )
...
This should help everyone who has special needs and use cases around custom elements. Since Svelte components are wrapped and only run on connectedCallback, it makes sense to expose the custom element class for modification before that.
- fixes #8954 / closes #8955 - use extend to attach the function manually and save possible values to a prop
- closes #8473 / closes #4168 - use extend to set the proper static attribute and then call attachInternals in the constructor
- closes #8472 - use extend to attach anything custom you need
- closes #3091 - pass `this` to a prop of your choice and use it inside your component
- add some doc for #8987
1 year ago
Ben McCann
4bbb5454e2
perf: optimize imports that are not mutated or reassigned ( #8948 )
...
this means such imports are seen as static and subsequently Svelte needs to generate way less code
1 year ago
gtmnayan
20dac2ae12
fix: handle patterns in destructured literals ( #8871 )
...
fixes #8863
---------
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
1 year ago
Nguyen Tran
66593c62f4
fix: svelte:component evaluates props once ( #8946 )
...
Fixes #6634
1 year ago
github-actions[bot]
3ff0084dc3
Version Packages ( #8925 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
Lyu, Wei-Da
0a2732a2b0
fix: generate type definition with nullable types ( #8924 )
...
This results in `undefined` and `null` being added explicitly in places which is crucial in some situations
2 years ago
github-actions[bot]
a12643cbb8
Version Packages ( #8911 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
Simon H
136aebd8eb
fix: repair invalid raw html content during hydration ( #8912 )
...
When the HTML that is coming from raw html is invalid, the browser reshuffles things. Bail in that case to try to repair more often. Should help with https://github.com/withastro/astro/issues/7557
2 years ago
Simon H
35221c8811
fix: claim svg tags in raw mustache tags correctly ( #8910 )
...
fixes #8904
2 years ago
github-actions[bot]
800f6c076b
Version Packages ( #8902 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
Simon H
8de9dc6144
fix: handle falsy srcset values ( #8901 )
...
fixes #8899
2 years ago
github-actions[bot]
ae752c9693
Version Packages ( #8877 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
Simon H
0aa03df086
fix: reflect all custom element prop updates back to attribute ( #8898 )
...
fixes #8879
2 years ago
Simon H
4b3eb72346
fix: shrink custom element baseline a bit ( #8858 )
...
- use shorter class property names as they are not minified
- reuse some dom helper methods
#8826
2 years ago
Simon H
d2ff04f9fe
fix: use non-destructive hydration for all `@html` tags ( #8880 )
...
html tags that could be optimized to use innerHTML in mount ignored any hydration code, which leads to everything getting unmounted and mounted again. This takes the non-optimized path for hydration, too.
fixes https://github.com/sveltejs/kit/issues/10245
2 years ago
Simon H
1a3e50b6b7
fix: check srcset when hydrating to prevent needless requests ( #8868 )
...
---------
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
2 years ago
L
270cfce065
chore: adding default for disclose version ( #8874 )
2 years ago
github-actions[bot]
90860550ae
Version Packages ( #8855 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
Simon H
b0a3fa1766
fix: ensure createEventDispatcher and ActionReturn work with generic function types ( #8872 )
...
fixes #8860
This contains a small but unfortunately unavoidable breaking change: If you used `never` to type that the second parameter of `createEventDispatcher` shouldn't be set or that the action accepts no parameters (which the docs recommended for a short time), then you need to change that to `null` and `undefined` respectively
2 years ago
Simon H
1cfed0bf29
fix: relax a11y "no redundant role" rule for li, ul, ol ( #8867 )
...
fixes #8854
2 years ago
hackape
876f894c64
fix: apply transition_in/out to svelte:element with local transition ( #8865 )
...
fixes #8233
2 years ago
Simon H
2b9b99bd35
fix: remove tsconfig.json from published package ( #8859 )
...
fixes #8839
2 years ago
Nguyen Tran
3576c7443e
fix: Make sure 'func' doesn't clash with destructured contexts ( #8840 )
...
Fixes : #8753
2 years ago
github-actions[bot]
0596c4797d
Version Packages ( #8799 )
...
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
2 years ago
Simon Holthausen
5d301aafb9
chore: exit prerelease mode
2 years ago
github-actions[bot]
82cc48390c
Version Packages (next) ( #8772 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
Simon H
ef1b98f9d9
fix: account for sourcemap in meta info ( #8778 )
...
We need to use a different method for getting the meta info because `locate` is used to help construct the source map that references the preprocessed Svelte file. If we would now add source maps to that `locate` function it would go the the original source directly which means skipping potentially intermediate source maps which we would need in other situations. Sadly we can't map the character offset because for that we would need to the original source contents which we don't have in this context.
fixes #8360
closes #8362
2 years ago
gtmnayan
5702142d9e
feat: attach Svelte major version info to window global ( #8761 )
...
Can be opt out by setting discloseVersion to false
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
2 years ago
gtmnayan
03942162f8
chore: deindent cjs output for compiler ( #8785 )
...
makes package size a tiny bit smaller
2 years ago
Simon H
203490c3e4
breaking: use `CustomEvent` constructor instead of deprecated `createEvent` method ( #8775 )
...
closes #8474
2 years ago
Simon Holthausen
963cbcdb06
chore: adjust changeset config
2 years ago
gtmnayan
914529fa76
feat: smaller destructor chunk ( #8763 )
...
technically a breaking change because someone with a mutation observer could rely on the order of operations
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
2 years ago
github-actions[bot]
520a5784fb
Version Packages (next) ( #8733 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
gtmnayan
cc82d5ddcb
fix: expose types for all TS resolution modes, fix SvelteComponent export ( #8721 )
...
also add some legacy import paths which should be changed in usage sites ASAP
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
2 years ago
Simon H
aa8cc5d26f
fix: never use html optimization for mustache tags in hydration mode ( #8744 )
...
---------
Co-authored-by: gtmnayan <gtmnayan@gmail.com>
2 years ago
gtmnayan
f580e2e0c8
fix: warn on boolean compilerOptions.css ( #8710 )
...
* warn on boolean compilerOptions.css
* changeset
2 years ago
github-actions[bot]
5963b6fd84
Version Packages (next) ( #8709 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2 years ago
gtmnayan
264da48887
fix: derived types ( #8700 )
...
* fix: derived store types
* changeset
2 years ago
gtmnayan
0b15bb6928
fix: export ComponentType ( #8694 )
...
* fix: export ComponentType
* ughh
* changeset
2 years ago
Rich Harris
1046daba6a
Generate type declarations with `dts-buddy` ( #8702 )
...
* use dts-buddy
* remove debug output
* remove existing type generation script
* fix package.json
* update gitignore
* bump dts-buddy
* remove unused action entry point
* add svelte/compiler and svelte/types/compiler/preprocess modules
* bump dts-buddy
* annoying
* changeset
* bump dts-buddy
* get rid of .d.ts files
* another one
* Update packages/svelte/package.json
Co-authored-by: gtmnayan <50981692+gtm-nayan@users.noreply.github.com>
---------
Co-authored-by: Rich Harris <git@rich-harris.dev>
Co-authored-by: gtmnayan <50981692+gtm-nayan@users.noreply.github.com>
2 years ago
Ben McCann
f2ff684b5f
chore: setup changesets ( #8668 )
...
Co-authored-by: dominikg <dominik.goepel@gmx.de>
2 years ago