diff --git a/.changeset/stale-regions-go.md b/.changeset/stale-regions-go.md
new file mode 100644
index 0000000..b1cf253
--- /dev/null
+++ b/.changeset/stale-regions-go.md
@@ -0,0 +1,5 @@
+---
+'svelte-tree-view': minor
+---
+
+invert isCircularNode return value for node collapsing, make DefaultNode ESM export, refactor stores into one
diff --git a/package.json b/package.json
index 482e163..911d722 100644
--- a/package.json
+++ b/package.json
@@ -20,24 +20,24 @@
"devDependencies": {
"@changesets/cli": "^2.29.5",
"@eslint/compat": "^1.3.1",
- "@eslint/js": "^9.30.1",
- "@typescript-eslint/eslint-plugin": "^8.35.1",
- "@typescript-eslint/parser": "^8.35.1",
+ "@eslint/js": "^9.31.0",
+ "@typescript-eslint/eslint-plugin": "^8.37.0",
+ "@typescript-eslint/parser": "^8.37.0",
"concurrently": "^9.2.0",
- "eslint": "^9.30.1",
- "eslint-config-prettier": "^10.1.5",
- "eslint-plugin-prettier": "^5.5.1",
+ "eslint": "^9.31.0",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-prettier": "^5.5.3",
"eslint-plugin-promise": "^7.2.1",
- "eslint-plugin-svelte": "^3.10.1",
+ "eslint-plugin-svelte": "^3.11.0",
"globals": "^16.3.0",
"husky": "^9.1.7",
"prettier": "^3.6.2",
"prettier-plugin-svelte": "^3.4.0",
- "prettier-plugin-tailwindcss": "^0.6.13",
+ "prettier-plugin-tailwindcss": "^0.6.14",
"tslib": "^2.8.1",
"typescript": "^5.8.3",
- "typescript-eslint": "^8.35.1",
- "vite": "^7.0.2",
+ "typescript-eslint": "^8.37.0",
+ "vite": "^7.0.5",
"vite-plugin-dts": "^4.5.4"
}
}
\ No newline at end of file
diff --git a/packages/site/package.json b/packages/site/package.json
index c0e3e36..d1404b2 100644
--- a/packages/site/package.json
+++ b/packages/site/package.json
@@ -19,10 +19,10 @@
},
"devDependencies": {
"@sveltejs/adapter-static": "^3.0.8",
- "@sveltejs/kit": "2.22.2",
- "@sveltejs/vite-plugin-svelte": "^5.1.0",
+ "@sveltejs/kit": "2.25.1",
+ "@sveltejs/vite-plugin-svelte": "^6.1.0",
"@tailwindcss/vite": "^4.1.11",
- "svelte": "^5.35.4",
+ "svelte": "^5.36.10",
"svelte-preprocess": "^6.0.3",
"svelte-tree-view": "workspace:*",
"tailwindcss": "^4.1.11"
diff --git a/packages/site/src/components/DiffValue.svelte b/packages/site/src/components/DiffValue.svelte
index 2bae307..940d3ef 100644
--- a/packages/site/src/components/DiffValue.svelte
+++ b/packages/site/src/components/DiffValue.svelte
@@ -1,13 +1,11 @@
-
+
- {#if $propsObj.showLogButton}
+ {#if $viewProps.showLogButton}
{/if}
- {#if $propsObj.showCopyButton}
+ {#if $viewProps.showCopyButton}
- {#if $propsObj.showLogButton}
+ {#if $viewProps.showLogButton}
log
{/if}
- {#if $propsObj.showCopyButton}
+ {#if $viewProps.showCopyButton}
copy
{/if}
diff --git a/packages/svelte-tree-view/src/lib/TreeView.svelte b/packages/svelte-tree-view/src/lib/TreeView.svelte
index 491c588..26d2329 100644
--- a/packages/svelte-tree-view/src/lib/TreeView.svelte
+++ b/packages/svelte-tree-view/src/lib/TreeView.svelte
@@ -3,9 +3,8 @@
import { get } from 'svelte/store'
import TreeViewNode from './TreeViewNode.svelte'
- import { createPropsStore, createRootElementStore, createTreeStore } from './stores'
+ import { createStore, type TreeStore } from './store.svelte'
- import type { Stores } from './stores'
import type { Props, TreeViewProps } from './types'
const DEFAULT_RECURSION_OPTS = {
@@ -38,20 +37,14 @@
onUpdate
}
let rootElement: HTMLElement
- const propsStore = createPropsStore(propsObj)
- const rootElementStore = createRootElementStore()
- const treeStore = createTreeStore(propsStore)
+ const store = createStore(propsObj)
const newRecOpts = $derived({ ...DEFAULT_RECURSION_OPTS, ...recursionOpts })
- const treeChildren = $derived(treeStore.rootNode.children)
+ const treeChildren = $derived(store.rootNode.children)
- setContext
('svelte-tree-view', {
- propsStore,
- rootElementStore,
- treeStore
- })
+ setContext('svelte-tree-view', store)
onMount(() => {
- rootElementStore.set(rootElement)
+ store.setRootElement(rootElement)
})
$effect(() => {
@@ -66,19 +59,19 @@
valueFormatter,
onUpdate
}
- propsStore.setProps(propsObj)
+ store.setProps(propsObj)
})
$effect(() => {
- const oldRecOptions = get(propsStore.recursionOpts)
+ const oldRecOptions = get(store.recursionOpts)
// Destruct recursionOpts to unwrap from proxy
const opts = { ...newRecOpts }
const newData = data
- const shouldRecompute = oldRecOptions?.shouldExpandNode !== opts.shouldExpandNode
+ const recomputeExpandNode = oldRecOptions?.shouldExpandNode !== opts.shouldExpandNode
// Use untrack to prevent triggering this effect again
untrack(() => {
- treeStore.recompute(newData, opts, shouldRecompute)
- propsStore.setProps(propsObj)
+ store.createTree(newData, opts, recomputeExpandNode)
+ store.setProps(propsObj)
propsObj.recursionOpts = opts
})
})
diff --git a/packages/svelte-tree-view/src/lib/TreeViewNode.svelte b/packages/svelte-tree-view/src/lib/TreeViewNode.svelte
index 8b81102..0b411e8 100644
--- a/packages/svelte-tree-view/src/lib/TreeViewNode.svelte
+++ b/packages/svelte-tree-view/src/lib/TreeViewNode.svelte
@@ -3,8 +3,7 @@
import TreeViewNode from './TreeViewNode.svelte'
- import type { Stores } from './stores'
- import type { TreeNode } from './types'
+ import type { TreeStore } from './store.svelte'
interface Props {
id: string
@@ -12,41 +11,38 @@
let { id }: Props = $props()
- const { treeStore, propsStore, rootElementStore } = getContext('svelte-tree-view')
- let { props: propsObj } = propsStore
- let node = $state(treeStore.treeMap[id] as TreeNode)
- let hasChildren = $derived(node && node.children.length > 0)
+ const { rootElement, treeMap, viewProps, ...rest } = getContext('svelte-tree-view')
+ let node = $derived(treeMap[id])
+ let hasChildren = $derived(node.children.length > 0)
let nodeProps = $derived({
node,
- getTreeContext: () => getContext('svelte-tree-view'),
+ getTreeContext: () => getContext('svelte-tree-view'),
TreeViewNode: TreeViewNode,
handleLogNode() {
- console.info('%c [svelte-tree-view]: Property added to window._node', 'color: #b8e248')
console.log(node.getValue())
try {
- if (typeof window !== 'undefined') window._node = node.getValue()
+ window._node = node.getValue()
+ console.info('%c [svelte-tree-view]: Property added to window._node', 'color: #b8e248')
} catch (err) {
- console.error('Failed to set _node, window was undefined')
+ console.error('[svelte-tree-view]: handleLogNode() errored', err)
}
},
handleCopyNodeToClipboard() {
try {
navigator.clipboard.writeText(JSON.stringify(node.getValue()))
} catch (err) {
- console.error('Copying node to clipboard failed: ', err)
+ console.error('[svelte-tree-view]: handleCopyNodeToClipboard() errored', err)
}
},
handleToggleCollapse() {
if (hasChildren) {
- treeStore.toggleCollapse(node.id)
+ rest.toggleCollapse(node.id)
} else if (node.circularOfId) {
- treeStore.expandAllNodesToNode(node.circularOfId)
- $rootElementStore
- ?.querySelector(`li[data-tree-id="${node.circularOfId}"]`)
- ?.scrollIntoView()
+ rest.expandAllNodesToNode(node.circularOfId)
+ $rootElement?.querySelector(`[data-tree-node-id="${node.circularOfId}"]`)?.scrollIntoView()
}
}
})
-{@render $propsObj.treeNode(nodeProps)}
+{@render $viewProps.treeNode(nodeProps)}
diff --git a/packages/svelte-tree-view/src/lib/__tests__/TreeView.spec.ts b/packages/svelte-tree-view/src/lib/__tests__/TreeView.spec.ts
index 481869a..564670e 100644
--- a/packages/svelte-tree-view/src/lib/__tests__/TreeView.spec.ts
+++ b/packages/svelte-tree-view/src/lib/__tests__/TreeView.spec.ts
@@ -54,11 +54,11 @@ describe('TreeView', () => {
const existingNodeWithValue = iteratedValues.get(val)
if (existingNodeWithValue) {
node.circularOfId = existingNodeWithValue.id
- return false
+ return true
}
iteratedValues.set(val, node)
}
- return true
+ return false
},
shouldExpandNode: () => true
},
diff --git a/packages/svelte-tree-view/src/lib/__tests__/__snapshots__/TreeView.spec.ts.snap b/packages/svelte-tree-view/src/lib/__tests__/__snapshots__/TreeView.spec.ts.snap
index 22b14b5..d3c9d17 100644
--- a/packages/svelte-tree-view/src/lib/__tests__/__snapshots__/TreeView.spec.ts.snap
+++ b/packages/svelte-tree-view/src/lib/__tests__/__snapshots__/TreeView.spec.ts.snap
@@ -10,7 +10,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -92,7 +92,7 @@ exports[`TreeView > should render 1`] = `
@@ -129,7 +129,7 @@ exports[`TreeView > should render 1`] = `
@@ -166,7 +166,7 @@ exports[`TreeView > should render 1`] = `
@@ -203,7 +203,7 @@ exports[`TreeView > should render 1`] = `
@@ -240,7 +240,7 @@ exports[`TreeView > should render 1`] = `
@@ -277,7 +277,7 @@ exports[`TreeView > should render 1`] = `
@@ -314,7 +314,7 @@ exports[`TreeView > should render 1`] = `
@@ -351,7 +351,7 @@ exports[`TreeView > should render 1`] = `
@@ -388,7 +388,7 @@ exports[`TreeView > should render 1`] = `
@@ -425,7 +425,7 @@ exports[`TreeView > should render 1`] = `
@@ -462,7 +462,7 @@ exports[`TreeView > should render 1`] = `
@@ -499,7 +499,7 @@ exports[`TreeView > should render 1`] = `
@@ -536,7 +536,7 @@ exports[`TreeView > should render 1`] = `
@@ -573,7 +573,7 @@ exports[`TreeView > should render 1`] = `
@@ -611,7 +611,7 @@ exports[`TreeView > should render 1`] = `
@@ -648,7 +648,7 @@ exports[`TreeView > should render 1`] = `
@@ -685,7 +685,7 @@ exports[`TreeView > should render 1`] = `
@@ -722,7 +722,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -804,7 +804,7 @@ exports[`TreeView > should render 1`] = `
@@ -841,7 +841,7 @@ exports[`TreeView > should render 1`] = `
@@ -878,7 +878,7 @@ exports[`TreeView > should render 1`] = `
@@ -915,7 +915,7 @@ exports[`TreeView > should render 1`] = `
@@ -952,7 +952,7 @@ exports[`TreeView > should render 1`] = `
@@ -989,7 +989,7 @@ exports[`TreeView > should render 1`] = `
@@ -1032,7 +1032,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
should render 1`] = `
@@ -1159,7 +1159,7 @@ exports[`TreeView > should render 1`] = `
@@ -1202,7 +1202,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -1284,7 +1284,7 @@ exports[`TreeView > should render 1`] = `
@@ -1327,7 +1327,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -1409,7 +1409,7 @@ exports[`TreeView > should render 1`] = `
@@ -1458,7 +1458,7 @@ exports[`TreeView > should render 1`] = `
@@ -1495,7 +1495,7 @@ exports[`TreeView > should render 1`] = `
@@ -1536,7 +1536,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -1618,7 +1618,7 @@ exports[`TreeView > should render 1`] = `
@@ -1655,7 +1655,7 @@ exports[`TreeView > should render 1`] = `
@@ -1692,7 +1692,7 @@ exports[`TreeView > should render 1`] = `
@@ -1729,7 +1729,7 @@ exports[`TreeView > should render 1`] = `
@@ -1766,7 +1766,7 @@ exports[`TreeView > should render 1`] = `
@@ -1803,7 +1803,7 @@ exports[`TreeView > should render 1`] = `
@@ -1840,7 +1840,7 @@ exports[`TreeView > should render 1`] = `
@@ -1877,7 +1877,7 @@ exports[`TreeView > should render 1`] = `
@@ -1914,7 +1914,7 @@ exports[`TreeView > should render 1`] = `
@@ -1951,7 +1951,7 @@ exports[`TreeView > should render 1`] = `
@@ -1988,7 +1988,7 @@ exports[`TreeView > should render 1`] = `
@@ -2025,7 +2025,7 @@ exports[`TreeView > should render 1`] = `
@@ -2062,7 +2062,7 @@ exports[`TreeView > should render 1`] = `
@@ -2099,7 +2099,7 @@ exports[`TreeView > should render 1`] = `
@@ -2137,7 +2137,7 @@ exports[`TreeView > should render 1`] = `
@@ -2174,7 +2174,7 @@ exports[`TreeView > should render 1`] = `
@@ -2211,7 +2211,7 @@ exports[`TreeView > should render 1`] = `
@@ -2248,7 +2248,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -2330,7 +2330,7 @@ exports[`TreeView > should render 1`] = `
@@ -2367,7 +2367,7 @@ exports[`TreeView > should render 1`] = `
@@ -2404,7 +2404,7 @@ exports[`TreeView > should render 1`] = `
@@ -2441,7 +2441,7 @@ exports[`TreeView > should render 1`] = `
@@ -2478,7 +2478,7 @@ exports[`TreeView > should render 1`] = `
@@ -2515,7 +2515,7 @@ exports[`TreeView > should render 1`] = `
@@ -2558,7 +2558,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
should render 1`] = `
@@ -2685,7 +2685,7 @@ exports[`TreeView > should render 1`] = `
@@ -2728,7 +2728,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -2810,7 +2810,7 @@ exports[`TreeView > should render 1`] = `
@@ -2853,7 +2853,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -2935,7 +2935,7 @@ exports[`TreeView > should render 1`] = `
@@ -2984,7 +2984,7 @@ exports[`TreeView > should render 1`] = `
@@ -3021,7 +3021,7 @@ exports[`TreeView > should render 1`] = `
@@ -3062,7 +3062,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -3144,7 +3144,7 @@ exports[`TreeView > should render 1`] = `
@@ -3181,7 +3181,7 @@ exports[`TreeView > should render 1`] = `
@@ -3218,7 +3218,7 @@ exports[`TreeView > should render 1`] = `
@@ -3255,7 +3255,7 @@ exports[`TreeView > should render 1`] = `
@@ -3292,7 +3292,7 @@ exports[`TreeView > should render 1`] = `
@@ -3329,7 +3329,7 @@ exports[`TreeView > should render 1`] = `
@@ -3366,7 +3366,7 @@ exports[`TreeView > should render 1`] = `
@@ -3403,7 +3403,7 @@ exports[`TreeView > should render 1`] = `
@@ -3440,7 +3440,7 @@ exports[`TreeView > should render 1`] = `
@@ -3477,7 +3477,7 @@ exports[`TreeView > should render 1`] = `
@@ -3514,7 +3514,7 @@ exports[`TreeView > should render 1`] = `
@@ -3551,7 +3551,7 @@ exports[`TreeView > should render 1`] = `
@@ -3588,7 +3588,7 @@ exports[`TreeView > should render 1`] = `
@@ -3625,7 +3625,7 @@ exports[`TreeView > should render 1`] = `
@@ -3663,7 +3663,7 @@ exports[`TreeView > should render 1`] = `
@@ -3700,7 +3700,7 @@ exports[`TreeView > should render 1`] = `
@@ -3737,7 +3737,7 @@ exports[`TreeView > should render 1`] = `
@@ -3774,7 +3774,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -3856,7 +3856,7 @@ exports[`TreeView > should render 1`] = `
@@ -3893,7 +3893,7 @@ exports[`TreeView > should render 1`] = `
@@ -3930,7 +3930,7 @@ exports[`TreeView > should render 1`] = `
@@ -3967,7 +3967,7 @@ exports[`TreeView > should render 1`] = `
@@ -4004,7 +4004,7 @@ exports[`TreeView > should render 1`] = `
@@ -4041,7 +4041,7 @@ exports[`TreeView > should render 1`] = `
@@ -4084,7 +4084,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
should render 1`] = `
@@ -4211,7 +4211,7 @@ exports[`TreeView > should render 1`] = `
@@ -4254,7 +4254,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -4336,7 +4336,7 @@ exports[`TreeView > should render 1`] = `
@@ -4379,7 +4379,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -4461,7 +4461,7 @@ exports[`TreeView > should render 1`] = `
@@ -4510,7 +4510,7 @@ exports[`TreeView > should render 1`] = `
@@ -4547,7 +4547,7 @@ exports[`TreeView > should render 1`] = `
@@ -4588,7 +4588,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -4670,7 +4670,7 @@ exports[`TreeView > should render 1`] = `
@@ -4707,7 +4707,7 @@ exports[`TreeView > should render 1`] = `
@@ -4744,7 +4744,7 @@ exports[`TreeView > should render 1`] = `
@@ -4781,7 +4781,7 @@ exports[`TreeView > should render 1`] = `
@@ -4818,7 +4818,7 @@ exports[`TreeView > should render 1`] = `
@@ -4855,7 +4855,7 @@ exports[`TreeView > should render 1`] = `
@@ -4892,7 +4892,7 @@ exports[`TreeView > should render 1`] = `
@@ -4929,7 +4929,7 @@ exports[`TreeView > should render 1`] = `
@@ -4966,7 +4966,7 @@ exports[`TreeView > should render 1`] = `
@@ -5003,7 +5003,7 @@ exports[`TreeView > should render 1`] = `
@@ -5040,7 +5040,7 @@ exports[`TreeView > should render 1`] = `
@@ -5077,7 +5077,7 @@ exports[`TreeView > should render 1`] = `
@@ -5114,7 +5114,7 @@ exports[`TreeView > should render 1`] = `
@@ -5151,7 +5151,7 @@ exports[`TreeView > should render 1`] = `
@@ -5189,7 +5189,7 @@ exports[`TreeView > should render 1`] = `
@@ -5226,7 +5226,7 @@ exports[`TreeView > should render 1`] = `
@@ -5263,7 +5263,7 @@ exports[`TreeView > should render 1`] = `
@@ -5300,7 +5300,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -5382,7 +5382,7 @@ exports[`TreeView > should render 1`] = `
@@ -5419,7 +5419,7 @@ exports[`TreeView > should render 1`] = `
@@ -5456,7 +5456,7 @@ exports[`TreeView > should render 1`] = `
@@ -5493,7 +5493,7 @@ exports[`TreeView > should render 1`] = `
@@ -5530,7 +5530,7 @@ exports[`TreeView > should render 1`] = `
@@ -5567,7 +5567,7 @@ exports[`TreeView > should render 1`] = `
@@ -5610,7 +5610,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
should render 1`] = `
@@ -5737,7 +5737,7 @@ exports[`TreeView > should render 1`] = `
@@ -5780,7 +5780,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -5862,7 +5862,7 @@ exports[`TreeView > should render 1`] = `
@@ -5905,7 +5905,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -5987,7 +5987,7 @@ exports[`TreeView > should render 1`] = `
@@ -6036,7 +6036,7 @@ exports[`TreeView > should render 1`] = `
@@ -6073,7 +6073,7 @@ exports[`TreeView > should render 1`] = `
@@ -6114,7 +6114,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -6196,7 +6196,7 @@ exports[`TreeView > should render 1`] = `
@@ -6233,7 +6233,7 @@ exports[`TreeView > should render 1`] = `
@@ -6270,7 +6270,7 @@ exports[`TreeView > should render 1`] = `
@@ -6307,7 +6307,7 @@ exports[`TreeView > should render 1`] = `
@@ -6344,7 +6344,7 @@ exports[`TreeView > should render 1`] = `
@@ -6381,7 +6381,7 @@ exports[`TreeView > should render 1`] = `
@@ -6418,7 +6418,7 @@ exports[`TreeView > should render 1`] = `
@@ -6455,7 +6455,7 @@ exports[`TreeView > should render 1`] = `
@@ -6492,7 +6492,7 @@ exports[`TreeView > should render 1`] = `
@@ -6529,7 +6529,7 @@ exports[`TreeView > should render 1`] = `
@@ -6566,7 +6566,7 @@ exports[`TreeView > should render 1`] = `
@@ -6603,7 +6603,7 @@ exports[`TreeView > should render 1`] = `
@@ -6640,7 +6640,7 @@ exports[`TreeView > should render 1`] = `
@@ -6677,7 +6677,7 @@ exports[`TreeView > should render 1`] = `
@@ -6715,7 +6715,7 @@ exports[`TreeView > should render 1`] = `
@@ -6752,7 +6752,7 @@ exports[`TreeView > should render 1`] = `
@@ -6789,7 +6789,7 @@ exports[`TreeView > should render 1`] = `
@@ -6826,7 +6826,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -6908,7 +6908,7 @@ exports[`TreeView > should render 1`] = `
@@ -6945,7 +6945,7 @@ exports[`TreeView > should render 1`] = `
@@ -6982,7 +6982,7 @@ exports[`TreeView > should render 1`] = `
@@ -7019,7 +7019,7 @@ exports[`TreeView > should render 1`] = `
@@ -7056,7 +7056,7 @@ exports[`TreeView > should render 1`] = `
@@ -7093,7 +7093,7 @@ exports[`TreeView > should render 1`] = `
@@ -7136,7 +7136,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
should render 1`] = `
@@ -7263,7 +7263,7 @@ exports[`TreeView > should render 1`] = `
@@ -7306,7 +7306,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -7388,7 +7388,7 @@ exports[`TreeView > should render 1`] = `
@@ -7431,7 +7431,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -7513,7 +7513,7 @@ exports[`TreeView > should render 1`] = `
@@ -7562,7 +7562,7 @@ exports[`TreeView > should render 1`] = `
@@ -7599,7 +7599,7 @@ exports[`TreeView > should render 1`] = `
@@ -7640,7 +7640,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -7722,7 +7722,7 @@ exports[`TreeView > should render 1`] = `
@@ -7759,7 +7759,7 @@ exports[`TreeView > should render 1`] = `
@@ -7796,7 +7796,7 @@ exports[`TreeView > should render 1`] = `
@@ -7833,7 +7833,7 @@ exports[`TreeView > should render 1`] = `
@@ -7870,7 +7870,7 @@ exports[`TreeView > should render 1`] = `
@@ -7907,7 +7907,7 @@ exports[`TreeView > should render 1`] = `
@@ -7944,7 +7944,7 @@ exports[`TreeView > should render 1`] = `
@@ -7981,7 +7981,7 @@ exports[`TreeView > should render 1`] = `
@@ -8018,7 +8018,7 @@ exports[`TreeView > should render 1`] = `
@@ -8055,7 +8055,7 @@ exports[`TreeView > should render 1`] = `
@@ -8092,7 +8092,7 @@ exports[`TreeView > should render 1`] = `
@@ -8129,7 +8129,7 @@ exports[`TreeView > should render 1`] = `
@@ -8166,7 +8166,7 @@ exports[`TreeView > should render 1`] = `
@@ -8203,7 +8203,7 @@ exports[`TreeView > should render 1`] = `
@@ -8241,7 +8241,7 @@ exports[`TreeView > should render 1`] = `
@@ -8278,7 +8278,7 @@ exports[`TreeView > should render 1`] = `
@@ -8315,7 +8315,7 @@ exports[`TreeView > should render 1`] = `
@@ -8352,7 +8352,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -8434,7 +8434,7 @@ exports[`TreeView > should render 1`] = `
@@ -8471,7 +8471,7 @@ exports[`TreeView > should render 1`] = `
@@ -8508,7 +8508,7 @@ exports[`TreeView > should render 1`] = `
@@ -8545,7 +8545,7 @@ exports[`TreeView > should render 1`] = `
@@ -8582,7 +8582,7 @@ exports[`TreeView > should render 1`] = `
@@ -8619,7 +8619,7 @@ exports[`TreeView > should render 1`] = `
@@ -8662,7 +8662,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
should render 1`] = `
@@ -8789,7 +8789,7 @@ exports[`TreeView > should render 1`] = `
@@ -8832,7 +8832,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -8914,7 +8914,7 @@ exports[`TreeView > should render 1`] = `
@@ -8957,7 +8957,7 @@ exports[`TreeView > should render 1`] = `
should render 1`] = `
@@ -9039,7 +9039,7 @@ exports[`TreeView > should render 1`] = `
@@ -9088,7 +9088,7 @@ exports[`TreeView > should render 1`] = `
@@ -9125,7 +9125,7 @@ exports[`TreeView > should render 1`] = `
@@ -9182,7 +9182,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -9339,7 +9339,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -9496,7 +9496,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -9549,7 +9549,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -9706,7 +9706,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -9753,7 +9753,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -9806,7 +9806,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -9861,7 +9861,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -9920,7 +9920,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -10077,7 +10077,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -10124,7 +10124,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -10177,7 +10177,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -10334,7 +10334,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -10387,7 +10387,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -10489,7 +10489,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -10542,7 +10542,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -10601,7 +10601,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -10703,7 +10703,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -10805,7 +10805,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -10852,7 +10852,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -10915,7 +10915,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -11072,7 +11072,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -11229,7 +11229,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -11282,7 +11282,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -11439,7 +11439,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -11486,7 +11486,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -11539,7 +11539,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -11594,7 +11594,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -11653,7 +11653,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -11810,7 +11810,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -11857,7 +11857,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -11910,7 +11910,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -12067,7 +12067,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -12120,7 +12120,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -12222,7 +12222,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -12275,7 +12275,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -12334,7 +12334,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -12436,7 +12436,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -12538,7 +12538,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -12585,7 +12585,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -12648,7 +12648,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -12805,7 +12805,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -12907,7 +12907,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -12954,7 +12954,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -13013,7 +13013,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -13115,7 +13115,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -13217,7 +13217,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -13264,7 +13264,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -13323,7 +13323,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -13425,7 +13425,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
should render with almost all props defined 1`] = `
@@ -13527,7 +13527,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
@@ -13574,7 +13574,7 @@ exports[`TreeView > should render with almost all props defined 1`] = `
diff --git a/packages/svelte-tree-view/src/lib/index.ts b/packages/svelte-tree-view/src/lib/index.ts
index a0f8b12..5614a4c 100644
--- a/packages/svelte-tree-view/src/lib/index.ts
+++ b/packages/svelte-tree-view/src/lib/index.ts
@@ -5,6 +5,5 @@ declare global {
}
export * from './types'
-export { default as DefaultNode } from './DefaultNode.svelte'
export { default as TreeView } from './TreeView.svelte'
export { default } from './TreeView.svelte'
diff --git a/packages/svelte-tree-view/src/lib/store.svelte.ts b/packages/svelte-tree-view/src/lib/store.svelte.ts
new file mode 100644
index 0000000..65f9b6a
--- /dev/null
+++ b/packages/svelte-tree-view/src/lib/store.svelte.ts
@@ -0,0 +1,145 @@
+import { derived, get, writable } from 'svelte/store'
+
+import { createNode, recurseObjectProperties } from './tree-utils.svelte'
+import type { TreeNode, TreeRecursionOpts, TreeViewProps } from './types'
+
+export type TreeStore = ReturnType
+
+export const createStore = (initialProps: Omit) => {
+ const [defaultRootNode] = createNode(-1, 'root', [], 0, null, {})
+ const treeMap = $state>({
+ [defaultRootNode.id]: defaultRootNode
+ })
+ const rootNode = $derived(treeMap[defaultRootNode.id])
+ const rootElement = writable(null)
+ const viewProps = writable>(initialProps)
+ const recursionOpts = derived(viewProps, p => p.recursionOpts)
+ const iteratedValues = new Map()
+
+ function setProps(newProps: Omit) {
+ viewProps.set(newProps)
+ }
+
+ function setRootElement(el: HTMLElement | null) {
+ rootElement.set(el)
+ }
+
+ function formatValue(val: any, node: TreeNode): string {
+ const { valueFormatter } = get(viewProps)
+ const customFormat = valueFormatter ? valueFormatter(val, node) : undefined
+ if (customFormat) {
+ return customFormat
+ }
+ switch (node.type) {
+ case 'array':
+ return `${node.circularOfId ? 'circular' : ''} [] ${val.length} items`
+ case 'object':
+ return `${node.circularOfId ? 'circular' : ''} {} ${Object.keys(val).length} keys`
+ case 'map':
+ case 'set':
+ return `${node.circularOfId ? 'circular' : ''} () ${val.size} entries`
+ case 'date':
+ return `${val.toISOString()}`
+ case 'string':
+ return `"${val}"`
+ case 'number':
+ return val
+ case 'boolean':
+ return val ? 'true' : 'false'
+ case 'symbol':
+ return String(val)
+ default:
+ return node.type
+ }
+ }
+
+ function createTree(
+ data: unknown,
+ recursionOpts: TreeRecursionOpts,
+ recomputeExpandNode: boolean
+ ) {
+ const oldIds = new Set(Object.keys(treeMap))
+ iteratedValues.clear()
+ recurseObjectProperties(
+ defaultRootNode.index,
+ defaultRootNode.key,
+ data,
+ defaultRootNode.depth,
+ true,
+ null,
+ treeMap,
+ oldIds,
+ iteratedValues,
+ recomputeExpandNode,
+ recursionOpts
+ )
+ for (const id of oldIds) {
+ delete treeMap[id]
+ }
+ get(viewProps).onUpdate?.(treeMap)
+ }
+
+ function toggleCollapse(id: string) {
+ const node = treeMap[id]
+ if (!node) {
+ throw Error(`Attempted to collapse non-existent node: ` + JSON.stringify(node))
+ }
+ node.collapsed = !node.collapsed
+ const recurOpts = get(recursionOpts)
+ if (recurOpts) {
+ expandNodeChildren(node, recurOpts)
+ } else {
+ get(viewProps).onUpdate?.(treeMap)
+ }
+ }
+
+ function expandNodeChildren(node: TreeNode, recursionOpts: TreeRecursionOpts) {
+ const parent = treeMap[node.parentId || '']
+ if (!parent) {
+ // Only root node has no parent and it should not be expandable
+ throw Error('No parent in expandNodeChildren for node: ' + JSON.stringify(node))
+ }
+ recurseObjectProperties(
+ node.index,
+ node.key,
+ node.getValue(),
+ node.depth,
+ !node.collapsed, // Ensure that when uncollapsed the node's children are always recursed
+ parent,
+ treeMap,
+ new Set(),
+ iteratedValues,
+ false, // Never recompute shouldExpandNode since it may override the collapsing of this node
+ recursionOpts
+ )
+ get(viewProps).onUpdate?.(treeMap)
+ }
+
+ function expandAllNodesToNode(id: string) {
+ function recurseNodeUpwards(node?: TreeNode | null) {
+ if (!node) return
+ treeMap[node.id]!.collapsed = false
+ if (node.parentId) {
+ recurseNodeUpwards(treeMap[node.parentId])
+ }
+ }
+ recurseNodeUpwards(treeMap[id])
+ get(viewProps).onUpdate?.(treeMap)
+ }
+
+ return {
+ recursionOpts,
+ rootElement,
+ rootNode,
+ treeMap,
+ viewProps,
+
+ setProps,
+ setRootElement,
+ formatValue,
+ createTree,
+ toggleCollapse,
+ expandNodeChildren,
+ expandAllNodesToNode
+ }
+}
diff --git a/packages/svelte-tree-view/src/lib/stores/index.ts b/packages/svelte-tree-view/src/lib/stores/index.ts
deleted file mode 100644
index d261522..0000000
--- a/packages/svelte-tree-view/src/lib/stores/index.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import type { PropsStore } from './props'
-import type { RootElementStore } from './root-element'
-import type { TreeStore } from './tree.svelte'
-
-export { createPropsStore } from './props'
-export { createRootElementStore } from './root-element'
-export { createTreeStore } from './tree.svelte'
-
-export interface Stores {
- propsStore: PropsStore
- rootElementStore: RootElementStore
- treeStore: TreeStore
-}
diff --git a/packages/svelte-tree-view/src/lib/stores/props.ts b/packages/svelte-tree-view/src/lib/stores/props.ts
deleted file mode 100644
index 44c7672..0000000
--- a/packages/svelte-tree-view/src/lib/stores/props.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { derived, get, writable } from 'svelte/store'
-
-import type { TreeNode, TreeViewProps } from '../types'
-
-export type PropsStore = ReturnType
-
-export const createPropsStore = (initialProps: Omit) => {
- const props = writable>(initialProps)
- const recursionOpts = derived(props, p => p.recursionOpts)
-
- return {
- props,
- recursionOpts,
-
- setProps(newProps: Omit) {
- props.set(newProps)
- },
-
- formatValue(val: any, node: TreeNode): string {
- const { valueFormatter } = get(props)
- const customFormat = valueFormatter ? valueFormatter(val, node) : undefined
- if (customFormat) {
- return customFormat
- }
- switch (node.type) {
- case 'array':
- return `${node.circularOfId ? 'circular' : ''} [] ${val.length} items`
- case 'object':
- return `${node.circularOfId ? 'circular' : ''} {} ${Object.keys(val).length} keys`
- case 'map':
- case 'set':
- return `${node.circularOfId ? 'circular' : ''} () ${val.size} entries`
- case 'date':
- return `${val.toISOString()}`
- case 'string':
- return `"${val}"`
- case 'number':
- return val
- case 'boolean':
- return val ? 'true' : 'false'
- case 'symbol':
- return String(val)
- default:
- return node.type
- }
- }
- }
-}
diff --git a/packages/svelte-tree-view/src/lib/stores/root-element.ts b/packages/svelte-tree-view/src/lib/stores/root-element.ts
deleted file mode 100644
index e7ef22c..0000000
--- a/packages/svelte-tree-view/src/lib/stores/root-element.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { writable } from 'svelte/store'
-
-export type RootElementStore = ReturnType
-
-export const createRootElementStore = () => {
- const rootElementStore = writable(null)
-
- return {
- set: rootElementStore.set,
- subscribe: rootElementStore.subscribe
- }
-}
diff --git a/packages/svelte-tree-view/src/lib/stores/tree.svelte.ts b/packages/svelte-tree-view/src/lib/stores/tree.svelte.ts
deleted file mode 100644
index d32c66c..0000000
--- a/packages/svelte-tree-view/src/lib/stores/tree.svelte.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import { get } from 'svelte/store'
-
-import { createNode, recurseObjectProperties } from '../tree-utils.svelte'
-import type { TreeNode, TreeRecursionOpts } from '../types'
-import type { PropsStore } from './props'
-
-export type TreeStore = ReturnType
-
-export const createTreeStore = (propsStore: PropsStore) => {
- const [defaultRootNode] = createNode(-1, 'root', [], 0, null, {})
- const treeMap = $state>({
- [defaultRootNode.id]: defaultRootNode
- })
- const rootNode = $derived(treeMap[defaultRootNode.id])
- const iteratedValues = new Map()
-
- return {
- treeMap,
- rootNode,
-
- recompute(data: unknown, recursionOpts: TreeRecursionOpts, recomputeExpandNode: boolean) {
- const oldIds = new Set(Object.keys(treeMap))
- iteratedValues.clear()
- recurseObjectProperties(
- defaultRootNode.index,
- defaultRootNode.key,
- data,
- defaultRootNode.depth,
- true,
- null,
- treeMap,
- oldIds,
- iteratedValues,
- recomputeExpandNode,
- recursionOpts
- )
- for (const id of oldIds) {
- delete treeMap[id]
- }
- get(propsStore.props).onUpdate?.(treeMap)
- },
-
- toggleCollapse(id: string) {
- const node = treeMap[id]
- if (!node) {
- return console.warn(`Attempted to collapse non-existent node: ${id}`)
- }
- node.collapsed = !node.collapsed
- const recursionOpts = get(propsStore.recursionOpts)
- if (recursionOpts) {
- this.expandNodeChildren(node, recursionOpts)
- } else {
- get(propsStore.props).onUpdate?.(treeMap)
- }
- },
-
- expandNodeChildren(node: TreeNode, recursionOpts: TreeRecursionOpts) {
- const oldTreeMap = treeMap
- const parent = oldTreeMap[node?.parentId || ''] || null
- if (!parent) {
- // Only root node has no parent and it should not be expandable
- throw Error('No parent in expandNodeChildren for node: ' + node)
- }
- const nodeWithUpdatedChildren = recurseObjectProperties(
- node.index,
- node.key,
- node.getValue(),
- node.depth,
- !node.collapsed, // Ensure that when uncollapsed the node's children are always recursed
- parent,
- treeMap,
- new Set(),
- iteratedValues,
- false, // Never recompute shouldExpandNode since it may override the collapsing of this node
- recursionOpts
- )
- if (!nodeWithUpdatedChildren) return
- treeMap[nodeWithUpdatedChildren.id] = nodeWithUpdatedChildren
- treeMap[parent.id] = parent
- get(propsStore.props).onUpdate?.(treeMap)
- },
-
- expandAllNodesToNode(id: string) {
- function recurseNodeUpwards(
- updated: Record,
- node?: TreeNode | null
- ) {
- if (!node) return
- updated[node.id]!.collapsed = false
- if (node.parentId) {
- recurseNodeUpwards(updated, updated[node.parentId])
- }
- }
- const updated = treeMap
- recurseNodeUpwards(updated, updated[id])
- get(propsStore.props).onUpdate?.(updated)
- }
- }
-}
diff --git a/packages/svelte-tree-view/src/lib/tree-utils.svelte.ts b/packages/svelte-tree-view/src/lib/tree-utils.svelte.ts
index ac53d11..15e2ba7 100644
--- a/packages/svelte-tree-view/src/lib/tree-utils.svelte.ts
+++ b/packages/svelte-tree-view/src/lib/tree-utils.svelte.ts
@@ -12,10 +12,12 @@ export function createNode(
const id = `[${path.join(',')}]`
const oldNode = treeMap[id]
if (oldNode) {
+ const sameValue = oldNode.getValue() === value
oldNode.key = key
oldNode.getValue = () => value
oldNode.depth = depth
oldNode.type = getValueType(value)
+ oldNode.circularOfId = sameValue ? oldNode.circularOfId : null
oldNode.children = []
return [oldNode, oldNode]
}
@@ -124,7 +126,7 @@ function shouldRecurseChildren(
} else if (!opts.stopCircularRecursion) {
return true
} else if (opts.isCircularNode) {
- return opts.isCircularNode(node, iteratedValues)
+ return !opts.isCircularNode(node, iteratedValues)
} else if (node.type === 'object' || node.type === 'array') {
const existingNodeWithValue = iteratedValues.get(node.getValue())
if (existingNodeWithValue && node.id !== existingNodeWithValue.id) {
diff --git a/packages/svelte-tree-view/src/lib/types.ts b/packages/svelte-tree-view/src/lib/types.ts
index 2b278b0..49a1b2e 100644
--- a/packages/svelte-tree-view/src/lib/types.ts
+++ b/packages/svelte-tree-view/src/lib/types.ts
@@ -1,6 +1,6 @@
import type { Component, Snippet } from 'svelte'
import type { HTMLAttributes } from 'svelte/elements'
-import type { Stores } from './stores'
+import type { TreeStore } from './store.svelte'
export type ValueType =
| 'array'
@@ -132,7 +132,7 @@ export interface TreeRecursionOpts {
* For custom circularity detection magic
* @param n Iterated node
* @param iteratedValues Map of all iterated values
- * @returns
+ * @returns `true` if circular to skip iterating this value
*/
isCircularNode?: (n: TreeNode, iteratedValues: Map>) => boolean
/**
@@ -155,7 +155,7 @@ export interface TreeRecursionOpts {
export interface NodeProps {
node: TreeNode
TreeViewNode: Component<{ id: string }>
- getTreeContext: () => Stores
+ getTreeContext: () => TreeStore
handleLogNode(): void
handleCopyNodeToClipboard(): void
handleToggleCollapse(): void
diff --git a/packages/svelte-tree-view/src/routes/+page.svelte b/packages/svelte-tree-view/src/routes/+page.svelte
index 82f1feb..ba1fa68 100644
--- a/packages/svelte-tree-view/src/routes/+page.svelte
+++ b/packages/svelte-tree-view/src/routes/+page.svelte
@@ -1,5 +1,6 @@
@@ -16,6 +17,10 @@
recursionOpts={{
maxDepth: 4
}}
- />
+ >
+ {#snippet treeNode(props)}
+
+ {/snippet}
+
diff --git a/packages/svelte-tree-view/tsconfig.json b/packages/svelte-tree-view/tsconfig.json
index d001b2f..1e87f3e 100644
--- a/packages/svelte-tree-view/tsconfig.json
+++ b/packages/svelte-tree-view/tsconfig.json
@@ -12,7 +12,7 @@
"strict": true,
"moduleResolution": "bundler",
"lib": ["es2020", "dom", "dom.iterable"],
- "target": "es2019",
+ "target": "es2020",
"types": ["svelte", "cypress", "vitest/globals"]
},
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte"],
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0288af6..e20b6d4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,34 +13,34 @@ importers:
version: 2.29.5
'@eslint/compat':
specifier: ^1.3.1
- version: 1.3.1(eslint@9.30.1(jiti@2.4.2))
+ version: 1.3.1(eslint@9.31.0(jiti@2.4.2))
'@eslint/js':
- specifier: ^9.30.1
- version: 9.30.1
+ specifier: ^9.31.0
+ version: 9.31.0
'@typescript-eslint/eslint-plugin':
- specifier: ^8.35.1
- version: 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
+ specifier: ^8.37.0
+ version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser':
- specifier: ^8.35.1
- version: 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
+ specifier: ^8.37.0
+ version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
concurrently:
specifier: ^9.2.0
version: 9.2.0
eslint:
- specifier: ^9.30.1
- version: 9.30.1(jiti@2.4.2)
+ specifier: ^9.31.0
+ version: 9.31.0(jiti@2.4.2)
eslint-config-prettier:
- specifier: ^10.1.5
- version: 10.1.5(eslint@9.30.1(jiti@2.4.2))
+ specifier: ^10.1.8
+ version: 10.1.8(eslint@9.31.0(jiti@2.4.2))
eslint-plugin-prettier:
- specifier: ^5.5.1
- version: 5.5.1(eslint-config-prettier@10.1.5(eslint@9.30.1(jiti@2.4.2)))(eslint@9.30.1(jiti@2.4.2))(prettier@3.6.2)
+ specifier: ^5.5.3
+ version: 5.5.3(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(prettier@3.6.2)
eslint-plugin-promise:
specifier: ^7.2.1
- version: 7.2.1(eslint@9.30.1(jiti@2.4.2))
+ version: 7.2.1(eslint@9.31.0(jiti@2.4.2))
eslint-plugin-svelte:
- specifier: ^3.10.1
- version: 3.10.1(eslint@9.30.1(jiti@2.4.2))(svelte@5.35.4)
+ specifier: ^3.11.0
+ version: 3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.10)
globals:
specifier: ^16.3.0
version: 16.3.0
@@ -52,10 +52,10 @@ importers:
version: 3.6.2
prettier-plugin-svelte:
specifier: ^3.4.0
- version: 3.4.0(prettier@3.6.2)(svelte@5.35.4)
+ version: 3.4.0(prettier@3.6.2)(svelte@5.36.10)
prettier-plugin-tailwindcss:
- specifier: ^0.6.13
- version: 0.6.13(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.35.4))(prettier@3.6.2)
+ specifier: ^0.6.14
+ version: 0.6.14(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.36.10))(prettier@3.6.2)
tslib:
specifier: ^2.8.1
version: 2.8.1
@@ -63,35 +63,35 @@ importers:
specifier: ^5.8.3
version: 5.8.3
typescript-eslint:
- specifier: ^8.35.1
- version: 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
+ specifier: ^8.37.0
+ version: 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
vite:
- specifier: ^7.0.2
- version: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ specifier: ^7.0.5
+ version: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
vite-plugin-dts:
specifier: ^4.5.4
- version: 4.5.4(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ version: 4.5.4(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
packages/site:
devDependencies:
'@sveltejs/adapter-static':
specifier: ^3.0.8
- version: 3.0.8(@sveltejs/kit@2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))
+ version: 3.0.8(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))
'@sveltejs/kit':
- specifier: 2.22.2
- version: 2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ specifier: 2.25.1
+ version: 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
'@sveltejs/vite-plugin-svelte':
- specifier: ^5.1.0
- version: 5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ specifier: ^6.1.0
+ version: 6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
'@tailwindcss/vite':
specifier: ^4.1.11
- version: 4.1.11(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ version: 4.1.11(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
svelte:
- specifier: ^5.35.4
- version: 5.35.4
+ specifier: ^5.36.10
+ version: 5.36.10
svelte-preprocess:
specifier: ^6.0.3
- version: 6.0.3(postcss-load-config@4.0.1(postcss@8.5.6))(postcss@8.5.6)(sass@1.89.2)(svelte@5.35.4)(typescript@5.8.3)
+ version: 6.0.3(postcss-load-config@4.0.1(postcss@8.5.6))(postcss@8.5.6)(sass@1.89.2)(svelte@5.36.10)(typescript@5.8.3)
svelte-tree-view:
specifier: workspace:*
version: link:../svelte-tree-view
@@ -102,20 +102,20 @@ importers:
packages/svelte-tree-view:
devDependencies:
'@sveltejs/kit':
- specifier: ^2.22.2
- version: 2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ specifier: ^2.25.1
+ version: 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
'@sveltejs/package':
- specifier: ^2.3.12
- version: 2.3.12(svelte@5.35.4)(typescript@5.8.3)
+ specifier: ^2.4.0
+ version: 2.4.0(svelte@5.36.10)(typescript@5.8.3)
'@sveltejs/vite-plugin-svelte':
- specifier: ^5.1.0
- version: 5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ specifier: ^6.1.0
+ version: 6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
'@testing-library/cypress':
specifier: ^10.0.3
version: 10.0.3(cypress@14.5.1)
'@testing-library/svelte':
specifier: ^5.2.8
- version: 5.2.8(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(sass@1.89.2))
+ version: 5.2.8(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(sass@1.89.2))
'@types/testing-library__jest-dom':
specifier: ^5.14.9
version: 5.14.9
@@ -132,17 +132,17 @@ importers:
specifier: ^1.89.2
version: 1.89.2
svelte:
- specifier: ^5.35.4
- version: 5.35.4
+ specifier: ^5.36.10
+ version: 5.36.10
svelte-check:
- specifier: ^4.2.2
- version: 4.2.2(picomatch@4.0.2)(svelte@5.35.4)(typescript@5.8.3)
+ specifier: ^4.3.0
+ version: 4.3.0(picomatch@4.0.2)(svelte@5.36.10)(typescript@5.8.3)
svelte-preprocess:
specifier: ^6.0.3
- version: 6.0.3(postcss-load-config@4.0.1(postcss@8.5.6))(postcss@8.5.6)(sass@1.89.2)(svelte@5.35.4)(typescript@5.8.3)
+ version: 6.0.3(postcss-load-config@4.0.1(postcss@8.5.6))(postcss@8.5.6)(sass@1.89.2)(svelte@5.36.10)(typescript@5.8.3)
svelte2tsx:
- specifier: ^0.7.40
- version: 0.7.40(svelte@5.35.4)(typescript@5.8.3)
+ specifier: ^0.7.41
+ version: 0.7.41(svelte@5.36.10)(typescript@5.8.3)
vitest:
specifier: ^3.2.4
version: 3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(sass@1.89.2)
@@ -464,10 +464,6 @@ packages:
resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.14.0':
- resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@eslint/core@0.15.1':
resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -476,8 +472,8 @@ packages:
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.30.1':
- resolution: {integrity: sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==}
+ '@eslint/js@9.31.0':
+ resolution: {integrity: sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.6':
@@ -801,8 +797,8 @@ packages:
peerDependencies:
'@sveltejs/kit': ^2.0.0
- '@sveltejs/kit@2.22.2':
- resolution: {integrity: sha512-2MvEpSYabUrsJAoq5qCOBGAlkICjfjunrnLcx3YAk2XV7TvAIhomlKsAgR4H/4uns5rAfYmj7Wet5KRtc8dPIg==}
+ '@sveltejs/kit@2.25.1':
+ resolution: {integrity: sha512-8H+fxDEp7Xq6tLFdrGdS5fLu6ONDQQ9DgyjboXpChubuFdfH9QoFX09ypssBpyNkJNZFt9eW3yLmXIc9CesPCA==}
engines: {node: '>=18.13'}
hasBin: true
peerDependencies:
@@ -810,27 +806,27 @@ packages:
svelte: ^4.0.0 || ^5.0.0-next.0
vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0
- '@sveltejs/package@2.3.12':
- resolution: {integrity: sha512-PUl5aNbk2x28rPdAVTZMtrZmAx6yxQ+s33OtOkE0j0fWtoi9GzENXKRJPHrGk5rwGrczqY0LtNi8dycRPL+yzA==}
+ '@sveltejs/package@2.4.0':
+ resolution: {integrity: sha512-DZzPhkSkxJDBI2o07FbyrI7pxOMXl0j4RR5AB0aH/RVnoBC5lBl4v4FAW5WFrTRu3IC3H9y00MIia4uZ1buX+w==}
engines: {node: ^16.14 || >=18}
hasBin: true
peerDependencies:
svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1
- '@sveltejs/vite-plugin-svelte-inspector@4.0.1':
- resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22}
+ '@sveltejs/vite-plugin-svelte-inspector@5.0.0':
+ resolution: {integrity: sha512-iwQ8Z4ET6ZFSt/gC+tVfcsSBHwsqc6RumSaiLUkAurW3BCpJam65cmHw0oOlDMTO0u+PZi9hilBRYN+LZNHTUQ==}
+ engines: {node: ^20.19 || ^22.12 || >=24}
peerDependencies:
- '@sveltejs/vite-plugin-svelte': ^5.0.0
+ '@sveltejs/vite-plugin-svelte': ^6.0.0-next.0
svelte: ^5.0.0
- vite: ^6.0.0
+ vite: ^6.3.0 || ^7.0.0
- '@sveltejs/vite-plugin-svelte@5.1.0':
- resolution: {integrity: sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22}
+ '@sveltejs/vite-plugin-svelte@6.1.0':
+ resolution: {integrity: sha512-+U6lz1wvGEG/BvQyL4z/flyNdQ9xDNv5vrh+vWBWTHaebqT0c9RNggpZTo/XSPoHsSCWBlYaTlRX8pZ9GATXCw==}
+ engines: {node: ^20.19 || ^22.12 || >=24}
peerDependencies:
svelte: ^5.0.0
- vite: ^6.0.0
+ vite: ^6.3.0 || ^7.0.0
'@tailwindcss/node@4.1.11':
resolution: {integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==}
@@ -1012,63 +1008,63 @@ packages:
'@types/yauzl@2.10.0':
resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==}
- '@typescript-eslint/eslint-plugin@8.36.0':
- resolution: {integrity: sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==}
+ '@typescript-eslint/eslint-plugin@8.37.0':
+ resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.36.0
+ '@typescript-eslint/parser': ^8.37.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/parser@8.36.0':
- resolution: {integrity: sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==}
+ '@typescript-eslint/parser@8.37.0':
+ resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/project-service@8.36.0':
- resolution: {integrity: sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==}
+ '@typescript-eslint/project-service@8.37.0':
+ resolution: {integrity: sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/scope-manager@8.36.0':
- resolution: {integrity: sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==}
+ '@typescript-eslint/scope-manager@8.37.0':
+ resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.36.0':
- resolution: {integrity: sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==}
+ '@typescript-eslint/tsconfig-utils@8.37.0':
+ resolution: {integrity: sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/type-utils@8.36.0':
- resolution: {integrity: sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==}
+ '@typescript-eslint/type-utils@8.37.0':
+ resolution: {integrity: sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/types@8.36.0':
- resolution: {integrity: sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==}
+ '@typescript-eslint/types@8.37.0':
+ resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.36.0':
- resolution: {integrity: sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==}
+ '@typescript-eslint/typescript-estree@8.37.0':
+ resolution: {integrity: sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/utils@8.36.0':
- resolution: {integrity: sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==}
+ '@typescript-eslint/utils@8.37.0':
+ resolution: {integrity: sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
- '@typescript-eslint/visitor-keys@8.36.0':
- resolution: {integrity: sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==}
+ '@typescript-eslint/visitor-keys@8.37.0':
+ resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@vitest/expect@3.2.4':
@@ -1488,15 +1484,6 @@ packages:
supports-color:
optional: true
- debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
debug@4.4.1:
resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
engines: {node: '>=6.0'}
@@ -1633,14 +1620,14 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- eslint-config-prettier@10.1.5:
- resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==}
+ eslint-config-prettier@10.1.8:
+ resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
- eslint-plugin-prettier@5.5.1:
- resolution: {integrity: sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==}
+ eslint-plugin-prettier@5.5.3:
+ resolution: {integrity: sha512-NAdMYww51ehKfDyDhv59/eIItUVzU0Io9H2E8nHNGKEeeqlnci+1gCvrHib6EmZdf6GxF+LCV5K7UC65Ezvw7w==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
'@types/eslint': '>=8.0.0'
@@ -1659,8 +1646,8 @@ packages:
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
- eslint-plugin-svelte@3.10.1:
- resolution: {integrity: sha512-csCh2x0ge/DugXC7dCANh46Igi7bjMZEy6rHZCdS13AoGVJSu7a90Kru3I8oMYLGEemPRE1hQXadxvRPVMAAXQ==}
+ eslint-plugin-svelte@3.11.0:
+ resolution: {integrity: sha512-KliWlkieHyEa65aQIkRwUFfHzT5Cn4u3BQQsu3KlkJOs7c1u7ryn84EWaOjEzilbKgttT4OfBURA8Uc4JBSQIw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.1 || ^9.0.0
@@ -1681,8 +1668,8 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.30.1:
- resolution: {integrity: sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==}
+ eslint@9.31.0:
+ resolution: {integrity: sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -2477,9 +2464,6 @@ packages:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
- ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -2706,11 +2690,13 @@ packages:
prettier: ^3.0.0
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
- prettier-plugin-tailwindcss@0.6.13:
- resolution: {integrity: sha512-uQ0asli1+ic8xrrSmIOaElDu0FacR4x69GynTh2oZjFY10JUt6EEumTQl5tB4fMeD6I1naKd+4rXQQ7esT2i1g==}
+ prettier-plugin-tailwindcss@0.6.14:
+ resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==}
engines: {node: '>=14.21.3'}
peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*'
+ '@prettier/plugin-hermes': '*'
+ '@prettier/plugin-oxc': '*'
'@prettier/plugin-pug': '*'
'@shopify/prettier-plugin-liquid': '*'
'@trivago/prettier-plugin-sort-imports': '*'
@@ -2730,6 +2716,10 @@ packages:
peerDependenciesMeta:
'@ianvs/prettier-plugin-sort-imports':
optional: true
+ '@prettier/plugin-hermes':
+ optional: true
+ '@prettier/plugin-oxc':
+ optional: true
'@prettier/plugin-pug':
optional: true
'@shopify/prettier-plugin-liquid':
@@ -3045,16 +3035,16 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- svelte-check@4.2.2:
- resolution: {integrity: sha512-1+31EOYZ7NKN0YDMKusav2hhEoA51GD9Ws6o//0SphMT0ve9mBTsTUEX7OmDMadUP3KjNHsSKtJrqdSaD8CrGQ==}
+ svelte-check@4.3.0:
+ resolution: {integrity: sha512-Iz8dFXzBNAM7XlEIsUjUGQhbEE+Pvv9odb9+0+ITTgFWZBGeJRRYqHUUglwe2EkLD5LIsQaAc4IUJyvtKuOO5w==}
engines: {node: '>= 18.0.0'}
hasBin: true
peerDependencies:
svelte: ^4.0.0 || ^5.0.0-next.0
typescript: '>=5.0.0'
- svelte-eslint-parser@1.2.0:
- resolution: {integrity: sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==}
+ svelte-eslint-parser@1.3.0:
+ resolution: {integrity: sha512-VCgMHKV7UtOGcGLGNFSbmdm6kEKjtzo5nnpGU/mnx4OsFY6bZ7QwRF5DUx+Hokw5Lvdyo8dpk8B1m8mliomrNg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
@@ -3099,14 +3089,14 @@ packages:
typescript:
optional: true
- svelte2tsx@0.7.40:
- resolution: {integrity: sha512-Fgqe2lzC9DWT/kQTIXqN39O2ot9rUqzUu9dqpbuI6EsaEJ6+RSXVmXnxcNYMlKb2LRPDoIg9TVzXYWwi0zhCmQ==}
+ svelte2tsx@0.7.41:
+ resolution: {integrity: sha512-/TUwpyn/Qc1wcGuayf2GSwvZ7htdAOzpo0JFFm96srKnRXoTD0gy4n06g+XgH8w016S3lPtyFVtFAm+0yJ0BZw==}
peerDependencies:
svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
typescript: ^4.9.4 || ^5.0.0
- svelte@5.35.4:
- resolution: {integrity: sha512-NUUD+GcV/uvLBANoFwPNtnlkJM77PEkYYH6TChRZnGI1a5UHc9k2Glq7jxGtClfVz2ZhEvpg+c4yS577qM1c6g==}
+ svelte@5.36.10:
+ resolution: {integrity: sha512-hAjYQweQHM8VH5YEEf2+k9hGyMnd+oVHXoSA/eG607vViRk9qQO1g+Dvr29+yMuYQNScpOzHX3qcnC7LrcTGCQ==}
engines: {node: '>=18'}
symbol-tree@3.2.4:
@@ -3221,8 +3211,8 @@ packages:
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
engines: {node: '>=8'}
- typescript-eslint@8.36.0:
- resolution: {integrity: sha512-fTCqxthY+h9QbEgSIBfL9iV6CvKDFuoxg6bHPNpJ9HIUzS+jy2lCEyCmGyZRWEBSaykqcDPf1SJ+BfCI8DRopA==}
+ typescript-eslint@8.37.0:
+ resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -3281,8 +3271,8 @@ packages:
vite:
optional: true
- vite@7.0.2:
- resolution: {integrity: sha512-hxdyZDY1CM6SNpKI4w4lcUc3Mtkd9ej4ECWVHSMrOdSinVc2zYOAppHeGc/hzmRo3pxM5blMzkuWHOJA/3NiFw==}
+ vite@7.0.5:
+ resolution: {integrity: sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -3781,31 +3771,27 @@ snapshots:
'@esbuild/win32-x64@0.25.6':
optional: true
- '@eslint-community/eslint-utils@4.7.0(eslint@9.30.1(jiti@2.4.2))':
+ '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0(jiti@2.4.2))':
dependencies:
- eslint: 9.30.1(jiti@2.4.2)
+ eslint: 9.31.0(jiti@2.4.2)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
- '@eslint/compat@1.3.1(eslint@9.30.1(jiti@2.4.2))':
+ '@eslint/compat@1.3.1(eslint@9.31.0(jiti@2.4.2))':
optionalDependencies:
- eslint: 9.30.1(jiti@2.4.2)
+ eslint: 9.31.0(jiti@2.4.2)
'@eslint/config-array@0.21.0':
dependencies:
'@eslint/object-schema': 2.1.6
- debug: 4.3.4
+ debug: 4.4.1(supports-color@8.1.1)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@eslint/config-helpers@0.3.0': {}
- '@eslint/core@0.14.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
'@eslint/core@0.15.1':
dependencies:
'@types/json-schema': 7.0.15
@@ -3813,7 +3799,7 @@ snapshots:
'@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
- debug: 4.3.4
+ debug: 4.4.1(supports-color@8.1.1)
espree: 10.4.0
globals: 14.0.0
ignore: 5.2.0
@@ -3824,7 +3810,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.30.1': {}
+ '@eslint/js@9.31.0': {}
'@eslint/object-schema@2.1.6': {}
@@ -4113,14 +4099,14 @@ snapshots:
dependencies:
acorn: 8.15.0
- '@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))':
+ '@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))':
dependencies:
- '@sveltejs/kit': 2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ '@sveltejs/kit': 2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
- '@sveltejs/kit@2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
+ '@sveltejs/kit@2.25.1(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
dependencies:
'@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0)
- '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
'@types/cookie': 0.6.0
acorn: 8.15.0
cookie: 0.6.0
@@ -4132,40 +4118,39 @@ snapshots:
sade: 1.8.1
set-cookie-parser: 2.6.0
sirv: 3.0.1
- svelte: 5.35.4
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
- vitefu: 1.1.1(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ svelte: 5.36.10
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
- '@sveltejs/package@2.3.12(svelte@5.35.4)(typescript@5.8.3)':
+ '@sveltejs/package@2.4.0(svelte@5.36.10)(typescript@5.8.3)':
dependencies:
chokidar: 4.0.3
kleur: 4.1.5
sade: 1.8.1
semver: 7.7.2
- svelte: 5.35.4
- svelte2tsx: 0.7.40(svelte@5.35.4)(typescript@5.8.3)
+ svelte: 5.36.10
+ svelte2tsx: 0.7.41(svelte@5.36.10)(typescript@5.8.3)
transitivePeerDependencies:
- typescript
- '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
+ '@sveltejs/vite-plugin-svelte-inspector@5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
dependencies:
- '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ '@sveltejs/vite-plugin-svelte': 6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
debug: 4.4.1(supports-color@8.1.1)
- svelte: 5.35.4
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ svelte: 5.36.10
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
transitivePeerDependencies:
- supports-color
- '@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
+ '@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ '@sveltejs/vite-plugin-svelte-inspector': 5.0.0(@sveltejs/vite-plugin-svelte@6.1.0(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)))(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
debug: 4.4.1(supports-color@8.1.1)
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.17
- svelte: 5.35.4
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
- vitefu: 1.1.1(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ svelte: 5.36.10
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vitefu: 1.1.1(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
transitivePeerDependencies:
- supports-color
@@ -4233,12 +4218,12 @@ snapshots:
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.11
'@tailwindcss/oxide-win32-x64-msvc': 4.1.11
- '@tailwindcss/vite@4.1.11(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
+ '@tailwindcss/vite@4.1.11(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
dependencies:
'@tailwindcss/node': 4.1.11
'@tailwindcss/oxide': 4.1.11
tailwindcss: 4.1.11
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
'@testing-library/cypress@10.0.3(cypress@14.5.1)':
dependencies:
@@ -4268,12 +4253,12 @@ snapshots:
lz-string: 1.5.0
pretty-format: 27.5.1
- '@testing-library/svelte@5.2.8(svelte@5.35.4)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(sass@1.89.2))':
+ '@testing-library/svelte@5.2.8(svelte@5.36.10)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(sass@1.89.2))':
dependencies:
'@testing-library/dom': 9.3.1
- svelte: 5.35.4
+ svelte: 5.36.10
optionalDependencies:
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
vitest: 3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(sass@1.89.2)
'@types/argparse@1.0.38': {}
@@ -4334,15 +4319,15 @@ snapshots:
'@types/node': 18.7.16
optional: true
- '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/scope-manager': 8.36.0
- '@typescript-eslint/type-utils': 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/visitor-keys': 8.36.0
- eslint: 9.30.1(jiti@2.4.2)
+ '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
+ '@typescript-eslint/scope-manager': 8.37.0
+ '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.37.0
+ eslint: 9.31.0(jiti@2.4.2)
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -4351,56 +4336,57 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.36.0
- '@typescript-eslint/types': 8.36.0
- '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
- '@typescript-eslint/visitor-keys': 8.36.0
- debug: 4.3.4
- eslint: 9.30.1(jiti@2.4.2)
+ '@typescript-eslint/scope-manager': 8.37.0
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/visitor-keys': 8.37.0
+ debug: 4.4.1(supports-color@8.1.1)
+ eslint: 9.31.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.36.0(typescript@5.8.3)':
+ '@typescript-eslint/project-service@8.37.0(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3)
- '@typescript-eslint/types': 8.36.0
- debug: 4.3.4
+ '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.37.0
+ debug: 4.4.1(supports-color@8.1.1)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.36.0':
+ '@typescript-eslint/scope-manager@8.37.0':
dependencies:
- '@typescript-eslint/types': 8.36.0
- '@typescript-eslint/visitor-keys': 8.36.0
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/visitor-keys': 8.37.0
- '@typescript-eslint/tsconfig-utils@8.36.0(typescript@5.8.3)':
+ '@typescript-eslint/tsconfig-utils@8.37.0(typescript@5.8.3)':
dependencies:
typescript: 5.8.3
- '@typescript-eslint/type-utils@8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/type-utils@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
- '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
- debug: 4.3.4
- eslint: 9.30.1(jiti@2.4.2)
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
+ debug: 4.4.1(supports-color@8.1.1)
+ eslint: 9.31.0(jiti@2.4.2)
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.36.0': {}
+ '@typescript-eslint/types@8.37.0': {}
- '@typescript-eslint/typescript-estree@8.36.0(typescript@5.8.3)':
+ '@typescript-eslint/typescript-estree@8.37.0(typescript@5.8.3)':
dependencies:
- '@typescript-eslint/project-service': 8.36.0(typescript@5.8.3)
- '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3)
- '@typescript-eslint/types': 8.36.0
- '@typescript-eslint/visitor-keys': 8.36.0
- debug: 4.3.4
+ '@typescript-eslint/project-service': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/visitor-keys': 8.37.0
+ debug: 4.4.1(supports-color@8.1.1)
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
@@ -4410,20 +4396,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)':
+ '@typescript-eslint/utils@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.4.2))
- '@typescript-eslint/scope-manager': 8.36.0
- '@typescript-eslint/types': 8.36.0
- '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
- eslint: 9.30.1(jiti@2.4.2)
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2))
+ '@typescript-eslint/scope-manager': 8.37.0
+ '@typescript-eslint/types': 8.37.0
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ eslint: 9.31.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.36.0':
+ '@typescript-eslint/visitor-keys@8.37.0':
dependencies:
- '@typescript-eslint/types': 8.36.0
+ '@typescript-eslint/types': 8.37.0
eslint-visitor-keys: 4.2.1
'@vitest/expect@3.2.4':
@@ -4434,13 +4420,13 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
+ '@vitest/mocker@3.2.4(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -4873,10 +4859,6 @@ snapshots:
optionalDependencies:
supports-color: 8.1.1
- debug@4.3.4:
- dependencies:
- ms: 2.1.2
-
debug@4.4.1(supports-color@8.1.1):
dependencies:
ms: 2.1.3
@@ -5030,29 +5012,29 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-prettier@10.1.5(eslint@9.30.1(jiti@2.4.2)):
+ eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)):
dependencies:
- eslint: 9.30.1(jiti@2.4.2)
+ eslint: 9.31.0(jiti@2.4.2)
- eslint-plugin-prettier@5.5.1(eslint-config-prettier@10.1.5(eslint@9.30.1(jiti@2.4.2)))(eslint@9.30.1(jiti@2.4.2))(prettier@3.6.2):
+ eslint-plugin-prettier@5.5.3(eslint-config-prettier@10.1.8(eslint@9.31.0(jiti@2.4.2)))(eslint@9.31.0(jiti@2.4.2))(prettier@3.6.2):
dependencies:
- eslint: 9.30.1(jiti@2.4.2)
+ eslint: 9.31.0(jiti@2.4.2)
prettier: 3.6.2
prettier-linter-helpers: 1.0.0
synckit: 0.11.8
optionalDependencies:
- eslint-config-prettier: 10.1.5(eslint@9.30.1(jiti@2.4.2))
+ eslint-config-prettier: 10.1.8(eslint@9.31.0(jiti@2.4.2))
- eslint-plugin-promise@7.2.1(eslint@9.30.1(jiti@2.4.2)):
+ eslint-plugin-promise@7.2.1(eslint@9.31.0(jiti@2.4.2)):
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.4.2))
- eslint: 9.30.1(jiti@2.4.2)
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2))
+ eslint: 9.31.0(jiti@2.4.2)
- eslint-plugin-svelte@3.10.1(eslint@9.30.1(jiti@2.4.2))(svelte@5.35.4):
+ eslint-plugin-svelte@3.11.0(eslint@9.31.0(jiti@2.4.2))(svelte@5.36.10):
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.4.2))
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2))
'@jridgewell/sourcemap-codec': 1.5.4
- eslint: 9.30.1(jiti@2.4.2)
+ eslint: 9.31.0(jiti@2.4.2)
esutils: 2.0.3
globals: 16.3.0
known-css-properties: 0.37.0
@@ -5060,9 +5042,9 @@ snapshots:
postcss-load-config: 3.1.4(postcss@8.5.6)
postcss-safe-parser: 7.0.1(postcss@8.5.6)
semver: 7.7.2
- svelte-eslint-parser: 1.2.0(svelte@5.35.4)
+ svelte-eslint-parser: 1.3.0(svelte@5.36.10)
optionalDependencies:
- svelte: 5.35.4
+ svelte: 5.36.10
transitivePeerDependencies:
- ts-node
@@ -5075,15 +5057,15 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.30.1(jiti@2.4.2):
+ eslint@9.31.0(jiti@2.4.2):
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.4.2))
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2))
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.21.0
'@eslint/config-helpers': 0.3.0
- '@eslint/core': 0.14.0
+ '@eslint/core': 0.15.1
'@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.30.1
+ '@eslint/js': 9.31.0
'@eslint/plugin-kit': 0.3.3
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
@@ -5093,7 +5075,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.3.4
+ debug: 4.4.1(supports-color@8.1.1)
escape-string-regexp: 4.0.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -5897,8 +5879,6 @@ snapshots:
mrmime@2.0.1: {}
- ms@2.1.2: {}
-
ms@2.1.3: {}
muggle-string@0.4.1: {}
@@ -6087,16 +6067,16 @@ snapshots:
dependencies:
fast-diff: 1.2.0
- prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.35.4):
+ prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.36.10):
dependencies:
prettier: 3.6.2
- svelte: 5.35.4
+ svelte: 5.36.10
- prettier-plugin-tailwindcss@0.6.13(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.35.4))(prettier@3.6.2):
+ prettier-plugin-tailwindcss@0.6.14(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.36.10))(prettier@3.6.2):
dependencies:
prettier: 3.6.2
optionalDependencies:
- prettier-plugin-svelte: 3.4.0(prettier@3.6.2)(svelte@5.35.4)
+ prettier-plugin-svelte: 3.4.0(prettier@3.6.2)(svelte@5.36.10)
prettier@2.7.1: {}
@@ -6388,19 +6368,19 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- svelte-check@4.2.2(picomatch@4.0.2)(svelte@5.35.4)(typescript@5.8.3):
+ svelte-check@4.3.0(picomatch@4.0.2)(svelte@5.36.10)(typescript@5.8.3):
dependencies:
'@jridgewell/trace-mapping': 0.3.29
chokidar: 4.0.3
fdir: 6.4.6(picomatch@4.0.2)
picocolors: 1.1.1
sade: 1.8.1
- svelte: 5.35.4
+ svelte: 5.36.10
typescript: 5.8.3
transitivePeerDependencies:
- picomatch
- svelte-eslint-parser@1.2.0(svelte@5.35.4):
+ svelte-eslint-parser@1.3.0(svelte@5.36.10):
dependencies:
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -6409,25 +6389,25 @@ snapshots:
postcss-scss: 4.0.9(postcss@8.5.6)
postcss-selector-parser: 7.1.0
optionalDependencies:
- svelte: 5.35.4
+ svelte: 5.36.10
- svelte-preprocess@6.0.3(postcss-load-config@4.0.1(postcss@8.5.6))(postcss@8.5.6)(sass@1.89.2)(svelte@5.35.4)(typescript@5.8.3):
+ svelte-preprocess@6.0.3(postcss-load-config@4.0.1(postcss@8.5.6))(postcss@8.5.6)(sass@1.89.2)(svelte@5.36.10)(typescript@5.8.3):
dependencies:
- svelte: 5.35.4
+ svelte: 5.36.10
optionalDependencies:
postcss: 8.5.6
postcss-load-config: 4.0.1(postcss@8.5.6)
sass: 1.89.2
typescript: 5.8.3
- svelte2tsx@0.7.40(svelte@5.35.4)(typescript@5.8.3):
+ svelte2tsx@0.7.41(svelte@5.36.10)(typescript@5.8.3):
dependencies:
dedent-js: 1.0.1
pascal-case: 3.1.2
- svelte: 5.35.4
+ svelte: 5.36.10
typescript: 5.8.3
- svelte@5.35.4:
+ svelte@5.36.10:
dependencies:
'@ampproject/remapping': 2.3.0
'@jridgewell/sourcemap-codec': 1.5.4
@@ -6532,12 +6512,13 @@ snapshots:
type-fest@0.8.1: {}
- typescript-eslint@8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3):
+ typescript-eslint@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
- '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.4.2))(typescript@5.8.3)
- eslint: 9.30.1(jiti@2.4.2)
+ '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
+ '@typescript-eslint/parser': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
+ '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3)
+ '@typescript-eslint/utils': 8.37.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)
+ eslint: 9.31.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@@ -6574,7 +6555,7 @@ snapshots:
debug: 4.4.1(supports-color@8.1.1)
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -6589,7 +6570,7 @@ snapshots:
- tsx
- yaml
- vite-plugin-dts@4.5.4(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)):
+ vite-plugin-dts@4.5.4(rollup@4.44.2)(typescript@5.8.3)(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)):
dependencies:
'@microsoft/api-extractor': 7.52.8
'@rollup/pluginutils': 5.2.0(rollup@4.44.2)
@@ -6602,13 +6583,13 @@ snapshots:
magic-string: 0.30.17
typescript: 5.8.3
optionalDependencies:
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
- vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2):
+ vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2):
dependencies:
esbuild: 0.25.6
fdir: 6.4.6(picomatch@4.0.2)
@@ -6622,15 +6603,15 @@ snapshots:
lightningcss: 1.30.1
sass: 1.89.2
- vitefu@1.1.1(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)):
+ vitefu@1.1.1(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)):
optionalDependencies:
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)(sass@1.89.2):
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
+ '@vitest/mocker': 3.2.4(vite@7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -6648,7 +6629,7 @@ snapshots:
tinyglobby: 0.2.14
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.0.2(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
+ vite: 7.0.5(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
vite-node: 3.2.4(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)
why-is-node-running: 2.3.0
optionalDependencies: