diff --git a/.api-report/mafs.api.md b/.api-report/mafs.api.md
index ec8d33e6..d2d2d4b8 100644
--- a/.api-report/mafs.api.md
+++ b/.api-report/mafs.api.md
@@ -102,7 +102,7 @@ export const Line: {
};
// @public (undocumented)
-export function Mafs({ width: propWidth, height: propHeight, pan, zoom, viewBox, preserveAspectRatio, children, ssr, onClick, }: MafsProps): JSX_2.Element;
+export function Mafs({ width: propWidth, height: propHeight, pan, zoom, viewBox, preserveAspectRatio, children, ssr, debug, onClick, }: MafsProps): JSX_2.Element;
// @public (undocumented)
export namespace Mafs {
@@ -127,6 +127,7 @@ export type MafsProps = React_2.PropsWithChildren<{
preserveAspectRatio?: "contain" | false;
onClick?: (point: vec.Vector2, event: MouseEvent) => void;
ssr?: boolean;
+ debug?: boolean;
}>;
// @public (undocumented)
diff --git a/docs/app/guides/display/debug/page.tsx b/docs/app/guides/display/debug/page.tsx
index 78beae8e..15ad4cde 100644
--- a/docs/app/guides/display/debug/page.tsx
+++ b/docs/app/guides/display/debug/page.tsx
@@ -5,6 +5,7 @@ import Link from "next/link"
import CodeAndExample from "components/CodeAndExample"
import PizzaSliceExample from "guide-examples/custom/pizza-slice"
+import DebugExample from "guide-examples/debug/DebugExample"
import Example from "guide-examples/debug/PaneVisualizerExample"
import type { Metadata } from "next"
@@ -16,8 +17,23 @@ export default function DebugPage() {
return (
<>
- Mafs provides a few utilities for debugging or experimentation, underneath the{" "}
- Debug
namespace.
+ Mafs provides several utilities for debugging your visualizations. Perhaps the most useful
+ utility the debug
prop on Mafs
. Adding this prop will force a
+ larger SVG viewBox and add a red border around the actual viewBox.
+
+
+
+
+
+ In the above example, you can gain an insight into how Mafs lazy-loads the coordinate grid
+ and the function being visualized. In the bottom left corner, there is also some debug
+ information pinned to the viewport. More on that below.
+
+
+ Other utilities
+
+
+ Mafs also provides some debug components under the Debug
namespace.
diff --git a/docs/components/guide-examples/debug/DebugExample.tsx b/docs/components/guide-examples/debug/DebugExample.tsx
new file mode 100644
index 00000000..62317ab5
--- /dev/null
+++ b/docs/components/guide-examples/debug/DebugExample.tsx
@@ -0,0 +1,26 @@
+"use client"
+
+import * as React from "react"
+import { Mafs, Coordinates, Plot } from "mafs"
+
+export default function Example() {
+ const [debug, setDebug] = React.useState(true)
+
+ return (
+
+ {/* Set the `debug` prop on Mafs to get a bird's eye view. */}
+
+
+ Math.sin(x * Math.PI)} />
+
+
+ setDebug(e.target.checked)}
+ />
+ Debug
+
+
+ )
+}
diff --git a/e2e/generated-vrt.spec.tsx b/e2e/generated-vrt.spec.tsx
index 47ba0935..ad50b19a 100644
--- a/e2e/generated-vrt.spec.tsx
+++ b/e2e/generated-vrt.spec.tsx
@@ -20,6 +20,7 @@ import VectorFieldExample from "../docs/components/guide-examples/VectorFieldExa
import PizzaMarch from "../docs/components/guide-examples/custom/pizza-march"
import PizzaSlice from "../docs/components/guide-examples/custom/pizza-slice"
import PointCloud from "../docs/components/guide-examples/custom/point-cloud"
+import DebugExample from "../docs/components/guide-examples/debug/DebugExample"
import PaneVisualizerExample from "../docs/components/guide-examples/debug/PaneVisualizerExample"
import DynamicMovablePoints from "../docs/components/guide-examples/display/DynamicMovablePoints"
import PointsAlongFunction from "../docs/components/guide-examples/display/PointsAlongFunction"
@@ -188,6 +189,15 @@ test("guide-examples/custom/PointCloud", async ({ mount, page }) =>
,
))
+test("guide-examples/debug/DebugExample", async ({ mount, page }) =>
+ await visualTest(
+ mount,
+ page,
+
+
+ ,
+ ))
+
test("guide-examples/debug/PaneVisualizerExample", async ({ mount, page }) =>
await visualTest(
mount,
diff --git a/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-Mobile-Chrome-darwin.png b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-Mobile-Chrome-darwin.png
new file mode 100644
index 00000000..34cbbd04
Binary files /dev/null and b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-Mobile-Chrome-darwin.png differ
diff --git a/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-Mobile-Safari-darwin.png b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-Mobile-Safari-darwin.png
new file mode 100644
index 00000000..67274f7d
Binary files /dev/null and b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-Mobile-Safari-darwin.png differ
diff --git a/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-chromium-darwin.png b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-chromium-darwin.png
new file mode 100644
index 00000000..e35bcf78
Binary files /dev/null and b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-chromium-darwin.png differ
diff --git a/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-firefox-darwin.png b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-firefox-darwin.png
new file mode 100644
index 00000000..92dcf7a3
Binary files /dev/null and b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-firefox-darwin.png differ
diff --git a/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-webkit-darwin.png b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-webkit-darwin.png
new file mode 100644
index 00000000..1ca842fa
Binary files /dev/null and b/e2e/generated-vrt.spec.tsx-snapshots/guide-examples-debug-DebugExample-1-webkit-darwin.png differ
diff --git a/src/view/Mafs.tsx b/src/view/Mafs.tsx
index 7c3bea22..55d878de 100644
--- a/src/view/Mafs.tsx
+++ b/src/view/Mafs.tsx
@@ -12,6 +12,7 @@ import invariant from "tiny-invariant"
import { useCamera } from "../gestures/useCamera"
import { useWheelEnabler } from "../gestures/useWheelEnabler"
import { TestContext } from "../context/TestContext"
+import { Debug } from "../debug"
export type MafsProps = React.PropsWithChildren<{
width?: number | "auto"
@@ -49,6 +50,9 @@ export type MafsProps = React.PropsWithChildren<{
* this prop is now ignored.
*/
ssr?: boolean
+
+ /** Take a peek outside the viewbox to make sure things are rendering properly. */
+ debug?: boolean
}>
export function Mafs({
@@ -60,6 +64,7 @@ export function Mafs({
preserveAspectRatio = "contain",
children,
ssr = false,
+ debug = false,
onClick = undefined,
}: MafsProps) {
const testContext = React.useContext(TestContext)
@@ -92,6 +97,7 @@ export function Mafs({
preserveAspectRatio={preserveAspectRatio}
ssr={ssr}
onClick={onClick}
+ debug={debug}
>
{children}
@@ -105,7 +111,9 @@ type MafsCanvasProps = {
height: number
desiredCssWidth: string
rootRef: React.RefObject
-} & Required> &
+} & Required<
+ Pick
+> &
Pick
function MafsCanvas({
@@ -119,6 +127,7 @@ function MafsCanvas({
preserveAspectRatio,
children,
onClick,
+ debug,
}: MafsCanvasProps) {
let minZoom = 1
let maxZoom = 1
@@ -306,7 +315,12 @@ function MafsCanvas({
{children}
+ {debug && (
+
+ )}
+ {debug && }
diff --git a/tests/frameworks/nextjs/package.json b/tests/frameworks/nextjs/package.json
index 0c114056..ae91e1ec 100644
--- a/tests/frameworks/nextjs/package.json
+++ b/tests/frameworks/nextjs/package.json
@@ -15,7 +15,7 @@
"react-dom": "^18.3.1"
},
"devDependencies": {
- "@types/node": "^20.16.11",
+ "@types/node": "^20.16.13",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.1",
"typescript": "^5.6.3"
diff --git a/tests/frameworks/pnpm-lock.yaml b/tests/frameworks/pnpm-lock.yaml
index dba134fa..79593aaf 100644
--- a/tests/frameworks/pnpm-lock.yaml
+++ b/tests/frameworks/pnpm-lock.yaml
@@ -22,8 +22,8 @@ importers:
version: 18.3.1(react@18.3.1)
devDependencies:
'@types/node':
- specifier: ^20.16.11
- version: 20.16.11
+ specifier: ^20.16.13
+ version: 20.16.13
'@types/react':
specifier: ^18.3.11
version: 18.3.11
@@ -47,8 +47,8 @@ importers:
version: 18.3.1(react@18.3.1)
devDependencies:
'@eslint/js':
- specifier: ^9.12.0
- version: 9.12.0
+ specifier: ^9.13.0
+ version: 9.13.0
'@types/react':
specifier: ^18.3.11
version: 18.3.11
@@ -56,17 +56,17 @@ importers:
specifier: ^18.3.1
version: 18.3.1
'@vitejs/plugin-react':
- specifier: ^4.3.2
- version: 4.3.2(vite@5.4.9(@types/node@20.16.11))
+ specifier: ^4.3.3
+ version: 4.3.3(vite@5.4.9(@types/node@20.16.13))
eslint:
- specifier: ^9.12.0
- version: 9.12.0
+ specifier: ^9.13.0
+ version: 9.13.0
eslint-plugin-react-hooks:
specifier: 5.1.0-rc-fb9a90fa48-20240614
- version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.12.0)
+ version: 5.1.0-rc-fb9a90fa48-20240614(eslint@9.13.0)
eslint-plugin-react-refresh:
- specifier: ^0.4.12
- version: 0.4.12(eslint@9.12.0)
+ specifier: ^0.4.13
+ version: 0.4.13(eslint@9.13.0)
globals:
specifier: ^15.11.0
version: 15.11.0
@@ -74,11 +74,11 @@ importers:
specifier: ^5.6.3
version: 5.6.3
typescript-eslint:
- specifier: ^8.9.0
- version: 8.9.0(eslint@9.12.0)(typescript@5.6.3)
+ specifier: ^8.10.0
+ version: 8.10.0(eslint@9.13.0)(typescript@5.6.3)
vite:
specifier: ^5.4.9
- version: 5.4.9(@types/node@20.16.11)
+ version: 5.4.9(@types/node@20.16.13)
packages:
@@ -325,24 +325,24 @@ packages:
resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.6.0':
- resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==}
+ '@eslint/core@0.7.0':
+ resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.12.0':
- resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==}
+ '@eslint/js@9.13.0':
+ resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.4':
resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.2.0':
- resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==}
+ '@eslint/plugin-kit@0.2.1':
+ resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@humanfs/core@0.19.0':
@@ -555,8 +555,8 @@ packages:
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- '@types/node@20.16.11':
- resolution: {integrity: sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==}
+ '@types/node@20.16.13':
+ resolution: {integrity: sha512-GjQ7im10B0labo8ZGXDGROUl9k0BNyDgzfGpb4g/cl+4yYDWVKcozANF4FGr4/p0O/rAkQClM6Wiwkije++1Tg==}
'@types/prop-types@15.7.13':
resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
@@ -567,8 +567,8 @@ packages:
'@types/react@18.3.11':
resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==}
- '@typescript-eslint/eslint-plugin@8.9.0':
- resolution: {integrity: sha512-Y1n621OCy4m7/vTXNlCbMVp87zSd7NH0L9cXD8aIpOaNlzeWxIK4+Q19A68gSmTNRZn92UjocVUWDthGxtqHFg==}
+ '@typescript-eslint/eslint-plugin@8.10.0':
+ resolution: {integrity: sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
@@ -578,8 +578,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@8.9.0':
- resolution: {integrity: sha512-U+BLn2rqTTHnc4FL3FJjxaXptTxmf9sNftJK62XLz4+GxG3hLHm/SUNaaXP5Y4uTiuYoL5YLy4JBCJe3+t8awQ==}
+ '@typescript-eslint/parser@8.10.0':
+ resolution: {integrity: sha512-E24l90SxuJhytWJ0pTQydFT46Nk0Z+bsLKo/L8rtQSL93rQ6byd1V/QbDpHUTdLPOMsBCcYXZweADNCfOCmOAg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -588,12 +588,12 @@ packages:
typescript:
optional: true
- '@typescript-eslint/scope-manager@8.9.0':
- resolution: {integrity: sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ==}
+ '@typescript-eslint/scope-manager@8.10.0':
+ resolution: {integrity: sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@8.9.0':
- resolution: {integrity: sha512-JD+/pCqlKqAk5961vxCluK+clkppHY07IbV3vett97KOV+8C6l+CPEPwpUuiMwgbOz/qrN3Ke4zzjqbT+ls+1Q==}
+ '@typescript-eslint/type-utils@8.10.0':
+ resolution: {integrity: sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -601,12 +601,12 @@ packages:
typescript:
optional: true
- '@typescript-eslint/types@8.9.0':
- resolution: {integrity: sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==}
+ '@typescript-eslint/types@8.10.0':
+ resolution: {integrity: sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.9.0':
- resolution: {integrity: sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g==}
+ '@typescript-eslint/typescript-estree@8.10.0':
+ resolution: {integrity: sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -614,14 +614,14 @@ packages:
typescript:
optional: true
- '@typescript-eslint/utils@8.9.0':
- resolution: {integrity: sha512-PKgMmaSo/Yg/F7kIZvrgrWa1+Vwn036CdNUvYFEkYbPwOH4i8xvkaRlu148W3vtheWK9ckKRIz7PBP5oUlkrvQ==}
+ '@typescript-eslint/utils@8.10.0':
+ resolution: {integrity: sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- '@typescript-eslint/visitor-keys@8.9.0':
- resolution: {integrity: sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==}
+ '@typescript-eslint/visitor-keys@8.10.0':
+ resolution: {integrity: sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@use-gesture/core@10.3.1':
@@ -632,8 +632,8 @@ packages:
peerDependencies:
react: '>= 16.8.0'
- '@vitejs/plugin-react@4.3.2':
- resolution: {integrity: sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg==}
+ '@vitejs/plugin-react@4.3.3':
+ resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
vite: ^4.2.0 || ^5.0.0
@@ -747,8 +747,8 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- electron-to-chromium@1.5.39:
- resolution: {integrity: sha512-4xkpSR6CjuiaNyvwiWDI85N9AxsvbPawB8xc7yzLPonYTuP19BVgYweKyUMFtHEZgIcHWMt1ks5Cqx2m+6/Grg==}
+ electron-to-chromium@1.5.41:
+ resolution: {integrity: sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==}
esbuild@0.21.5:
resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
@@ -773,8 +773,8 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
- eslint-plugin-react-refresh@0.4.12:
- resolution: {integrity: sha512-9neVjoGv20FwYtCP6CB1dzR1vr57ZDNOXst21wd2xJ/cTlM2xLq0GWVlSNTdMn/4BtP6cHYBMCSp1wFBJ9jBsg==}
+ eslint-plugin-react-refresh@0.4.13:
+ resolution: {integrity: sha512-f1EppwrpJRWmqDTyvAyomFVDYRtrS7iTEqv3nokETnMiMzs2SSTmKRTACce4O2p4jYyowiSMvpdwC/RLcMFhuQ==}
peerDependencies:
eslint: '>=7'
@@ -790,8 +790,8 @@ packages:
resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.12.0:
- resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==}
+ eslint@9.13.0:
+ resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -977,7 +977,7 @@ packages:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
mafs@file:mafs.tgz:
- resolution: {integrity: sha512-EOgHHsVxWq7oGmdUJhZJ+Fr3b37xP1i3EBWuQahy/3ZOiOo2xvxLd6KChF1Lf00b6xRvOFyixuHpWexBE8uffA==, tarball: file:mafs.tgz}
+ resolution: {integrity: sha512-AyLu9cKkFYc11fgJnuOXhBJPvyPuzQCsImsvmr/6KARMQTsFLk5UnphfQmQVWAXwDVA0lv1ed52FoMRXf3vmwA==, tarball: file:mafs.tgz}
version: 0.20.1
engines: {node: '>=20.11.0'}
peerDependencies:
@@ -1055,8 +1055,8 @@ packages:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
- picocolors@1.1.0:
- resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -1190,8 +1190,8 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- typescript-eslint@8.9.0:
- resolution: {integrity: sha512-AuD/FXGYRQyqyOBCpNLldMlsCGvmDNxptQ3Dp58/NXeB+FqyvTfXmMyba3PYa0Vi9ybnj7G8S/yd/4Cw8y47eA==}
+ typescript-eslint@8.10.0:
+ resolution: {integrity: sha512-YIu230PeN7z9zpu/EtqCIuRVHPs4iSlqW6TEvjbyDAE3MZsSl2RXBo+5ag+lbABCG8sFM1WVKEXhlQ8Ml8A3Fw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -1279,7 +1279,7 @@ snapshots:
'@babel/code-frame@7.25.7':
dependencies:
'@babel/highlight': 7.25.7
- picocolors: 1.1.0
+ picocolors: 1.1.1
'@babel/compat-data@7.25.8': {}
@@ -1360,7 +1360,7 @@ snapshots:
'@babel/helper-validator-identifier': 7.25.7
chalk: 2.4.2
js-tokens: 4.0.0
- picocolors: 1.1.0
+ picocolors: 1.1.1
'@babel/parser@7.25.8':
dependencies:
@@ -1469,9 +1469,9 @@ snapshots:
'@esbuild/win32-x64@0.21.5':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@9.12.0)':
+ '@eslint-community/eslint-utils@4.4.0(eslint@9.13.0)':
dependencies:
- eslint: 9.12.0
+ eslint: 9.13.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.11.1': {}
@@ -1484,7 +1484,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/core@0.6.0': {}
+ '@eslint/core@0.7.0': {}
'@eslint/eslintrc@3.1.0':
dependencies:
@@ -1500,11 +1500,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.12.0': {}
+ '@eslint/js@9.13.0': {}
'@eslint/object-schema@2.1.4': {}
- '@eslint/plugin-kit@0.2.0':
+ '@eslint/plugin-kit@0.2.1':
dependencies:
levn: 0.4.1
@@ -1659,7 +1659,7 @@ snapshots:
'@types/json-schema@7.0.15': {}
- '@types/node@20.16.11':
+ '@types/node@20.16.13':
dependencies:
undici-types: 6.19.8
@@ -1674,15 +1674,15 @@ snapshots:
'@types/prop-types': 15.7.13
csstype: 3.1.3
- '@typescript-eslint/eslint-plugin@8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)':
+ '@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0)(typescript@5.6.3)':
dependencies:
'@eslint-community/regexpp': 4.11.1
- '@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 8.9.0
- '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
- '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.9.0
- eslint: 9.12.0
+ '@typescript-eslint/parser': 8.10.0(eslint@9.13.0)(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 8.10.0
+ '@typescript-eslint/type-utils': 8.10.0(eslint@9.13.0)(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0)(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.10.0
+ eslint: 9.13.0
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
@@ -1692,28 +1692,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
+ '@typescript-eslint/parser@8.10.0(eslint@9.13.0)(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.9.0
- '@typescript-eslint/types': 8.9.0
- '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.9.0
+ '@typescript-eslint/scope-manager': 8.10.0
+ '@typescript-eslint/types': 8.10.0
+ '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.10.0
debug: 4.3.7
- eslint: 9.12.0
+ eslint: 9.13.0
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.9.0':
+ '@typescript-eslint/scope-manager@8.10.0':
dependencies:
- '@typescript-eslint/types': 8.9.0
- '@typescript-eslint/visitor-keys': 8.9.0
+ '@typescript-eslint/types': 8.10.0
+ '@typescript-eslint/visitor-keys': 8.10.0
- '@typescript-eslint/type-utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
+ '@typescript-eslint/type-utils@8.10.0(eslint@9.13.0)(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
- '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
+ '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0)(typescript@5.6.3)
debug: 4.3.7
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
@@ -1722,12 +1722,12 @@ snapshots:
- eslint
- supports-color
- '@typescript-eslint/types@8.9.0': {}
+ '@typescript-eslint/types@8.10.0': {}
- '@typescript-eslint/typescript-estree@8.9.0(typescript@5.6.3)':
+ '@typescript-eslint/typescript-estree@8.10.0(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/types': 8.9.0
- '@typescript-eslint/visitor-keys': 8.9.0
+ '@typescript-eslint/types': 8.10.0
+ '@typescript-eslint/visitor-keys': 8.10.0
debug: 4.3.7
fast-glob: 3.3.2
is-glob: 4.0.3
@@ -1739,20 +1739,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
+ '@typescript-eslint/utils@8.10.0(eslint@9.13.0)(typescript@5.6.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
- '@typescript-eslint/scope-manager': 8.9.0
- '@typescript-eslint/types': 8.9.0
- '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
- eslint: 9.12.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0)
+ '@typescript-eslint/scope-manager': 8.10.0
+ '@typescript-eslint/types': 8.10.0
+ '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3)
+ eslint: 9.13.0
transitivePeerDependencies:
- supports-color
- typescript
- '@typescript-eslint/visitor-keys@8.9.0':
+ '@typescript-eslint/visitor-keys@8.10.0':
dependencies:
- '@typescript-eslint/types': 8.9.0
+ '@typescript-eslint/types': 8.10.0
eslint-visitor-keys: 3.4.3
'@use-gesture/core@10.3.1': {}
@@ -1762,14 +1762,14 @@ snapshots:
'@use-gesture/core': 10.3.1
react: 18.3.1
- '@vitejs/plugin-react@4.3.2(vite@5.4.9(@types/node@20.16.11))':
+ '@vitejs/plugin-react@4.3.3(vite@5.4.9(@types/node@20.16.13))':
dependencies:
'@babel/core': 7.25.8
'@babel/plugin-transform-react-jsx-self': 7.25.7(@babel/core@7.25.8)
'@babel/plugin-transform-react-jsx-source': 7.25.7(@babel/core@7.25.8)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
- vite: 5.4.9(@types/node@20.16.11)
+ vite: 5.4.9(@types/node@20.16.13)
transitivePeerDependencies:
- supports-color
@@ -1814,7 +1814,7 @@ snapshots:
browserslist@4.24.0:
dependencies:
caniuse-lite: 1.0.30001669
- electron-to-chromium: 1.5.39
+ electron-to-chromium: 1.5.41
node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.0)
@@ -1873,7 +1873,7 @@ snapshots:
deep-is@0.1.4: {}
- electron-to-chromium@1.5.39: {}
+ electron-to-chromium@1.5.41: {}
esbuild@0.21.5:
optionalDependencies:
@@ -1907,13 +1907,13 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.12.0):
+ eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@9.13.0):
dependencies:
- eslint: 9.12.0
+ eslint: 9.13.0
- eslint-plugin-react-refresh@0.4.12(eslint@9.12.0):
+ eslint-plugin-react-refresh@0.4.13(eslint@9.13.0):
dependencies:
- eslint: 9.12.0
+ eslint: 9.13.0
eslint-scope@8.1.0:
dependencies:
@@ -1924,15 +1924,15 @@ snapshots:
eslint-visitor-keys@4.1.0: {}
- eslint@9.12.0:
+ eslint@9.13.0:
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0)
'@eslint-community/regexpp': 4.11.1
'@eslint/config-array': 0.18.0
- '@eslint/core': 0.6.0
+ '@eslint/core': 0.7.0
'@eslint/eslintrc': 3.1.0
- '@eslint/js': 9.12.0
- '@eslint/plugin-kit': 0.2.0
+ '@eslint/js': 9.13.0
+ '@eslint/plugin-kit': 0.2.1
'@humanfs/node': 0.16.5
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.3.1
@@ -2192,20 +2192,20 @@ snapshots:
path-key@3.1.1: {}
- picocolors@1.1.0: {}
+ picocolors@1.1.1: {}
picomatch@2.3.1: {}
postcss@8.4.31:
dependencies:
nanoid: 3.3.7
- picocolors: 1.1.0
+ picocolors: 1.1.1
source-map-js: 1.2.1
postcss@8.4.47:
dependencies:
nanoid: 3.3.7
- picocolors: 1.1.0
+ picocolors: 1.1.1
source-map-js: 1.2.1
prelude-ls@1.2.1: {}
@@ -2309,11 +2309,11 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- typescript-eslint@8.9.0(eslint@9.12.0)(typescript@5.6.3):
+ typescript-eslint@8.10.0(eslint@9.13.0)(typescript@5.6.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)
- '@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
- '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
+ '@typescript-eslint/eslint-plugin': 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0)(typescript@5.6.3)
+ '@typescript-eslint/parser': 8.10.0(eslint@9.13.0)(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0)(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
@@ -2328,7 +2328,7 @@ snapshots:
dependencies:
browserslist: 4.24.0
escalade: 3.2.0
- picocolors: 1.1.0
+ picocolors: 1.1.1
uri-js@4.4.1:
dependencies:
@@ -2340,13 +2340,13 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- vite@5.4.9(@types/node@20.16.11):
+ vite@5.4.9(@types/node@20.16.13):
dependencies:
esbuild: 0.21.5
postcss: 8.4.47
rollup: 4.24.0
optionalDependencies:
- '@types/node': 20.16.11
+ '@types/node': 20.16.13
fsevents: 2.3.3
which@2.0.2:
diff --git a/tests/frameworks/vite/package.json b/tests/frameworks/vite/package.json
index e506df7c..f8a770de 100644
--- a/tests/frameworks/vite/package.json
+++ b/tests/frameworks/vite/package.json
@@ -15,16 +15,16 @@
"react-dom": "^18.3.1"
},
"devDependencies": {
- "@eslint/js": "^9.12.0",
+ "@eslint/js": "^9.13.0",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.1",
- "@vitejs/plugin-react": "^4.3.2",
- "eslint": "^9.12.0",
+ "@vitejs/plugin-react": "^4.3.3",
+ "eslint": "^9.13.0",
"eslint-plugin-react-hooks": "5.1.0-rc-fb9a90fa48-20240614",
- "eslint-plugin-react-refresh": "^0.4.12",
+ "eslint-plugin-react-refresh": "^0.4.13",
"globals": "^15.11.0",
"typescript": "^5.6.3",
- "typescript-eslint": "^8.9.0",
+ "typescript-eslint": "^8.10.0",
"vite": "^5.4.9"
}
}