diff --git a/packages/svelte/.eslintignore b/packages/svelte/.eslintignore
new file mode 100644
index 00000000..38972655
--- /dev/null
+++ b/packages/svelte/.eslintignore
@@ -0,0 +1,13 @@
+.DS_Store
+node_modules
+/build
+/.svelte-kit
+/package
+.env
+.env.*
+!.env.example
+
+# Ignore files for PNPM, NPM and YARN
+pnpm-lock.yaml
+package-lock.json
+yarn.lock
diff --git a/packages/svelte/.eslintrc.cjs b/packages/svelte/.eslintrc.cjs
new file mode 100644
index 00000000..3ccf435f
--- /dev/null
+++ b/packages/svelte/.eslintrc.cjs
@@ -0,0 +1,20 @@
+module.exports = {
+ root: true,
+ parser: '@typescript-eslint/parser',
+ extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
+ plugins: ['svelte3', '@typescript-eslint'],
+ ignorePatterns: ['*.cjs'],
+ overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
+ settings: {
+ 'svelte3/typescript': () => require('typescript')
+ },
+ parserOptions: {
+ sourceType: 'module',
+ ecmaVersion: 2020
+ },
+ env: {
+ browser: true,
+ es2017: true,
+ node: true
+ }
+};
diff --git a/packages/svelte/.gitignore b/packages/svelte/.gitignore
new file mode 100644
index 00000000..6635cf55
--- /dev/null
+++ b/packages/svelte/.gitignore
@@ -0,0 +1,10 @@
+.DS_Store
+node_modules
+/build
+/.svelte-kit
+/package
+.env
+.env.*
+!.env.example
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
diff --git a/packages/svelte/.npmrc b/packages/svelte/.npmrc
new file mode 100644
index 00000000..b6f27f13
--- /dev/null
+++ b/packages/svelte/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/packages/svelte/.prettierignore b/packages/svelte/.prettierignore
new file mode 100644
index 00000000..38972655
--- /dev/null
+++ b/packages/svelte/.prettierignore
@@ -0,0 +1,13 @@
+.DS_Store
+node_modules
+/build
+/.svelte-kit
+/package
+.env
+.env.*
+!.env.example
+
+# Ignore files for PNPM, NPM and YARN
+pnpm-lock.yaml
+package-lock.json
+yarn.lock
diff --git a/packages/svelte/.prettierrc b/packages/svelte/.prettierrc
new file mode 100644
index 00000000..a77fddea
--- /dev/null
+++ b/packages/svelte/.prettierrc
@@ -0,0 +1,9 @@
+{
+ "useTabs": true,
+ "singleQuote": true,
+ "trailingComma": "none",
+ "printWidth": 100,
+ "plugins": ["prettier-plugin-svelte"],
+ "pluginSearchDirs": ["."],
+ "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
+}
diff --git a/packages/svelte/README.md b/packages/svelte/README.md
new file mode 100644
index 00000000..5c91169b
--- /dev/null
+++ b/packages/svelte/README.md
@@ -0,0 +1,38 @@
+# create-svelte
+
+Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).
+
+## Creating a project
+
+If you're seeing this, you've probably already done this step. Congrats!
+
+```bash
+# create a new project in the current directory
+npm create svelte@latest
+
+# create a new project in my-app
+npm create svelte@latest my-app
+```
+
+## Developing
+
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
+
+```bash
+npm run dev
+
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
+```
+
+## Building
+
+To create a production version of your app:
+
+```bash
+npm run build
+```
+
+You can preview the production build with `npm run preview`.
+
+> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
diff --git a/packages/svelte/package.json b/packages/svelte/package.json
new file mode 100644
index 00000000..ee91d37b
--- /dev/null
+++ b/packages/svelte/package.json
@@ -0,0 +1,44 @@
+{
+ "name": "svelte",
+ "version": "0.0.1",
+ "scripts": {
+ "dev": "vite dev",
+ "build": "svelte-kit sync && svelte-package",
+ "prepublishOnly": "echo 'Did you mean to publish `./package/`, instead of `./`?' && exit 1",
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
+ "lint": "prettier --plugin-search-dir . --check . && eslint .",
+ "format": "prettier --plugin-search-dir . --write ."
+ },
+ "devDependencies": {
+ "@sveltejs/adapter-auto": "^1.0.0",
+ "@sveltejs/kit": "^1.0.0",
+ "@sveltejs/package": "^1.0.0",
+ "@typescript-eslint/eslint-plugin": "^5.45.0",
+ "@typescript-eslint/parser": "^5.45.0",
+ "eslint": "^8.28.0",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-svelte3": "^4.0.0",
+ "prettier": "^2.8.0",
+ "prettier-plugin-svelte": "^2.8.1",
+ "svelte": "^3.54.0",
+ "svelte-check": "^3.0.1",
+ "tslib": "^2.4.1",
+ "typescript": "^4.9.3",
+ "vite": "^4.0.0"
+ },
+ "type": "module",
+ "module": "index.ts",
+ "exports": {
+ ".": "./index.js"
+ },
+ "dependencies": {
+ "@reactflow/core": "^11.5.1",
+ "cc": "^3.0.1",
+ "d3-drag": "^3.0.0",
+ "d3-selection": "^3.0.0",
+ "d3-zoom": "^3.0.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0"
+ }
+}
diff --git a/packages/svelte/src/app.d.ts b/packages/svelte/src/app.d.ts
new file mode 100644
index 00000000..f59b884c
--- /dev/null
+++ b/packages/svelte/src/app.d.ts
@@ -0,0 +1,12 @@
+// See https://kit.svelte.dev/docs/types#app
+// for information about these interfaces
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface Platform {}
+ }
+}
+
+export {};
diff --git a/packages/svelte/src/app.html b/packages/svelte/src/app.html
new file mode 100644
index 00000000..f04b760b
--- /dev/null
+++ b/packages/svelte/src/app.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/packages/svelte/src/lib/components/Handle.svelte b/packages/svelte/src/lib/components/Handle.svelte
new file mode 100644
index 00000000..a90bccf2
--- /dev/null
+++ b/packages/svelte/src/lib/components/Handle.svelte
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/svelte/src/lib/components/edges/BaseEdge.svelte b/packages/svelte/src/lib/components/edges/BaseEdge.svelte
new file mode 100644
index 00000000..60e05403
--- /dev/null
+++ b/packages/svelte/src/lib/components/edges/BaseEdge.svelte
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/svelte/src/lib/components/nodes/BaseNode.svelte b/packages/svelte/src/lib/components/nodes/BaseNode.svelte
new file mode 100644
index 00000000..35b88312
--- /dev/null
+++ b/packages/svelte/src/lib/components/nodes/BaseNode.svelte
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/svelte/src/lib/components/nodes/DefaultNode.svelte b/packages/svelte/src/lib/components/nodes/DefaultNode.svelte
new file mode 100644
index 00000000..7357f82a
--- /dev/null
+++ b/packages/svelte/src/lib/components/nodes/DefaultNode.svelte
@@ -0,0 +1,15 @@
+
+
+
+ {data?.label}
+
+
diff --git a/packages/svelte/src/lib/container/EdgeRenderer.svelte b/packages/svelte/src/lib/container/EdgeRenderer.svelte
new file mode 100644
index 00000000..edff1360
--- /dev/null
+++ b/packages/svelte/src/lib/container/EdgeRenderer.svelte
@@ -0,0 +1,171 @@
+
+
+
+ {#each edgesWithData as edge}
+ {#if edge}
+
+ {/if}
+ {/each}
+
+
+
\ No newline at end of file
diff --git a/packages/svelte/src/lib/container/NodeRenderer.svelte b/packages/svelte/src/lib/container/NodeRenderer.svelte
new file mode 100644
index 00000000..8e1bb4e1
--- /dev/null
+++ b/packages/svelte/src/lib/container/NodeRenderer.svelte
@@ -0,0 +1,34 @@
+
+
+
+ {#each $nodesStore as node}
+
+ {/each}
+
+
+
\ No newline at end of file
diff --git a/packages/svelte/src/lib/container/SvelteFlow.svelte b/packages/svelte/src/lib/container/SvelteFlow.svelte
new file mode 100644
index 00000000..af7ea786
--- /dev/null
+++ b/packages/svelte/src/lib/container/SvelteFlow.svelte
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/svelte/src/lib/container/Viewport.svelte b/packages/svelte/src/lib/container/Viewport.svelte
new file mode 100644
index 00000000..66cb8a27
--- /dev/null
+++ b/packages/svelte/src/lib/container/Viewport.svelte
@@ -0,0 +1,35 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/svelte/src/lib/hooks/drag/index.ts b/packages/svelte/src/lib/hooks/drag/index.ts
new file mode 100644
index 00000000..52bf16fe
--- /dev/null
+++ b/packages/svelte/src/lib/hooks/drag/index.ts
@@ -0,0 +1,128 @@
+import { get, type Writable } from 'svelte/store';
+import { drag as d3Drag, type D3DragEvent, type SubjectPosition } from 'd3-drag';
+import { select } from 'd3-selection';
+import type { XYPosition, CoordinateExtent, Node, Transform } from '@reactflow/core';
+
+import { getDragItems, hasSelector, calcNextPosition } from './utils';
+
+export type UseDragData = { dx: number; dy: number };
+export type UseDragEvent = D3DragEvent;
+export type NodeDragItem = {
+ id: string;
+ position: XYPosition;
+ positionAbsolute: XYPosition;
+ // distance from the mouse cursor to the node when start dragging
+ distance: XYPosition;
+ width?: number | null;
+ height?: number | null;
+ extent?: 'parent' | CoordinateExtent;
+ parentNode?: string;
+ dragging?: boolean;
+};
+
+type UseDragParams = {
+ noDragClassName?: string;
+ handleSelector?: string;
+ nodeId?: string;
+ updateNodePositions: (dragItems: NodeDragItem[], d: boolean, p: boolean) => void;
+ nodesStore: Writable;
+ transformStore: Writable;
+};
+
+export default function drag(
+ nodeRef: Element,
+ {
+ noDragClassName,
+ handleSelector,
+ nodeId,
+ updateNodePositions,
+ nodesStore,
+ transformStore
+ }: UseDragParams
+) {
+ let dragging = false;
+ let dragItems: NodeDragItem[] = [];
+ let lastPos: { x: number | null; y: number | null } = { x: null, y: null };
+
+ const selection = select(nodeRef);
+
+ const getPointerPosition = ({ sourceEvent }: UseDragEvent) => {
+ const x = sourceEvent.touches ? sourceEvent.touches[0].clientX : sourceEvent.clientX;
+ const y = sourceEvent.touches ? sourceEvent.touches[0].clientY : sourceEvent.clientY;
+ const transform = get(transformStore);
+
+ const pointerPos = {
+ x: (x - transform[0]) / transform[2],
+ y: (y - transform[1]) / transform[2]
+ };
+
+ // we need the snapped position in order to be able to skip unnecessary drag events
+ return {
+ xSnapped: pointerPos.x,
+ ySnapped: pointerPos.y,
+ ...pointerPos
+ };
+ };
+
+ const updateNodes = ({ x, y }: XYPosition) => {
+ let hasChange = false;
+
+ dragItems = dragItems.map((n) => {
+ const nextPosition = { x: x - n.distance.x, y: y - n.distance.y };
+ const updatedPos = calcNextPosition(n, nextPosition, get(nodesStore));
+
+ // we want to make sure that we only fire a change event when there is a changes
+ hasChange =
+ hasChange ||
+ n.position.x !== updatedPos.position.x ||
+ n.position.y !== updatedPos.position.y;
+
+ n.position = updatedPos.position;
+ n.positionAbsolute = updatedPos.positionAbsolute;
+
+ return n;
+ });
+
+ if (!hasChange) {
+ return;
+ }
+
+ updateNodePositions(dragItems, true, true);
+ dragging = true;
+ };
+
+ const dragHandler = d3Drag()
+ .on('start', (event: UseDragEvent) => {
+ const pointerPos = getPointerPosition(event);
+
+ lastPos = pointerPos;
+ dragItems = getDragItems(get(nodesStore), pointerPos, nodeId);
+ })
+ .on('drag', (event: UseDragEvent) => {
+ const pointerPos = getPointerPosition(event);
+
+ // skip events without movement
+ if ((lastPos.x !== pointerPos.xSnapped || lastPos.y !== pointerPos.ySnapped) && dragItems) {
+ lastPos = pointerPos;
+ updateNodes(pointerPos);
+ }
+ })
+ .on('end', (event: UseDragEvent) => {
+ dragging = false;
+
+ if (dragItems) {
+ updateNodePositions(dragItems, false, false);
+ }
+ })
+ .filter((event: MouseEvent) => {
+ const target = event.target as HTMLDivElement;
+ const isDraggable =
+ !event.button &&
+ (!noDragClassName || !hasSelector(target, `.${noDragClassName}`, nodeRef)) &&
+ (!handleSelector || hasSelector(target, handleSelector, nodeRef));
+
+ return isDraggable;
+ });
+
+ selection.call(dragHandler);
+}
diff --git a/packages/svelte/src/lib/hooks/drag/utils.ts b/packages/svelte/src/lib/hooks/drag/utils.ts
new file mode 100644
index 00000000..50b95b09
--- /dev/null
+++ b/packages/svelte/src/lib/hooks/drag/utils.ts
@@ -0,0 +1,153 @@
+import type {
+ CoordinateExtent,
+ Node,
+ NodeDragItem,
+ NodeInternals,
+ NodeOrigin,
+ XYPosition
+} from '@reactflow/core';
+
+import { clampPosition, isNumeric } from '../../../utils';
+
+export function isParentSelected(node: Node, nodes: Node[]): boolean {
+ if (!node.parentNode) {
+ return false;
+ }
+
+ const parentNode = nodes.find((n) => n.id === node.parentNode);
+
+ if (!parentNode) {
+ return false;
+ }
+
+ if (parentNode.selected) {
+ return true;
+ }
+
+ return isParentSelected(parentNode, nodes);
+}
+
+export function hasSelector(target: Element, selector: string, domNode: Element): boolean {
+ let current = target;
+
+ do {
+ if (current?.matches(selector)) return true;
+ if (current === domNode) return false;
+ current = current.parentElement as Element;
+ } while (current);
+
+ return false;
+}
+
+// looks for all selected nodes and created a NodeDragItem for each of them
+export function getDragItems(nodes: Node[], mousePos: XYPosition, nodeId?: string): NodeDragItem[] {
+ console.log(mousePos, nodes);
+ return nodes
+ .filter(
+ (n) => (n.selected || n.id === nodeId) && (!n.parentNode || !isParentSelected(n, nodes))
+ )
+ .map((n) => ({
+ id: n.id,
+ position: n.position ? { ...n.position } : { x: 0, y: 0 },
+ positionAbsolute: n.positionAbsolute ? { ...n.positionAbsolute } : { x: 0, y: 0 },
+ distance: {
+ x: mousePos.x - (n.positionAbsolute?.x ?? 0),
+ y: mousePos.y - (n.positionAbsolute?.y ?? 0)
+ },
+ delta: {
+ x: 0,
+ y: 0
+ },
+ extent: n.extent,
+ parentNode: n.parentNode,
+ width: n.width,
+ height: n.height
+ }));
+}
+
+export function calcNextPosition(
+ node: NodeDragItem | Node,
+ nextPosition: XYPosition,
+ nodes: Node[],
+ nodeExtent?: CoordinateExtent,
+ nodeOrigin: NodeOrigin = [0, 0]
+): { position: XYPosition; positionAbsolute: XYPosition } {
+ let currentExtent = node.extent || nodeExtent;
+
+ if (node.extent === 'parent') {
+ if (node.parentNode && node.width && node.height) {
+ const parent = nodes.find((n) => n.id === node.parentNode)!;
+ const { x: parentX, y: parentY } = parent.positionAbsolute!;
+ currentExtent =
+ parent &&
+ isNumeric(parentX) &&
+ isNumeric(parentY) &&
+ isNumeric(parent.width) &&
+ isNumeric(parent.height)
+ ? [
+ [parentX + node.width * nodeOrigin[0], parentY + node.height * nodeOrigin[1]],
+ [
+ parentX + parent.width! - node.width + node.width * nodeOrigin[0],
+ parentY + parent.height! - node.height + node.height * nodeOrigin[1]
+ ]
+ ]
+ : currentExtent;
+ } else {
+ currentExtent = nodeExtent;
+ }
+ } else if (node.extent && node.parentNode) {
+ const parent = nodes.find((n) => n.id === node.parentNode)!;
+ const { x: parentX, y: parentY } = parent.positionAbsolute!;
+ currentExtent = [
+ [node.extent[0][0] + parentX, node.extent[0][1] + parentY],
+ [node.extent[1][0] + parentX, node.extent[1][1] + parentY]
+ ];
+ }
+
+ let parentPosition = { x: 0, y: 0 };
+
+ if (node.parentNode) {
+ const parent = nodes.find((n) => n.id === node.parentNode)!;
+ parentPosition = parent.positionAbsolute!;
+ }
+
+ const positionAbsolute = currentExtent
+ ? clampPosition(nextPosition, currentExtent as CoordinateExtent)
+ : nextPosition;
+
+ return {
+ position: {
+ x: positionAbsolute.x - parentPosition.x,
+ y: positionAbsolute.y - parentPosition.y
+ },
+ positionAbsolute
+ };
+}
+
+// returns two params:
+// 1. the dragged node (or the first of the list, if we are dragging a node selection)
+// 2. array of selected nodes (for multi selections)
+export function getEventHandlerParams({
+ nodeId,
+ dragItems,
+ nodeInternals
+}: {
+ nodeId?: string;
+ dragItems: NodeDragItem[];
+ nodeInternals: NodeInternals;
+}): [Node, Node[]] {
+ const extentedDragItems: Node[] = dragItems.map((n) => {
+ const node = nodeInternals.get(n.id)!;
+
+ return {
+ ...node,
+ position: n.position,
+ positionAbsolute: n.positionAbsolute
+ };
+ });
+
+ return [
+ nodeId ? extentedDragItems.find((n) => n.id === nodeId)! : extentedDragItems[0],
+ extentedDragItems
+ ];
+}
diff --git a/packages/svelte/src/lib/hooks/zoom/index.ts b/packages/svelte/src/lib/hooks/zoom/index.ts
new file mode 100644
index 00000000..2292fc55
--- /dev/null
+++ b/packages/svelte/src/lib/hooks/zoom/index.ts
@@ -0,0 +1,103 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import type { Writable } from 'svelte/store';
+import { select } from 'd3-selection';
+import { zoom as d3Zoom, zoomIdentity } from 'd3-zoom';
+import type { D3ZoomEvent } from 'd3-zoom';
+import type { Transform } from '@reactflow/core';
+
+const isWrappedWithClass = (event: any, className: string | undefined) =>
+ event.target.closest(`.${className}`);
+
+export default function zoom(
+ domNode: Element,
+ { transformStore }: { transformStore: Writable }
+) {
+ const d3ZoomInstance = d3Zoom();
+ const selection = select(domNode).call(d3ZoomInstance);
+ const d3ZoomHandler = selection.on('wheel.zoom');
+ d3ZoomInstance.transform(selection, zoomIdentity);
+
+ selection.on('wheel.zoom', function (event: any, d: any) {
+ if (isWrappedWithClass(event, 'nowheel')) {
+ return null;
+ }
+
+ event.preventDefault();
+ d3ZoomHandler!.call(this, event, d);
+ });
+
+ d3ZoomInstance.on('zoom', (event: D3ZoomEvent) => {
+ transformStore.set([event.transform.x, event.transform.y, event.transform.k]);
+ });
+
+ d3ZoomInstance.filter((event: any) => {
+ const zoomScroll = true;
+ const pinchZoom = true;
+
+ if (
+ event.button === 1 &&
+ event.type === 'mousedown' &&
+ (isWrappedWithClass(event, 'react-flow__node') ||
+ isWrappedWithClass(event, 'react-flow__edge'))
+ ) {
+ return true;
+ }
+
+ // if all interactions are disabled, we prevent all zoom events
+ // if (!panOnDrag && !zoomScroll && !panOnScroll && !zoomOnDoubleClick && !zoomOnPinch) {
+ // return false;
+ // }
+
+ // // during a selection we prevent all other interactions
+ // if (userSelectionActive) {
+ // return false;
+ // }
+
+ // // if zoom on double click is disabled, we prevent the double click event
+ // if (!zoomOnDoubleClick && event.type === 'dblclick') {
+ // return false;
+ // }
+
+ // // if the target element is inside an element with the nowheel class, we prevent zooming
+ // if (isWrappedWithClass(event, noWheelClassName) && event.type === 'wheel') {
+ // return false;
+ // }
+
+ // // if the target element is inside an element with the nopan class, we prevent panning
+ // if (isWrappedWithClass(event, noPanClassName) && event.type !== 'wheel') {
+ // return false;
+ // }
+
+ // if (!zoomOnPinch && event.ctrlKey && event.type === 'wheel') {
+ // return false;
+ // }
+
+ // // when there is no scroll handling enabled, we prevent all wheel events
+ // if (!zoomScroll && !panOnScroll && !pinchZoom && event.type === 'wheel') {
+ // return false;
+ // }
+
+ // // if the pane is not movable, we prevent dragging it with mousestart or touchstart
+ // if (!panOnDrag && (event.type === 'mousedown' || event.type === 'touchstart')) {
+ // return false;
+ // }
+
+ // // if the pane is only movable using allowed clicks
+ // if (
+ // Array.isArray(panOnDrag) &&
+ // !panOnDrag.includes(event.button) &&
+ // (event.type === 'mousedown' || event.type === 'touchstart')
+ // ) {
+ // return false;
+ // }
+
+ // // We only allow right clicks if pan on drag is set to right click
+ // const buttonAllowed =
+ // (Array.isArray(panOnDrag) && panOnDrag.includes(event.button)) ||
+ // !event.button ||
+ // event.button <= 1;
+
+ // default filter for d3-zoom
+ return ((!event.ctrlKey || event.type === 'wheel') && !event.button) || event.button <= 1;
+ });
+}
diff --git a/packages/svelte/src/lib/index.ts b/packages/svelte/src/lib/index.ts
new file mode 100644
index 00000000..029a1910
--- /dev/null
+++ b/packages/svelte/src/lib/index.ts
@@ -0,0 +1,4 @@
+// Reexport your entry components here
+import SvelteFlow from '$lib/container/SvelteFlow.svelte';
+
+export default SvelteFlow;
diff --git a/packages/svelte/src/lib/store/index.ts b/packages/svelte/src/lib/store/index.ts
new file mode 100644
index 00000000..a7e7807f
--- /dev/null
+++ b/packages/svelte/src/lib/store/index.ts
@@ -0,0 +1,116 @@
+import { getContext } from 'svelte';
+import { get, writable, type Writable } from 'svelte/store';
+import type { Node, Transform, NodeDragItem, NodeDimensionUpdate, Edge } from '@reactflow/core';
+import { internalsSymbol } from '@reactflow/core';
+
+import { getDimensions, getHandleBounds, updateAbsoluteNodePositions } from '../../utils';
+
+export const key = Symbol();
+
+type CreateStoreProps = {
+ nodes: Node[];
+ edges: Edge[];
+ transform?: Transform;
+};
+
+type SvelteFlowStore = {
+ nodesStore: Writable;
+ edgesStore: Writable;
+ heightStore: Writable;
+ widthStore: Writable;
+ transformStore: Writable;
+ updateNodePositions: (
+ nodeDragItems: NodeDragItem[],
+ positionChanged?: boolean,
+ dragging?: boolean
+ ) => void;
+ updateNodeDimensions: (updates: NodeDimensionUpdate[]) => void;
+};
+
+export function createStore({
+ nodes = [],
+ edges = [],
+ transform = [0, 0, 1]
+}: CreateStoreProps): SvelteFlowStore {
+ const nodesStore = writable(nodes.map((n) => ({ ...n, positionAbsolute: n.position })));
+ const edgesStore = writable(edges);
+ const heightStore = writable(500);
+ const widthStore = writable(500);
+
+ const transformStore = writable(transform);
+
+ function updateNodePositions(nodeDragItems: NodeDragItem[], dragging = false) {
+ nodesStore.update((nds) => {
+ return nds.map((n) => {
+ const nodeDragItem = nodeDragItems.find((ndi) => ndi.id === n.id);
+
+ if (nodeDragItem) {
+ return {
+ ...n,
+ dragging,
+ positionAbsolute: nodeDragItem.positionAbsolute,
+ position: nodeDragItem.position
+ };
+ }
+
+ return n;
+ });
+ });
+ }
+
+ function updateNodeDimensions(updates: NodeDimensionUpdate[]) {
+ const viewportNode = document?.querySelector('.react-flow__viewport');
+
+ if (!viewportNode) {
+ return;
+ }
+
+ const style = window.getComputedStyle(viewportNode);
+ const { m22: zoom } = new window.DOMMatrixReadOnly(style.transform);
+ const nds = get(nodesStore);
+
+ updates.forEach((update) => {
+ const node = nds.find((n) => n.id === update.id);
+
+ if (node) {
+ const dimensions = getDimensions(update.nodeElement);
+ const doUpdate = !!(
+ dimensions.width &&
+ dimensions.height &&
+ (node.width !== dimensions.width ||
+ node.height !== dimensions.height ||
+ update.forceUpdate)
+ );
+
+ if (doUpdate) {
+ node[internalsSymbol] = {
+ ...node[internalsSymbol],
+ handleBounds: {
+ source: getHandleBounds('.source', update.nodeElement, zoom),
+ target: getHandleBounds('.target', update.nodeElement, zoom)
+ }
+ };
+ node.width = dimensions.width;
+ node.height = dimensions.height;
+ }
+ }
+ });
+
+ updateAbsoluteNodePositions(nds);
+ }
+
+ return {
+ nodesStore,
+ edgesStore,
+ transformStore,
+ heightStore,
+ widthStore,
+ updateNodePositions,
+ updateNodeDimensions
+ };
+}
+
+export function useStore(): SvelteFlowStore {
+ const { getStore } = getContext<{ getStore: () => SvelteFlowStore }>(key);
+ return getStore();
+}
diff --git a/packages/svelte/src/routes/+page.svelte b/packages/svelte/src/routes/+page.svelte
new file mode 100644
index 00000000..9591b599
--- /dev/null
+++ b/packages/svelte/src/routes/+page.svelte
@@ -0,0 +1,59 @@
+
+
+
+
+
diff --git a/packages/svelte/src/utils/index.ts b/packages/svelte/src/utils/index.ts
new file mode 100644
index 00000000..c63d83af
--- /dev/null
+++ b/packages/svelte/src/utils/index.ts
@@ -0,0 +1,101 @@
+import {
+ type CoordinateExtent,
+ type Dimensions,
+ type XYPosition,
+ type Node,
+ type XYZPosition,
+ type HandleElement,
+ internalsSymbol,
+ Position
+} from '@reactflow/core';
+
+export const clamp = (val: number, min = 0, max = 1): number => Math.min(Math.max(val, min), max);
+
+export const clampPosition = (position: XYPosition = { x: 0, y: 0 }, extent: CoordinateExtent) => ({
+ x: clamp(position.x, extent[0][0], extent[1][0]),
+ y: clamp(position.y, extent[0][1], extent[1][1])
+});
+
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+export const isNumeric = (n: any): n is number => !isNaN(n) && isFinite(n);
+
+export const getDimensions = (node: HTMLDivElement): Dimensions => ({
+ width: node.offsetWidth,
+ height: node.offsetHeight
+});
+
+type ParentNodes = Record;
+
+function calculateXYZPosition(node: Node, nodes: Node[], result: XYZPosition): XYZPosition {
+ if (!node.parentNode) {
+ return result;
+ }
+ const parentNode = nodes.find((n) => n.id === node.parentNode)!;
+ const parentNodePosition = parentNode.positionAbsolute!;
+
+ return calculateXYZPosition(parentNode, nodes, {
+ x: (result.x ?? 0) + parentNodePosition.x,
+ y: (result.y ?? 0) + parentNodePosition.y,
+ z:
+ (parentNode[internalsSymbol]?.z ?? 0) > (result.z ?? 0)
+ ? parentNode[internalsSymbol]?.z ?? 0
+ : result.z ?? 0
+ });
+}
+
+export function updateAbsoluteNodePositions(nodes: Node[], parentNodes?: ParentNodes) {
+ nodes.forEach((node) => {
+ if (node.parentNode) {
+ throw new Error(`Parent node ${node.parentNode} not found`);
+ }
+
+ if (node.parentNode || parentNodes?.[node.id]) {
+ const { x, y, z } = calculateXYZPosition(node, nodes, {
+ ...node.position,
+ z: node[internalsSymbol]?.z ?? 0
+ });
+
+ node.positionAbsolute = {
+ x,
+ y
+ };
+
+ node[internalsSymbol]!.z = z;
+
+ if (parentNodes?.[node.id]) {
+ node[internalsSymbol]!.isParent = true;
+ }
+ }
+ });
+}
+
+export const getHandleBounds = (
+ selector: string,
+ nodeElement: HTMLDivElement,
+ zoom: number
+): HandleElement[] | null => {
+ const handles = nodeElement.querySelectorAll(selector);
+
+ if (!handles || !handles.length) {
+ return null;
+ }
+
+ const handlesArray = Array.from(handles) as HTMLDivElement[];
+ const nodeBounds = nodeElement.getBoundingClientRect();
+ const nodeOffset = {
+ x: nodeBounds.width,
+ y: nodeBounds.height
+ };
+
+ return handlesArray.map((handle): HandleElement => {
+ const handleBounds = handle.getBoundingClientRect();
+
+ return {
+ id: handle.getAttribute('data-handleid'),
+ position: handle.getAttribute('data-handlepos') as unknown as Position,
+ x: (handleBounds.left - nodeBounds.left - nodeOffset.x) / zoom,
+ y: (handleBounds.top - nodeBounds.top - nodeOffset.y) / zoom,
+ ...getDimensions(handle)
+ };
+ });
+};
diff --git a/packages/svelte/static/favicon.png b/packages/svelte/static/favicon.png
new file mode 100644
index 00000000..825b9e65
Binary files /dev/null and b/packages/svelte/static/favicon.png differ
diff --git a/packages/svelte/svelte.config.js b/packages/svelte/svelte.config.js
new file mode 100644
index 00000000..87f198f5
--- /dev/null
+++ b/packages/svelte/svelte.config.js
@@ -0,0 +1,15 @@
+import adapter from '@sveltejs/adapter-auto';
+import { vitePreprocess } from '@sveltejs/kit/vite';
+
+/** @type {import('@sveltejs/kit').Config} */
+const config = {
+ // Consult https://kit.svelte.dev/docs/integrations#preprocessors
+ // for more information about preprocessors
+ preprocess: vitePreprocess(),
+
+ kit: {
+ adapter: adapter()
+ }
+};
+
+export default config;
diff --git a/packages/svelte/tsconfig.json b/packages/svelte/tsconfig.json
new file mode 100644
index 00000000..6ae0c8c4
--- /dev/null
+++ b/packages/svelte/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "extends": "./.svelte-kit/tsconfig.json",
+ "compilerOptions": {
+ "allowJs": true,
+ "checkJs": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true
+ }
+ // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
+ //
+ // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
+ // from the referenced tsconfig.json - TypeScript does not merge them in
+}
diff --git a/packages/svelte/vite.config.ts b/packages/svelte/vite.config.ts
new file mode 100644
index 00000000..16950342
--- /dev/null
+++ b/packages/svelte/vite.config.ts
@@ -0,0 +1,8 @@
+import { sveltekit } from '@sveltejs/kit/vite';
+import type { UserConfig } from 'vite';
+
+const config: UserConfig = {
+ plugins: [sveltekit()]
+};
+
+export default config;
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 67e8812a..1d6dbb96 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -302,6 +302,55 @@ importers:
react: registry.npmjs.org/react/18.2.0
typescript: registry.npmjs.org/typescript/4.9.4
+ packages/svelte:
+ specifiers:
+ '@reactflow/core': ^11.5.1
+ '@sveltejs/adapter-auto': ^1.0.0
+ '@sveltejs/kit': ^1.0.0
+ '@sveltejs/package': ^1.0.0
+ '@typescript-eslint/eslint-plugin': ^5.45.0
+ '@typescript-eslint/parser': ^5.45.0
+ cc: ^3.0.1
+ d3-drag: ^3.0.0
+ d3-selection: ^3.0.0
+ d3-zoom: ^3.0.0
+ eslint: ^8.28.0
+ eslint-config-prettier: ^8.5.0
+ eslint-plugin-svelte3: ^4.0.0
+ prettier: ^2.8.0
+ prettier-plugin-svelte: ^2.8.1
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ svelte: ^3.54.0
+ svelte-check: ^3.0.1
+ tslib: ^2.4.1
+ typescript: ^4.9.3
+ vite: ^4.0.0
+ dependencies:
+ '@reactflow/core': registry.npmjs.org/@reactflow/core/11.5.1_biqbaboplfbrettd7655fr4n2y
+ cc: registry.npmjs.org/cc/3.0.1
+ d3-drag: registry.npmjs.org/d3-drag/3.0.0
+ d3-selection: registry.npmjs.org/d3-selection/3.0.0
+ d3-zoom: registry.npmjs.org/d3-zoom/3.0.0
+ react: registry.npmjs.org/react/18.2.0
+ react-dom: registry.npmjs.org/react-dom/18.2.0_react@18.2.0
+ devDependencies:
+ '@sveltejs/adapter-auto': registry.npmjs.org/@sveltejs/adapter-auto/1.0.2_@sveltejs+kit@1.3.6
+ '@sveltejs/kit': registry.npmjs.org/@sveltejs/kit/1.3.6_svelte@3.55.1+vite@4.0.4
+ '@sveltejs/package': registry.npmjs.org/@sveltejs/package/1.0.2_atrrhq7vg4ekua4nnyrpuardle
+ '@typescript-eslint/eslint-plugin': registry.npmjs.org/@typescript-eslint/eslint-plugin/5.49.0_rsaczafy73x3xqauzesvzbsgzy
+ '@typescript-eslint/parser': registry.npmjs.org/@typescript-eslint/parser/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u
+ eslint: registry.npmjs.org/eslint/8.33.0
+ eslint-config-prettier: registry.npmjs.org/eslint-config-prettier/8.5.0_eslint@8.33.0
+ eslint-plugin-svelte3: registry.npmjs.org/eslint-plugin-svelte3/4.0.0_4omm2ewoudhgnmf7aocafatnc4
+ prettier: registry.npmjs.org/prettier/2.8.3
+ prettier-plugin-svelte: registry.npmjs.org/prettier-plugin-svelte/2.9.0_kdmmghgdi3ngrsq6otxkjilbry
+ svelte: registry.npmjs.org/svelte/3.55.1
+ svelte-check: registry.npmjs.org/svelte-check/3.0.3_svelte@3.55.1
+ tslib: registry.npmjs.org/tslib/2.4.1
+ typescript: registry.npmjs.org/typescript/4.9.4
+ vite: registry.npmjs.org/vite/4.0.4
+
tooling/eslint-config:
specifiers:
eslint: ^8.22.0
@@ -1364,6 +1413,25 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@eslint/eslintrc/1.4.1:
+ resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz}
+ name: '@eslint/eslintrc'
+ version: 1.4.1
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: registry.npmjs.org/ajv/6.12.6
+ debug: registry.npmjs.org/debug/4.3.4
+ espree: registry.npmjs.org/espree/9.4.0
+ globals: registry.npmjs.org/globals/13.20.0
+ ignore: registry.npmjs.org/ignore/5.2.4
+ import-fresh: registry.npmjs.org/import-fresh/3.3.0
+ js-yaml: registry.npmjs.org/js-yaml/4.1.0
+ minimatch: registry.npmjs.org/minimatch/3.1.2
+ strip-json-comments: registry.npmjs.org/strip-json-comments/3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@hapi/hoek/9.3.0:
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz}
name: '@hapi/hoek'
@@ -1391,6 +1459,19 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@humanwhocodes/config-array/0.11.8:
+ resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz}
+ name: '@humanwhocodes/config-array'
+ version: 0.11.8
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': registry.npmjs.org/@humanwhocodes/object-schema/1.2.1
+ debug: registry.npmjs.org/debug/4.3.4
+ minimatch: registry.npmjs.org/minimatch/3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/1.0.2:
resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz}
name: '@humanwhocodes/gitignore-to-minimatch'
@@ -1520,6 +1601,12 @@ packages:
fastq: registry.npmjs.org/fastq/1.15.0
dev: true
+ registry.npmjs.org/@polka/url/1.0.0-next.21:
+ resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz}
+ name: '@polka/url'
+ version: 1.0.0-next.21
+ dev: true
+
registry.npmjs.org/@preconstruct/cli/2.2.1:
resolution: {integrity: sha512-G+sUV9o8l6Ds/82qJZYTXkCsVqPXLuD+bv+nVQeo3OL+eqzO/uAiBBFVp0DMcBJiyQYeU9nb+V8q22/PPaepDw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@preconstruct/cli/-/cli-2.2.1.tgz}
name: '@preconstruct/cli'
@@ -1580,6 +1667,30 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@reactflow/core/11.5.1_biqbaboplfbrettd7655fr4n2y:
+ resolution: {integrity: sha512-63pXpKNW5YHk8hOWpt7RaftSn7g92BvCCGpsUUaRDDuHvxmcqmMKPrAFkBPVc5JJ+Wubx4drThYJizgVP/j9/w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@reactflow/core/-/core-11.5.1.tgz}
+ id: registry.npmjs.org/@reactflow/core/11.5.1
+ name: '@reactflow/core'
+ version: 11.5.1
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@types/d3': registry.npmjs.org/@types/d3/7.4.0
+ '@types/d3-drag': registry.npmjs.org/@types/d3-drag/3.0.1
+ '@types/d3-selection': registry.npmjs.org/@types/d3-selection/3.0.3
+ '@types/d3-zoom': registry.npmjs.org/@types/d3-zoom/3.0.1
+ classcat: registry.npmjs.org/classcat/5.0.4
+ d3-drag: registry.npmjs.org/d3-drag/3.0.0
+ d3-selection: registry.npmjs.org/d3-selection/3.0.0
+ d3-zoom: registry.npmjs.org/d3-zoom/3.0.0
+ react: registry.npmjs.org/react/18.2.0
+ react-dom: registry.npmjs.org/react-dom/18.2.0_react@18.2.0
+ zustand: registry.npmjs.org/zustand/4.3.1_react@18.2.0
+ transitivePeerDependencies:
+ - immer
+ dev: false
+
registry.npmjs.org/@rollup/plugin-alias/3.1.9_rollup@2.79.1:
resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz}
id: registry.npmjs.org/@rollup/plugin-alias/3.1.9
@@ -1807,6 +1918,96 @@ packages:
version: 2.0.0
dev: true
+ registry.npmjs.org/@sveltejs/adapter-auto/1.0.2_@sveltejs+kit@1.3.6:
+ resolution: {integrity: sha512-UXpEO/gutERZnD+Z5Vi4J/ifD3WSRuCI7xwtLJTcKNQvJ6t5Xsj1X3Mw2F8Vv/XTUuxf7xPLYUgThU331r0Y9w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.2.tgz}
+ id: registry.npmjs.org/@sveltejs/adapter-auto/1.0.2
+ name: '@sveltejs/adapter-auto'
+ version: 1.0.2
+ peerDependencies:
+ '@sveltejs/kit': ^1.0.0
+ dependencies:
+ '@sveltejs/kit': registry.npmjs.org/@sveltejs/kit/1.3.6_svelte@3.55.1+vite@4.0.4
+ import-meta-resolve: registry.npmjs.org/import-meta-resolve/2.2.1
+ dev: true
+
+ registry.npmjs.org/@sveltejs/kit/1.3.6_svelte@3.55.1+vite@4.0.4:
+ resolution: {integrity: sha512-SOGTKYiZ0ajIhQ9pUKr9F+h5Srm8Gdn3aza3dZxXWdHjpqv1iyhvt4oS0l5n1a+sXQzKlLpe/CikDBqSVSUS2Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@sveltejs/kit/-/kit-1.3.6.tgz}
+ id: registry.npmjs.org/@sveltejs/kit/1.3.6
+ name: '@sveltejs/kit'
+ version: 1.3.6
+ engines: {node: ^16.14 || >=18}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ svelte: ^3.54.0
+ vite: ^4.0.0
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': registry.npmjs.org/@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.0.4
+ '@types/cookie': registry.npmjs.org/@types/cookie/0.5.1
+ cookie: registry.npmjs.org/cookie/0.5.0
+ devalue: registry.npmjs.org/devalue/4.2.3
+ esm-env: registry.npmjs.org/esm-env/1.0.0
+ kleur: registry.npmjs.org/kleur/4.1.5
+ magic-string: registry.npmjs.org/magic-string/0.27.0
+ mime: registry.npmjs.org/mime/3.0.0
+ sade: registry.npmjs.org/sade/1.8.1
+ set-cookie-parser: registry.npmjs.org/set-cookie-parser/2.5.1
+ sirv: registry.npmjs.org/sirv/2.0.2
+ svelte: registry.npmjs.org/svelte/3.55.1
+ tiny-glob: registry.npmjs.org/tiny-glob/0.2.9
+ undici: registry.npmjs.org/undici/5.16.0
+ vite: registry.npmjs.org/vite/4.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmjs.org/@sveltejs/package/1.0.2_atrrhq7vg4ekua4nnyrpuardle:
+ resolution: {integrity: sha512-VY9U+05d9uNFDj7ScKRlHORYlfPSHwJewBjV+V2RsnViexpLFPUrboC9SiPYDCpLnbeqwXerxhO6twGHUBGeIA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@sveltejs/package/-/package-1.0.2.tgz}
+ id: registry.npmjs.org/@sveltejs/package/1.0.2
+ name: '@sveltejs/package'
+ version: 1.0.2
+ engines: {node: ^16.14 || >=18}
+ hasBin: true
+ peerDependencies:
+ svelte: ^3.44.0
+ dependencies:
+ chokidar: registry.npmjs.org/chokidar/3.5.3
+ kleur: registry.npmjs.org/kleur/4.1.5
+ sade: registry.npmjs.org/sade/1.8.1
+ svelte: registry.npmjs.org/svelte/3.55.1
+ svelte2tsx: registry.npmjs.org/svelte2tsx/0.6.0_atrrhq7vg4ekua4nnyrpuardle
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ registry.npmjs.org/@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.1+vite@4.0.4:
+ resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz}
+ id: registry.npmjs.org/@sveltejs/vite-plugin-svelte/2.0.2
+ name: '@sveltejs/vite-plugin-svelte'
+ version: 2.0.2
+ engines: {node: ^14.18.0 || >= 16}
+ peerDependencies:
+ svelte: ^3.54.0
+ vite: ^4.0.0
+ dependencies:
+ debug: registry.npmjs.org/debug/4.3.4
+ deepmerge: registry.npmjs.org/deepmerge/4.2.2
+ kleur: registry.npmjs.org/kleur/4.1.5
+ magic-string: registry.npmjs.org/magic-string/0.27.0
+ svelte: registry.npmjs.org/svelte/3.55.1
+ svelte-hmr: registry.npmjs.org/svelte-hmr/0.15.1_svelte@3.55.1
+ vite: registry.npmjs.org/vite/4.0.4
+ vitefu: registry.npmjs.org/vitefu/0.2.4_vite@4.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmjs.org/@types/cookie/0.5.1:
+ resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/cookie/-/cookie-0.5.1.tgz}
+ name: '@types/cookie'
+ version: 0.5.1
+ dev: true
+
registry.npmjs.org/@types/d3-array/3.0.3:
resolution: {integrity: sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.3.tgz}
name: '@types/d3-array'
@@ -2114,6 +2315,12 @@ packages:
version: 15.7.5
dev: true
+ registry.npmjs.org/@types/pug/2.0.6:
+ resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/pug/-/pug-2.0.6.tgz}
+ name: '@types/pug'
+ version: 2.0.6
+ dev: true
+
registry.npmjs.org/@types/react-dom/18.0.6:
resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz}
name: '@types/react-dom'
@@ -2146,6 +2353,14 @@ packages:
version: 1.20.2
dev: true
+ registry.npmjs.org/@types/sass/1.43.1:
+ resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz}
+ name: '@types/sass'
+ version: 1.43.1
+ dependencies:
+ '@types/node': registry.npmjs.org/@types/node/18.7.16
+ dev: true
+
registry.npmjs.org/@types/scheduler/0.16.2:
resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz}
name: '@types/scheduler'
@@ -2216,6 +2431,36 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@typescript-eslint/eslint-plugin/5.49.0_rsaczafy73x3xqauzesvzbsgzy:
+ resolution: {integrity: sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/eslint-plugin/5.49.0
+ name: '@typescript-eslint/eslint-plugin'
+ version: 5.49.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': registry.npmjs.org/@typescript-eslint/parser/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u
+ '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager/5.49.0
+ '@typescript-eslint/type-utils': registry.npmjs.org/@typescript-eslint/type-utils/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u
+ '@typescript-eslint/utils': registry.npmjs.org/@typescript-eslint/utils/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u
+ debug: registry.npmjs.org/debug/4.3.4
+ eslint: registry.npmjs.org/eslint/8.33.0
+ ignore: registry.npmjs.org/ignore/5.2.4
+ natural-compare-lite: registry.npmjs.org/natural-compare-lite/1.4.0
+ regexpp: registry.npmjs.org/regexpp/3.2.0
+ semver: registry.npmjs.org/semver/7.3.8
+ tsutils: registry.npmjs.org/tsutils/3.21.0_typescript@4.9.4
+ typescript: registry.npmjs.org/typescript/4.9.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@typescript-eslint/parser/5.49.0_id2eilsndvzhjjktb64trvy3gu:
resolution: {integrity: sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz}
id: registry.npmjs.org/@typescript-eslint/parser/5.49.0
@@ -2239,6 +2484,29 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@typescript-eslint/parser/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u:
+ resolution: {integrity: sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/parser/5.49.0
+ name: '@typescript-eslint/parser'
+ version: 5.49.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager/5.49.0
+ '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types/5.49.0
+ '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree/5.49.0_typescript@4.9.4
+ debug: registry.npmjs.org/debug/4.3.4
+ eslint: registry.npmjs.org/eslint/8.33.0
+ typescript: registry.npmjs.org/typescript/4.9.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@typescript-eslint/scope-manager/5.49.0:
resolution: {integrity: sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz}
name: '@typescript-eslint/scope-manager'
@@ -2272,6 +2540,29 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/@typescript-eslint/type-utils/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u:
+ resolution: {integrity: sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/type-utils/5.49.0
+ name: '@typescript-eslint/type-utils'
+ version: 5.49.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree/5.49.0_typescript@4.9.4
+ '@typescript-eslint/utils': registry.npmjs.org/@typescript-eslint/utils/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u
+ debug: registry.npmjs.org/debug/4.3.4
+ eslint: registry.npmjs.org/eslint/8.33.0
+ tsutils: registry.npmjs.org/tsutils/3.21.0_typescript@4.9.4
+ typescript: registry.npmjs.org/typescript/4.9.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
registry.npmjs.org/@typescript-eslint/types/5.49.0:
resolution: {integrity: sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz}
name: '@typescript-eslint/types'
@@ -2326,6 +2617,29 @@ packages:
- typescript
dev: true
+ registry.npmjs.org/@typescript-eslint/utils/5.49.0_zkdaqh7it7uc4cvz2haft7rc6u:
+ resolution: {integrity: sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz}
+ id: registry.npmjs.org/@typescript-eslint/utils/5.49.0
+ name: '@typescript-eslint/utils'
+ version: 5.49.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@types/json-schema': registry.npmjs.org/@types/json-schema/7.0.11
+ '@types/semver': registry.npmjs.org/@types/semver/7.3.13
+ '@typescript-eslint/scope-manager': registry.npmjs.org/@typescript-eslint/scope-manager/5.49.0
+ '@typescript-eslint/types': registry.npmjs.org/@typescript-eslint/types/5.49.0
+ '@typescript-eslint/typescript-estree': registry.npmjs.org/@typescript-eslint/typescript-estree/5.49.0_typescript@4.9.4
+ eslint: registry.npmjs.org/eslint/8.33.0
+ eslint-scope: registry.npmjs.org/eslint-scope/5.1.1
+ eslint-utils: registry.npmjs.org/eslint-utils/3.0.0_eslint@8.33.0
+ semver: registry.npmjs.org/semver/7.3.8
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
registry.npmjs.org/@typescript-eslint/visitor-keys/5.49.0:
resolution: {integrity: sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz}
name: '@typescript-eslint/visitor-keys'
@@ -2631,7 +2945,6 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz}
name: balanced-match
version: 1.0.2
- dev: true
registry.npmjs.org/base64-js/1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz}
@@ -2682,7 +2995,6 @@ packages:
dependencies:
balanced-match: registry.npmjs.org/balanced-match/1.0.2
concat-map: registry.npmjs.org/concat-map/0.0.1
- dev: true
registry.npmjs.org/brace-expansion/2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz}
@@ -2763,6 +3075,15 @@ packages:
engines: {node: '>=6'}
dev: true
+ registry.npmjs.org/busboy/1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz}
+ name: busboy
+ version: 1.6.0
+ engines: {node: '>=10.16.0'}
+ dependencies:
+ streamsearch: registry.npmjs.org/streamsearch/1.1.0
+ dev: true
+
registry.npmjs.org/cachedir/2.3.0:
resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz}
name: cachedir
@@ -2822,6 +3143,17 @@ packages:
version: 0.12.0
dev: true
+ registry.npmjs.org/cc/3.0.1:
+ resolution: {integrity: sha512-WowS4JZyJZOmPuNjJJOgvc1S1VCIg9MjXkSgsskl6YZ2rFilRql1bMaFu6JdWJMoG+upPtdqQ7BCdEkt42SpMg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/cc/-/cc-3.0.1.tgz}
+ name: cc
+ version: 3.0.1
+ hasBin: true
+ dependencies:
+ deglob: registry.npmjs.org/deglob/4.0.1
+ pkg-conf: registry.npmjs.org/pkg-conf/3.1.0
+ python-shell: registry.npmjs.org/python-shell/2.0.3
+ dev: false
+
registry.npmjs.org/chalk/2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz}
name: chalk
@@ -3040,7 +3372,6 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz}
name: concat-map
version: 0.0.1
- dev: true
registry.npmjs.org/concurrently/7.6.0:
resolution: {integrity: sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/concurrently/-/concurrently-7.6.0.tgz}
@@ -3074,6 +3405,13 @@ packages:
version: 1.9.0
dev: true
+ registry.npmjs.org/cookie/0.5.0:
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz}
+ name: cookie
+ version: 0.5.0
+ engines: {node: '>= 0.6'}
+ dev: true
+
registry.npmjs.org/core-util-is/1.0.2:
resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz}
name: core-util-is
@@ -3335,6 +3673,13 @@ packages:
version: 1.11.5
dev: true
+ registry.npmjs.org/debug-log/1.0.1:
+ resolution: {integrity: sha512-gV/pe1YIaKNgLYnd1g9VNW80tcb7oV5qvNUxG7NM8rbDpnl6RGunzlAtlGSb0wEs3nesu2vHNiX9TSsZ+Y+RjA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz}
+ name: debug-log
+ version: 1.0.1
+ engines: {node: '>=0.10.0'}
+ dev: false
+
registry.npmjs.org/debug/3.2.7_supports-color@8.1.1:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/debug/-/debug-3.2.7.tgz}
id: registry.npmjs.org/debug/3.2.7
@@ -3411,6 +3756,12 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ registry.npmjs.org/dedent-js/1.0.1:
+ resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz}
+ name: dedent-js
+ version: 1.0.1
+ dev: true
+
registry.npmjs.org/deep-is/0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz}
name: deep-is
@@ -3442,6 +3793,19 @@ packages:
object-keys: registry.npmjs.org/object-keys/1.1.1
dev: true
+ registry.npmjs.org/deglob/4.0.1:
+ resolution: {integrity: sha512-/g+RDZ7yf2HvoW+E5Cy+K94YhgcFgr6C8LuHZD1O5HoNPkf3KY6RfXJ0DBGlB/NkLi5gml+G9zqRzk9S0mHZCg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/deglob/-/deglob-4.0.1.tgz}
+ name: deglob
+ version: 4.0.1
+ dependencies:
+ find-root: registry.npmjs.org/find-root/1.1.0
+ glob: registry.npmjs.org/glob/7.2.3
+ ignore: registry.npmjs.org/ignore/5.2.4
+ pkg-config: registry.npmjs.org/pkg-config/1.1.1
+ run-parallel: registry.npmjs.org/run-parallel/1.2.0
+ uniq: registry.npmjs.org/uniq/1.0.1
+ dev: false
+
registry.npmjs.org/delayed-stream/1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz}
name: delayed-stream
@@ -3463,6 +3827,12 @@ packages:
engines: {node: '>=8'}
dev: true
+ registry.npmjs.org/devalue/4.2.3:
+ resolution: {integrity: sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/devalue/-/devalue-4.2.3.tgz}
+ name: devalue
+ version: 4.2.3
+ dev: true
+
registry.npmjs.org/dir-glob/3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz}
name: dir-glob
@@ -3553,7 +3923,6 @@ packages:
version: 1.3.2
dependencies:
is-arrayish: registry.npmjs.org/is-arrayish/0.2.1
- dev: true
registry.npmjs.org/es-abstract/1.21.1:
resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz}
@@ -3626,6 +3995,12 @@ packages:
is-symbol: registry.npmjs.org/is-symbol/1.0.4
dev: true
+ registry.npmjs.org/es6-promise/3.3.1:
+ resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz}
+ name: es6-promise
+ version: 3.3.1
+ dev: true
+
registry.npmjs.org/esbuild/0.16.16:
resolution: {integrity: sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/esbuild/-/esbuild-0.16.16.tgz}
name: esbuild
@@ -3691,6 +4066,18 @@ packages:
eslint: registry.npmjs.org/eslint/8.23.1
dev: true
+ registry.npmjs.org/eslint-config-prettier/8.5.0_eslint@8.33.0:
+ resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz}
+ id: registry.npmjs.org/eslint-config-prettier/8.5.0
+ name: eslint-config-prettier
+ version: 8.5.0
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: registry.npmjs.org/eslint/8.33.0
+ dev: true
+
registry.npmjs.org/eslint-config-turbo/0.0.7_eslint@8.23.1:
resolution: {integrity: sha512-WbrGlyfs94rOXrhombi1wjIAYGdV2iosgJRndOZtmDQeq5GLTzYmBUCJQZWtLBEBUPCj96RxZ2OL7Cn+xv/Azg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-config-turbo/-/eslint-config-turbo-0.0.7.tgz}
id: registry.npmjs.org/eslint-config-turbo/0.0.7
@@ -3750,6 +4137,19 @@ packages:
string.prototype.matchall: registry.npmjs.org/string.prototype.matchall/4.0.8
dev: true
+ registry.npmjs.org/eslint-plugin-svelte3/4.0.0_4omm2ewoudhgnmf7aocafatnc4:
+ resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-4.0.0.tgz}
+ id: registry.npmjs.org/eslint-plugin-svelte3/4.0.0
+ name: eslint-plugin-svelte3
+ version: 4.0.0
+ peerDependencies:
+ eslint: '>=8.0.0'
+ svelte: ^3.2.0
+ dependencies:
+ eslint: registry.npmjs.org/eslint/8.33.0
+ svelte: registry.npmjs.org/svelte/3.55.1
+ dev: true
+
registry.npmjs.org/eslint-plugin-turbo/0.0.7_eslint@8.23.1:
resolution: {integrity: sha512-iajOH8eD4jha3duztGVBD1BEmvNrQBaA/y3HFHf91vMDRYRwH7BpHSDFtxydDpk5ghlhRxG299SFxz7D6z4MBQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-plugin-turbo/-/eslint-plugin-turbo-0.0.7.tgz}
id: registry.npmjs.org/eslint-plugin-turbo/0.0.7
@@ -3794,6 +4194,19 @@ packages:
eslint-visitor-keys: registry.npmjs.org/eslint-visitor-keys/2.1.0
dev: true
+ registry.npmjs.org/eslint-utils/3.0.0_eslint@8.33.0:
+ resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz}
+ id: registry.npmjs.org/eslint-utils/3.0.0
+ name: eslint-utils
+ version: 3.0.0
+ engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
+ peerDependencies:
+ eslint: '>=5'
+ dependencies:
+ eslint: registry.npmjs.org/eslint/8.33.0
+ eslint-visitor-keys: registry.npmjs.org/eslint-visitor-keys/2.1.0
+ dev: true
+
registry.npmjs.org/eslint-visitor-keys/2.1.0:
resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz}
name: eslint-visitor-keys
@@ -3858,6 +4271,62 @@ packages:
- supports-color
dev: true
+ registry.npmjs.org/eslint/8.33.0:
+ resolution: {integrity: sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz}
+ name: eslint
+ version: 8.33.0
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint/eslintrc': registry.npmjs.org/@eslint/eslintrc/1.4.1
+ '@humanwhocodes/config-array': registry.npmjs.org/@humanwhocodes/config-array/0.11.8
+ '@humanwhocodes/module-importer': registry.npmjs.org/@humanwhocodes/module-importer/1.0.1
+ '@nodelib/fs.walk': registry.npmjs.org/@nodelib/fs.walk/1.2.8
+ ajv: registry.npmjs.org/ajv/6.12.6
+ chalk: registry.npmjs.org/chalk/4.1.2
+ cross-spawn: registry.npmjs.org/cross-spawn/7.0.3
+ debug: registry.npmjs.org/debug/4.3.4
+ doctrine: registry.npmjs.org/doctrine/3.0.0
+ escape-string-regexp: registry.npmjs.org/escape-string-regexp/4.0.0
+ eslint-scope: registry.npmjs.org/eslint-scope/7.1.1
+ eslint-utils: registry.npmjs.org/eslint-utils/3.0.0_eslint@8.33.0
+ eslint-visitor-keys: registry.npmjs.org/eslint-visitor-keys/3.3.0
+ espree: registry.npmjs.org/espree/9.4.0
+ esquery: registry.npmjs.org/esquery/1.4.0
+ esutils: registry.npmjs.org/esutils/2.0.3
+ fast-deep-equal: registry.npmjs.org/fast-deep-equal/3.1.3
+ file-entry-cache: registry.npmjs.org/file-entry-cache/6.0.1
+ find-up: registry.npmjs.org/find-up/5.0.0
+ glob-parent: registry.npmjs.org/glob-parent/6.0.2
+ globals: registry.npmjs.org/globals/13.20.0
+ grapheme-splitter: registry.npmjs.org/grapheme-splitter/1.0.4
+ ignore: registry.npmjs.org/ignore/5.2.4
+ import-fresh: registry.npmjs.org/import-fresh/3.3.0
+ imurmurhash: registry.npmjs.org/imurmurhash/0.1.4
+ is-glob: registry.npmjs.org/is-glob/4.0.3
+ is-path-inside: registry.npmjs.org/is-path-inside/3.0.3
+ js-sdsl: registry.npmjs.org/js-sdsl/4.1.4
+ js-yaml: registry.npmjs.org/js-yaml/4.1.0
+ json-stable-stringify-without-jsonify: registry.npmjs.org/json-stable-stringify-without-jsonify/1.0.1
+ levn: registry.npmjs.org/levn/0.4.1
+ lodash.merge: registry.npmjs.org/lodash.merge/4.6.2
+ minimatch: registry.npmjs.org/minimatch/3.1.2
+ natural-compare: registry.npmjs.org/natural-compare/1.4.0
+ optionator: registry.npmjs.org/optionator/0.9.1
+ regexpp: registry.npmjs.org/regexpp/3.2.0
+ strip-ansi: registry.npmjs.org/strip-ansi/6.0.1
+ strip-json-comments: registry.npmjs.org/strip-json-comments/3.1.1
+ text-table: registry.npmjs.org/text-table/0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ registry.npmjs.org/esm-env/1.0.0:
+ resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz}
+ name: esm-env
+ version: 1.0.0
+ dev: true
+
registry.npmjs.org/espree/9.4.0:
resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/espree/-/espree-9.4.0.tgz}
name: espree
@@ -4124,6 +4593,21 @@ packages:
to-regex-range: registry.npmjs.org/to-regex-range/5.0.1
dev: true
+ registry.npmjs.org/find-root/1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz}
+ name: find-root
+ version: 1.1.0
+ dev: false
+
+ registry.npmjs.org/find-up/3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz}
+ name: find-up
+ version: 3.0.0
+ engines: {node: '>=6'}
+ dependencies:
+ locate-path: registry.npmjs.org/locate-path/3.0.0
+ dev: false
+
registry.npmjs.org/find-up/4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz}
name: find-up
@@ -4270,7 +4754,6 @@ packages:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz}
name: fs.realpath
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}
@@ -4426,7 +4909,6 @@ packages:
minimatch: registry.npmjs.org/minimatch/3.1.2
once: registry.npmjs.org/once/1.4.0
path-is-absolute: registry.npmjs.org/path-is-absolute/1.0.1
- dev: true
registry.npmjs.org/glob/8.0.3:
resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/glob/-/glob-8.0.3.tgz}
@@ -4466,6 +4948,15 @@ packages:
type-fest: registry.npmjs.org/type-fest/0.20.2
dev: true
+ registry.npmjs.org/globals/13.20.0:
+ resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/globals/-/globals-13.20.0.tgz}
+ name: globals
+ version: 13.20.0
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: registry.npmjs.org/type-fest/0.20.2
+ dev: true
+
registry.npmjs.org/globalthis/1.0.3:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz}
name: globalthis
@@ -4475,6 +4966,12 @@ packages:
define-properties: registry.npmjs.org/define-properties/1.1.4
dev: true
+ registry.npmjs.org/globalyzer/0.1.0:
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz}
+ name: globalyzer
+ version: 0.1.0
+ dev: true
+
registry.npmjs.org/globby/11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/globby/-/globby-11.1.0.tgz}
name: globby
@@ -4502,6 +4999,12 @@ packages:
slash: registry.npmjs.org/slash/4.0.0
dev: true
+ registry.npmjs.org/globrex/0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz}
+ name: globrex
+ version: 0.1.2
+ dev: true
+
registry.npmjs.org/gopd/1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz}
name: gopd
@@ -4514,7 +5017,6 @@ packages:
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz}
name: graceful-fs
version: 4.2.10
- dev: true
registry.npmjs.org/grapheme-splitter/1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz}
@@ -4677,7 +5179,6 @@ packages:
name: ignore
version: 5.2.4
engines: {node: '>= 4'}
- dev: true
registry.npmjs.org/immediate/3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz}
@@ -4695,6 +5196,12 @@ packages:
resolve-from: registry.npmjs.org/resolve-from/4.0.0
dev: true
+ registry.npmjs.org/import-meta-resolve/2.2.1:
+ resolution: {integrity: sha512-C6lLL7EJPY44kBvA80gq4uMsVFw5x3oSKfuMl1cuZ2RkI5+UJqQXgn+6hlUew0y4ig7Ypt4CObAAIzU53Nfpuw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.1.tgz}
+ name: import-meta-resolve
+ version: 2.2.1
+ dev: true
+
registry.npmjs.org/imurmurhash/0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz}
name: imurmurhash
@@ -4716,13 +5223,11 @@ packages:
dependencies:
once: registry.npmjs.org/once/1.4.0
wrappy: registry.npmjs.org/wrappy/1.0.2
- dev: true
registry.npmjs.org/inherits/2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz}
name: inherits
version: 2.0.4
- dev: true
registry.npmjs.org/ini/2.0.0:
resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/ini/-/ini-2.0.0.tgz}
@@ -4756,7 +5261,6 @@ packages:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz}
name: is-arrayish
version: 0.2.1
- dev: true
registry.npmjs.org/is-bigint/1.0.4:
resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz}
@@ -5115,6 +5619,12 @@ packages:
hasBin: true
dev: true
+ registry.npmjs.org/json-parse-better-errors/1.0.2:
+ resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz}
+ name: json-parse-better-errors
+ version: 1.0.2
+ dev: false
+
registry.npmjs.org/json-parse-even-better-errors/2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz}
name: json-parse-even-better-errors
@@ -5276,6 +5786,19 @@ packages:
wrap-ansi: registry.npmjs.org/wrap-ansi/7.0.0
dev: true
+ registry.npmjs.org/load-json-file/5.3.0:
+ resolution: {integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz}
+ name: load-json-file
+ version: 5.3.0
+ engines: {node: '>=6'}
+ dependencies:
+ graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
+ parse-json: registry.npmjs.org/parse-json/4.0.0
+ pify: registry.npmjs.org/pify/4.0.1
+ strip-bom: registry.npmjs.org/strip-bom/3.0.0
+ type-fest: registry.npmjs.org/type-fest/0.3.1
+ dev: false
+
registry.npmjs.org/load-yaml-file/0.2.0:
resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz}
name: load-yaml-file
@@ -5296,6 +5819,16 @@ packages:
lie: registry.npmjs.org/lie/3.1.1
dev: false
+ registry.npmjs.org/locate-path/3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz}
+ name: locate-path
+ version: 3.0.0
+ engines: {node: '>=6'}
+ dependencies:
+ p-locate: registry.npmjs.org/p-locate/3.0.0
+ path-exists: registry.npmjs.org/path-exists/3.0.0
+ dev: false
+
registry.npmjs.org/locate-path/5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz}
name: locate-path
@@ -5367,6 +5900,14 @@ packages:
dependencies:
js-tokens: registry.npmjs.org/js-tokens/4.0.0
+ registry.npmjs.org/lower-case/2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz}
+ name: lower-case
+ version: 2.0.2
+ dependencies:
+ tslib: registry.npmjs.org/tslib/2.4.1
+ dev: true
+
registry.npmjs.org/lru-cache/4.1.5:
resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz}
name: lru-cache
@@ -5507,6 +6048,14 @@ packages:
mime-db: registry.npmjs.org/mime-db/1.52.0
dev: true
+ registry.npmjs.org/mime/3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/mime/-/mime-3.0.0.tgz}
+ name: mime
+ version: 3.0.0
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ dev: true
+
registry.npmjs.org/mimic-fn/2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz}
name: mimic-fn
@@ -5527,7 +6076,6 @@ packages:
version: 3.1.2
dependencies:
brace-expansion: registry.npmjs.org/brace-expansion/1.1.11
- dev: true
registry.npmjs.org/minimatch/5.1.2:
resolution: {integrity: sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz}
@@ -5562,6 +6110,29 @@ packages:
engines: {node: '>= 8.0.0'}
dev: true
+ registry.npmjs.org/mkdirp/0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz}
+ name: mkdirp
+ version: 0.5.6
+ hasBin: true
+ dependencies:
+ minimist: registry.npmjs.org/minimist/1.2.6
+ dev: true
+
+ registry.npmjs.org/mri/1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/mri/-/mri-1.2.0.tgz}
+ name: mri
+ version: 1.2.0
+ engines: {node: '>=4'}
+ dev: true
+
+ registry.npmjs.org/mrmime/1.0.1:
+ resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz}
+ name: mrmime
+ version: 1.0.1
+ engines: {node: '>=10'}
+ dev: true
+
registry.npmjs.org/ms/2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/ms/-/ms-2.1.2.tgz}
name: ms
@@ -5594,6 +6165,15 @@ packages:
version: 1.4.0
dev: true
+ registry.npmjs.org/no-case/3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz}
+ name: no-case
+ version: 3.0.4
+ dependencies:
+ lower-case: registry.npmjs.org/lower-case/2.0.2
+ tslib: registry.npmjs.org/tslib/2.4.1
+ dev: true
+
registry.npmjs.org/node-fetch/2.6.7:
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz}
name: node-fetch
@@ -5761,7 +6341,6 @@ packages:
version: 1.4.0
dependencies:
wrappy: registry.npmjs.org/wrappy/1.0.2
- dev: true
registry.npmjs.org/onetime/5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz}
@@ -5821,7 +6400,6 @@ packages:
engines: {node: '>=6'}
dependencies:
p-try: registry.npmjs.org/p-try/2.2.0
- dev: true
registry.npmjs.org/p-limit/3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz}
@@ -5832,6 +6410,15 @@ packages:
yocto-queue: registry.npmjs.org/yocto-queue/0.1.0
dev: true
+ registry.npmjs.org/p-locate/3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz}
+ name: p-locate
+ version: 3.0.0
+ engines: {node: '>=6'}
+ dependencies:
+ p-limit: registry.npmjs.org/p-limit/2.3.0
+ dev: false
+
registry.npmjs.org/p-locate/4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz}
name: p-locate
@@ -5871,7 +6458,6 @@ packages:
name: p-try
version: 2.2.0
engines: {node: '>=6'}
- dev: true
registry.npmjs.org/parent-module/1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz}
@@ -5894,6 +6480,16 @@ packages:
is-glob: registry.npmjs.org/is-glob/2.0.1
dev: true
+ registry.npmjs.org/parse-json/4.0.0:
+ resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz}
+ name: parse-json
+ version: 4.0.0
+ engines: {node: '>=4'}
+ dependencies:
+ error-ex: registry.npmjs.org/error-ex/1.3.2
+ json-parse-better-errors: registry.npmjs.org/json-parse-better-errors/1.0.2
+ dev: false
+
registry.npmjs.org/parse-json/5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz}
name: parse-json
@@ -5906,6 +6502,22 @@ packages:
lines-and-columns: registry.npmjs.org/lines-and-columns/1.2.4
dev: true
+ registry.npmjs.org/pascal-case/3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz}
+ name: pascal-case
+ version: 3.1.2
+ dependencies:
+ no-case: registry.npmjs.org/no-case/3.0.4
+ tslib: registry.npmjs.org/tslib/2.4.1
+ dev: true
+
+ registry.npmjs.org/path-exists/3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz}
+ name: path-exists
+ version: 3.0.0
+ engines: {node: '>=4'}
+ dev: false
+
registry.npmjs.org/path-exists/4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz}
name: path-exists
@@ -5918,7 +6530,6 @@ packages:
name: path-is-absolute
version: 1.0.1
engines: {node: '>=0.10.0'}
- dev: true
registry.npmjs.org/path-key/3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz}
@@ -5985,7 +6596,6 @@ packages:
name: pify
version: 4.0.1
engines: {node: '>=6'}
- dev: true
registry.npmjs.org/pirates/4.0.5:
resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz}
@@ -5994,6 +6604,27 @@ packages:
engines: {node: '>= 6'}
dev: true
+ registry.npmjs.org/pkg-conf/3.1.0:
+ resolution: {integrity: sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz}
+ name: pkg-conf
+ version: 3.1.0
+ engines: {node: '>=6'}
+ dependencies:
+ find-up: registry.npmjs.org/find-up/3.0.0
+ load-json-file: registry.npmjs.org/load-json-file/5.3.0
+ dev: false
+
+ registry.npmjs.org/pkg-config/1.1.1:
+ resolution: {integrity: sha512-ft/WI9YK6FuTuw4Ql+QUaNXtm/ASQNqDUUsZEgFZKyFpW6amyP8Gx01xrRs8KdiNbbqXfYxkOXplpq1euWbOjw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz}
+ name: pkg-config
+ version: 1.1.1
+ engines: {node: '>=0.10'}
+ dependencies:
+ debug-log: registry.npmjs.org/debug-log/1.0.1
+ find-root: registry.npmjs.org/find-root/1.1.0
+ xtend: registry.npmjs.org/xtend/4.0.2
+ dev: false
+
registry.npmjs.org/pkg-dir/4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz}
name: pkg-dir
@@ -6170,6 +6801,19 @@ packages:
fast-diff: registry.npmjs.org/fast-diff/1.2.0
dev: true
+ registry.npmjs.org/prettier-plugin-svelte/2.9.0_kdmmghgdi3ngrsq6otxkjilbry:
+ resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.9.0.tgz}
+ id: registry.npmjs.org/prettier-plugin-svelte/2.9.0
+ name: prettier-plugin-svelte
+ version: 2.9.0
+ peerDependencies:
+ prettier: ^1.16.4 || ^2.0.0
+ svelte: ^3.2.0
+ dependencies:
+ prettier: registry.npmjs.org/prettier/2.8.3
+ svelte: registry.npmjs.org/svelte/3.55.1
+ dev: true
+
registry.npmjs.org/prettier/2.7.1:
resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz}
name: prettier
@@ -6178,6 +6822,14 @@ packages:
hasBin: true
dev: true
+ registry.npmjs.org/prettier/2.8.3:
+ resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz}
+ name: prettier
+ version: 2.8.3
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dev: true
+
registry.npmjs.org/pretty-bytes/5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz}
name: pretty-bytes
@@ -6246,6 +6898,13 @@ packages:
engines: {node: '>=6'}
dev: true
+ registry.npmjs.org/python-shell/2.0.3:
+ resolution: {integrity: sha512-SBYQzXjexcxmmgzpjdIVxum9tj4Zaov1jNuSGMLssPxRhZ7lxqlpuEtLT0TEed0RAqhGfx2YFVC+imCJOmkVHg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/python-shell/-/python-shell-2.0.3.tgz}
+ name: python-shell
+ version: 2.0.3
+ engines: {node: '>=0.10'}
+ dev: false
+
registry.npmjs.org/qs/6.5.3:
resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/qs/-/qs-6.5.3.tgz}
name: qs
@@ -6257,7 +6916,6 @@ packages:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz}
name: queue-microtask
version: 1.2.3
- dev: true
registry.npmjs.org/quick-lru/4.0.1:
resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz}
@@ -6506,6 +7164,15 @@ packages:
version: 1.3.0
dev: true
+ registry.npmjs.org/rimraf/2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz}
+ name: rimraf
+ version: 2.7.1
+ hasBin: true
+ dependencies:
+ glob: registry.npmjs.org/glob/7.2.3
+ dev: true
+
registry.npmjs.org/rimraf/3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz}
name: rimraf
@@ -6552,7 +7219,6 @@ packages:
version: 1.2.0
dependencies:
queue-microtask: registry.npmjs.org/queue-microtask/1.2.3
- dev: true
registry.npmjs.org/rxjs/7.5.6:
resolution: {integrity: sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz}
@@ -6570,6 +7236,15 @@ packages:
tslib: registry.npmjs.org/tslib/2.4.1
dev: true
+ registry.npmjs.org/sade/1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/sade/-/sade-1.8.1.tgz}
+ name: sade
+ version: 1.8.1
+ engines: {node: '>=6'}
+ dependencies:
+ mri: registry.npmjs.org/mri/1.2.0
+ dev: true
+
registry.npmjs.org/safe-buffer/5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz}
name: safe-buffer
@@ -6598,6 +7273,17 @@ packages:
version: 2.1.2
dev: true
+ registry.npmjs.org/sander/0.5.1:
+ resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/sander/-/sander-0.5.1.tgz}
+ name: sander
+ version: 0.5.1
+ dependencies:
+ es6-promise: registry.npmjs.org/es6-promise/3.3.1
+ graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
+ mkdirp: registry.npmjs.org/mkdirp/0.5.6
+ rimraf: registry.npmjs.org/rimraf/2.7.1
+ dev: true
+
registry.npmjs.org/scheduler/0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz}
name: scheduler
@@ -6653,6 +7339,12 @@ packages:
version: 2.0.0
dev: true
+ registry.npmjs.org/set-cookie-parser/2.5.1:
+ resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz}
+ name: set-cookie-parser
+ version: 2.5.1
+ dev: true
+
registry.npmjs.org/shebang-command/1.2.0:
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz}
name: shebang-command
@@ -6707,6 +7399,17 @@ packages:
version: 3.0.7
dev: true
+ registry.npmjs.org/sirv/2.0.2:
+ resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz}
+ name: sirv
+ version: 2.0.2
+ engines: {node: '>= 10'}
+ dependencies:
+ '@polka/url': registry.npmjs.org/@polka/url/1.0.0-next.21
+ mrmime: registry.npmjs.org/mrmime/1.0.1
+ totalist: registry.npmjs.org/totalist/3.0.0
+ dev: true
+
registry.npmjs.org/slash/3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/slash/-/slash-3.0.0.tgz}
name: slash
@@ -6771,6 +7474,18 @@ packages:
version: 0.0.6
dev: true
+ registry.npmjs.org/sorcery/0.11.0:
+ resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz}
+ name: sorcery
+ version: 0.11.0
+ hasBin: true
+ dependencies:
+ '@jridgewell/sourcemap-codec': registry.npmjs.org/@jridgewell/sourcemap-codec/1.4.14
+ buffer-crc32: registry.npmjs.org/buffer-crc32/0.2.13
+ minimist: registry.npmjs.org/minimist/1.2.6
+ sander: registry.npmjs.org/sander/0.5.1
+ dev: true
+
registry.npmjs.org/source-map-js/1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz}
name: source-map-js
@@ -6912,6 +7627,13 @@ packages:
mixme: registry.npmjs.org/mixme/0.5.4
dev: true
+ registry.npmjs.org/streamsearch/1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz}
+ name: streamsearch
+ version: 1.1.0
+ engines: {node: '>=10.0.0'}
+ dev: true
+
registry.npmjs.org/string-width/4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz}
name: string-width
@@ -6972,7 +7694,6 @@ packages:
name: strip-bom
version: 3.0.0
engines: {node: '>=4'}
- dev: true
registry.npmjs.org/strip-final-newline/2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz}
@@ -7031,6 +7752,121 @@ packages:
engines: {node: '>= 0.4'}
dev: true
+ registry.npmjs.org/svelte-check/3.0.3_svelte@3.55.1:
+ resolution: {integrity: sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/svelte-check/-/svelte-check-3.0.3.tgz}
+ id: registry.npmjs.org/svelte-check/3.0.3
+ name: svelte-check
+ version: 3.0.3
+ hasBin: true
+ peerDependencies:
+ svelte: ^3.55.0
+ dependencies:
+ '@jridgewell/trace-mapping': registry.npmjs.org/@jridgewell/trace-mapping/0.3.17
+ chokidar: registry.npmjs.org/chokidar/3.5.3
+ fast-glob: registry.npmjs.org/fast-glob/3.2.12
+ import-fresh: registry.npmjs.org/import-fresh/3.3.0
+ picocolors: registry.npmjs.org/picocolors/1.0.0
+ sade: registry.npmjs.org/sade/1.8.1
+ svelte: registry.npmjs.org/svelte/3.55.1
+ svelte-preprocess: registry.npmjs.org/svelte-preprocess/5.0.1_atrrhq7vg4ekua4nnyrpuardle
+ typescript: registry.npmjs.org/typescript/4.9.4
+ transitivePeerDependencies:
+ - '@babel/core'
+ - coffeescript
+ - less
+ - postcss
+ - postcss-load-config
+ - pug
+ - sass
+ - stylus
+ - sugarss
+ dev: true
+
+ registry.npmjs.org/svelte-hmr/0.15.1_svelte@3.55.1:
+ resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.1.tgz}
+ id: registry.npmjs.org/svelte-hmr/0.15.1
+ name: svelte-hmr
+ version: 0.15.1
+ engines: {node: ^12.20 || ^14.13.1 || >= 16}
+ peerDependencies:
+ svelte: '>=3.19.0'
+ dependencies:
+ svelte: registry.npmjs.org/svelte/3.55.1
+ dev: true
+
+ registry.npmjs.org/svelte-preprocess/5.0.1_atrrhq7vg4ekua4nnyrpuardle:
+ resolution: {integrity: sha512-0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.1.tgz}
+ id: registry.npmjs.org/svelte-preprocess/5.0.1
+ name: svelte-preprocess
+ version: 5.0.1
+ engines: {node: '>= 14.10.0'}
+ requiresBuild: true
+ peerDependencies:
+ '@babel/core': ^7.10.2
+ coffeescript: ^2.5.1
+ less: ^3.11.3 || ^4.0.0
+ postcss: ^7 || ^8
+ postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
+ pug: ^3.0.0
+ sass: ^1.26.8
+ stylus: ^0.55.0
+ sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
+ svelte: ^3.23.0
+ typescript: ^3.9.5 || ^4.0.0
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ coffeescript:
+ optional: true
+ less:
+ optional: true
+ postcss:
+ optional: true
+ postcss-load-config:
+ optional: true
+ pug:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@types/pug': registry.npmjs.org/@types/pug/2.0.6
+ '@types/sass': registry.npmjs.org/@types/sass/1.43.1
+ detect-indent: registry.npmjs.org/detect-indent/6.1.0
+ magic-string: registry.npmjs.org/magic-string/0.27.0
+ sorcery: registry.npmjs.org/sorcery/0.11.0
+ strip-indent: registry.npmjs.org/strip-indent/3.0.0
+ svelte: registry.npmjs.org/svelte/3.55.1
+ typescript: registry.npmjs.org/typescript/4.9.4
+ dev: true
+
+ registry.npmjs.org/svelte/3.55.1:
+ resolution: {integrity: sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/svelte/-/svelte-3.55.1.tgz}
+ name: svelte
+ version: 3.55.1
+ engines: {node: '>= 8'}
+ dev: true
+
+ registry.npmjs.org/svelte2tsx/0.6.0_atrrhq7vg4ekua4nnyrpuardle:
+ resolution: {integrity: sha512-TrxfQkO7CKi8Pu2eC/FyteDCdk3OOeQV5u6z7OjYAsOhsd0ClzAKqxJdvp6xxNQLrbFzf/XvCi9Fy8MQ1MleFA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.6.0.tgz}
+ id: registry.npmjs.org/svelte2tsx/0.6.0
+ name: svelte2tsx
+ version: 0.6.0
+ peerDependencies:
+ svelte: ^3.55
+ typescript: ^4.9.4
+ dependencies:
+ dedent-js: registry.npmjs.org/dedent-js/1.0.1
+ pascal-case: registry.npmjs.org/pascal-case/3.1.2
+ svelte: registry.npmjs.org/svelte/3.55.1
+ typescript: registry.npmjs.org/typescript/4.9.4
+ dev: true
+
registry.npmjs.org/term-size/2.2.1:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz}
name: term-size
@@ -7088,6 +7924,15 @@ packages:
version: 2.3.8
dev: true
+ registry.npmjs.org/tiny-glob/0.2.9:
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz}
+ name: tiny-glob
+ version: 0.2.9
+ dependencies:
+ globalyzer: registry.npmjs.org/globalyzer/0.1.0
+ globrex: registry.npmjs.org/globrex/0.1.2
+ dev: true
+
registry.npmjs.org/tmp/0.0.33:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz}
name: tmp
@@ -7122,6 +7967,13 @@ packages:
is-number: registry.npmjs.org/is-number/7.0.0
dev: true
+ registry.npmjs.org/totalist/3.0.0:
+ resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/totalist/-/totalist-3.0.0.tgz}
+ name: totalist
+ version: 3.0.0
+ engines: {node: '>=6'}
+ dev: true
+
registry.npmjs.org/tough-cookie/2.5.0:
resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz}
name: tough-cookie
@@ -7312,6 +8164,13 @@ packages:
engines: {node: '>=10'}
dev: true
+ registry.npmjs.org/type-fest/0.3.1:
+ resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz}
+ name: type-fest
+ version: 0.3.1
+ engines: {node: '>=6'}
+ dev: false
+
registry.npmjs.org/type-fest/0.6.0:
resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz}
name: type-fest
@@ -7355,6 +8214,21 @@ packages:
which-boxed-primitive: registry.npmjs.org/which-boxed-primitive/1.0.2
dev: true
+ registry.npmjs.org/undici/5.16.0:
+ resolution: {integrity: sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/undici/-/undici-5.16.0.tgz}
+ name: undici
+ version: 5.16.0
+ engines: {node: '>=12.18'}
+ dependencies:
+ busboy: registry.npmjs.org/busboy/1.6.0
+ dev: true
+
+ registry.npmjs.org/uniq/1.0.1:
+ resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz}
+ name: uniq
+ version: 1.0.1
+ dev: false
+
registry.npmjs.org/universalify/0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz}
name: universalify
@@ -7497,6 +8371,20 @@ packages:
fsevents: registry.npmjs.org/fsevents/2.3.2
dev: true
+ registry.npmjs.org/vitefu/0.2.4_vite@4.0.4:
+ resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz}
+ id: registry.npmjs.org/vitefu/0.2.4
+ name: vitefu
+ version: 0.2.4
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ vite: registry.npmjs.org/vite/4.0.4
+ dev: true
+
registry.npmjs.org/wait-on/6.0.0_debug@4.3.2:
resolution: {integrity: sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/wait-on/-/wait-on-6.0.0.tgz}
id: registry.npmjs.org/wait-on/6.0.0
@@ -7631,7 +8519,13 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz}
name: wrappy
version: 1.0.2
- dev: true
+
+ registry.npmjs.org/xtend/4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz}
+ name: xtend
+ version: 4.0.2
+ engines: {node: '>=0.4'}
+ dev: false
registry.npmjs.org/y18n/4.0.3:
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, registry: https://registry.npmjs.com/, tarball: https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz}