Rich Harris
bd8f7db754
check runtime errors ( #9791 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
Dominic Gannaway
3b15e32a91
fix: ensure generate guards against keywords ( #9790 )
...
* fix: ensure generate guards against keywords
* changeset
* lint
* Update .changeset/old-flies-jog.md
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
9 months ago
Simon H
9c3516dd3d
feat: runes globals error ( #9773 )
...
* feat: runes globals error
throw descriptive error for using runes globals outside of Svelte-compiled files
* less hacky/more future-proof treeshaking check
* tweak
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
Rich Harris
24777c335a
feat: disallow fallback values with bindings in runes mode ( #9784 )
...
* disallow fallback values with bindings in runes mode
* on second thoughts
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
Dominic Gannaway
c7e626ebbb
feat: add unstate utility function ( #9776 )
...
* feat: add unstate utility function
* Update packages/svelte/src/internal/client/proxy/proxy.js
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
* update docs
* add class support
* oops
* lint
* fix docs
* remove symbol and class support
---------
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
9 months ago
Dominic Gannaway
f1954d034b
fix: ensure proxied array length is updated ( #9782 )
...
* fix: ensure proxied array length is updated
* fix: ensure proxied array length is updated
* add test
* lint
9 months ago
Rich Harris
10aacfa603
chore: remove `exposable` ( #9783 )
...
* use flags for prop_source, this will be useful later
* remove exposable/expose stuff
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
Dominic Gannaway
25abca78b2
fix: ensure transitions properly cancel on completion ( #9778 )
9 months ago
Simon H
ef158ff729
fix: apply event attribute validation to elements only ( #9772 )
...
fixes #9755
9 months ago
Rich Harris
ede5dab230
chore: fix compiler-errors test suite ( #9754 )
...
- fix compiler-errors test suite
- handle css nth-selector syntax (fixes #9765 )
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
9 months ago
Rich Harris
fd4a52c894
add missing changelog entry
9 months ago
github-actions[bot]
e4056107f0
Version Packages (next) ( #9753 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Rich Harris
75fc09a79e
Proxied state ( #9739 )
...
* magic objects
* read length eagerly — triggers reconciliation
* nested magic
* tests
* more tests
* fix array memory leak
* skipped, partially passing array test
* Fix each
revert bad changes
* more 1337
* eliminate closures
* maybe this is unnecessary?
* only create sources for own properties
* more
* rename stuff
* shuffle things around
* emit $.proxy
* remove proxy helper from public API
* only create sources for writable properties
* update test
* get tests passing
* fix
* remove state-not-mutated warning, which is no longer valid
* track reassignments separately from mutations
* update test - effects no longer fire on mutations unnecessarily
* move util into utils file
* move each logic into its own module; breathe sigh of relief
* tweaks
* more tweaks
* improve runtime
* fix mistake
* ensure we proxy when assigning to state
* fix test
* handle frozen
* create sources when reading proxy properties inside deriveds
* only mutate in legacy mode
* add immutable to transform state
* remove unused second argument to derived
* remove unused second argument to source, and runtime immutable option to createRoot (not sure what that was doing there?)
* oops, backwards
* dedicated binding.kind for legacy reactive imports
* avoid using prop_source in more cases. bit hacky, could be tidier, but it works
* distinguish between source and mutable_source
* remove immutable option from mount
* remove unused apparatus around immutable option
* deprecate immutable
* fix
* tweak
* better default value handling
* remove unnecessary exports
* whitespace is free
* remove obsolete symbol from proxy
* cleanup ts
* improve runtime perf by removing version reads in has()
* add missing proxy call
* tune perf of has() more
* ensure we only create sources in effect_active()
* fix proxy of computed fields
* simplify and fix issue with indexed each blocks
* fix compiler errors around exported state
* only create source for state that is reassigned
* temporary fix, we should come up with something better than this
* readonly props
* fix test
* add test for bind:
* make readonly dev-only
* docs
* forbid setPrototypeOf
* lol whoops
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Dominic Gannaway <dg@domgan.com>
9 months ago
Dominic Gannaway
f0c47c31bc
fix: allow duplicate snippet declaration names ( #9759 )
...
Fixes #9756
9 months ago
Dominic Gannaway
ef5bcfe542
fix: ensure event handlers containing arguments are not hoisted ( #9758 )
...
* fix: ensure event handlers containing arguments are not hoisted
* add test
* handle rest arguments
9 months ago
Dominic Gannaway
2017af407d
fix: ensure computed props are cached with derived ( #9757 )
...
Fixes #9751
9 months ago
Simon Holthausen
aaa1797ed8
fix: css parser fix
...
when inside a pseudo-class, only `)` is a valid end, and when outside, only `{` is - reflect that in the logic
9 months ago
Simon H
402a322317
chore: more validation errors ( #9723 )
...
* invalid directive on component
* duplicate animation
* invalid animation
* no const assignment
* expected token
* invalid-attribute-name
* fixes
* invalid event modifier
* component name
* slot validation
* fix test
* const validation + fix double declaration bug
* omg this validation is skipped in svelte 4, remove it entirely then
* gah
* unskip
* contenteditable
* invalid css selector
* css global selector + css parser fixes
* export default
* dynamic element
* each block
* html tag
* logic block
* reactive declaration
* duplicate script
* namespace
* module context
* slot
* svelte fragment
* textarea
* title
* transition
* window bindings
* changeset
* svelte head, let directive, tweaks
9 months ago
Ignatius Bagus
d19e622e90
docs: update `create` -> `createRoot` ( #9750 )
9 months ago
github-actions[bot]
61e5e53eee
Version Packages (next) ( #9736 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Rich Harris
765d01d76c
correctly inspect derived values ( #9731 )
...
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
github-actions[bot]
1108587f1b
Version Packages (next) ( #9707 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
2fa06447cf
fix: improve template text node serialization ( #9722 )
...
fix: improve template text node serialization
9 months ago
Dominic Gannaway
7eba35b9d1
fix: improve infinite loop capturing ( #9721 )
9 months ago
gtmnayan
8266229c42
fix repl ( #9720 )
9 months ago
Simon H
cb1ea1f2db
fix: ensure `$$slots` exists in runes mode ( #9718 )
...
fixes #9683
9 months ago
Simon H
4a8f0bc7e7
fix: keep fallback value after spread update not setting that prop ( #9717 )
...
fixes #9716
9 months ago
Simon H
65fa717ccd
fix: port over props that were set prior to initialization ( #9704 )
...
Svelte 5 version of #9701
9 months ago
Dominic Gannaway
2e461eb314
chore: remove redundant hydration code ( #9698 )
9 months ago
Simon H
e3dc185a4c
fix: tweak const tag parsing ( #9715 )
...
fixes #9711
9 months ago
Simon H
f88895e955
fix: allow `bind:this` with dynamic type on inputs ( #9713 )
...
fixes #9709
9 months ago
Simon H
1fe0152dd4
fix: delegate events on elements with bind-this ( #9696 )
...
fixes #9688
9 months ago
Simon H
2416587215
fix: ensure implicit children snippet renders correctly ( #9706 )
...
place anchors around render tags, not snippet tags
fixes #9678
9 months ago
Rich Harris
bde42d5676
`$inspect` rune ( #9705 )
...
* feat: add $log rune
* fix issues
* fix issues
* tune
* avoid static state reference validation
* work around unfortunate browser behavior
* call it ExpectedError
* cleanup
* Fix docs
* tweaks
* tweaks
* lint
* repl, dev: true
* repl dev mode
* Update sites/svelte-5-preview/src/lib/Repl.svelte
* squelch static-state-reference warning
* simplify
* remove redundant code
* Update packages/svelte/src/main/ambient.d.ts
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* Update packages/svelte/src/main/ambient.d.ts
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* Update packages/svelte/src/main/ambient.d.ts
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* only pause/trace on change
* Update packages/svelte/src/main/ambient.d.ts
* Update .changeset/chatty-hotels-grin.md
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* $log.break and $log.trace no-op during SSR
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
* update test
* improve break experience
* fix ts
* remove unnecessary if (DEV) checks - log runes are removed in prod
* ensure hoisting doesnt mess up source maps
* check visited for cyclical values
* rename $log to $inspect, remove children
* custom inspect function
* implement custom inspect functions
* changeset
* update docs
* only fire on change
* lint
* make inspect take a single argument
* ugh eslint
* document console.trace trick
* demos
* fix site
---------
Co-authored-by: Dominic Gannaway <dg@domgan.com>
Co-authored-by: Simon Holthausen <simon.holthausen@vercel.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Dominic Gannaway <trueadm@users.noreply.github.com>
9 months ago
github-actions[bot]
3e3ae925f3
Version Packages (next) ( #9692 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Hans
8c2cbb87dd
site: remove banner ( #9620 )
...
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
9 months ago
Simon H
75295ac79f
docs: enhance breaking change section ( #9674 )
...
* docs: enhance breaking change section
- mention createRoot first, explain difference to mount
- mentiond bind:this change
- sub headings
- adjust createRoot type that missed the events property
* Update packages/svelte/src/internal/client/render.js
Co-authored-by: Conduitry <git@chor.date>
* clarify
---------
Co-authored-by: Conduitry <git@chor.date>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
Rich Harris
dd4061bc38
rename dev script, update contributor guide and readme ( #9673 )
...
* rename dev script, update contributor guide and readme
* turns out we can do this!
* increase accuracy
* justify FILTER
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
Simon H
f9ba528265
fix: add children to element typings ( #9679 )
...
* fix: add children to element typings
Add this here so that libraries doing `props$<HTMLButtonAttributes>()` don't need a separate interface
fixes #https://github.com/sveltejs/language-tools/issues/2218
* typo
9 months ago
Simon H
aabab263ee
fix: handle ts expressions when dealing with runes ( #9681 )
...
* fix: handle ts expressions when dealing with runes
related to #9639
* docs, more tests
* simplify
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
github-actions[bot]
a31b2e1b8e
Version Packages (next) ( #9650 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
9 months ago
Dominic Gannaway
81d3e47d1c
feat: add $effect.root rune ( #9638 )
...
* feat: effect-root-rune
feat: add $effect.root rune
update doc
update doc
fix validation
* cleanup logic
* Update sites/svelte-5-preview/src/routes/docs/content/01-api/02-runes.md
* address feedback
---------
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
9 months ago
Ben McCann
2660727a93
chore: tweak changeset ( #9667 )
...
* chore: tweak changeset
* Update .changeset/slimy-clouds-talk.md
* Update seven-ravens-check.md
9 months ago
Rich Harris
48e78e420f
chore: remove static value handling ( #9571 )
...
The deleted code ensured that a static variable wouldn't update when it's in the same text expression as a reactive variable. We solved this through emitting a warning about this instead, marking it as undefined behavior.
9 months ago
Rich Harris
5836c1cdbd
chore: improve output for `<svelte:element>` ( #9648 )
...
- doesn't add spread_dynamic_element_attributes when there are no attributes — Unnecessary spread_dynamic_element_attributes call #9646
- skips the child render function altogether if there is nothing to do
9 months ago
Rich Harris
6e863e617c
feat: warn on referenced mutated nonstate ( #9669 )
...
Walk the path and warn if this is a mutated normal variable that's referenced inside a function scope
9 months ago
Rich Harris
9c44fd7854
feat: ignore href when hydrating ( #9662 )
...
* ignore href when hydrating
* remove unused export keyword
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>
9 months ago
Yuichiro Yamashita
da1aa7c4a8
feat: support type annotations in `{@const ...}` tag ( #9609 )
...
* support type for const tag
* use expression directly
* lint
* format
* format
* revert
* legacy mode
* format
* revert and update .prettierignore
9 months ago
Yuichiro Yamashita
075c268f42
add ci on node21 ( #9621 )
9 months ago
Simon H
617d63dd90
fix: take event attributes into account when checking a11y ( #9664 )
...
also adjusted the warning messages slightly so they make sense for both variants of event handlers
fixes #9654
9 months ago