diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/+assets/app-a/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/+assets/app-a/src/lib/App.svelte new file mode 100644 index 0000000000..6d358a4c02 --- /dev/null +++ b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/+assets/app-a/src/lib/App.svelte @@ -0,0 +1,15 @@ + + +

{numbers.join(' + ')} = {total}

+ + diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/+assets/app-b/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/+assets/app-b/src/lib/App.svelte new file mode 100644 index 0000000000..a30cc2e1a2 --- /dev/null +++ b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/+assets/app-b/src/lib/App.svelte @@ -0,0 +1,16 @@ + + +

{numbers.join(' + ')} = {total}

+ + diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/index.md b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/index.md new file mode 100644 index 0000000000..eb06a46466 --- /dev/null +++ b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-inspecting-state/index.md @@ -0,0 +1,36 @@ +--- +title: Inspecting state +--- + +It's often useful to be able to track the value of a piece of state as it changes over time. + +Inside the `addNumber` function, we've added a `console.log` statement. But if you click the button and open the console drawer (using the button to the right of the URL bar), you'll see a warning, and a message saying the message could not be cloned. + +That's because `numbers` is a reactive [proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy). There's a couple of things we can do. Firstly, we can create a non-reactive _snapshot_ of the state with `$state.snapshot(...)`: + +```js +/// file: App.svelte +function addNumber() { + numbers.push(numbers.length + 1); + console.log(+++$state.snapshot(numbers)+++); +} +``` + +Alternatively, we can use the `$inspect` rune to automatically log a snapshot of the state whenever it changes. This code will automatically be stripped out of your production build: + +```js +/// file: App.svelte +function addNumber() { + numbers.push(numbers.length + 1); + ---console.log($state.snapshot(numbers));--- +} + ++++$inspect(numbers);+++ +``` + +You can customise how the information is displayed by using `$inspect(...).with(fn)` — for example, you can use `console.trace` to see where the state change originated from: + +```js +/// file: App.svelte +$inspect(numbers)+++.with(console.trace)+++; +``` diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-effects/+assets/app-a/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-effects/+assets/app-a/src/lib/App.svelte similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-effects/+assets/app-a/src/lib/App.svelte rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-effects/+assets/app-a/src/lib/App.svelte diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-effects/+assets/app-b/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-effects/+assets/app-b/src/lib/App.svelte similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-effects/+assets/app-b/src/lib/App.svelte rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-effects/+assets/app-b/src/lib/App.svelte diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-effects/index.md b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-effects/index.md similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/04-effects/index.md rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-effects/index.md diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-a/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-a/src/lib/App.svelte similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-a/src/lib/App.svelte rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-a/src/lib/App.svelte diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-a/src/lib/Counter.svelte b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-a/src/lib/Counter.svelte similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-a/src/lib/Counter.svelte rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-a/src/lib/Counter.svelte diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-a/src/lib/shared.js b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-a/src/lib/shared.js similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-a/src/lib/shared.js rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-a/src/lib/shared.js diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-b/src/lib/Counter.svelte b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-b/src/lib/Counter.svelte similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-b/src/lib/Counter.svelte rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-b/src/lib/Counter.svelte diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-b/src/lib/shared.js b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-b/src/lib/shared.js similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-b/src/lib/shared.js rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-b/src/lib/shared.js diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-b/src/lib/shared.svelte.js b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-b/src/lib/shared.svelte.js similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/+assets/app-b/src/lib/shared.svelte.js rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/+assets/app-b/src/lib/shared.svelte.js diff --git a/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/index.md b/apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/index.md similarity index 100% rename from apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/05-universal-reactivity/index.md rename to apps/svelte.dev/content/tutorial/01-svelte/02-reactivity/06-universal-reactivity/index.md diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/02-transitions/01-transition/+assets/app-a/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/01-svelte/09-transitions/01-transition/+assets/app-a/src/lib/App.svelte similarity index 83% rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/02-transitions/01-transition/+assets/app-a/src/lib/App.svelte rename to apps/svelte.dev/content/tutorial/01-svelte/09-transitions/01-transition/+assets/app-a/src/lib/App.svelte index 6f955a5b15..17a3feb89f 100644 --- a/apps/svelte.dev/content/tutorial/02-advanced-svelte/02-transitions/01-transition/+assets/app-a/src/lib/App.svelte +++ b/apps/svelte.dev/content/tutorial/01-svelte/09-transitions/01-transition/+assets/app-a/src/lib/App.svelte @@ -1,5 +1,5 @@