diff --git a/examples/react/src/App/header.tsx b/examples/react/src/App/header.tsx
new file mode 100644
index 00000000..37e57910
--- /dev/null
+++ b/examples/react/src/App/header.tsx
@@ -0,0 +1,34 @@
+import { useEffect, useState } from 'react';
+import { Outlet, useLocation, useNavigate } from 'react-router-dom';
+
+import routes from './routes';
+
+export default function Header() {
+ const location = useLocation();
+ const navigate = useNavigate();
+ const [currentPath, setCurrentPath] = useState(location.pathname);
+
+ useEffect(() => {
+ const name = routes.find((route) => route.path === currentPath)?.name;
+ document.title = `React Flow Examples${name ? ' - ' + name : ''}`;
+ navigate(currentPath);
+ }, [currentPath]);
+
+ return (
+ <>
+
+
+ React Flow Dev
+
+
+
+
+ >
+ );
+}
diff --git a/examples/react/src/App/index.tsx b/examples/react/src/App/index.tsx
index b134daba..98b70cf8 100644
--- a/examples/react/src/App/index.tsx
+++ b/examples/react/src/App/index.tsx
@@ -1,339 +1,21 @@
-import { useEffect, useState } from 'react';
-import { BrowserRouter, Navigate, Outlet, Route, Routes, useLocation, useNavigate } from 'react-router-dom';
-
-import GenericTests from '../generic-tests';
+import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
+import routes from './routes';
+import GenericTestRoutes from '../generic-tests';
import Basic from '../examples/Basic';
-import Backgrounds from '../examples/Backgrounds';
-import ControlledUncontrolled from '../examples/ControlledUncontrolled';
-import ControlledViewport from '../examples/ControlledViewport';
-import CustomConnectionLine from '../examples/CustomConnectionLine';
-import CustomMiniMapNode from '../examples/CustomMiniMapNode';
-import CustomNode from '../examples/CustomNode';
-import DefaultNodes from '../examples/DefaultNodes';
-import DragHandle from '../examples/DragHandle';
-import DragNDrop from '../examples/DragNDrop';
-import EasyConnect from '../examples/EasyConnect';
-import Edges from '../examples/Edges';
-import EdgeRenderer from '../examples/EdgeRenderer';
-import EdgeTypes from '../examples/EdgeTypes';
-import Empty from '../examples/Empty';
-import Figma from '../examples/Figma';
-import FloatingEdges from '../examples/FloatingEdges';
-import Hidden from '../examples/Hidden';
-import Interaction from '../examples/Interaction';
-import Intersection from '../examples/Intersection';
-import Layouting from '../examples/Layouting';
-import MultiFlows from '../examples/MultiFlows';
-import NestedNodes from '../examples/NestedNodes';
-import NodeResizer from '../examples/NodeResizer';
-import NodeTypeChange from '../examples/NodeTypeChange';
-import NodeTypesObjectChange from '../examples/NodeTypesObjectChange';
-import Overview from '../examples/Overview';
-import Provider from '../examples/Provider';
-import SaveRestore from '../examples/SaveRestore';
-import Stress from '../examples/Stress';
-import Subflow from '../examples/Subflow';
-import SwitchFlow from '../examples/Switch';
-import TouchDevice from '../examples/TouchDevice';
-import Undirectional from '../examples/Undirectional';
-import UpdatableEdge from '../examples/UpdatableEdge';
-import UpdateNode from '../examples/UpdateNode';
-import UseUpdateNodeInternals from '../examples/UseUpdateNodeInternals';
-import UseReactFlow from '../examples/UseReactFlow';
-import Validation from '../examples/Validation';
-import UseKeyPress from '../examples/UseKeyPress';
-import EdgeRouting from '../examples/EdgeRouting';
-import CancelConnection from '../examples/CancelConnection';
-import InteractiveMinimap from '../examples/InteractiveMinimap';
-import UseOnSelectionChange from '../examples/UseOnSelectionChange';
-import NodeToolbar from '../examples/NodeToolbar';
-import useNodesInitialized from '../examples/UseNodesInit';
+import Header from './header';
-interface IRoute {
- name: string;
- path: string;
- component: React.ComponentType;
-}
-
-const routes: IRoute[] = [
- {
- name: 'Basic',
- path: 'basic',
- component: Basic,
- },
- {
- name: 'Backgrounds',
- path: 'backgrounds',
- component: Backgrounds,
- },
- {
- name: 'Cancel Connection',
- path: 'cancel-connection',
- component: CancelConnection,
- },
- {
- name: 'Controlled/Uncontrolled',
- path: 'controlled-uncontrolled',
- component: ControlledUncontrolled,
- },
- {
- name: 'Controlled Viewport',
- path: 'controlled-viewport',
- component: ControlledViewport,
- },
- {
- name: 'Custom Connection Line',
- path: 'custom-connectionline',
- component: CustomConnectionLine,
- },
- {
- name: 'Custom Minimap Node',
- path: 'custom-minimap-node',
- component: CustomMiniMapNode,
- },
- {
- name: 'Custom Node',
- path: 'custom-node',
- component: CustomNode,
- },
- {
- name: 'Default Nodes',
- path: 'default-nodes',
- component: DefaultNodes,
- },
- {
- name: 'Drag Handle',
- path: 'draghandle',
- component: DragHandle,
- },
- {
- name: 'Drag and Drop',
- path: 'dragndrop',
- component: DragNDrop,
- },
- {
- name: 'EasyConnect',
- path: 'easy-connect',
- component: EasyConnect,
- },
- {
- name: 'Edges',
- path: 'edges',
- component: Edges,
- },
- {
- name: 'Edge Renderer',
- path: 'edge-renderer',
- component: EdgeRenderer,
- },
- {
- name: 'Edge Types',
- path: 'edge-types',
- component: EdgeTypes,
- },
- {
- name: 'Edge Routing',
- path: 'edge-routing',
- component: EdgeRouting,
- },
- {
- name: 'Empty',
- path: 'empty',
- component: Empty,
- },
- {
- name: 'Figma',
- path: 'figma',
- component: Figma,
- },
- {
- name: 'Floating Edges',
- path: 'floating-edges',
- component: FloatingEdges,
- },
- {
- name: 'Hidden',
- path: 'hidden',
- component: Hidden,
- },
- {
- name: 'Interaction',
- path: 'interaction',
- component: Interaction,
- },
- {
- name: 'Intersection',
- path: 'intersection',
- component: Intersection,
- },
- {
- name: 'Interactive Minimap',
- path: 'interactive-minimap',
- component: InteractiveMinimap,
- },
- {
- name: 'Layouting',
- path: 'layouting',
- component: Layouting,
- },
- {
- name: 'Multi Flows',
- path: 'multiflows',
- component: MultiFlows,
- },
- {
- name: 'Nested Nodes',
- path: 'nested-nodes',
- component: NestedNodes,
- },
- {
- name: 'Node Type Change',
- path: 'nodetype-change',
- component: NodeTypeChange,
- },
- {
- name: 'nodeTypes Object Change',
- path: 'nodetypesobject-change',
- component: NodeTypesObjectChange,
- },
- {
- name: 'NodeToolbar',
- path: 'node-toolbar',
- component: NodeToolbar,
- },
- {
- name: 'NodeResizer',
- path: 'node-resizer',
- component: NodeResizer,
- },
- {
- name: 'Overview',
- path: 'overview',
- component: Overview,
- },
- {
- name: 'Provider',
- path: 'provider',
- component: Provider,
- },
- {
- name: 'Save/Restore',
- path: 'save-restore',
- component: SaveRestore,
- },
- {
- name: 'Stress',
- path: 'stress',
- component: Stress,
- },
- {
- name: 'Subflow',
- path: 'subflow',
- component: Subflow,
- },
- {
- name: 'Switch Flow',
- path: 'switch',
- component: SwitchFlow,
- },
- {
- name: 'Touch Device',
- path: 'touch-device',
- component: TouchDevice,
- },
- {
- name: 'Undirectional',
- path: 'undirectional',
- component: Undirectional,
- },
- {
- name: 'Updatable Edge',
- path: 'updatable-edge',
- component: UpdatableEdge,
- },
- {
- name: 'Update Node',
- path: 'update-node',
- component: UpdateNode,
- },
- {
- name: 'useNodesInitialized',
- path: 'use-nodes-initialized',
- component: useNodesInitialized,
- },
- {
- name: 'useOnSelectionChange',
- path: 'use-on-selection-change',
- component: UseOnSelectionChange,
- },
- {
- name: 'useReactFlow',
- path: 'usereactflow',
- component: UseReactFlow,
- },
- {
- name: 'useUpdateNodeInternals',
- path: 'useupdatenodeinternals',
- component: UseUpdateNodeInternals,
- },
- {
- name: 'Validation',
- path: 'validation',
- component: Validation,
- },
- {
- name: 'useKeyPress',
- path: 'use-key-press',
- component: UseKeyPress,
- },
-];
-
-const Header = () => {
- const location = useLocation();
- const navigate = useNavigate();
- const [currentPath, setCurrentPath] = useState(location.pathname);
-
- useEffect(() => {
- const name = routes.find((route) => route.path === currentPath)?.name;
- document.title = `React Flow Examples${name ? ' - ' + name : ''}`;
- navigate(currentPath);
- }, [currentPath]);
-
- return (
- <>
-
-
- React Flow Dev
-
-
-
-
- >
- );
-};
-
-export default () => {
- return (
- <>
-
-
- } />
- }>
- } />
- {routes.map((route) => (
- } />
- ))}
-
- } />
-
-
- >
- );
-};
+export default () => (
+
+
+ } />
+ }>
+ } />
+ {routes.map((route) => (
+ } />
+ ))}
+
+ } />
+
+
+);
diff --git a/examples/react/src/App/routes.ts b/examples/react/src/App/routes.ts
new file mode 100644
index 00000000..6c6b596c
--- /dev/null
+++ b/examples/react/src/App/routes.ts
@@ -0,0 +1,287 @@
+import Basic from '../examples/Basic';
+import Backgrounds from '../examples/Backgrounds';
+import ControlledUncontrolled from '../examples/ControlledUncontrolled';
+import ControlledViewport from '../examples/ControlledViewport';
+import CustomConnectionLine from '../examples/CustomConnectionLine';
+import CustomMiniMapNode from '../examples/CustomMiniMapNode';
+import CustomNode from '../examples/CustomNode';
+import DefaultNodes from '../examples/DefaultNodes';
+import DragHandle from '../examples/DragHandle';
+import DragNDrop from '../examples/DragNDrop';
+import EasyConnect from '../examples/EasyConnect';
+import Edges from '../examples/Edges';
+import EdgeRenderer from '../examples/EdgeRenderer';
+import EdgeTypes from '../examples/EdgeTypes';
+import Empty from '../examples/Empty';
+import Figma from '../examples/Figma';
+import FloatingEdges from '../examples/FloatingEdges';
+import Hidden from '../examples/Hidden';
+import Interaction from '../examples/Interaction';
+import Intersection from '../examples/Intersection';
+import Layouting from '../examples/Layouting';
+import MultiFlows from '../examples/MultiFlows';
+import NestedNodes from '../examples/NestedNodes';
+import NodeResizer from '../examples/NodeResizer';
+import NodeTypeChange from '../examples/NodeTypeChange';
+import NodeTypesObjectChange from '../examples/NodeTypesObjectChange';
+import Overview from '../examples/Overview';
+import Provider from '../examples/Provider';
+import SaveRestore from '../examples/SaveRestore';
+import Stress from '../examples/Stress';
+import Subflow from '../examples/Subflow';
+import SwitchFlow from '../examples/Switch';
+import TouchDevice from '../examples/TouchDevice';
+import Undirectional from '../examples/Undirectional';
+import UpdatableEdge from '../examples/UpdatableEdge';
+import UpdateNode from '../examples/UpdateNode';
+import UseUpdateNodeInternals from '../examples/UseUpdateNodeInternals';
+import UseReactFlow from '../examples/UseReactFlow';
+import Validation from '../examples/Validation';
+import UseKeyPress from '../examples/UseKeyPress';
+import EdgeRouting from '../examples/EdgeRouting';
+import CancelConnection from '../examples/CancelConnection';
+import InteractiveMinimap from '../examples/InteractiveMinimap';
+import UseOnSelectionChange from '../examples/UseOnSelectionChange';
+import NodeToolbar from '../examples/NodeToolbar';
+import useNodesInitialized from '../examples/UseNodesInit';
+
+export interface IRoute {
+ name: string;
+ path: string;
+ component: React.ComponentType;
+}
+
+const routes: IRoute[] = [
+ {
+ name: 'Basic',
+ path: 'basic',
+ component: Basic,
+ },
+ {
+ name: 'Backgrounds',
+ path: 'backgrounds',
+ component: Backgrounds,
+ },
+ {
+ name: 'Cancel Connection',
+ path: 'cancel-connection',
+ component: CancelConnection,
+ },
+ {
+ name: 'Controlled/Uncontrolled',
+ path: 'controlled-uncontrolled',
+ component: ControlledUncontrolled,
+ },
+ {
+ name: 'Controlled Viewport',
+ path: 'controlled-viewport',
+ component: ControlledViewport,
+ },
+ {
+ name: 'Custom Connection Line',
+ path: 'custom-connectionline',
+ component: CustomConnectionLine,
+ },
+ {
+ name: 'Custom Minimap Node',
+ path: 'custom-minimap-node',
+ component: CustomMiniMapNode,
+ },
+ {
+ name: 'Custom Node',
+ path: 'custom-node',
+ component: CustomNode,
+ },
+ {
+ name: 'Default Nodes',
+ path: 'default-nodes',
+ component: DefaultNodes,
+ },
+ {
+ name: 'Drag Handle',
+ path: 'draghandle',
+ component: DragHandle,
+ },
+ {
+ name: 'Drag and Drop',
+ path: 'dragndrop',
+ component: DragNDrop,
+ },
+ {
+ name: 'EasyConnect',
+ path: 'easy-connect',
+ component: EasyConnect,
+ },
+ {
+ name: 'Edges',
+ path: 'edges',
+ component: Edges,
+ },
+ {
+ name: 'Edge Renderer',
+ path: 'edge-renderer',
+ component: EdgeRenderer,
+ },
+ {
+ name: 'Edge Types',
+ path: 'edge-types',
+ component: EdgeTypes,
+ },
+ {
+ name: 'Edge Routing',
+ path: 'edge-routing',
+ component: EdgeRouting,
+ },
+ {
+ name: 'Empty',
+ path: 'empty',
+ component: Empty,
+ },
+ {
+ name: 'Figma',
+ path: 'figma',
+ component: Figma,
+ },
+ {
+ name: 'Floating Edges',
+ path: 'floating-edges',
+ component: FloatingEdges,
+ },
+ {
+ name: 'Hidden',
+ path: 'hidden',
+ component: Hidden,
+ },
+ {
+ name: 'Interaction',
+ path: 'interaction',
+ component: Interaction,
+ },
+ {
+ name: 'Intersection',
+ path: 'intersection',
+ component: Intersection,
+ },
+ {
+ name: 'Interactive Minimap',
+ path: 'interactive-minimap',
+ component: InteractiveMinimap,
+ },
+ {
+ name: 'Layouting',
+ path: 'layouting',
+ component: Layouting,
+ },
+ {
+ name: 'Multi Flows',
+ path: 'multiflows',
+ component: MultiFlows,
+ },
+ {
+ name: 'Nested Nodes',
+ path: 'nested-nodes',
+ component: NestedNodes,
+ },
+ {
+ name: 'Node Type Change',
+ path: 'nodetype-change',
+ component: NodeTypeChange,
+ },
+ {
+ name: 'nodeTypes Object Change',
+ path: 'nodetypesobject-change',
+ component: NodeTypesObjectChange,
+ },
+ {
+ name: 'NodeToolbar',
+ path: 'node-toolbar',
+ component: NodeToolbar,
+ },
+ {
+ name: 'NodeResizer',
+ path: 'node-resizer',
+ component: NodeResizer,
+ },
+ {
+ name: 'Overview',
+ path: 'overview',
+ component: Overview,
+ },
+ {
+ name: 'Provider',
+ path: 'provider',
+ component: Provider,
+ },
+ {
+ name: 'Save/Restore',
+ path: 'save-restore',
+ component: SaveRestore,
+ },
+ {
+ name: 'Stress',
+ path: 'stress',
+ component: Stress,
+ },
+ {
+ name: 'Subflow',
+ path: 'subflow',
+ component: Subflow,
+ },
+ {
+ name: 'Switch Flow',
+ path: 'switch',
+ component: SwitchFlow,
+ },
+ {
+ name: 'Touch Device',
+ path: 'touch-device',
+ component: TouchDevice,
+ },
+ {
+ name: 'Undirectional',
+ path: 'undirectional',
+ component: Undirectional,
+ },
+ {
+ name: 'Updatable Edge',
+ path: 'updatable-edge',
+ component: UpdatableEdge,
+ },
+ {
+ name: 'Update Node',
+ path: 'update-node',
+ component: UpdateNode,
+ },
+ {
+ name: 'useNodesInitialized',
+ path: 'use-nodes-initialized',
+ component: useNodesInitialized,
+ },
+ {
+ name: 'useOnSelectionChange',
+ path: 'use-on-selection-change',
+ component: UseOnSelectionChange,
+ },
+ {
+ name: 'useReactFlow',
+ path: 'usereactflow',
+ component: UseReactFlow,
+ },
+ {
+ name: 'useUpdateNodeInternals',
+ path: 'useupdatenodeinternals',
+ component: UseUpdateNodeInternals,
+ },
+ {
+ name: 'Validation',
+ path: 'validation',
+ component: Validation,
+ },
+ {
+ name: 'useKeyPress',
+ path: 'use-key-press',
+ component: UseKeyPress,
+ },
+];
+
+export default routes;
diff --git a/examples/react/src/app.d.ts b/examples/react/src/app.d.ts
index 88375944..da7d9f29 100644
--- a/examples/react/src/app.d.ts
+++ b/examples/react/src/app.d.ts
@@ -1,7 +1,7 @@
import { Edge, Node, ReactFlowProps } from '@xyflow/react';
declare global {
- interface GenericTestCase {
+ interface FlowConfig {
flowProps: Omit & { nodes: Node[]; edges: Edge[] };
}
}
diff --git a/examples/react/src/generic-tests/Flow.tsx b/examples/react/src/generic-tests/Flow.tsx
index 5b0846a3..e5c9cd77 100644
--- a/examples/react/src/generic-tests/Flow.tsx
+++ b/examples/react/src/generic-tests/Flow.tsx
@@ -1,27 +1,30 @@
import { useState, useCallback } from 'react';
-import { ReactFlow, applyNodeChanges, applyEdgeChanges, addEdge } from '@xyflow/react';
+import {
+ ReactFlow,
+ applyNodeChanges,
+ applyEdgeChanges,
+ addEdge,
+ OnNodesChange,
+ OnEdgesChange,
+ OnConnect,
+} from '@xyflow/react';
type FlowProps = {
- generics: GenericTestCase;
+ flowConfig: FlowConfig;
};
-export default ({ generics }: FlowProps) => {
- const [nodes, setNodes] = useState(generics.flowProps.nodes);
- const [edges, setEdges] = useState(generics.flowProps.edges);
+export default ({ flowConfig }: FlowProps) => {
+ const [nodes, setNodes] = useState(flowConfig.flowProps.nodes);
+ const [edges, setEdges] = useState(flowConfig.flowProps.edges);
+ const props = { ...flowConfig.flowProps, nodes, edges };
+
+ const onNodesChange: OnNodesChange = useCallback((changes) => setNodes((nds) => applyNodeChanges(changes, nds)), []);
+ const onEdgesChange: OnEdgesChange = useCallback((changes) => setEdges((eds) => applyEdgeChanges(changes, eds)), []);
+ const onConnect: OnConnect = useCallback((params) => setEdges((eds) => addEdge(params, eds)), []);
- const onNodesChange = useCallback((changes) => setNodes((nds) => applyNodeChanges(changes, nds)), []);
- const onEdgesChange = useCallback((changes) => setEdges((eds) => applyEdgeChanges(changes, eds)), []);
- const onConnect = useCallback((params) => setEdges((eds) => addEdge(params, eds)), []);
return (
-
+
);
};
diff --git a/examples/react/src/generic-tests/edges/general.ts b/examples/react/src/generic-tests/edges/general.ts
index 10e42681..bb768b09 100644
--- a/examples/react/src/generic-tests/edges/general.ts
+++ b/examples/react/src/generic-tests/edges/general.ts
@@ -160,4 +160,4 @@ export default {
// },
],
},
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/react/src/generic-tests/index.tsx b/examples/react/src/generic-tests/index.tsx
index d50e466a..1a595581 100644
--- a/examples/react/src/generic-tests/index.tsx
+++ b/examples/react/src/generic-tests/index.tsx
@@ -1,17 +1,17 @@
import { useLocation } from 'react-router-dom';
+
import Flow from './Flow';
+const flowConfigs = import.meta.glob('./**/*.ts', { eager: true, import: 'default' });
+
export default () => {
const location = useLocation();
- const files = import.meta.glob('./**/*.ts', { eager: true, import: 'default' });
+ const path = `.${location.pathname.replace('/tests/generic', '')}.ts`;
+ const flowConfig = flowConfigs[path];
- const testCasePath = `.${location.pathname.replace('/tests/generic', '')}.ts`;
-
- const testCase = files[testCasePath];
-
- if (!testCase) {
- return ;
+ if (!flowConfig) {
+ return `404: This route doesn't exists.`;
}
- return ;
+ return ;
};
diff --git a/examples/react/src/generic-tests/nodes/general.ts b/examples/react/src/generic-tests/nodes/general.ts
index 60391602..0fcb975c 100644
--- a/examples/react/src/generic-tests/nodes/general.ts
+++ b/examples/react/src/generic-tests/nodes/general.ts
@@ -88,4 +88,4 @@ export default {
},
],
},
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/react/src/generic-tests/pane/general.ts b/examples/react/src/generic-tests/pane/general.ts
index cb2ea3a9..54c1d193 100644
--- a/examples/react/src/generic-tests/pane/general.ts
+++ b/examples/react/src/generic-tests/pane/general.ts
@@ -34,4 +34,4 @@ export default {
},
],
},
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/react/src/generic-tests/pane/non-defaults.ts b/examples/react/src/generic-tests/pane/non-defaults.ts
index d90be5e9..1da85cdd 100644
--- a/examples/react/src/generic-tests/pane/non-defaults.ts
+++ b/examples/react/src/generic-tests/pane/non-defaults.ts
@@ -35,4 +35,4 @@ export default {
},
],
},
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/react/src/main.tsx b/examples/react/src/main.tsx
index 34599efc..663a29b5 100644
--- a/examples/react/src/main.tsx
+++ b/examples/react/src/main.tsx
@@ -1,9 +1,10 @@
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
+
import App from './App';
-import './index.css';
import '@xyflow/react/dist/style.css';
+import './index.css';
createRoot(document.getElementById('root') as HTMLElement).render(
diff --git a/examples/svelte/src/app.d.ts b/examples/svelte/src/app.d.ts
index 475578fb..f1252a6d 100644
--- a/examples/svelte/src/app.d.ts
+++ b/examples/svelte/src/app.d.ts
@@ -11,7 +11,7 @@ declare global {
// interface Platform {}
}
- interface GenericTestCase {
+ interface FlowConfig {
flowProps: Omit & { nodes: Node[]; edges: Edge[] };
}
}
diff --git a/examples/svelte/src/generic-tests/edges/general.ts b/examples/svelte/src/generic-tests/edges/general.ts
index cfbb4fc9..0e62f887 100644
--- a/examples/svelte/src/generic-tests/edges/general.ts
+++ b/examples/svelte/src/generic-tests/edges/general.ts
@@ -158,4 +158,4 @@ export default {
// },
]
}
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/svelte/src/generic-tests/nodes/general.ts b/examples/svelte/src/generic-tests/nodes/general.ts
index 0b677aa8..4e5abc91 100644
--- a/examples/svelte/src/generic-tests/nodes/general.ts
+++ b/examples/svelte/src/generic-tests/nodes/general.ts
@@ -88,4 +88,4 @@ export default {
}
]
}
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/svelte/src/generic-tests/pane/activation-keys.ts b/examples/svelte/src/generic-tests/pane/activation-keys.ts
index 9bdc26f7..ca16c47b 100644
--- a/examples/svelte/src/generic-tests/pane/activation-keys.ts
+++ b/examples/svelte/src/generic-tests/pane/activation-keys.ts
@@ -37,4 +37,4 @@ export default {
}
]
}
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/svelte/src/generic-tests/pane/general.ts b/examples/svelte/src/generic-tests/pane/general.ts
index 5873b63f..9b9c9a5c 100644
--- a/examples/svelte/src/generic-tests/pane/general.ts
+++ b/examples/svelte/src/generic-tests/pane/general.ts
@@ -34,4 +34,4 @@ export default {
}
]
}
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/svelte/src/generic-tests/pane/non-defaults.ts b/examples/svelte/src/generic-tests/pane/non-defaults.ts
index 51231fbd..d3aa8e27 100644
--- a/examples/svelte/src/generic-tests/pane/non-defaults.ts
+++ b/examples/svelte/src/generic-tests/pane/non-defaults.ts
@@ -35,4 +35,4 @@ export default {
}
]
}
-} satisfies GenericTestCase;
+} satisfies FlowConfig;
diff --git a/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.svelte b/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.svelte
index 2487d85a..8d75afb8 100644
--- a/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.svelte
+++ b/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.svelte
@@ -3,9 +3,9 @@
import Flow from './Flow.svelte';
- export let data;
+ export let data: { flowConfig: FlowConfig };
-
+
diff --git a/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.ts b/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.ts
index 65f62996..193516c1 100644
--- a/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.ts
+++ b/examples/svelte/src/routes/tests/generic/[topic]/[example]/+page.ts
@@ -1,22 +1,19 @@
import { error } from '@sveltejs/kit';
+const flowConfigs = import.meta.glob('/src/generic-tests/**/*.ts', {
+ eager: true,
+ import: 'default'
+});
+
/** @type {import('./$types').PageLoad} */
export function load({ params }) {
- try {
- const genericTestCases = import.meta.glob('/src/generic-tests/**/*.ts', {
- eager: true,
- import: 'default'
- });
+ const flowConfig = flowConfigs[`/src/generic-tests/${params.topic}/${params.example}.ts`];
- const generic = genericTestCases[`/src/generic-tests/${params.topic}/${params.example}.ts`];
- if (generic) {
- return {
- generic
- };
- }
- } catch (e) {
- console.error(e);
+ if (!flowConfig) {
+ throw error(404, 'Not found');
}
- throw error(404, 'Not found');
+ return {
+ flowConfig
+ };
}
diff --git a/examples/svelte/src/routes/tests/generic/[topic]/[example]/Flow.svelte b/examples/svelte/src/routes/tests/generic/[topic]/[example]/Flow.svelte
index 0861399a..44965e2e 100644
--- a/examples/svelte/src/routes/tests/generic/[topic]/[example]/Flow.svelte
+++ b/examples/svelte/src/routes/tests/generic/[topic]/[example]/Flow.svelte
@@ -4,13 +4,13 @@
import '@xyflow/svelte/dist/style.css';
- export let generic: GenericTestCase;
+ export let flowConfig: FlowConfig;
// Create writables here so it is easier to create test cases
- const nodes = writable(generic.flowProps.nodes);
- const edges = writable(generic.flowProps.edges);
+ const nodes = writable(flowConfig.flowProps.nodes);
+ const edges = writable(flowConfig.flowProps.edges);
- const svelteFlowPropsWithWritables = { ...generic.flowProps, nodes, edges };
+ const props = { ...flowConfig.flowProps, nodes, edges };
-
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c07f3def..3ebd1e7e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -16,10 +16,10 @@ importers:
version: registry.npmjs.org/@changesets/cli@2.25.0
'@typescript-eslint/eslint-plugin':
specifier: latest
- version: registry.npmjs.org/@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.43.0)(typescript@5.1.3)
+ version: registry.npmjs.org/@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser':
specifier: latest
- version: registry.npmjs.org/@typescript-eslint/parser@6.10.0(eslint@8.43.0)(typescript@5.1.3)
+ version: registry.npmjs.org/@typescript-eslint/parser@6.8.0(eslint@8.43.0)(typescript@5.1.3)
concurrently:
specifier: ^7.6.0
version: registry.npmjs.org/concurrently@7.6.0
@@ -149,7 +149,7 @@ importers:
version: registry.npmjs.org/typescript@5.2.2
vite:
specifier: 4.5.0
- version: registry.npmjs.org/vite@4.5.0
+ version: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
examples/svelte:
dependencies:
@@ -201,7 +201,7 @@ importers:
version: registry.npmjs.org/typescript@5.2.2
vite:
specifier: ^4.5.0
- version: registry.npmjs.org/vite@4.5.0
+ version: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
packages/react:
dependencies:
@@ -413,6 +413,34 @@ importers:
specifier: 5.1.3
version: registry.npmjs.org/typescript@5.1.3
+ tests/playwright:
+ dependencies:
+ '@playwright/experimental-ct-react':
+ specifier: ^1.39.0
+ version: registry.npmjs.org/@playwright/experimental-ct-react@1.39.0(@types/node@18.7.16)(vite@4.5.0)
+ '@types/react':
+ specifier: ^18.2.31
+ version: registry.npmjs.org/@types/react@18.2.31
+ '@types/react-dom':
+ specifier: ^18.2.14
+ version: registry.npmjs.org/@types/react-dom@18.2.14
+ react:
+ specifier: ^18.2.0
+ version: registry.npmjs.org/react@18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: registry.npmjs.org/react-dom@18.2.0(react@18.2.0)
+ typescript:
+ specifier: ^5.2.2
+ version: registry.npmjs.org/typescript@5.2.2
+ devDependencies:
+ '@playwright/test':
+ specifier: ^1.39.0
+ version: registry.npmjs.org/@playwright/test@1.39.0
+ '@types/node':
+ specifier: ^18.7.16
+ version: registry.npmjs.org/@types/node@18.7.16
+
tooling/eslint-config:
devDependencies:
eslint:
@@ -423,7 +451,7 @@ importers:
version: registry.npmjs.org/eslint-config-prettier@8.8.0(eslint@8.43.0)
eslint-config-turbo:
specifier: latest
- version: registry.npmjs.org/eslint-config-turbo@1.10.16(eslint@8.43.0)
+ version: registry.npmjs.org/eslint-config-turbo@1.10.15(eslint@8.43.0)
eslint-plugin-react:
specifier: latest
version: registry.npmjs.org/eslint-plugin-react@7.33.2(eslint@8.43.0)
@@ -1889,6 +1917,59 @@ packages:
'@nodelib/fs.scandir': registry.npmjs.org/@nodelib/fs.scandir@2.1.5
fastq: registry.npmjs.org/fastq@1.15.0
+ registry.npmjs.org/@playwright/experimental-ct-core@1.39.0(@types/node@18.7.16):
+ resolution: {integrity: sha512-1b/qrlB5A/CdEZns8f2RDkWFmSnGkNyec8n72iinmw07+GHsdMP8fIpazeFB0umxWfo+gPLhkjhTGdB3WXJTBw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@playwright/experimental-ct-core/-/experimental-ct-core-1.39.0.tgz}
+ id: registry.npmjs.org/@playwright/experimental-ct-core/1.39.0
+ name: '@playwright/experimental-ct-core'
+ version: 1.39.0
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ playwright: registry.npmjs.org/playwright@1.39.0
+ playwright-core: registry.npmjs.org/playwright-core@1.39.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - terser
+ dev: false
+
+ registry.npmjs.org/@playwright/experimental-ct-react@1.39.0(@types/node@18.7.16)(vite@4.5.0):
+ resolution: {integrity: sha512-6GaDVVo6x8P9Jdw3yPbVaEP59nesRsETn3kznHAy+2493VsP3IaVATat2G28z0Sivf/K9Tkh5xRYjiawN0ebgw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@playwright/experimental-ct-react/-/experimental-ct-react-1.39.0.tgz}
+ id: registry.npmjs.org/@playwright/experimental-ct-react/1.39.0
+ name: '@playwright/experimental-ct-react'
+ version: 1.39.0
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ '@playwright/experimental-ct-core': registry.npmjs.org/@playwright/experimental-ct-core@1.39.0(@types/node@18.7.16)
+ '@vitejs/plugin-react': registry.npmjs.org/@vitejs/plugin-react@4.1.1(vite@4.5.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - vite
+ dev: false
+
+ registry.npmjs.org/@playwright/test@1.39.0:
+ resolution: {integrity: sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@playwright/test/-/test-1.39.0.tgz}
+ name: '@playwright/test'
+ version: 1.39.0
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ playwright: registry.npmjs.org/playwright@1.39.0
+ dev: true
+
registry.npmjs.org/@polka/url@1.0.0-next.23:
resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz}
name: '@polka/url'
@@ -2094,7 +2175,7 @@ packages:
sirv: registry.npmjs.org/sirv@2.0.3
svelte: registry.npmjs.org/svelte@4.2.1
undici: registry.npmjs.org/undici@5.23.0
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
transitivePeerDependencies:
- supports-color
dev: true
@@ -2125,7 +2206,7 @@ packages:
svelte: registry.npmjs.org/svelte@4.2.2
tiny-glob: registry.npmjs.org/tiny-glob@0.2.9
undici: registry.npmjs.org/undici@5.26.5
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
transitivePeerDependencies:
- supports-color
dev: true
@@ -2164,7 +2245,7 @@ packages:
'@sveltejs/vite-plugin-svelte': registry.npmjs.org/@sveltejs/vite-plugin-svelte@2.4.6(svelte@4.2.1)(vite@4.5.0)
debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
svelte: registry.npmjs.org/svelte@4.2.1
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
transitivePeerDependencies:
- supports-color
@@ -2182,7 +2263,7 @@ packages:
'@sveltejs/vite-plugin-svelte': registry.npmjs.org/@sveltejs/vite-plugin-svelte@2.4.6(svelte@4.2.2)(vite@4.5.0)
debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
svelte: registry.npmjs.org/svelte@4.2.2
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
transitivePeerDependencies:
- supports-color
dev: true
@@ -2204,7 +2285,7 @@ packages:
magic-string: registry.npmjs.org/magic-string@0.30.5
svelte: registry.npmjs.org/svelte@4.2.1
svelte-hmr: registry.npmjs.org/svelte-hmr@0.15.3(svelte@4.2.1)
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
vitefu: registry.npmjs.org/vitefu@0.2.5(vite@4.5.0)
transitivePeerDependencies:
- supports-color
@@ -2226,7 +2307,7 @@ packages:
magic-string: registry.npmjs.org/magic-string@0.30.5
svelte: registry.npmjs.org/svelte@4.2.2
svelte-hmr: registry.npmjs.org/svelte-hmr@0.15.3(svelte@4.2.2)
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
vitefu: registry.npmjs.org/vitefu@0.2.5(vite@4.5.0)
transitivePeerDependencies:
- supports-color
@@ -2791,7 +2872,6 @@ packages:
resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz}
name: '@types/node'
version: 18.7.16
- dev: true
registry.npmjs.org/@types/normalize-package-data@2.4.3:
resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz}
@@ -2815,12 +2895,6 @@ packages:
name: '@types/prop-types'
version: 15.7.9
- registry.npmjs.org/@types/pug@2.0.8:
- resolution: {integrity: sha512-QzhsZ1dMGyJbn/D9V80zp4GIA4J4rfAjCCxc3MP+new0E8dyVdSkR735Lx+n3LIaHNFcjHL5+TbziccuT+fdoQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/pug/-/pug-2.0.8.tgz}
- name: '@types/pug'
- version: 2.0.8
- dev: true
-
registry.npmjs.org/@types/pug@2.0.9:
resolution: {integrity: sha512-Yg4LkgFYvn1faISbDNWmcAC1XoDT8IoMUFspp5mnagKk+UvD2N0IWt5A7GRdMubsNWqgCLmrkf8rXkzNqb4szA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/pug/-/pug-2.0.9.tgz}
name: '@types/pug'
@@ -2833,7 +2907,6 @@ packages:
version: 18.2.14
dependencies:
'@types/react': registry.npmjs.org/@types/react@18.2.36
- dev: true
registry.npmjs.org/@types/react-dom@18.2.8:
resolution: {integrity: sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz}
@@ -2851,6 +2924,16 @@ packages:
'@types/scheduler': registry.npmjs.org/@types/scheduler@0.16.5
csstype: registry.npmjs.org/csstype@3.1.2
+ registry.npmjs.org/@types/react@18.2.31:
+ resolution: {integrity: sha512-c2UnPv548q+5DFh03y8lEDeMfDwBn9G3dRwfkrxQMo/dOtRHUUO57k6pHvBIfH/VF4Nh+98mZ5aaSe+2echD5g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/react/-/react-18.2.31.tgz}
+ name: '@types/react'
+ version: 18.2.31
+ dependencies:
+ '@types/prop-types': registry.npmjs.org/@types/prop-types@15.7.10
+ '@types/scheduler': registry.npmjs.org/@types/scheduler@0.16.5
+ csstype: registry.npmjs.org/csstype@3.1.2
+ dev: false
+
registry.npmjs.org/@types/react@18.2.36:
resolution: {integrity: sha512-o9XFsHYLLZ4+sb9CWUYwHqFVoG61SesydF353vFMMsQziiyRu8np4n2OYMUSDZ8XuImxDr9c5tR7gidlH29Vnw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/react/-/react-18.2.36.tgz}
name: '@types/react'
@@ -2919,7 +3002,7 @@ packages:
version: 2.10.2
requiresBuild: true
dependencies:
- '@types/node': registry.npmjs.org/@types/node@16.18.60
+ '@types/node': registry.npmjs.org/@types/node@18.7.16
dev: true
optional: true
@@ -2954,38 +3037,6 @@ packages:
- supports-color
dev: true
- registry.npmjs.org/@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.43.0)(typescript@5.1.3):
- resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz}
- id: registry.npmjs.org/@typescript-eslint/eslint-plugin/6.10.0
- name: '@typescript-eslint/eslint-plugin'
- version: 6.10.0
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
- eslint: ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@eslint-community/regexpp': registry.npmjs.org/@eslint-community/regexpp@4.10.0
- '@typescript-eslint/parser': registry.npmjs.org/@typescript-eslint/parser@6.10.0(eslint@8.43.0)(typescript@5.1.3)
- '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager@6.10.0
- '@typescript-eslint/type-utils': registry.npmjs.org/@typescript-eslint/type-utils@6.10.0(eslint@8.43.0)(typescript@5.1.3)
- '@typescript-eslint/utils': registry.npmjs.org/@typescript-eslint/utils@6.10.0(eslint@8.43.0)(typescript@5.1.3)
- '@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.10.0
- debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
- eslint: registry.npmjs.org/eslint@8.43.0
- graphemer: registry.npmjs.org/graphemer@1.4.0
- ignore: registry.npmjs.org/ignore@5.2.4
- natural-compare: registry.npmjs.org/natural-compare@1.4.0
- semver: registry.npmjs.org/semver@7.5.4
- ts-api-utils: registry.npmjs.org/ts-api-utils@1.0.3(typescript@5.1.3)
- typescript: registry.npmjs.org/typescript@5.1.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
registry.npmjs.org/@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz}
id: registry.npmjs.org/@typescript-eslint/eslint-plugin/6.10.0
@@ -3018,6 +3069,38 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/eslint-plugin/6.8.0
+ name: '@typescript-eslint/eslint-plugin'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': registry.npmjs.org/@eslint-community/regexpp@4.10.0
+ '@typescript-eslint/parser': registry.npmjs.org/@typescript-eslint/parser@6.8.0(eslint@8.43.0)(typescript@5.1.3)
+ '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager@6.8.0
+ '@typescript-eslint/type-utils': registry.npmjs.org/@typescript-eslint/type-utils@6.8.0(eslint@8.43.0)(typescript@5.1.3)
+ '@typescript-eslint/utils': registry.npmjs.org/@typescript-eslint/utils@6.8.0(eslint@8.43.0)(typescript@5.1.3)
+ '@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.8.0
+ debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
+ eslint: registry.npmjs.org/eslint@8.43.0
+ graphemer: registry.npmjs.org/graphemer@1.4.0
+ ignore: registry.npmjs.org/ignore@5.2.4
+ natural-compare: registry.npmjs.org/natural-compare@1.4.0
+ semver: registry.npmjs.org/semver@7.5.4
+ ts-api-utils: registry.npmjs.org/ts-api-utils@1.0.3(typescript@5.1.3)
+ typescript: registry.npmjs.org/typescript@5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz}
id: registry.npmjs.org/@typescript-eslint/parser/5.60.0
@@ -3041,30 +3124,6 @@ packages:
- supports-color
dev: true
- registry.npmjs.org/@typescript-eslint/parser@6.10.0(eslint@8.43.0)(typescript@5.1.3):
- resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz}
- id: registry.npmjs.org/@typescript-eslint/parser/6.10.0
- name: '@typescript-eslint/parser'
- version: 6.10.0
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager@6.10.0
- '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.10.0
- '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree@6.10.0(typescript@5.1.3)
- '@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.10.0
- debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
- eslint: registry.npmjs.org/eslint@8.43.0
- typescript: registry.npmjs.org/typescript@5.1.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
registry.npmjs.org/@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz}
id: registry.npmjs.org/@typescript-eslint/parser/6.10.0
@@ -3089,6 +3148,30 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@typescript-eslint/parser@6.8.0(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/parser/6.8.0
+ name: '@typescript-eslint/parser'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager@6.8.0
+ '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.8.0
+ '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree@6.8.0(typescript@5.1.3)
+ '@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.8.0
+ debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
+ eslint: registry.npmjs.org/eslint@8.43.0
+ typescript: registry.npmjs.org/typescript@5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@typescript-eslint/scope-manager@5.60.0:
resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz}
name: '@typescript-eslint/scope-manager'
@@ -3109,6 +3192,16 @@ packages:
'@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.10.0
dev: true
+ registry.npmjs.org/@typescript-eslint/scope-manager@6.8.0:
+ resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz}
+ name: '@typescript-eslint/scope-manager'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.8.0
+ '@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.8.0
+ dev: true
+
registry.npmjs.org/@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz}
id: registry.npmjs.org/@typescript-eslint/type-utils/5.60.0
@@ -3132,29 +3225,6 @@ packages:
- supports-color
dev: true
- registry.npmjs.org/@typescript-eslint/type-utils@6.10.0(eslint@8.43.0)(typescript@5.1.3):
- resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz}
- id: registry.npmjs.org/@typescript-eslint/type-utils/6.10.0
- name: '@typescript-eslint/type-utils'
- version: 6.10.0
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree@6.10.0(typescript@5.1.3)
- '@typescript-eslint/utils': registry.npmjs.org/@typescript-eslint/utils@6.10.0(eslint@8.43.0)(typescript@5.1.3)
- debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
- eslint: registry.npmjs.org/eslint@8.43.0
- ts-api-utils: registry.npmjs.org/ts-api-utils@1.0.3(typescript@5.1.3)
- typescript: registry.npmjs.org/typescript@5.1.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
registry.npmjs.org/@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz}
id: registry.npmjs.org/@typescript-eslint/type-utils/6.10.0
@@ -3178,6 +3248,29 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@typescript-eslint/type-utils@6.8.0(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/type-utils/6.8.0
+ name: '@typescript-eslint/type-utils'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree@6.8.0(typescript@5.1.3)
+ '@typescript-eslint/utils': registry.npmjs.org/@typescript-eslint/utils@6.8.0(eslint@8.43.0)(typescript@5.1.3)
+ debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
+ eslint: registry.npmjs.org/eslint@8.43.0
+ ts-api-utils: registry.npmjs.org/ts-api-utils@1.0.3(typescript@5.1.3)
+ typescript: registry.npmjs.org/typescript@5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@typescript-eslint/types@5.60.0:
resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz}
name: '@typescript-eslint/types'
@@ -3192,6 +3285,13 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
+ registry.npmjs.org/@typescript-eslint/types@6.8.0:
+ resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz}
+ name: '@typescript-eslint/types'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dev: true
+
registry.npmjs.org/@typescript-eslint/typescript-estree@5.60.0(typescript@5.1.3):
resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz}
id: registry.npmjs.org/@typescript-eslint/typescript-estree/5.60.0
@@ -3216,30 +3316,6 @@ packages:
- supports-color
dev: true
- registry.npmjs.org/@typescript-eslint/typescript-estree@6.10.0(typescript@5.1.3):
- resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz}
- id: registry.npmjs.org/@typescript-eslint/typescript-estree/6.10.0
- name: '@typescript-eslint/typescript-estree'
- version: 6.10.0
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.10.0
- '@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.10.0
- debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
- globby: registry.npmjs.org/globby@11.1.0
- is-glob: registry.npmjs.org/is-glob@4.0.3
- semver: registry.npmjs.org/semver@7.5.4
- ts-api-utils: registry.npmjs.org/ts-api-utils@1.0.3(typescript@5.1.3)
- typescript: registry.npmjs.org/typescript@5.1.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
registry.npmjs.org/@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2):
resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz}
id: registry.npmjs.org/@typescript-eslint/typescript-estree/6.10.0
@@ -3264,6 +3340,30 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@typescript-eslint/typescript-estree@6.8.0(typescript@5.1.3):
+ resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/typescript-estree/6.8.0
+ name: '@typescript-eslint/typescript-estree'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.8.0
+ '@typescript-eslint/visitor-keys': registry.npmjs.org/@typescript-eslint/visitor-keys@6.8.0
+ debug: registry.npmjs.org/debug@4.3.4(supports-color@8.1.1)
+ globby: registry.npmjs.org/globby@11.1.0
+ is-glob: registry.npmjs.org/is-glob@4.0.3
+ semver: registry.npmjs.org/semver@7.5.4
+ ts-api-utils: registry.npmjs.org/ts-api-utils@1.0.3(typescript@5.1.3)
+ typescript: registry.npmjs.org/typescript@5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@5.1.3):
resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz}
id: registry.npmjs.org/@typescript-eslint/utils/5.60.0
@@ -3287,28 +3387,6 @@ packages:
- typescript
dev: true
- registry.npmjs.org/@typescript-eslint/utils@6.10.0(eslint@8.43.0)(typescript@5.1.3):
- resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz}
- id: registry.npmjs.org/@typescript-eslint/utils/6.10.0
- name: '@typescript-eslint/utils'
- version: 6.10.0
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
- dependencies:
- '@eslint-community/eslint-utils': registry.npmjs.org/@eslint-community/eslint-utils@4.4.0(eslint@8.43.0)
- '@types/json-schema': registry.npmjs.org/@types/json-schema@7.0.15
- '@types/semver': registry.npmjs.org/@types/semver@7.5.4
- '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager@6.10.0
- '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.10.0
- '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree@6.10.0(typescript@5.1.3)
- eslint: registry.npmjs.org/eslint@8.43.0
- semver: registry.npmjs.org/semver@7.5.4
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
registry.npmjs.org/@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz}
id: registry.npmjs.org/@typescript-eslint/utils/6.10.0
@@ -3331,6 +3409,28 @@ packages:
- typescript
dev: true
+ registry.npmjs.org/@typescript-eslint/utils@6.8.0(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/utils/6.8.0
+ name: '@typescript-eslint/utils'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': registry.npmjs.org/@eslint-community/eslint-utils@4.4.0(eslint@8.43.0)
+ '@types/json-schema': registry.npmjs.org/@types/json-schema@7.0.15
+ '@types/semver': registry.npmjs.org/@types/semver@7.5.4
+ '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager@6.8.0
+ '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.8.0
+ '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree@6.8.0(typescript@5.1.3)
+ eslint: registry.npmjs.org/eslint@8.43.0
+ semver: registry.npmjs.org/semver@7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
registry.npmjs.org/@typescript-eslint/visitor-keys@5.60.0:
resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz}
name: '@typescript-eslint/visitor-keys'
@@ -3351,6 +3451,16 @@ packages:
eslint-visitor-keys: registry.npmjs.org/eslint-visitor-keys@3.4.3
dev: true
+ registry.npmjs.org/@typescript-eslint/visitor-keys@6.8.0:
+ resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz}
+ name: '@typescript-eslint/visitor-keys'
+ version: 6.8.0
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types@6.8.0
+ eslint-visitor-keys: registry.npmjs.org/eslint-visitor-keys@3.4.3
+ dev: true
+
registry.npmjs.org/@ungap/structured-clone@1.2.0:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz}
name: '@ungap/structured-clone'
@@ -3366,7 +3476,7 @@ packages:
vite: ^4
dependencies:
'@swc/core': registry.npmjs.org/@swc/core@1.3.96
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
transitivePeerDependencies:
- '@swc/helpers'
dev: true
@@ -3385,7 +3495,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': registry.npmjs.org/@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.23.2)
'@types/babel__core': registry.npmjs.org/@types/babel__core@7.20.4
react-refresh: registry.npmjs.org/react-refresh@0.14.0
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
transitivePeerDependencies:
- supports-color
@@ -3716,7 +3826,7 @@ packages:
undici: registry.npmjs.org/undici@5.26.5
unist-util-visit: registry.npmjs.org/unist-util-visit@4.1.2
vfile: registry.npmjs.org/vfile@5.3.7
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
vitefu: registry.npmjs.org/vitefu@0.2.5(vite@4.5.0)
which-pm: registry.npmjs.org/which-pm@2.1.1
yargs-parser: registry.npmjs.org/yargs-parser@21.1.1
@@ -5399,16 +5509,16 @@ packages:
eslint: registry.npmjs.org/eslint@8.53.0
dev: true
- registry.npmjs.org/eslint-config-turbo@1.10.16(eslint@8.43.0):
- resolution: {integrity: sha512-O3NQI72bQHV7FvSC6lWj66EGx8drJJjuT1kuInn6nbMLOHdMBhSUX/8uhTAlHRQdlxZk2j9HtgFCIzSc93w42g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.10.16.tgz}
- id: registry.npmjs.org/eslint-config-turbo/1.10.16
+ registry.npmjs.org/eslint-config-turbo@1.10.15(eslint@8.43.0):
+ resolution: {integrity: sha512-76mpx2x818JZE26euen14utYcFDxOahZ9NaWA+6Xa4pY2ezVKVschuOxS96EQz3o3ZRSmcgBOapw/gHbN+EKxQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-1.10.15.tgz}
+ id: registry.npmjs.org/eslint-config-turbo/1.10.15
name: eslint-config-turbo
- version: 1.10.16
+ version: 1.10.15
peerDependencies:
eslint: '>6.6.0'
dependencies:
eslint: registry.npmjs.org/eslint@8.43.0
- eslint-plugin-turbo: registry.npmjs.org/eslint-plugin-turbo@1.10.16(eslint@8.43.0)
+ eslint-plugin-turbo: registry.npmjs.org/eslint-plugin-turbo@1.10.15(eslint@8.43.0)
dev: true
registry.npmjs.org/eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.43.0)(prettier@2.8.8):
@@ -5522,11 +5632,11 @@ packages:
- ts-node
dev: true
- registry.npmjs.org/eslint-plugin-turbo@1.10.16(eslint@8.43.0):
- resolution: {integrity: sha512-ZjrR88MTN64PNGufSEcM0tf+V1xFYVbeiMeuIqr0aiABGomxFLo4DBkQ7WI4WzkZtWQSIA2sP+yxqSboEfL9MQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.10.16.tgz}
- id: registry.npmjs.org/eslint-plugin-turbo/1.10.16
+ registry.npmjs.org/eslint-plugin-turbo@1.10.15(eslint@8.43.0):
+ resolution: {integrity: sha512-Tv4QSKV/U56qGcTqS/UgOvb9HcKFmWOQcVh3HEaj7of94lfaENgfrtK48E2CckQf7amhKs1i+imhCsNCKjkQyA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-1.10.15.tgz}
+ id: registry.npmjs.org/eslint-plugin-turbo/1.10.15
name: eslint-plugin-turbo
- version: 1.10.16
+ version: 1.10.15
peerDependencies:
eslint: '>6.6.0'
dependencies:
@@ -6140,6 +6250,15 @@ packages:
version: 1.0.0
dev: true
+ registry.npmjs.org/fsevents@2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz}
+ name: fsevents
+ version: 2.3.2
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
registry.npmjs.org/fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz}
name: fsevents
@@ -8772,6 +8891,24 @@ packages:
dependencies:
find-up: registry.npmjs.org/find-up@4.1.0
+ registry.npmjs.org/playwright-core@1.39.0:
+ resolution: {integrity: sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/playwright-core/-/playwright-core-1.39.0.tgz}
+ name: playwright-core
+ version: 1.39.0
+ engines: {node: '>=16'}
+ hasBin: true
+
+ registry.npmjs.org/playwright@1.39.0:
+ resolution: {integrity: sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/playwright/-/playwright-1.39.0.tgz}
+ name: playwright
+ version: 1.39.0
+ engines: {node: '>=16'}
+ hasBin: true
+ dependencies:
+ playwright-core: registry.npmjs.org/playwright-core@1.39.0
+ optionalDependencies:
+ fsevents: registry.npmjs.org/fsevents@2.3.2
+
registry.npmjs.org/postcss-calc@9.0.1(postcss@8.4.21):
resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz}
id: registry.npmjs.org/postcss-calc/9.0.1
@@ -10798,8 +10935,8 @@ packages:
picocolors: registry.npmjs.org/picocolors@1.0.0
sade: registry.npmjs.org/sade@1.8.1
svelte: registry.npmjs.org/svelte@4.2.1
- svelte-preprocess: registry.npmjs.org/svelte-preprocess@5.0.4(postcss@8.4.21)(svelte@4.2.1)(typescript@5.1.3)
- typescript: registry.npmjs.org/typescript@5.1.3
+ svelte-preprocess: registry.npmjs.org/svelte-preprocess@5.0.4(postcss@8.4.21)(svelte@4.2.1)(typescript@5.2.2)
+ typescript: registry.npmjs.org/typescript@5.2.2
transitivePeerDependencies:
- '@babel/core'
- coffeescript
@@ -10925,7 +11062,7 @@ packages:
svelte: registry.npmjs.org/svelte@4.2.2
dev: true
- registry.npmjs.org/svelte-preprocess@5.0.4(postcss@8.4.21)(svelte@4.2.1)(typescript@5.1.3):
+ registry.npmjs.org/svelte-preprocess@5.0.4(postcss@8.4.21)(svelte@4.2.1)(typescript@5.2.2):
resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.4.tgz}
id: registry.npmjs.org/svelte-preprocess/5.0.4
name: svelte-preprocess
@@ -10966,14 +11103,14 @@ packages:
typescript:
optional: true
dependencies:
- '@types/pug': registry.npmjs.org/@types/pug@2.0.8
+ '@types/pug': registry.npmjs.org/@types/pug@2.0.9
detect-indent: registry.npmjs.org/detect-indent@6.1.0
magic-string: registry.npmjs.org/magic-string@0.27.0
postcss: registry.npmjs.org/postcss@8.4.21
sorcery: registry.npmjs.org/sorcery@0.11.0
strip-indent: registry.npmjs.org/strip-indent@3.0.0
svelte: registry.npmjs.org/svelte@4.2.1
- typescript: registry.npmjs.org/typescript@5.1.3
+ typescript: registry.npmjs.org/typescript@5.2.2
dev: true
registry.npmjs.org/svelte-preprocess@5.0.4(postcss@8.4.31)(svelte@4.2.2)(typescript@5.2.2):
@@ -11884,8 +12021,9 @@ packages:
vfile-message: registry.npmjs.org/vfile-message@3.1.4
dev: false
- registry.npmjs.org/vite@4.5.0:
+ registry.npmjs.org/vite@4.5.0(@types/node@18.7.16):
resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/vite/-/vite-4.5.0.tgz}
+ id: registry.npmjs.org/vite/4.5.0
name: vite
version: 4.5.0
engines: {node: ^14.18.0 || >=16.0.0}
@@ -11914,6 +12052,7 @@ packages:
terser:
optional: true
dependencies:
+ '@types/node': registry.npmjs.org/@types/node@18.7.16
esbuild: registry.npmjs.org/esbuild@0.18.20
postcss: registry.npmjs.org/postcss@8.4.31
rollup: registry.npmjs.org/rollup@3.29.4
@@ -11931,7 +12070,7 @@ packages:
vite:
optional: true
dependencies:
- vite: registry.npmjs.org/vite@4.5.0
+ vite: registry.npmjs.org/vite@4.5.0(@types/node@18.7.16)
registry.npmjs.org/vscode-oniguruma@1.7.0:
resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz}