Commit Graph

536 Commits (9f823b95e31eee93e1ed03d5e9f34cd16fade5b7)

Author SHA1 Message Date
Tan Li Hau 8caaa375cf
feat: add reactive URL object to svelte/reactivity (#11157)
1 year ago
Tan Li Hau a092899843
feat: update error message for snippet binding and assignments (#11168)
1 year ago
Tan Li Hau d1976c07ff
fix: fix string name of reactive map and set iterator (#11169)
1 year ago
Tan Li Hau 9b67ee18eb
fix: throw error when auto-subscribed store variable shadow by local variable (#11170)
1 year ago
Rich Harris dc6a8398d1
Revert "fix: ensure deep mutation ownership widening" (#11155)
1 year ago
Dominic Gannaway 19144b000f
fix: add validation around disallowed sequence expressions to element attributes (#11149)
1 year ago
Tan Li Hau 15eb5b5864
fix: missing classes after dynamic expressions in class attributes (#11134)
1 year ago
Rich Harris d5776c3ec3
feat: simplify HMR implementation (#11132)
1 year ago
Dominic Gannaway afe1d11a5b
feat: hot module reloading support for Svelte 5 (#11106)
1 year ago
Dominic Gannaway 3bb231197e
fix: loosen proxy signal creation heuristics (#11109)
1 year ago
Simon H 27891cb2dd
fix: ensure top level snippets are defined when binding to component prop (#11104)
1 year ago
Rich Harris 4d0b743918
feat: use linked lists for each blocks (#11107)
1 year ago
Dominic Gannaway ce348f0d69
chore: add test to show usage of context in component template (#11061)
1 year ago
Simon H 5a1c756a4e
fix: execute sole static script tag (#11095)
1 year ago
Dominic Gannaway 3c2f4d2d55
fix: improve hydration of svelte head blocks (#11099)
1 year ago
Dominic Gannaway 48549f7d00
fix: improve internal proxied state signal heuristic (#11102)
1 year ago
Simon H d2b6159d2e
chore: css unused selector warnings (#11098)
1 year ago
Simon H ed9bab9200
fix: better sibling selector handling (#11096)
1 year ago
Dominic Gannaway 3462c54fd2
fix: improve compiled output of multiple call expression in single text node (#11097)
1 year ago
Simon H 22494be9ec
feat: introduce `$host` rune, deprecate `createEventDispatcher` (#11059)
1 year ago
Simon H 8578857332
fix: ensure deep mutation ownership widening (#11094)
1 year ago
Simon H b1a8038f8b
fix: make static `element` property available (#11079)
1 year ago
Simon H a9e15bdf2d
breaking: robustify interop of exports and props (#11064)
1 year ago
Dominic Gannaway 452749494e
Fix unowned bug 2 (#11077)
1 year ago
Dominic Gannaway c50883e496
fix: ensure transition errors are not swallowed (#11039)
1 year ago
Rich Harris 92909834f0
breaking: prevent unparenthesized sequence expressions in attributes (#11032)
1 year ago
Dominic Gannaway 1d52c1323b
fix: improve unowned derived signal heuristics (#11029)
1 year ago
Dominic Gannaway 2a784fce16
fix: correctly handle closure passed to $derived.by when destructuring (#11028)
1 year ago
Rich Harris 3c155e3f3e
fix: ensure effect cleanup functions are called with null `this` (#11024)
1 year ago
Rich Harris ad11c5087f
fix: ensure correct context for action update/destroy functions (#11023)
1 year ago
Rich Harris 34748ba015
chore: verify that `$effect.root(...)` does not re-run (#11020)
1 year ago
Rich Harris 0a162924fb
feat: more efficient hydration markers (#11019)
1 year ago
Rich Harris 7bd853b1a8
fix: hydrate HTML with surrounding whitespace (#10996)
1 year ago
Dominic Gannaway 696b6922e8
fix: revert shorthand ssr comments (#10980)
1 year ago
Dominic Gannaway 8971910940
fix: further improvements to effect scheduling and flushing (#10971)
1 year ago
Rich Harris d49e2aeb15
chore: explicit reexports (#10970)
1 year ago
Rich Harris cebbccbcba
chore: move svelte/internal to svelte/internal/client (#10968)
1 year ago
Rich Harris eaa243d2da
chore: reshuffle some code (#10967)
1 year ago
Dominic Gannaway f118f8ea27
fix: improve action support for nested $effect (#10962)
1 year ago
Dominic Gannaway d50b7661e5
fix: improve effect sequencing and execution order (#10949)
1 year ago
Rich Harris 2079e675ea
replace skip_if_ssr and skip_if_hydrate with modes (#10956)
1 year ago
Rich Harris 326e2b4840
chore: simplify templates (#10954)
1 year ago
Rich Harris 9a4cd7e8d8
chore: refactor effects a bit (#10948)
1 year ago
Rich Harris 66e0378155
chore: remove `$.space` (#10945)
1 year ago
Rich Harris 4fcedb2fb1
chore: simplify hydration (#10943)
1 year ago
Rich Harris 3ce74e47a9
chore: update sequencing inside blocks (#10939)
1 year ago
Rich Harris f2cca537a3
feat: use implicit return for each block keys (#10938)
1 year ago
Rich Harris 808cc6fca6
feat: shorter each blocks (#10937)
1 year ago
Rich Harris 8cfea9f36c
breaking: always run pre effects synchronously (#10928)
1 year ago
Rich Harris ed2981d7b8
chore: simplify updates (#10922)
1 year ago
Rich Harris b7a0d80bfc
simplify render_effect signature (#10925)
1 year ago
Rich Harris 59ff650ccb
remove if blocks around attribute updates (#10917)
1 year ago
Rich Harris 4f24eae9c3
simplify updates (#10912)
1 year ago
Rich Harris 8685d497e5
feat: use bracket matching instead of `ssr:n` comments (#10904)
1 year ago
Rich Harris 7e5e462194
feat: use short comments (#10899)
1 year ago
Rich Harris 32b1824198
chore: more hydration stuff (#10896)
1 year ago
Rich Harris 9b7331c04c
chore: only specify use_clone_node when necessary (#10895)
1 year ago
Rich Harris 8214075285
fix: update type of `options.target` (#10892)
1 year ago
Rich Harris 7f10642add
chore: improve hydration tests (#10887)
1 year ago
Dominic Gannaway fe7c45ba13
Add more tests (#10882)
1 year ago
Dominic Gannaway d6f10c5421
add more legacy tests (#10881)
1 year ago
Rich Harris b6c7956b26
chore: remove blocks (#10880)
1 year ago
Dominic Gannaway 83f30bf0e8
fix: allow runes for variable declarations in the template (#10879)
1 year ago
Simon H b468978e4d
fix: handle multiple snippet parameters with one or more being optional (#10833)
1 year ago
Simon H 3eef1cb8cf
feat: take form resets into account for two way bindings (#10617)
1 year ago
Simon H 416bc85d9c
breaking: add $bindable() rune to denote bindable props (#10851)
1 year ago
Dominic Gannaway 2cabc884ca
add some missing legacy tests (#10875)
1 year ago
Rich Harris 04879c53e9
chore: simplify blocks (#10873)
1 year ago
Simon H a339c28bb7
breaking: apply fallback value every time in runes mode (#10797)
1 year ago
Rich Harris e8ce41815a
chore: simplify transitions (#10798)
1 year ago
Simon H 86b3ea8c23
chore: failing test for out-of-order `$:` execution (#10864)
1 year ago
Dominic Gannaway 8c2f6039c6
fix: improve element class attribute behaviour (#10856)
1 year ago
Simon H 86c57f96de
fix: better await block scope analysis (#10849)
1 year ago
Dominic Gannaway efe85fcce0
fix: more robust select element logic (#10848)
1 year ago
Dominic Gannaway c564c77199
fix: ensure select value is updated upon select element removal (#10846)
1 year ago
Simon H 682f4a6513
fix: adjust scope parent for named slots (#10843)
1 year ago
Dominic Gannaway 117082b039
fix: improve handling of unowned derived signals (#10842)
1 year ago
Simon H f8c85d525d
fix: ensure capture events don't call delegated events (#10831)
1 year ago
Dominic Gannaway fe3b3b463c
feat: adds reactive Map class to svelte/reactivity (#10803)
2 years ago
Simon H c35f0c16af
fix: deduplicate module declaration, adjust type (#10801)
2 years ago
Simon H fbbd89a917
fix: invalidate store when mutated inside each block (#10785)
2 years ago
Simon H 339782f3e0
fix: handle component binding mutation (#10786)
2 years ago
Dominic Gannaway 2cb78ac253
fix: adjust render effect ordering (#10783)
2 years ago
Dominic Gannaway 3f7fcf9aec
feat: add reactive Set class to svelte/reactivity (#10781)
2 years ago
Dominic Gannaway 468ecda6ea
fix: improve internal render effect sequencing (#10769)
2 years ago
Rich Harris 278155968e
chore: refactor reactivity code (#10760)
2 years ago
Dominic Gannaway ef206fe1b5
fix: improve derived output for ssr (#10757)
2 years ago
Rich Harris 7cc5ce4e65
tidy up (#10744)
2 years ago
Simon H 74474fe085
fix: prevent reactive statement reruns (#10736)
2 years ago
Dominic Gannaway 7c00f1dacb
fix: improve bind:this support around proxyied state (#10732)
2 years ago
Simon H 304db0d5b2
fix: bump specificity on all members of a selector list (#10730)
2 years ago
Simon H b1267b03b6
fix: error when exporting reassigned state from module context (#10728)
2 years ago
Simon H ae4af6841a
fix: eagerly unsubscribe when store is changed (#10727)
2 years ago
Simon H 3fd02f1c49
breaking: preserve slots inside templates with a shadowrootmode attribute (#10721)
2 years ago
Papaya cc22492e7a
fix: use toDateString occur error when use pnpm run test in China (#10719)
2 years ago
Simon H fff3320517
chore: custom elements validation (#10720)
2 years ago
Simon H 881e84f988
chore: get more validator tests passing (#10714)
2 years ago
Rich Harris a5a566dfa7
chore: tidy up (#10705)
2 years ago
Dominic Gannaway f8eb0d16d6
fix: improve each keyed block handling of item used as key (#10703)
2 years ago
Dominic Gannaway d9d1022895
fix: improve indexed each equality (#10702)
2 years ago
Simon H 4285e6d814
fix: prevent snippet children conflict (#10700)
2 years ago
Dominic Gannaway eedb59355f
fix: adjust keyed each block equality handling (#10699)
2 years ago
Rich Harris 86f326531c
chore: refactor signal types (#10698)
2 years ago
Rich Harris aa29a853dd
chore: move reactivity code around (#10696)
2 years ago
Ahmad 6fb64c9914
fix: improve namespace inference when having `{@render}` and `{@html}` tags (#10631)
2 years ago
Simon H 767b5a8824
chore: remove obsolete test (#10679)
2 years ago
Simon H 5d3385c56f
fix: don't collapse whitespace within text nodes (#10691)
2 years ago
Simon H 5768ac3027
fix: better ownership mutation validation (#10673)
2 years ago
Simon H 74f8e261c6
fix: prevent false positive non-state warnings for `bind:this` (#10674)
2 years ago
Simon H 1ac313594c
fix: handle TypeScript's optional parameter syntax in snippets (#10671)
2 years ago
Simon H b1b51a404b
fix: deduplicate generated props and action arg names (#10669)
2 years ago
Dominic Gannaway 710f73f9cf
fix: improve derived rune destructuring support (#10665)
2 years ago
Simon H 56315df679
feat: allow arbitrary call expressions for render tags (#10656)
2 years ago
Dominic Gannaway b2e9be2148
fix: improve ssr code generation for class property $derived (#10661)
2 years ago
Dominic Gannaway 99e1665ce1
feat: improve ssr html mismatch validation (#10658)
2 years ago
Simon H 6625c1e080
fix: warn when `$props` rune not called (#10655)
2 years ago
Simon H 749d3aa413
fix: add `$set` and `$on` methods in legacy compat mode (#10642)
2 years ago
Dominic Gannaway a4a789db4d
fix: improve ssr output of dynamic textarea elements (#10638)
2 years ago
Ahmad ee4b1f2c75
fix test (#10634)
2 years ago
Dominic Gannaway f658ca0d54
feat: add reactive Date object to svelte/reactivity (#10622)
2 years ago
Dominic Gannaway b4a70ea38a
fix: improve event delegation with shadowed bindings (#10620)
2 years ago
Dominic Gannaway 2de741219f
fix: correctly handle proxied signal writes before reads (#10612)
2 years ago
Simon H 506196b72b
feat: allow dynamic `type` attribute with `bind:value` (#10608)
2 years ago
Simon H db0b802fc2
fix: use safe-equals comparison for `@const` tags in legacy mode (#10606)
2 years ago
Dominic Gannaway c10337cfb2
fix: improve proxy effect dependency tracking (#10605)
2 years ago
Rich Harris 6afaf75a37
fix: synchronise element bindings (#10512)
2 years ago
Simon H a2164ff9f4
fix: make `bind_this` implementation more robust (#10598)
2 years ago
Dominic Gannaway ec52c75cc4
fix: permit whitespace within template scripts (#10591)
2 years ago
Dominic Gannaway a2fbef2050
fix: improve import event handler support (#10592)
2 years ago
Simon H 66b624491e
fix: allow boolean `contenteditable` attribute (#10590)
2 years ago
Dominic Gannaway 58008479fc
fix: improve $inspect handling of derived objects (#10584)
2 years ago
Rich Harris 29890bb616
chore: move signal logic into subdirectory (#10582)
2 years ago
Rich Harris ddb968cc35
fix: ensure proxy owner set always has 1 or more members (#10577)
2 years ago
Ahmad d6e0fbd8ba
fix: handle member expressions in directives (#10576)
2 years ago
Dominic Gannaway 802bfcabec
fix: improve props spreading logic (#10574)
2 years ago
Rich Harris 96eae28ed2
fix: remove memory leak, make `beforeUpdate` etc work correctly (#10570)
2 years ago
Rich Harris 8613a6f28a
fix: stack-trace-based readonly validation (#10464)
2 years ago
Rich Harris 02c6176622
feat: allow state/derived/props to be explicitly exported from components (#10523)
2 years ago
Dominic Gannaway bcb1b8eb98
fix: improve handling of unowned derived signals (#10565)
2 years ago
Dominic Gannaway 0afb8d489e
fix: improve state store mutation compiler output (#10561)
2 years ago
Dominic Gannaway 5698fb789c
fix: better handling of derived signals that have no dependencies (#10558)
2 years ago
Simon H aef245364c
fix: only escape characters in SSR template (#10555)
2 years ago
Simon H 08978bfae8
fix: don't execute scripts inside `@html` when instantiated on the client (#10556)
2 years ago
Simon H b80d9bd654
fix: wire up `events` in `mount` correctly and fix its types (#10553)
2 years ago
Simon H f5102013af
fix: better interop of `$state` with actions/`$:` statements (#10543)
2 years ago
Dominic Gannaway 7032837ef0
fix: better handling of empty text node hydration (#10545)
2 years ago
Dominic Gannaway 71db9edcdc
fix: improve each block item equality for immutable mode (#10537)
2 years ago
Rich Harris 151cdeacaf
simplify test (#10538)
2 years ago
Dominic Gannaway 41cdbafc40
fix: improve effect over-fire on store subscription init (#10535)
2 years ago
Rich Harris 8feb86583a
fix: use init properties when exporting non-state values (#10521)
2 years ago
Ahmad 06e1d86091
fix: visit expression node in directives (#10527)
2 years ago
Rich Harris 4d8d2928d8
chore: ignore test directories left over from other branches (#10525)
2 years ago
Rich Harris 3da6cef29b
chore: improve code generation for `bind:this` in SSR mode (#10524)
2 years ago
Simon H 2755401034
breaking: remove `createRoot`, adjust `mount`/`hydrate` APIs, introduce `unmount` (#10516)
2 years ago
Rich Harris 5605e8cf49
feat: implement support for `:is(...)` and `:where(...)` (#10490)
2 years ago
Dominic Gannaway df10204fcc
fix: improve bind:this support for each blocks (#10510)
2 years ago
Simon H 71601ba2e5
fix: warn against accidental global event referenced (#10442)
2 years ago
Rich Harris a2014809ec
chore: tidy up post-#10481 (#10503)
2 years ago
Simon H ba0bdc7aa1
chore: document and test signals edge case (#10228)
2 years ago
Ahmad 3f75ea64ca
fix: allow stores in `transition`,`animation`,`use` directives (#10481)
2 years ago
Rich Harris cec3540ac2
chore: use zimmerframe for CSS analysis/transformation (#10482)
2 years ago
Simon H f8ff2b6ea3
chore: source maps for preprocessors + tests (#10459)
2 years ago
Dominic Gannaway 4b274dd00d
feat: derive destructured derived objects values (#10488)
2 years ago
Dominic Gannaway cc273f7d53
fix: prevent infinite loop when writing to store using shorthand (#10477)
2 years ago
Rich Harris 87d4b12620
chore: tidy up CSS stuff (#10478)
2 years ago
Dominic Gannaway 74742d9233
fix: improve global transition outro handling (#10474)
2 years ago
Rich Harris d41d0c26ad
chore: rename `$derived.call` to `$derived.by` (#10445)
2 years ago
Dominic Gannaway 667ffb7a39
fix: improve global transition handling of effect cleardown (#10469)
2 years ago
Simon H 1a721e5916
fix: only throw bind error when not passing a value (#10090)
2 years ago
Dominic Gannaway 9161448ee5
fix: improve handling of object property deletions (#10456)
2 years ago
Dominic Gannaway 1366932dc0
cleanup a bunch of internal runtime logic (#10446)
2 years ago
Rich Harris 999fca97cf
fix: use hybrid scoping strategy for consistent specificity increase (#10443)
2 years ago
Simon H 5dd9951cb6
fix: handle sole empty expression tags (#10433)
2 years ago
Simon H 456cf843d2
fix: throw validation error when binding to each argument in runes mode (#10441)
2 years ago
Ahmad 49bfb6b1d6
fix: improve animation name transformation (#10432)
2 years ago
Dominic Gannaway 4fcd1cb1ed
fix: add compiler error for each block mutations in runes mode (#10428)
2 years ago
Simon H dab0a43693
fix: stricter validation for component exports (#10430)
2 years ago
Dominic Gannaway 0e011add4e
fix: improve indexed each array reconcilation (#10422)
2 years ago
Rich Harris 623340a1de
fix: make beforeUpdate/afterUpdate behave more like Svelte 4 (#10408)
2 years ago
Ahmad 89c4cf393f
fix: set `open` binding value in `<details>` (#10413)
2 years ago
Dominic Gannaway f9f5d3a1be
fix: only update lazy properties that have actually changed (#10415)
2 years ago
Simon H 9aa0ed3eb6
fix: handle nested script tags (#10416)
2 years ago
Rich Harris 90f8b63bee
fix: run `onDestroy` cleanup during SSR (#10297)
2 years ago
Simon H 268ac95fde
fix: properly analyze group expressions (#10410)
2 years ago
Daniel Imfeld 255693e78f
fix: correctly determine binding scope of `let:` directives (#10395)
2 years ago
Daniel Imfeld 97d3ec2f89
fix: allow `let:` directives on slot elements (#10391)
2 years ago
Simon H b6fcc149b8
fix: repair each block length mismatches during hydration (#10398)
2 years ago
Simon H bd0ebf3b81
fix: correctly determine `bind:group` members (#10368)
2 years ago
Simon H e75c9acd18
fix: don't reuse proxies when state symbol refers to stale value (#10343)
2 years ago
gtmnayan bce4f3f01c
fix: strip typescript assertions before analysis (#10329)
2 years ago
Rich Harris 36fc203eec
fix: correctly update tweened store initialized with nullish value (#10356)
2 years ago
Rich Harris a53b44338e
add missing motion tests (#10355)
2 years ago
Rich Harris 0aedab8d5e
fix: insert empty text nodes during hydration, where necessary (#9729)
2 years ago
Simon Holthausen 396bab3628 chore: fix version replacement regex in test
2 years ago
S. Elliott Johnson d309a9d47a
feat: Variadic snippets (#9988)
2 years ago
Dominic Gannaway 23b38a3471
fix: improve handling of unowned derived signals (#10342)
2 years ago
Dominic Gannaway 4d0d0a3a9d
fix: correctly reference destructured derived binding in event handler (#10333)
2 years ago
Karol 77b4c4be6c
fix: create `<svelte:element>` instances with the correct namespace (#10006)
2 years ago
Dominic Gannaway d9a6b8b17a
chore: add $derived.call rune (#10240)
2 years ago
Simon H 76a4bbd5ec
fix: handle event delegation correctly when having sibling event listeners (#10307)
2 years ago