feat: add $inspect.trace rune (#14290)
* feat: add $trace rune
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
WIP
* lint
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* more tweaks
* lint
* improve label for derived cached
* improve label for derived cached
* lint
* better stacks
* complete redesign
* fixes
* dead code
* dead code
* improve change detection
* rename rune
* lint
* lint
* fix bug
* tweaks
* Update packages/svelte/src/internal/client/dev/tracing.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/dev/tracing.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/dev/tracing.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* Update packages/svelte/src/internal/client/dev/tracing.js
Co-authored-by: Rich Harris <rich.harris@vercel.com>
* todos
* add test + some docs
* changeset
* update messages
* address feedback
* address feedback
* limit to first statement of function
* remove unreachable trace_rune_duplicate error
* tweak message
* remove the expression statement, not the expression
* revert
* make label optional
* relax restriction on label - no longer necessary with new design
* update errors
* newline
* tweak
* add some docs
* fix playground
* fix playground
* tweak message when function runs outside an effect
* unused
* tweak
* handle async functions
* fail on generators
* regenerate, update docs
* better labelling
---------
Co-authored-by: Rich Harris <rich.harris@vercel.com>