diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6208247b2b..60099ad555 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -74,6 +74,42 @@ jobs: - name: Test run: yarn test + test-web: + if: ${{ github.repository == 'shopify/react-native-skia' }} + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v5.0.0 + with: + submodules: recursive + + - name: Setup + uses: ./.github/actions/setup + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install Playwright Chromium + run: yarn playwright install chromium + + - name: Run web example tests + run: yarn test:web + + - name: Upload screenshots + if: always() + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v6.0.0 + with: + name: web-example-screenshots + path: apps/example/e2e/screenshots/ + if-no-files-found: ignore + + - name: Upload test results + if: failure() + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v6.0.0 + with: + name: web-example-test-results + path: apps/example/test-results/ + if-no-files-found: ignore + build-library: if: ${{ github.repository == 'shopify/react-native-skia' }} runs-on: ubuntu-latest diff --git a/.github/workflows/wcandillon-ci.yml b/.github/workflows/wcandillon-ci.yml index 182f14c72a..4041179b59 100644 --- a/.github/workflows/wcandillon-ci.yml +++ b/.github/workflows/wcandillon-ci.yml @@ -67,6 +67,45 @@ jobs: - name: Test run: yarn test + test-web: + if: ${{ github.repository == 'wcandillon/react-native-skia' }} + runs-on: [self-hosted, macOS] + steps: + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v5.0.0 + with: + submodules: recursive + + - name: Setup + uses: ./.github/actions/setup + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install Playwright Chromium + run: yarn playwright install chromium + + - name: Free Metro port + run: lsof -ti :8081 | xargs kill -9 || true + + - name: Run web example tests + run: yarn test:web + + - name: Upload screenshots + if: always() + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v6.0.0 + with: + name: web-example-screenshots + path: apps/example/e2e/screenshots/ + if-no-files-found: ignore + + - name: Upload test results + if: failure() + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v6.0.0 + with: + name: web-example-test-results + path: apps/example/test-results/ + if-no-files-found: ignore + build-library: if: ${{ github.repository == 'wcandillon/react-native-skia' }} runs-on: ubuntu-latest diff --git a/apps/example/.gitignore b/apps/example/.gitignore index 65aa665cbc..865ec87ce0 100644 --- a/apps/example/.gitignore +++ b/apps/example/.gitignore @@ -14,3 +14,6 @@ dist/* local.properties msbuild.binlog node_modules/ +e2e/screenshots/ +test-results/ +playwright-report/ diff --git a/apps/example/e2e/web.spec.ts b/apps/example/e2e/web.spec.ts new file mode 100644 index 0000000000..77da6f48e1 --- /dev/null +++ b/apps/example/e2e/web.spec.ts @@ -0,0 +1,72 @@ +import * as fs from "fs"; +import * as path from "path"; + +import { test, expect } from "playwright/test"; + +import { apiScreenPaths } from "../src/Examples/API/linking"; + +type Screen = keyof typeof apiScreenPaths; + +const screenshotsDir = path.join(__dirname, "screenshots"); + +// Smoke test: every API example screen must load on web without an uncaught +// exception and render at least one canvas. Screenshots are saved as CI +// artifacts for visual inspection β€” they are not compared against golden +// images since most examples are animated and rendering is not deterministic +// across GPUs. + +// Screens that are currently broken on web β€” each entry is a TODO. +const skip: Partial> = { + PathEffect: "PathEffectFactory.MakeCompose is not implemented on web", + ImageFilters: "uses image filter APIs not implemented on web", + FontMgr: "uses font manager APIs not implemented on web", + ColorFilter: "throws 'invalid color matrix' on web", + Path: "PathFactory.Simplify is not implemented on web", + PictureViewCrashTest: "intentional crash reproduction", + WebMemory: "intentionally exhausts WebGL contexts", +}; + +// Screens that render no canvas by design; they must still load cleanly. +const noCanvas: Screen[] = ["List", "Web", "FirstFrameEmpty"]; + +// Expected uncaught errors, e.g. from examples that demo error handling. +const allowedErrors: Partial> = { + Images: /Failed to fetch/, // deliberately loads an invalid image URL + // The svg4 variant references a local asset (test.png), which the web SVG + // implementation cannot resolve, so its backing image never loads. + SVG: /getImageData.*The source width is 0/, +}; + +const screens = (Object.keys(apiScreenPaths) as Screen[]).filter( + (name) => skip[name] === undefined +); + +test.beforeAll(() => { + fs.mkdirSync(screenshotsDir, { recursive: true }); +}); + +for (const name of screens) { + test(name, async ({ page }) => { + const errors: Error[] = []; + page.on("pageerror", (error) => { + if (!allowedErrors[name]?.test(error.message)) { + errors.push(error); + } + }); + await page.goto(`/api/${apiScreenPaths[name]}`); + if (noCanvas.includes(name)) { + await expect(page.locator("#root > *").first()).toBeVisible(); + } else { + await expect(page.locator("canvas").first()).toBeVisible({ + timeout: 60_000, + }); + } + // Let the example draw a few frames before taking the screenshot. + await page.waitForTimeout(1_000); + await page.screenshot({ path: path.join(screenshotsDir, `${name}.png`) }); + expect( + errors, + errors.map((error) => error.stack ?? error.message).join("\n") + ).toEqual([]); + }); +} diff --git a/apps/example/index.html b/apps/example/index.html index a2e3764367..9fd39120a7 100644 --- a/apps/example/index.html +++ b/apps/example/index.html @@ -34,7 +34,7 @@
diff --git a/apps/example/jest.config.mjs b/apps/example/jest.config.mjs index 622abae815..1f336e0454 100644 --- a/apps/example/jest.config.mjs +++ b/apps/example/jest.config.mjs @@ -6,6 +6,7 @@ const config = { "^react-native$": "/../../node_modules/react-native", }, modulePathIgnorePatterns: ["/lib/typescript", "setup.(ts|tsx)$"], + testPathIgnorePatterns: ["/e2e/"], testEnvironment: "@shopify/react-native-skia/jestEnv.js", setupFilesAfterEnv: [ "@shopify/react-native-skia/jestSetup.js", diff --git a/apps/example/metro.config.js b/apps/example/metro.config.js index e44064a8d7..11c1d48fd1 100644 --- a/apps/example/metro.config.js +++ b/apps/example/metro.config.js @@ -20,6 +20,28 @@ const metroConfig = makeMetroConfig({ }, }); +// Serve index.html for navigation requests like /api/shapes so that +// react-navigation deep links work on web (history API fallback). +// This runs at the end of the dev server middleware chain, after the static +// file server, so it only sees requests nothing else handled. +function historyApiFallback(middleware) { + const fs = require("fs"); + const indexHtml = path.join(__dirname, "index.html"); + return (req, res, next) => { + const url = (req.url ?? "").split("?")[0]; + const isNavigation = + req.method === "GET" && + (req.headers.accept ?? "").includes("text/html") && + !url.includes("."); + if (isNavigation && url !== "/") { + res.setHeader("Content-Type", "text/html; charset=UTF-8"); + fs.createReadStream(indexHtml).pipe(res); + return undefined; + } + return middleware(req, res, next); + }; +} + function getWebMetroConfig(config) { config.resolver = config.resolver ?? {}; config.resolver.platforms = ["ios", "android", "web"]; @@ -49,6 +71,15 @@ function getWebMetroConfig(config) { config.transformer = config.transformer ?? {}; config.transformer.assetRegistryPath = assetRegistryPath; + config.server = config.server ?? {}; + const origEnhanceMiddleware = config.server.enhanceMiddleware; + config.server.enhanceMiddleware = (middleware, server) => + historyApiFallback( + origEnhanceMiddleware + ? origEnhanceMiddleware(middleware, server) + : middleware, + ); + return config; } diff --git a/apps/example/package.json b/apps/example/package.json index 2bc629aab1..6709fbc0a8 100644 --- a/apps/example/package.json +++ b/apps/example/package.json @@ -63,6 +63,7 @@ "eslint-plugin-import": "2.32.0", "jest": "^29.6.3", "jest-transform-stub": "^2.0.0", + "playwright": "1.59.0", "prettier": "2.8.8", "react-native-test-app": "4.4.7", "react-test-renderer": "19.0.0", diff --git a/apps/example/playwright.config.ts b/apps/example/playwright.config.ts new file mode 100644 index 0000000000..bb18d379f1 --- /dev/null +++ b/apps/example/playwright.config.ts @@ -0,0 +1,28 @@ +import { defineConfig } from "playwright/test"; + +const port = 8081; + +// Requesting the bundle URL (same query params as index.html) forces Metro to +// build the web bundle before the first test navigates, so individual tests +// don't pay the cold bundling cost. +const bundleURL = `http://localhost:${port}/index.bundle?platform=web&dev=true&hot=false&lazy=true&transform.engine=hermes&transform.routerRoot=app&unstable_transformProfile=hermes-stable`; + +// eslint-disable-next-line import/no-default-export +export default defineConfig({ + testDir: "./e2e", + timeout: 120_000, + workers: 1, + retries: process.env.CI ? 1 : 0, + reporter: "list", + use: { + baseURL: `http://localhost:${port}`, + viewport: { width: 1024, height: 768 }, + }, + webServer: { + command: "yarn web", + cwd: __dirname, + url: bundleURL, + reuseExistingServer: !process.env.CI, + timeout: 600_000, + }, +}); diff --git a/apps/example/src/App.tsx b/apps/example/src/App.tsx index 4c85fab0de..c7e7093844 100644 --- a/apps/example/src/App.tsx +++ b/apps/example/src/App.tsx @@ -42,6 +42,7 @@ import { HomeScreen } from "./Home"; import type { StackParamList } from "./types"; import { useAssets } from "./Tests/useAssets"; import { Chess } from "./Examples/Chess"; +import { apiScreenPaths } from "./Examples/API/linking"; import "./resolveAssetSourcePolyfill"; const linking: LinkingOptions = { @@ -49,7 +50,10 @@ const linking: LinkingOptions = { screens: { Home: "", Vertices: "vertices", - API: "api", + API: { + path: "api", + screens: apiScreenPaths, + }, LiquidGlass: "liquid-glass", Breathe: "breathe", Filters: "filters", diff --git a/apps/example/src/Examples/API/List.tsx b/apps/example/src/Examples/API/List.tsx index 977e44a4c4..b72e613ae8 100644 --- a/apps/example/src/Examples/API/List.tsx +++ b/apps/example/src/Examples/API/List.tsx @@ -150,6 +150,10 @@ export const examples = [ screen: "Atlas", title: "🎯 Atlas", }, + { + screen: "Web", + title: "πŸ•ΈοΈ Web", + }, ] as const; const styles = StyleSheet.create({ diff --git a/apps/example/src/Examples/API/Routes.ts b/apps/example/src/Examples/API/Routes.ts index bcfa9f1a9a..169e13443c 100644 --- a/apps/example/src/Examples/API/Routes.ts +++ b/apps/example/src/Examples/API/Routes.ts @@ -37,4 +37,8 @@ export type Routes = { FirstFrameEmpty: undefined; PictureBug: undefined; Atlas: undefined; + Web: undefined; + WebLayout: undefined; + WebGLContexts: undefined; + WebMemory: undefined; }; diff --git a/apps/example/src/Examples/API/Web.tsx b/apps/example/src/Examples/API/Web.tsx new file mode 100644 index 0000000000..e644757552 --- /dev/null +++ b/apps/example/src/Examples/API/Web.tsx @@ -0,0 +1,56 @@ +import * as React from "react"; +import { ScrollView, StyleSheet, Text, View, Pressable } from "react-native"; +import { useNavigation } from "@react-navigation/native"; +import type { NativeStackNavigationProp } from "@react-navigation/native-stack"; + +import type { Routes } from "./Routes"; + +const examples = [ + { + screen: "WebLayout", + title: "πŸ•ΈοΈ Web Layout", + }, + { + screen: "WebGLContexts", + title: "πŸ”₯ WebGL Contexts", + }, + { + screen: "WebMemory", + title: "πŸ’§ WASM Memory", + }, +] as const; + +const styles = StyleSheet.create({ + container: {}, + content: { + paddingBottom: 32, + }, + thumbnail: { + backgroundColor: "white", + padding: 32, + borderBottomWidth: StyleSheet.hairlineWidth, + }, + title: { + color: "black", + }, +}); + +export const Web = () => { + const { navigate } = + useNavigation>(); + return ( + + {examples.map((thumbnail) => ( + navigate(thumbnail.screen)} + testID={thumbnail.screen} + > + + {thumbnail.title} + + + ))} + + ); +}; diff --git a/apps/example/src/Examples/API/WebGLContexts.tsx b/apps/example/src/Examples/API/WebGLContexts.tsx new file mode 100644 index 0000000000..28eb556c75 --- /dev/null +++ b/apps/example/src/Examples/API/WebGLContexts.tsx @@ -0,0 +1,63 @@ +import React from "react"; +import { ScrollView, StyleSheet, Text, View } from "react-native"; +import { Canvas, Fill } from "@shopify/react-native-skia"; + +// Renders more canvases than the browser allows concurrent WebGL contexts +// (typically 16) to exercise +// __destroyWebGLContextAfterRender, which releases each context after the +// frame is drawn. On native the flag is a no-op. +const CANVAS_COUNT = 17; + +export const WebGLContexts = () => { + return ( + + WebGL Canvas Stress Test + + {CANVAS_COUNT} canvases, more than the browser's concurrent WebGL + context limit. Expected: every canvas shows its color. Broken: the + oldest canvases go blank as their contexts are evicted. + + + {new Array(CANVAS_COUNT).fill(0).map((_, i) => ( + + Canvas {i + 1} + + + + + ))} + + + ); +}; + +const styles = StyleSheet.create({ + container: { + padding: 16, + gap: 12, + }, + header: { + fontSize: 18, + fontWeight: "bold", + }, + description: { + fontSize: 13, + color: "#666", + }, + grid: { + flexDirection: "row", + flexWrap: "wrap", + gap: 10, + }, + cell: { + gap: 4, + }, + label: { + fontSize: 13, + fontWeight: "600", + }, + canvas: { + width: 160, + height: 160, + }, +}); diff --git a/apps/example/src/Examples/API/WebLayout.tsx b/apps/example/src/Examples/API/WebLayout.tsx new file mode 100644 index 0000000000..cf4f76c046 --- /dev/null +++ b/apps/example/src/Examples/API/WebLayout.tsx @@ -0,0 +1,258 @@ +import { + Canvas, + Circle, + Fill, + Line, + Rect, + vec, +} from "@shopify/react-native-skia"; +import React, { useEffect, useState } from "react"; +import { + Platform, + Pressable, + ScrollView, + StyleSheet, + Text, + View, +} from "react-native"; +import Animated, { + useAnimatedStyle, + useSharedValue, + withRepeat, + withTiming, +} from "react-native-reanimated"; + +// Each panel exercises the web renderer lifecycle rewritten for #3829, where +// the WebGL renderer was previously only constructed from a layout event +// (wrapper div β†’ global ResizeObserver β†’ setTimeout(0)). + +// The layout from the #3829 report: a fixed-size canvas next to an +// absolutely-positioned sibling overlay. In the affected environments the +// layout event never fired, no renderer was ever constructed, and the canvas +// stayed fully transparent (the tomato background shows through). +const OverlayRepro = () => { + return ( + + + absolute overlay + + + + + + + + ); +}; + +// Fine detail that only stays crisp if the surface tracks the actual pixel +// density. The old implementation froze the density at module load and got +// no event for density-only changes, so browser zoom or moving the window +// to a display with a different DPI left the canvas blurry forever. +const spokes = new Array(24).fill(0).map((_, i) => (i * Math.PI * 2) / 24); +const rings = new Array(20).fill(0).map((_, i) => 6 + i * 4.5); +const PixelDensity = () => { + const [dpr, setDpr] = useState( + typeof window === "undefined" ? 1 : window.devicePixelRatio + ); + useEffect(() => { + if (Platform.OS !== "web") { + return undefined; + } + // Browser zoom fires a window resize; good enough for the readout. + const update = () => setDpr(window.devicePixelRatio); + window.addEventListener("resize", update); + return () => window.removeEventListener("resize", update); + }, []); + return ( + + + + + {rings.map((r) => ( + + ))} + {spokes.map((a) => ( + + ))} + + + {Platform.OS === "web" && ( + devicePixelRatio: {dpr} + )} + + ); +}; + +// A canvas that mounts with zero height and is revealed later. The renderer +// must tolerate being constructed without a measurable canvas and paint as +// soon as it gets a size. +const RevealAfterMount = () => { + const [revealed, setRevealed] = useState(false); + return ( + + setRevealed((r) => !r)}> + + {revealed ? "Collapse" : "Reveal"} + + + + + + + + + + + ); +}; + +// Continuously resizing canvas. The old implementation repainted a resize +// from a setTimeout(0) after the browser had already painted the new layout, +// so the content visibly stretched and lagged during the animation. The +// fixed one recreates the surface and repaints before paint, in the +// ResizeObserver callback. +const stripes = new Array(30).fill(0).map((_, i) => i * 24); +const ResizeStress = () => { + const width = useSharedValue(120); + useEffect(() => { + width.value = withRepeat(withTiming(340, { duration: 2000 }), -1, true); + }, [width]); + const style = useAnimatedStyle(() => ({ width: width.value })); + return ( + + + + {stripes.map((x) => ( + + ))} + + + ); +}; + +interface PanelProps { + title: string; + expected: string; + children: React.ReactNode; +} + +const Panel = ({ title, expected, children }: PanelProps) => ( + + {title} + {expected} + {children} + +); + +export const WebLayout = () => { + return ( + + + + + + + + + + + + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + padding: 16, + gap: 24, + }, + panel: { + gap: 8, + }, + title: { + fontSize: 16, + fontWeight: "bold", + }, + expected: { + fontSize: 13, + color: "#666", + }, + tomato: { + backgroundColor: "tomato", + height: 240, + }, + overlay: { + position: "absolute", + top: 0, + left: 0, + right: 0, + height: 40, + backgroundColor: "rgba(0, 0, 0, 0.4)", + zIndex: 10, + justifyContent: "center", + paddingLeft: 12, + }, + overlayLabel: { + color: "white", + }, + fixedCanvas: { + width: 240, + height: 200, + alignSelf: "center", + marginTop: 20, + }, + row: { + flexDirection: "row", + alignItems: "center", + gap: 12, + }, + squareCanvasLarge: { + width: 200, + height: 200, + }, + status: { + fontSize: 14, + flexShrink: 1, + }, + button: { + backgroundColor: "#3884ff", + borderRadius: 8, + paddingVertical: 8, + paddingHorizontal: 16, + alignSelf: "flex-start", + marginBottom: 8, + }, + buttonLabel: { + color: "white", + fontWeight: "bold", + }, +}); diff --git a/apps/example/src/Examples/API/WebMemory.tsx b/apps/example/src/Examples/API/WebMemory.tsx new file mode 100644 index 0000000000..27690475f2 --- /dev/null +++ b/apps/example/src/Examples/API/WebMemory.tsx @@ -0,0 +1,182 @@ +import React, { useEffect, useState } from "react"; +import { Platform, StyleSheet, Text, View } from "react-native"; +import { + BlurMask, + Canvas, + Circle, + RadialGradient, + vec, +} from "@shopify/react-native-skia"; +import { + Easing, + useDerivedValue, + useSharedValue, + withRepeat, + withTiming, +} from "react-native-reanimated"; +import type { SharedValue } from "react-native-reanimated"; + +// index.web.js puts the CanvasKit instance on globalThis. +declare const CanvasKit: { + HEAPU8: { length: number }; + Malloc: (typedArray: unknown, length: number) => { byteOffset: number }; + Free: (m: unknown) => void; +}; + +const SIZE = 320; +const GRID = 14; // 196 dots + +/** + * One continuously animated dot. Each frame allocates several short-lived + * CanvasKit WASM objects per dot β€” a paint copy per draw command, a + * pool-paint assign, the gradient shader, and the blur mask filter. These + * used to leak (~4 MB/s for 196 dots at 60 fps) because nothing disposed + * them and the JS GC can't see WASM heap pressure; the renderer now disposes + * them explicitly, so this screen doubles as a live regression check that + * the malloc high-water mark stays flat. + */ +const Dot = ({ + index, + clock, +}: { + index: number; + clock: SharedValue; +}) => { + const col = index % GRID; + const row = Math.floor(index / GRID); + const cx = (col + 0.5) * (SIZE / GRID); + const cy = (row + 0.5) * (SIZE / GRID); + const r = useDerivedValue( + () => 5 + 4 * Math.sin(Math.PI * 2 * (clock.value + index / (GRID * GRID))) + ); + return ( + + + + + ); +}; + +/** Allocate & free a block; its address tracks the top of the used heap. */ +const probe = (size: number) => { + const m = CanvasKit.Malloc(Uint8Array, size); + const address = m.byteOffset; + CanvasKit.Free(m); + return address; +}; + +export const WebMemory = () => { + const clock = useSharedValue(0); + useEffect(() => { + clock.value = withRepeat( + withTiming(1, { duration: 2000, easing: Easing.linear }), + -1, + false + ); + }, [clock]); + + const [stats, setStats] = useState("measuring..."); + const [log, setLog] = useState([]); + const [crash, setCrash] = useState(null); + useEffect(() => { + if (Platform.OS !== "web") { + setStats("web only β€” CanvasKit heap stats unavailable on native"); + return; + } + const t0 = Date.now(); + const onError = (e: ErrorEvent) => { + setCrash( + (prev) => + prev ?? + `CRASHED after ${Math.round((Date.now() - t0) / 1000)}s: ${String( + e.message + ).slice(0, 140)}` + ); + }; + window.addEventListener("error", onError); + const id = setInterval(() => { + const t = Math.round((Date.now() - t0) / 1000); + const reservedMb = CanvasKit.HEAPU8.length / 1048576; + let highWater: string; + try { + highWater = (probe(4096) / 1048576).toFixed(1) + " MB"; + } catch { + highWater = "malloc failed (heap exhausted)"; + } + const line = `t=${String(t).padStart( + 3 + )}s reserved heap: ${reservedMb.toFixed( + 0 + )} MB malloc high-water: ${highWater}`; + setStats(line); + if (t % 5 === 0) { + setLog((prev) => [...prev.slice(-19), line]); + } + }, 1000); + return () => { + clearInterval(id); + window.removeEventListener("error", onError); + }; + }, []); + + return ( + + {stats} + {crash && {crash}} + + 196 animated dots allocate short-lived CanvasKit WASM objects on every + frame. This used to leak ~4 MB/s until the page crashed; the renderer + now disposes them, so the malloc high-water mark should stay flat. If + it climbs steadily, a disposal regression has been introduced. + + + {Array.from({ length: GRID * GRID }, (_, i) => ( + + ))} + + {log.map((line, i) => ( + + {line} + + ))} + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + padding: 16, + }, + stats: { + color: "#00FF66", + fontFamily: "monospace", + fontSize: 16, + }, + crash: { + color: "#FF3344", + fontFamily: "monospace", + fontSize: 16, + marginTop: 4, + }, + description: { + color: "#888888", + fontFamily: "monospace", + fontSize: 12, + marginVertical: 8, + }, + canvas: { + width: SIZE, + height: SIZE, + backgroundColor: "#000000", + }, + log: { + color: "#557755", + fontFamily: "monospace", + fontSize: 12, + }, +}); diff --git a/apps/example/src/Examples/API/WebMemoryLeak.tsx b/apps/example/src/Examples/API/WebMemoryLeak.tsx new file mode 100644 index 0000000000..c0fb6192fe --- /dev/null +++ b/apps/example/src/Examples/API/WebMemoryLeak.tsx @@ -0,0 +1,184 @@ +import React, { useEffect, useState } from "react"; +import { Platform, StyleSheet, Text, View } from "react-native"; +import { + BlurMask, + Canvas, + Circle, + RadialGradient, + vec, +} from "@shopify/react-native-skia"; +import { + Easing, + useDerivedValue, + useSharedValue, + withRepeat, + withTiming, +} from "react-native-reanimated"; +import type { SharedValue } from "react-native-reanimated"; + +// index.web.js puts the CanvasKit instance on globalThis. +declare const CanvasKit: { + HEAPU8: { length: number }; + Malloc: (typedArray: unknown, length: number) => { byteOffset: number }; + Free: (m: unknown) => void; +}; + +const SIZE = 320; +const GRID = 14; // 196 dots + +/** + * One continuously animated dot. react-native-skia's web replay path leaks + * a handful of CanvasKit WASM objects for it on EVERY frame β€” a paint copy + * per draw command, a pool-paint assign, the gradient shader, and the blur + * mask filter β€” none of which are ever disposed. ~196 dots leak roughly + * 4 MB/s at 60 fps. + * + * The per-frame JS garbage is tiny (like a typical animated canvas), so the + * JS GC β€” the only thing that could reclaim the WASM objects via embind's + * FinalizationRegistry β€” barely runs, and the WASM heap grows unreclaimed. + */ +const Dot = ({ + index, + clock, +}: { + index: number; + clock: SharedValue; +}) => { + const col = index % GRID; + const row = Math.floor(index / GRID); + const cx = (col + 0.5) * (SIZE / GRID); + const cy = (row + 0.5) * (SIZE / GRID); + const r = useDerivedValue( + () => 5 + 4 * Math.sin(Math.PI * 2 * (clock.value + index / (GRID * GRID))) + ); + return ( + + + + + ); +}; + +/** Allocate & free a block; its address tracks the top of the used heap. */ +const probe = (size: number) => { + const m = CanvasKit.Malloc(Uint8Array, size); + const address = m.byteOffset; + CanvasKit.Free(m); + return address; +}; + +export const WebMemoryLeak = () => { + const clock = useSharedValue(0); + useEffect(() => { + clock.value = withRepeat( + withTiming(1, { duration: 2000, easing: Easing.linear }), + -1, + false + ); + }, [clock]); + + const [stats, setStats] = useState("measuring..."); + const [log, setLog] = useState([]); + const [crash, setCrash] = useState(null); + useEffect(() => { + if (Platform.OS !== "web") { + setStats("web only β€” CanvasKit heap stats unavailable on native"); + return; + } + const t0 = Date.now(); + const onError = (e: ErrorEvent) => { + setCrash( + (prev) => + prev ?? + `CRASHED after ${Math.round((Date.now() - t0) / 1000)}s: ${String( + e.message + ).slice(0, 140)}` + ); + }; + window.addEventListener("error", onError); + const id = setInterval(() => { + const t = Math.round((Date.now() - t0) / 1000); + const reservedMb = CanvasKit.HEAPU8.length / 1048576; + let highWater: string; + try { + highWater = (probe(4096) / 1048576).toFixed(1) + " MB"; + } catch { + highWater = "malloc failed (heap exhausted)"; + } + const line = `t=${String(t).padStart( + 3 + )}s reserved heap: ${reservedMb.toFixed( + 0 + )} MB malloc high-water: ${highWater}`; + setStats(line); + if (t % 5 === 0) { + setLog((prev) => [...prev.slice(-19), line]); + } + }, 1000); + return () => { + clearInterval(id); + window.removeEventListener("error", onError); + }; + }, []); + + return ( + + {stats} + {crash && {crash}} + + 196 animated dots leak ~4 MB of CanvasKit WASM memory per second on web. + Watch the malloc high-water climb while the reserved heap grows; with + the stock CanvasKit build the heap can grow to the 2-4 GB browser + ceiling before Aborted() crashes the page (~30+ minutes). + + + {Array.from({ length: GRID * GRID }, (_, i) => ( + + ))} + + {log.map((line, i) => ( + + {line} + + ))} + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + padding: 16, + }, + stats: { + color: "#00FF66", + fontFamily: "monospace", + fontSize: 16, + }, + crash: { + color: "#FF3344", + fontFamily: "monospace", + fontSize: 16, + marginTop: 4, + }, + description: { + color: "#888888", + fontFamily: "monospace", + fontSize: 12, + marginVertical: 8, + }, + canvas: { + width: SIZE, + height: SIZE, + backgroundColor: "#000000", + }, + log: { + color: "#557755", + fontFamily: "monospace", + fontSize: 12, + }, +}); diff --git a/apps/example/src/Examples/API/index.tsx b/apps/example/src/Examples/API/index.tsx index 0e4461a33f..80267b04f3 100644 --- a/apps/example/src/Examples/API/index.tsx +++ b/apps/example/src/Examples/API/index.tsx @@ -40,6 +40,10 @@ import { FirstFrame, FirstFrameEmpty } from "./FirstFrame"; import { ZIndexExample } from "./ZIndex"; import { PictureBug } from "./PictureBug"; import { AtlasExample } from "./AtlasExample"; +import { Web } from "./Web"; +import { WebLayout } from "./WebLayout"; +import { WebGLContexts } from "./WebGLContexts"; +import { WebMemory } from "./WebMemory"; const Stack = createNativeStackNavigator(); @@ -313,6 +317,34 @@ export const API = () => { title: "🎯 Atlas", }} /> + + + + ); }; diff --git a/apps/example/src/Examples/API/linking.ts b/apps/example/src/Examples/API/linking.ts new file mode 100644 index 0000000000..7061fd9ff8 --- /dev/null +++ b/apps/example/src/Examples/API/linking.ts @@ -0,0 +1,49 @@ +import type { Routes } from "./Routes"; + +// URL path (under /api) for each screen of the API stack. +// Used by the react-navigation linking config in App.tsx and by the +// Playwright web smoke tests (e2e/web.spec.ts). +export const apiScreenPaths: Record = { + List: "", + Shapes: "shapes", + Images: "images", + Skottie: "skottie", + AnimatedImages: "animated-images", + ImageLoading: "image-loading", + Paragraphs: "paragraphs", + Paragraphs2: "paragraphs2", + Clipping: "clipping", + Touch: "touch", + Snapshot: "snapshot", + PathEffect: "path-effect", + IconsExample: "icons", + Transform: "transform", + ZIndex: "z-index", + ColorFilter: "color-filter", + ImageFilters: "image-filters", + Gradients: "gradients", + Path: "path", + SVG: "svg", + BlendModes: "blend-modes", + FontMgr: "font-mgr", + Data: "data", + PictureView: "picture-view", + Picture: "picture", + Checker: "checker", + UseCanvas: "use-canvas", + OnLayout: "on-layout", + OnSize: "on-size", + StressTest: "stress-test", + StressTest2: "stress-test2", + StressTest3: "stress-test3", + StressTest4: "stress-test4", + PictureViewCrashTest: "picture-view-crash-test", + FirstFrame: "first-frame", + FirstFrameEmpty: "first-frame-empty", + PictureBug: "picture-bug", + Atlas: "atlas", + Web: "web", + WebLayout: "web-layout", + WebGLContexts: "webgl-contexts", + WebMemory: "web-memory", +}; diff --git a/apps/example/src/types.ts b/apps/example/src/types.ts index ed0671c515..7eb2b3a6b8 100644 --- a/apps/example/src/types.ts +++ b/apps/example/src/types.ts @@ -1,3 +1,7 @@ +import type { NavigatorScreenParams } from "@react-navigation/native"; + +import type { Routes as APIRoutes } from "./Examples/API/Routes"; + export type StackParamList = { Tests: { title?: string; @@ -5,7 +9,7 @@ export type StackParamList = { }; Home: undefined; Vertices: undefined; - API: undefined; + API: NavigatorScreenParams | undefined; LiquidGlass: undefined; Chess: undefined; Breathe: undefined; diff --git a/apps/web-app/.env b/apps/web-app/.env deleted file mode 100644 index 7d910f1484..0000000000 --- a/apps/web-app/.env +++ /dev/null @@ -1 +0,0 @@ -SKIP_PREFLIGHT_CHECK=true \ No newline at end of file diff --git a/apps/web-app/README.md b/apps/web-app/README.md deleted file mode 100644 index 8e827fb623..0000000000 --- a/apps/web-app/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Simple React App with Skia - -This is a simple React application that demonstrates using `@shopify/react-native-skia` from the workspace in a web environment. - -## Features - -- Basic React app setup with TypeScript -- Integration with react-native-skia for web -- Simple canvas example with circles - -## Getting Started - -From the monorepo root: - -```bash -cd apps/web-app -yarn install -yarn start -``` - -This will start the development server and open the app in your browser. - -## Scripts - -- `yarn start` - Start the development server -- `yarn build` - Build for production -- `yarn test` - Run tests -- `yarn lint` - Run ESLint -- `yarn tsc` - Run TypeScript compiler check \ No newline at end of file diff --git a/apps/web-app/craco.config.js b/apps/web-app/craco.config.js deleted file mode 100644 index ec53f1c098..0000000000 --- a/apps/web-app/craco.config.js +++ /dev/null @@ -1,56 +0,0 @@ -const NodePolyfillPlugin = require("node-polyfill-webpack-plugin"); -const path = require("path"); - -module.exports = { - webpack: { - plugins: { - add: [new NodePolyfillPlugin()] - }, - configure: (webpackConfig) => { - // Remove the ModuleScopePlugin which restricts imports to src/ - webpackConfig.resolve.plugins = webpackConfig.resolve.plugins.filter( - plugin => plugin.constructor.name !== 'ModuleScopePlugin' - ); - - // Find and update the babel-loader rule to include workspace packages - const babelRule = webpackConfig.module.rules.find(rule => - rule.oneOf && Array.isArray(rule.oneOf) - ); - - if (babelRule) { - const jsRule = babelRule.oneOf.find(rule => - rule.test && rule.test.toString().includes('jsx') - ); - - if (jsRule) { - // Extend the JS/JSX rule to include workspace packages - jsRule.include = [ - jsRule.include, - path.resolve(__dirname, "../../packages/skia/src") - ].filter(Boolean); - } - } - - // Add aliases for React Native modules - webpackConfig.resolve.alias = { - ...webpackConfig.resolve.alias, - "react-native$": "react-native-web", - "react-native-reanimated": "react-native-reanimated/lib/module/web", - "react-native/Libraries/Image/AssetRegistry": "react-native-web/dist/modules/AssetRegistry", - "@shopify/react-native-skia$": path.resolve(__dirname, "../../packages/skia/src/index.ts"), - "@shopify/react-native-skia/src/web": path.resolve(__dirname, "../../packages/skia/src/web/index.ts") - }; - - // Ensure canvaskit.wasm is accessible - webpackConfig.resolve.fallback = { - ...webpackConfig.resolve.fallback, - fs: false, - path: require.resolve("path-browserify"), - "react-native-reanimated": false, - "react-native-reanimated/package.json": false, - }; - - return webpackConfig; - } - } -}; \ No newline at end of file diff --git a/apps/web-app/package.json b/apps/web-app/package.json deleted file mode 100644 index a68779c972..0000000000 --- a/apps/web-app/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "web-app", - "version": "0.1.0", - "private": true, - "scripts": { - "start": "craco start", - "build": "craco build", - "eject": "react-scripts eject", - "lint-disabled": "eslint src --ext .ts,.tsx --max-warnings 0", - "tsc-disabled": "tsc --noEmit" - }, - "dependencies": { - "@shopify/react-native-skia": "workspace:*", - "@types/node": "^16.18.0", - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0", - "react": "19.0.0", - "react-dom": "19.0.0", - "react-native-reanimated": "4.3.1", - "react-native-worklets": "0.8.3", - "react-scripts": "5.0.1", - "typescript": "^5.2.2", - "web-vitals": "^2.1.0" - }, - "devDependencies": { - "@craco/craco": "^7.1.0", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^8.57.0", - "eslint-config-react-app": "^7.0.0", - "node-polyfill-webpack-plugin": "^2.0.1", - "path-browserify": "^1.0.1", - "react-native-web": "^0.21.1" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/apps/web-app/public/index.html b/apps/web-app/public/index.html deleted file mode 100644 index 71054b27e2..0000000000 --- a/apps/web-app/public/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - Simple React App with Skia - - - -
- - \ No newline at end of file diff --git a/apps/web-app/src/App.tsx b/apps/web-app/src/App.tsx deleted file mode 100644 index 9d060e2ef8..0000000000 --- a/apps/web-app/src/App.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Canvas, Fill, } from '@shopify/react-native-skia'; -function App() { - console.log({ CanvasKit}); - - const canvases = []; - for (let i = 0; i < 17; i++) { - canvases.push( -
-

Canvas {i + 1}

- - - -
- ); - } - - return ( -
-
-

WebGL Canvas Stress Test

-

- Testing how many WebGL canvases this browser can support (20 total). -

-
-
-

20 Skia WebGL Canvases

-
- {canvases} -
-
-
- ); -} - - -export default App; \ No newline at end of file diff --git a/apps/web-app/src/index.css b/apps/web-app/src/index.css deleted file mode 100644 index 09e3629c73..0000000000 --- a/apps/web-app/src/index.css +++ /dev/null @@ -1,30 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} - -.App { - text-align: center; - padding: 20px; -} - -.App-header { - background-color: #282c34; - padding: 20px; - color: white; -} - -.skia-canvas { - border: 1px solid #ddd; - margin: 20px auto; - display: block; -} \ No newline at end of file diff --git a/apps/web-app/src/index.tsx b/apps/web-app/src/index.tsx deleted file mode 100644 index 5c0d3d9346..0000000000 --- a/apps/web-app/src/index.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; - -import { LoadSkiaWeb } from "@shopify/react-native-skia/src/web"; -//import { version } from 'canvaskit-wasm/package.json'; - - -const version = "0.40.0"; -LoadSkiaWeb({ - locateFile: (file) => `https://cdn.jsdelivr.net/npm/canvaskit-wasm@${version}/bin/full/${file}` -}).then(async () => { - const App = (await import("./App")).default; - const root = ReactDOM.createRoot( - document.getElementById('root') as HTMLElement - ); - root.render( - - - - ); -}); diff --git a/apps/web-app/tsconfig.json b/apps/web-app/tsconfig.json deleted file mode 100644 index e649dec049..0000000000 --- a/apps/web-app/tsconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "compilerOptions": { - "target": "es2015", - "lib": [ - "dom", - "dom.iterable", - "es6" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - "downlevelIteration": true, - "baseUrl": ".", - "paths": { - "@shopify/react-native-skia": ["../../packages/skia/src/index.ts"], - "@shopify/react-native-skia/src/web": ["../../packages/skia/src/web/index.ts"] - } - }, - "include": [ - "src", - "../../packages/skia/src" - ] -} \ No newline at end of file diff --git a/package.json b/package.json index 9be177f75c..af96eae198 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "lint": "turbo run lint", "tsc": "turbo run tsc", "test": "turbo run test", + "test:web": "playwright test --config apps/example/playwright.config.ts", "build:android": "turbo run build:android", "build:ios": "turbo run build:ios", "build:macos": "turbo run build:macos", diff --git a/packages/skia/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java b/packages/skia/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java index f9922190a0..f63a6965f3 100644 --- a/packages/skia/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +++ b/packages/skia/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java @@ -14,6 +14,7 @@ import android.view.TextureView; import android.view.View; import android.view.ViewGroup; +import android.widget.HorizontalScrollView; import android.widget.ScrollView; import androidx.annotation.NonNull; import com.facebook.react.bridge.ReactContext; @@ -82,13 +83,16 @@ private static void renderViewToCanvas(Canvas canvas, View view, Paint paint, fl canvas.save(); applyTransformations(canvas, view); - // If the view is a ScrollView or similar, clip to its bounds - if (view instanceof ScrollView) { - ScrollView scrollView = (ScrollView) view; - int clipLeft = scrollView.getScrollX(); - int clipTop = scrollView.getScrollY(); - int clipRight = clipLeft + scrollView.getWidth(); - int clipBottom = clipTop + scrollView.getHeight(); + // If the view is a scroll container, clip to its viewport bounds. + // HorizontalScrollView does NOT extend ScrollView (both extend + // FrameLayout), so it must be checked explicitly β€” otherwise an + // oversized child (e.g. a wide Skia TextureView) bleeds past + // a horizontal ScrollView's viewport in the screenshot. + if (view instanceof ScrollView || view instanceof HorizontalScrollView) { + int clipLeft = view.getScrollX(); + int clipTop = view.getScrollY(); + int clipRight = clipLeft + view.getWidth(); + int clipBottom = clipTop + view.getHeight(); canvas.clipRect(clipLeft, clipTop, clipRight, clipBottom); } diff --git a/packages/skia/package.json b/packages/skia/package.json index 4faa5baa4c..da7ae20146 100644 --- a/packages/skia/package.json +++ b/packages/skia/package.json @@ -104,6 +104,7 @@ "@types/jest": "30.0.0", "@types/pngjs": "6.0.1", "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", "@types/react-reconciler": "0.28.9", "@types/ws": "8.5.3", "eslint": "9.36.0", @@ -112,10 +113,12 @@ "eslint-plugin-react-hooks": "^5.2.0", "jest": "30.0.0", "jest-diff": "29.7.0", + "jest-environment-jsdom": "30.0.0", "merge-dirs": "0.2.1", "pngjs": "6.0.0", "prettier": "2.8.7", "react": "19.0.0", + "react-dom": "19.0.0", "react-native": "0.83.1", "react-native-builder-bob": "0.18.2", "react-native-reanimated": "4.3.1", diff --git a/packages/skia/src/Platform/Platform.web.tsx b/packages/skia/src/Platform/Platform.web.tsx index de3494de30..1f97faeb28 100644 --- a/packages/skia/src/Platform/Platform.web.tsx +++ b/packages/skia/src/Platform/Platform.web.tsx @@ -1,104 +1,16 @@ -import type { RefObject, CSSProperties } from "react"; -import React, { useLayoutEffect, useMemo, useRef } from "react"; -import type { LayoutChangeEvent, ViewComponent, ViewProps } from "react-native"; +import type { CSSProperties } from "react"; +import React, { useMemo } from "react"; +import type { ViewComponent, ViewProps } from "react-native"; import type { DataModule } from "../skia/types"; import { isRNModule } from "../skia/types"; import type { IPlatform } from "./IPlatform"; -// https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/modules/useElementLayout/index.js -const DOM_LAYOUT_HANDLER_NAME = "__reactLayoutHandler"; -type OnLayout = ((event: LayoutChangeEvent) => void) | undefined; -type Div = HTMLDivElement & { - __reactLayoutHandler: OnLayout; -}; - -let resizeObserver: ResizeObserver | null = null; - -const getObserver = () => { - if (resizeObserver == null) { - resizeObserver = new window.ResizeObserver(function (entries) { - entries.forEach((entry) => { - const node = entry.target as Div; - const { left, top, width, height } = entry.contentRect; - const onLayout = node[DOM_LAYOUT_HANDLER_NAME]; - if (typeof onLayout === "function") { - // setTimeout 0 is taken from react-native-web (UIManager) - setTimeout( - () => - onLayout({ - timeStamp: Date.now(), - nativeEvent: { layout: { x: left, y: top, width, height } }, - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - currentTarget: 0, - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - target: 0, - bubbles: false, - cancelable: false, - defaultPrevented: false, - eventPhase: 0, - isDefaultPrevented() { - throw new Error("Method not supported on web."); - }, - isPropagationStopped() { - throw new Error("Method not supported on web."); - }, - persist() { - throw new Error("Method not supported on web."); - }, - preventDefault() { - throw new Error("Method not supported on web."); - }, - stopPropagation() { - throw new Error("Method not supported on web."); - }, - isTrusted: true, - type: "", - }), - 0 - ); - } - }); - }); - } - return resizeObserver; -}; - -const useElementLayout = (ref: RefObject
, onLayout: OnLayout) => { - const observer = getObserver(); - - useLayoutEffect(() => { - const node = ref.current; - if (node !== null) { - node[DOM_LAYOUT_HANDLER_NAME] = onLayout; - } - }, [ref, onLayout]); - - useLayoutEffect(() => { - const node = ref.current; - if (node != null && observer != null) { - if (typeof node[DOM_LAYOUT_HANDLER_NAME] === "function") { - observer.observe(node); - } else { - observer.unobserve(node); - } - } - return () => { - if (node != null && observer != null) { - observer.unobserve(node); - } - }; - }, [observer, ref]); -}; - -const View = (({ children, onLayout, style: rawStyle }: ViewProps) => { +// Layout is observed by the views themselves (see SkiaPictureView.web.tsx): +// this shim only reproduces react-native-web's default View styling. +const View = (({ children, style: rawStyle }: ViewProps) => { const style = useMemo(() => (rawStyle ?? {}) as CSSProperties, [rawStyle]); - const ref = useRef
(null); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - useElementLayout(ref as any, onLayout); const cssStyles = useMemo(() => { return { alignItems: "stretch" as const, @@ -121,11 +33,7 @@ const View = (({ children, onLayout, style: rawStyle }: ViewProps) => { }; }, [style]); - return ( -
- {children} -
- ); + return
{children}
; }) as unknown as typeof ViewComponent; export const Platform: IPlatform = { diff --git a/packages/skia/src/external/reanimated/useVideoLoading.ts b/packages/skia/src/external/reanimated/useVideoLoading.ts index 58c64b68df..bd9d4d65ac 100644 --- a/packages/skia/src/external/reanimated/useVideoLoading.ts +++ b/packages/skia/src/external/reanimated/useVideoLoading.ts @@ -1,11 +1,21 @@ import { useCallback, useEffect, useState } from "react"; +import type { WorkletRuntime } from "react-native-reanimated"; import type { Video } from "../../skia/types"; import { Skia } from "../../skia"; import Rea from "./ReanimatedProxy"; -const runtime = Rea.createWorkletRuntime("video-metadata-runtime"); +// Created lazily: accessing the proxy at module scope would require +// react-native-reanimated as soon as the package is imported, and would spawn +// the runtime even for apps that never load a video. +let runtime: WorkletRuntime | undefined; +const getRuntime = () => { + if (runtime === undefined) { + runtime = Rea.createWorkletRuntime("video-metadata-runtime"); + } + return runtime; +}; type VideoSource = string | null; @@ -22,7 +32,7 @@ export const useVideoLoading = (source: VideoSource) => { ); useEffect(() => { if (source) { - Rea.runOnRuntime(runtime, cb)(source); + Rea.runOnRuntime(getRuntime(), cb)(source); } }, [cb, source]); return video; diff --git a/packages/skia/src/skia/core/SVG.web.ts b/packages/skia/src/skia/core/SVG.web.ts index cbb72ea002..16efd9c6fd 100644 --- a/packages/skia/src/skia/core/SVG.web.ts +++ b/packages/skia/src/skia/core/SVG.web.ts @@ -2,6 +2,7 @@ import { useEffect, useState } from "react"; import { Skia } from "../Skia"; import type { DataSourceParam, SkSVG } from "../types"; +import { Platform } from "../../Platform"; export const useSVG = ( source: DataSourceParam, @@ -16,22 +17,12 @@ export const useSVG = ( let src: string; if (typeof source === "string") { src = source; - } else if ( - typeof source === "object" && - "default" in source && - typeof source.default === "string" - ) { - src = source.default; - } else if (typeof source === "object" && "uri" in source) { - src = source.uri; - } else { + } else if (source instanceof Uint8Array) { throw new Error( - `Invalid svg data source. Make sure that the source resolves to a string. Got: ${JSON.stringify( - source, - null, - 2 - )}` + `Invalid svg data source. Make sure that the source resolves to a string. Got: ${source}` ); + } else { + src = Platform.resolveAsset(source); } const result = await fetch(src); const svgStr = await result.text(); diff --git a/packages/skia/src/skia/web/Host.ts b/packages/skia/src/skia/web/Host.ts index 67e206ba12..c79b5e6b1c 100644 --- a/packages/skia/src/skia/web/Host.ts +++ b/packages/skia/src/skia/web/Host.ts @@ -41,6 +41,13 @@ export abstract class BaseHostObject "delete" in this.ref && typeof this.ref.delete === "function" ) { + // Renderer-owned and user-owned disposal can overlap (and emscripten + // throws on double delete) β€” make disposing an already-deleted object + // a no-op. + const ref = this.ref as unknown as { isDeleted?: () => boolean }; + if (typeof ref.isDeleted === "function" && ref.isDeleted()) { + return; + } this.ref.delete(); } } diff --git a/packages/skia/src/skia/web/JsiSkPaint.ts b/packages/skia/src/skia/web/JsiSkPaint.ts index 8d5f676a8b..4558520ed9 100644 --- a/packages/skia/src/skia/web/JsiSkPaint.ts +++ b/packages/skia/src/skia/web/JsiSkPaint.ts @@ -76,11 +76,16 @@ export class JsiSkPaint extends HostObject implements SkPaint { } assign(paint: JsiSkPaint) { + const previous = this.ref; this.ref = paint.ref.copy(); + // The replaced ref is a WASM object the GC will not reclaim. + previous.delete(); } reset() { + const previous = this.ref; this.ref = new this.CanvasKit.Paint(); + previous.delete(); } getAlphaf() { diff --git a/packages/skia/src/sksg/Container.web.ts b/packages/skia/src/sksg/Container.web.ts index aecaebd57a..d10657e18c 100644 --- a/packages/skia/src/sksg/Container.web.ts +++ b/packages/skia/src/sksg/Container.web.ts @@ -3,7 +3,7 @@ import type { Skia } from "../skia/types"; import { HAS_REANIMATED_3 } from "../external/reanimated/renderHelpers"; import type { Recording } from "./Recorder/Recorder"; -import { Recorder } from "./Recorder/Recorder"; +import { Recorder, disposeRecording } from "./Recorder/Recorder"; import { visit } from "./Recorder/Visitor"; import { replay } from "./Recorder/Player"; import { createDrawingContext } from "./Recorder/DrawingContext"; @@ -22,12 +22,24 @@ const drawOnscreen = (Skia: Skia, nativeId: number, recording: Recording) => { //const start = performance.now(); const ctx = createDrawingContext(Skia, recording.paintPool, canvas); - replay(ctx, recording.commands); - const picture = rec.finishRecordingAsPicture(); - rec.dispose(); + let picture; + try { + replay(ctx, recording.commands); + picture = rec.finishRecordingAsPicture(); + } finally { + // Frame-scoped objects (shaders, filters, paint copies, ...) are + // referenced by the picture once it is finished β€” delete the JS handles, + // otherwise they leak on Web where the GC cannot see WASM memory. + ctx.dispose(); + rec.dispose(); + } //const end = performance.now(); //console.log("Recording time: ", end - start); SkiaViewApi.setJsiProperty(nativeId, "picture", picture); + // The view now references the new picture; the previous one is ours to + // delete. + recording.lastPicture?.dispose(); + recording.lastPicture = picture; }; class ReanimatedContainer extends Container { @@ -49,6 +61,16 @@ class ReanimatedContainer extends Container { Rea.stopMapper(this.mapperId); this.mapperId = null; } + const { recording } = this; + if (recording) { + this.recording = null; + // Deferred through the same channel as the draw calls so it runs after + // any of them that are still queued. + Rea.runOnUI(() => { + "worklet"; + disposeRecording(recording); + })(); + } } redraw() { @@ -59,6 +81,7 @@ class ReanimatedContainer extends Container { if (this.unmounted) { return; } + const previousRecording = this.recording; const recorder = new Recorder(); visit(recorder, this.root); const record = recorder.getRecording(); @@ -76,6 +99,10 @@ class ReanimatedContainer extends Container { } Rea.runOnUI(() => { "worklet"; + if (previousRecording) { + // Runs after any still-queued draw of the previous recording. + disposeRecording(previousRecording); + } drawOnscreen(Skia, nativeId, recording!); })(); } diff --git a/packages/skia/src/sksg/Recorder/DrawingContext.ts b/packages/skia/src/sksg/Recorder/DrawingContext.ts index 92bf3881ed..26faae3101 100644 --- a/packages/skia/src/sksg/Recorder/DrawingContext.ts +++ b/packages/skia/src/sksg/Recorder/DrawingContext.ts @@ -8,6 +8,8 @@ import type { SkPathEffect, } from "../../skia/types"; +import { createFrameScope } from "./FrameScope"; + export const createDrawingContext = ( Skia: Skia, paintPool: SkPaint[], @@ -15,6 +17,11 @@ export const createDrawingContext = ( ) => { "worklet"; + // Everything the renderer creates through frameSkia is frame-scoped and + // deleted by dispose() once the frame has been recorded. The paint pool is + // recording-scoped and deliberately allocated with the raw Skia instance. + const { Skia: frameSkia, track, dispose } = createFrameScope(Skia); + // State (formerly class fields) const paints: SkPaint[] = []; const colorFilters: SkColorFilter[] = []; @@ -27,7 +34,11 @@ export const createDrawingContext = ( let nextPaintIndex = 1; // Initialize first paint and opacity - paintPool[0] = Skia.Paint(); + if (paintPool.length === 0) { + paintPool.push(Skia.Paint()); + } else { + paintPool[0].reset(); + } paints.push(paintPool[0]); opacities.push(1); @@ -61,7 +72,7 @@ export const createDrawingContext = ( } else { const cf = colorFilters.pop(); if (cf) { - imageFilter = Skia.ImageFilter.MakeColorFilter(cf, null); + imageFilter = frameSkia.ImageFilter.MakeColorFilter(cf, null); } } canvas.saveLayer(undefined, null, imageFilter); @@ -83,7 +94,7 @@ export const createDrawingContext = ( if (colorFilters.length > 0) { getCurrentPaint().setColorFilter( colorFilters.reduceRight((inner, outer) => - inner ? Skia.ColorFilter.MakeCompose(outer, inner) : outer + inner ? frameSkia.ColorFilter.MakeCompose(outer, inner) : outer ) ); } @@ -95,7 +106,7 @@ export const createDrawingContext = ( if (imageFilters.length > 0) { getCurrentPaint().setImageFilter( imageFilters.reduceRight((inner, outer) => - inner ? Skia.ImageFilter.MakeCompose(outer, inner) : outer + inner ? frameSkia.ImageFilter.MakeCompose(outer, inner) : outer ) ); } @@ -104,7 +115,7 @@ export const createDrawingContext = ( if (pathEffects.length > 0) { getCurrentPaint().setPathEffect( pathEffects.reduceRight((inner, outer) => - inner ? Skia.PathEffect.MakeCompose(outer, inner) : outer + inner ? frameSkia.PathEffect.MakeCompose(outer, inner) : outer ) ); } @@ -119,8 +130,10 @@ export const createDrawingContext = ( // Return an object containing the Skia reference, the canvas, and the methods return { // Public fields - Skia, + Skia: frameSkia, canvas, + track, + dispose, paints, colorFilters, shaders, diff --git a/packages/skia/src/sksg/Recorder/FrameScope.native.ts b/packages/skia/src/sksg/Recorder/FrameScope.native.ts new file mode 100644 index 0000000000..fb406f7647 --- /dev/null +++ b/packages/skia/src/sksg/Recorder/FrameScope.native.ts @@ -0,0 +1,21 @@ +import type { Skia } from "../../skia/types"; + +import type { FrameScope } from "./FrameScope"; + +/** + * No-op on native. The JSI wrappers report the size of the native objects + * they hold to the garbage collector (setExternalMemoryPressure), so the GC + * is aware of the real cost of the objects the renderer creates and reclaims + * them on its own. The tracking scope is only needed on Web, where CanvasKit + * objects live in WASM memory the GC cannot see (see FrameScope.ts). + */ +export const createFrameScope = (Skia: Skia): FrameScope => { + "worklet"; + return { + Skia, + track: (value: T): T => value, + dispose: () => { + // nothing to dispose: no objects are tracked on native + }, + }; +}; diff --git a/packages/skia/src/sksg/Recorder/FrameScope.ts b/packages/skia/src/sksg/Recorder/FrameScope.ts new file mode 100644 index 0000000000..df957335e0 --- /dev/null +++ b/packages/skia/src/sksg/Recorder/FrameScope.ts @@ -0,0 +1,69 @@ +import type { Skia } from "../../skia/types"; + +interface Disposable { + dispose: () => void; +} + +const isDisposable = (value: unknown): value is Disposable => { + "worklet"; + return ( + value !== null && + typeof value === "object" && + typeof (value as Disposable).dispose === "function" + ); +}; + +export interface FrameScope { + Skia: Skia; + track: (value: T) => T; + dispose: () => void; +} + +/** + * Wraps a Skia instance so that every object created through its factories is + * collected and deleted when the scope is disposed. The renderer only keeps + * the objects it creates alive for the duration of a frame: once the frame + * has been recorded they can be deleted. This is required on Web where + * CanvasKit objects live in WASM memory that the JS garbage collector does + * not perceive, so it (almost) never reclaims them on its own. + * + * Objects passed in via props are user-owned: they are not created through + * this facade and are therefore never tracked nor disposed. + */ +export const createFrameScope = (Skia: Skia): FrameScope => { + "worklet"; + const disposables: Disposable[] = []; + const track = (value: T): T => { + if (isDisposable(value)) { + disposables.push(value); + } + return value; + }; + const wrap = (obj: T): T => { + const cache = new Map(); + return new Proxy(obj, { + get(target, prop) { + if (cache.has(prop)) { + return cache.get(prop); + } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const value = (target as any)[prop]; + let wrapped: unknown = value; + if (typeof value === "function") { + wrapped = (...args: unknown[]) => track(value.apply(target, args)); + } else if (value !== null && typeof value === "object") { + wrapped = wrap(value); + } + cache.set(prop, wrapped); + return wrapped; + }, + }) as T; + }; + const dispose = () => { + for (let i = 0; i < disposables.length; i++) { + disposables[i].dispose(); + } + disposables.length = 0; + }; + return { Skia: wrap(Skia), track, dispose }; +}; diff --git a/packages/skia/src/sksg/Recorder/Player.ts b/packages/skia/src/sksg/Recorder/Player.ts index 698e5ead2e..08537c3372 100644 --- a/packages/skia/src/sksg/Recorder/Player.ts +++ b/packages/skia/src/sksg/Recorder/Player.ts @@ -166,9 +166,8 @@ const play = (ctx: DrawingContext, _command: Command) => { } else if (isCommand(command, CommandType.RestoreCTM)) { ctx.canvas.restore(); } else { - // TODO: is a copy needed here? // apply opacity to the current paint. - const paint = ctx.paint.copy(); + const paint = ctx.track(ctx.paint.copy()); paint.setAlphaf(paint.getAlphaf() * ctx.getOpacity()); const paints = [paint, ...ctx.paintDeclarations]; ctx.paintDeclarations = []; diff --git a/packages/skia/src/sksg/Recorder/Recorder.ts b/packages/skia/src/sksg/Recorder/Recorder.ts index 1a0b548791..f80916cf71 100644 --- a/packages/skia/src/sksg/Recorder/Recorder.ts +++ b/packages/skia/src/sksg/Recorder/Recorder.ts @@ -32,7 +32,7 @@ import type { import type { AnimatedProps } from "../../renderer"; import { isSharedValue } from "../utils"; import { isColorFilter, isImageFilter, isPathEffect, isShader } from "../Node"; -import type { SkPaint, BaseRecorder } from "../../skia/types"; +import type { SkPaint, SkPicture, BaseRecorder } from "../../skia/types"; import { CommandType } from "./Core"; import type { Command } from "./Core"; @@ -40,8 +40,22 @@ import type { Command } from "./Core"; export interface Recording { commands: Command[]; paintPool: SkPaint[]; + // Last picture produced from this recording. The view keeps its own + // reference to the picture it displays, so the renderer owns this one and + // disposes it when the next frame replaces it or the recording is disposed. + lastPicture?: SkPicture | null; } +export const disposeRecording = (recording: Recording) => { + "worklet"; + recording.paintPool.forEach((paint) => paint.dispose()); + recording.paintPool.length = 0; + if (recording.lastPicture) { + recording.lastPicture.dispose(); + recording.lastPicture = null; + } +}; + interface AnimationValues { animationValues: Set>; } diff --git a/packages/skia/src/sksg/Recorder/commands/Drawing.ts b/packages/skia/src/sksg/Recorder/commands/Drawing.ts index 95cc525c97..1cae0dde0f 100644 --- a/packages/skia/src/sksg/Recorder/commands/Drawing.ts +++ b/packages/skia/src/sksg/Recorder/commands/Drawing.ts @@ -131,14 +131,14 @@ export const drawTextPath = (ctx: DrawingContext, props: TextPathProps) => { const widths = font.getGlyphWidths(ids); const rsx: SkRSXform[] = []; const meas = ctx.Skia.ContourMeasureIter(path, false, 1); - let cont = meas.next(); + let cont = ctx.track(meas.next()); let dist = initialOffset; for (let i = 0; i < text.length && cont; i++) { const width = widths[i]; dist += width / 2; if (dist > cont.length()) { // jump to next contour - cont = meas.next(); + cont = ctx.track(meas.next()); if (!cont) { // We have come to the end of the path - terminate the string // right here. @@ -221,7 +221,7 @@ export const drawPath = (ctx: DrawingContext, props: PathProps) => { if (hasFillType) { const builder = ctx.Skia.PathBuilder.MakeFromPath(path); builder.setFillType(FillType[enumKey(fillType)]); - path = builder.build(); + path = ctx.track(builder.build()); } // Apply stroke using static Path.Stroke diff --git a/packages/skia/src/sksg/Recorder/commands/Shaders.ts b/packages/skia/src/sksg/Recorder/commands/Shaders.ts index 6e04ab91db..de93112636 100644 --- a/packages/skia/src/sksg/Recorder/commands/Shaders.ts +++ b/packages/skia/src/sksg/Recorder/commands/Shaders.ts @@ -43,10 +43,12 @@ const declareShader = ( const { source, uniforms, ...transform } = props; const m3 = ctx.Skia.Matrix(); processTransformProps(m3, transform); - const shader = source.makeShaderWithChildren( - processUniforms(source, uniforms), - ctx.shaders.splice(0, children), - m3 + const shader = ctx.track( + source.makeShaderWithChildren( + processUniforms(source, uniforms), + ctx.shaders.splice(0, children), + m3 + ) ); ctx.shaders.push(shader); }; @@ -208,20 +210,24 @@ const declareImageShader = (ctx: DrawingContext, props: ImageShaderProps) => { processTransformProps(lm, imageShaderProps); let shader: SkShader; if (sampling && isCubicSampling(sampling)) { - shader = image.makeShaderCubic( - TileMode[enumKey(tx)], - TileMode[enumKey(ty)], - sampling.B, - sampling.C, - lm + shader = ctx.track( + image.makeShaderCubic( + TileMode[enumKey(tx)], + TileMode[enumKey(ty)], + sampling.B, + sampling.C, + lm + ) ); } else { - shader = image.makeShaderCubic( - TileMode[enumKey(tx)], - TileMode[enumKey(ty)], - sampling?.filter ?? FilterMode.Linear, - sampling?.mipmap ?? MipmapMode.None, - lm + shader = ctx.track( + image.makeShaderCubic( + TileMode[enumKey(tx)], + TileMode[enumKey(ty)], + sampling?.filter ?? FilterMode.Linear, + sampling?.mipmap ?? MipmapMode.None, + lm + ) ); } ctx.shaders.push(shader); diff --git a/packages/skia/src/sksg/StaticContainer.ts b/packages/skia/src/sksg/StaticContainer.ts index b529b49143..ed4935c8df 100644 --- a/packages/skia/src/sksg/StaticContainer.ts +++ b/packages/skia/src/sksg/StaticContainer.ts @@ -2,7 +2,7 @@ import type { Skia, SkCanvas } from "../skia/types"; import type { Node } from "./Node"; import type { Recording } from "./Recorder/Recorder"; -import { Recorder } from "./Recorder/Recorder"; +import { Recorder, disposeRecording } from "./Recorder/Recorder"; import { visit } from "./Recorder/Visitor"; import { replay } from "./Recorder/Player"; import { createDrawingContext } from "./Recorder/DrawingContext"; @@ -41,7 +41,14 @@ export abstract class Container { this.recording.paintPool, canvas ); - replay(ctx, this.recording.commands); + try { + replay(ctx, this.recording.commands); + } finally { + // Frame-scoped objects created during the replay are no longer needed + // once drawn β€” delete them, otherwise they leak on Web where the GC + // cannot see WASM memory. + ctx.dispose(); + } } abstract redraw(): void; @@ -55,7 +62,24 @@ export class StaticContainer extends Container { super(Skia); } + unmount() { + super.unmount(); + if (this.recording) { + disposeRecording(this.recording); + this.recording = null; + } + } + redraw() { + if (this.unmounted) { + // The unmount commit triggers a last redraw β€” recording it would + // resurrect a recording for a container that has just disposed it. + return; + } + if (this.recording) { + disposeRecording(this.recording); + this.recording = null; + } const recorder = new Recorder(); visit(recorder, this.root); this.recording = recorder.getRecording(); @@ -67,6 +91,9 @@ export class StaticContainer extends Container { const picture = rec.finishRecordingAsPicture(); rec.dispose(); SkiaViewApi.setJsiProperty(this.nativeId, "picture", picture); + // The view keeps its own reference to the picture it displays; this + // one is renderer-owned and disposed with the recording. + this.recording.lastPicture = picture; } } } diff --git a/packages/skia/src/sksg/__tests__/Disposal.spec.tsx b/packages/skia/src/sksg/__tests__/Disposal.spec.tsx new file mode 100644 index 0000000000..665ae16d61 --- /dev/null +++ b/packages/skia/src/sksg/__tests__/Disposal.spec.tsx @@ -0,0 +1,69 @@ +import React from "react"; + +import { importSkia } from "../../renderer/__tests__/setup"; +import { SkiaSGRoot } from "../Reconciler"; +import { createDrawingContext } from "../Recorder/DrawingContext"; +import type { SkPaint } from "../../skia/types"; +import { TileMode } from "../../skia/types"; + +// CanvasKit (emscripten) objects expose isDeleted() on their WASM handle. +const isDeleted = (obj: unknown) => + (obj as { ref: { isDeleted: () => boolean } }).ref.isDeleted(); + +describe("Disposal", () => { + it("deletes renderer-created objects at the end of the frame", () => { + const { Skia } = importSkia(); + const surface = Skia.Surface.Make(64, 64)!; + const canvas = surface.getCanvas(); + const paintPool: SkPaint[] = []; + const ctx = createDrawingContext(Skia, paintPool, canvas); + const shader = ctx.Skia.Shader.MakeColor(Skia.Color("cyan")); + const filter = ctx.Skia.ImageFilter.MakeBlur(2, 2, TileMode.Clamp, null); + const paint = ctx.track(ctx.paint.copy()); + ctx.dispose(); + expect(isDeleted(shader)).toBe(true); + expect(isDeleted(filter)).toBe(true); + expect(isDeleted(paint)).toBe(true); + // The paint pool is recording-scoped, not frame-scoped. + expect(isDeleted(paintPool[0])).toBe(false); + }); + + it("never deletes user-owned objects", () => { + const { Skia } = importSkia(); + const surface = Skia.Surface.Make(64, 64)!; + const canvas = surface.getCanvas(); + const paintPool: SkPaint[] = []; + const ctx = createDrawingContext(Skia, paintPool, canvas); + const userShader = Skia.Shader.MakeColor(Skia.Color("cyan")); + ctx.shaders.push(userShader); + ctx.materializePaint(); + ctx.dispose(); + expect(isDeleted(userShader)).toBe(false); + }); + + it("reuses the paint pool across frames and disposes it on unmount", async () => { + const { Skia } = importSkia(); + const root = new SkiaSGRoot(Skia); + await root.render( + + + + + + + ); + const surface = Skia.Surface.Make(64, 64)!; + const canvas = surface.getCanvas(); + // Drawing twice exercises pool reuse after a frame has been disposed. + root.drawOnCanvas(canvas); + root.drawOnCanvas(canvas); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const { container } = root as any; + const pool: SkPaint[] = container.recording.paintPool; + expect(pool.length).toBeGreaterThan(0); + pool.forEach((paint) => expect(isDeleted(paint)).toBe(false)); + await root.unmount(); + expect(container.recording).toBeNull(); + pool.forEach((paint) => expect(isDeleted(paint)).toBe(true)); + }); +}); diff --git a/packages/skia/src/views/SkiaPictureView.web.tsx b/packages/skia/src/views/SkiaPictureView.web.tsx index c4582f1f0d..94a0511f5f 100644 --- a/packages/skia/src/views/SkiaPictureView.web.tsx +++ b/packages/skia/src/views/SkiaPictureView.web.tsx @@ -1,9 +1,10 @@ -/* global HTMLCanvasElement */ +/* global HTMLCanvasElement, ResizeObserver, MediaQueryList */ import React, { useRef, useEffect, useCallback, useImperativeHandle, + useLayoutEffect, } from "react"; import type { LayoutChangeEvent } from "react-native"; import type { GrDirectContext, WebGLContextHandle } from "canvaskit-wasm"; @@ -39,11 +40,9 @@ class WebGLRenderer implements Renderer { private surface: JsiSkSurface | null = null; private grContext: GrDirectContext | null = null; private contextHandle: WebGLContextHandle = 0; + private pd = 1; - constructor( - private canvas: HTMLCanvasElement, - private pd: number - ) { + constructor(private canvas: HTMLCanvasElement) { this.contextHandle = CanvasKit.GetWebGLContext(canvas); if (!this.contextHandle) { throw new Error("Could not create a WebGL context"); @@ -73,14 +72,20 @@ class WebGLRenderer implements Renderer { } onResize() { - const { canvas, pd } = this; + const { canvas } = this; if (!this.grContext) { return; } - canvas.width = canvas.clientWidth * pd; - canvas.height = canvas.clientHeight * pd; + this.pd = window.devicePixelRatio; + canvas.width = canvas.clientWidth * this.pd; + canvas.height = canvas.clientHeight * this.pd; this.surface?.ref.delete(); this.surface = null; + if (canvas.width === 0 || canvas.height === 0) { + // The canvas hasn't been laid out yet (or is hidden). The view's + // ResizeObserver calls us again as soon as it has a size. + return; + } // Reuse the existing WebGL context and GrDirectContext: only the surface // needs to be recreated when the canvas is resized. const surface = CanvasKit.MakeOnScreenGLSurface( @@ -100,7 +105,7 @@ class WebGLRenderer implements Renderer { const canvas = this.surface.getCanvas(); canvas.clear(Float32Array.of(0, 0, 0, 0)); canvas.save(); - canvas.scale(pd, pd); + canvas.scale(this.pd, this.pd); canvas.drawPicture(picture); canvas.restore(); this.surface.ref.flush(); @@ -143,17 +148,19 @@ interface TempRenderResult { class StaticWebGLRenderer implements Renderer { private cachedImage: SkImage | null = null; + private pd = 1; - constructor( - private canvas: HTMLCanvasElement, - private pd: number - ) {} + constructor(private canvas: HTMLCanvasElement) {} onResize(): void { this.cachedImage = null; } private renderPictureToSurface(picture: SkPicture): TempRenderResult | null { + this.pd = window.devicePixelRatio; + if (this.canvas.clientWidth === 0 || this.canvas.clientHeight === 0) { + return null; + } const tempCanvas = new OffscreenCanvas( this.canvas.clientWidth * this.pd, this.canvas.clientHeight * this.pd @@ -292,7 +299,43 @@ class StaticWebGLRenderer implements Renderer { } } -const pd = Platform.PixelRatio; +// Mirrors the event react-native-web synthesizes for onLayout. +const makeLayoutEvent = ( + x: number, + y: number, + width: number, + height: number +): LayoutChangeEvent => ({ + timeStamp: Date.now(), + nativeEvent: { layout: { x, y, width, height } }, + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + currentTarget: 0, + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + target: 0, + bubbles: false, + cancelable: false, + defaultPrevented: false, + eventPhase: 0, + isDefaultPrevented() { + throw new Error("Method not supported on web."); + }, + isPropagationStopped() { + throw new Error("Method not supported on web."); + }, + persist() { + throw new Error("Method not supported on web."); + }, + preventDefault() { + throw new Error("Method not supported on web."); + }, + stopPropagation() { + throw new Error("Method not supported on web."); + }, + isTrusted: true, + type: "", +}); export interface SkiaPictureViewHandle { setPicture(picture: SkPicture): void; @@ -319,19 +362,44 @@ export interface SkiaPictureViewProps extends SkiaPictureViewNativeProps { } export const SkiaPictureView = (props: SkiaPictureViewProps) => { - const { ref } = props; + const { ref, picture, onLayout } = props; const canvasRef = useRef(null); - const renderer = useRef(null); - const rendererIsStatic = useRef(null); - const redrawRequestsRef = useRef(0); - const requestIdRef = useRef(0); + const rendererRef = useRef(null); const pictureRef = useRef(null); - - const { picture, onLayout } = props; + // The rendering lifecycle deliberately does not depend on layout events: + // - The renderer is created synchronously on mount (the canvas element is + // guaranteed to exist in useLayoutEffect; a zero size at that point is + // fine, the surface is created once the canvas is measurable). + // - Redraw requests coalesce into a single animation frame. A picture + // dispatched before the canvas has a size stays in pictureRef (drawing + // while unmeasured is a no-op) and is painted by the resize path below + // once the canvas becomes measurable, so it is never lost. + // - A ResizeObserver on the canvas itself recreates the surface and repaints + // synchronously (its callbacks run after layout, before paint), and is + // also the source of the user-facing onLayout event. + const redrawPendingRef = useRef(false); + const frameRef = useRef(0); + const onLayoutRef = useRef(onLayout); + useLayoutEffect(() => { + onLayoutRef.current = onLayout; + }, [onLayout]); + + const flushRedraw = useCallback(() => { + frameRef.current = 0; + if (redrawPendingRef.current && rendererRef.current && pictureRef.current) { + redrawPendingRef.current = false; + rendererRef.current.draw(pictureRef.current); + } + // If the renderer or picture isn't available yet, the request stays + // pending and is flushed by whichever arrives last. + }, []); const redraw = useCallback(() => { - redrawRequestsRef.current++; - }, []); + redrawPendingRef.current = true; + if (frameRef.current === 0) { + frameRef.current = requestAnimationFrame(flushRedraw); + } + }, [flushRedraw]); const getSize = useCallback(() => { return { @@ -349,8 +417,8 @@ export const SkiaPictureView = (props: SkiaPictureViewProps) => { ); const makeImageSnapshot = useCallback((rect?: SkRect) => { - if (renderer.current && pictureRef.current) { - return renderer.current.makeImageSnapshot(pictureRef.current, rect); + if (rendererRef.current && pictureRef.current) { + return rendererRef.current.makeImageSnapshot(pictureRef.current, rect); } return null; }, []); @@ -405,45 +473,107 @@ export const SkiaPictureView = (props: SkiaPictureViewProps) => { [] ); - const tick = useCallback(() => { - if (redrawRequestsRef.current > 0) { - redrawRequestsRef.current = 0; - if (renderer.current && pictureRef.current) { - renderer.current.draw(pictureRef.current); - } + const isStatic = props.__destroyWebGLContextAfterRender === true; + + useLayoutEffect(() => { + const canvas = canvasRef.current; + if (!canvas) { + return undefined; } - requestIdRef.current = requestAnimationFrame(tick); - }, []); + const renderer = isStatic + ? new StaticWebGLRenderer(canvas) + : new WebGLRenderer(canvas); + rendererRef.current = renderer; + + const drawPicture = () => { + if (pictureRef.current) { + redrawPendingRef.current = false; + renderer.draw(pictureRef.current); + } + }; - const onLayoutEvent = useCallback( - (evt: LayoutChangeEvent) => { - const canvas = canvasRef.current; - if (canvas) { - const destroyAfterRender = - props.__destroyWebGLContextAfterRender === true; - if ( - renderer.current === null || - rendererIsStatic.current !== destroyAfterRender - ) { - renderer.current?.dispose(); - renderer.current = destroyAfterRender - ? new StaticWebGLRenderer(canvas, pd) - : new WebGLRenderer(canvas, pd); - rendererIsStatic.current = destroyAfterRender; - } else { - // Reuse the existing renderer (and its WebGL context) on relayout. - renderer.current.onResize(); - } - if (pictureRef.current) { - renderer.current.draw(pictureRef.current); - } + // The renderer constructor already sized the surface from the current + // layout, so the observer's initial delivery only repaints if the size + // changed in between. + let lastWidth = canvas.clientWidth; + let lastHeight = canvas.clientHeight; + let lastPixelDensity = window.devicePixelRatio; + const resizeIfNeeded = () => { + const width = canvas.clientWidth; + const height = canvas.clientHeight; + const pixelDensity = window.devicePixelRatio; + if ( + width === lastWidth && + height === lastHeight && + pixelDensity === lastPixelDensity + ) { + return; } - if (onLayout) { - onLayout(evt); + lastWidth = width; + lastHeight = height; + lastPixelDensity = pixelDensity; + renderer.onResize(); + drawPicture(); + }; + + const observer = new ResizeObserver((entries) => { + resizeIfNeeded(); + const layoutHandler = onLayoutRef.current; + if (layoutHandler) { + const { left, top, width, height } = entries[0].contentRect; + // setTimeout 0 is taken from react-native-web (UIManager) + setTimeout( + () => layoutHandler(makeLayoutEvent(left, top, width, height)), + 0 + ); } - }, - [onLayout, props.__destroyWebGLContextAfterRender] - ); + }); + observer.observe(canvas); + + // A pixel-density change with no CSS size change (browser zoom, moving + // the window to another display) doesn't trigger the ResizeObserver: + // watch it via matchMedia, re-arming the query for each new density. + // This degrades gracefully where unsupported: without matchMedia or + // MediaQueryList.addEventListener (older Safari), or where the query + // never matches because the resolution feature is unknown (Safari < 16), + // density-only changes simply don't repaint β€” everything else still does. + let media: MediaQueryList | null = null; + const onPixelDensityChange = () => { + resizeIfNeeded(); + watchPixelDensity(); + }; + const watchPixelDensity = () => { + media?.removeEventListener("change", onPixelDensityChange); + media = null; + if (typeof window.matchMedia === "function") { + const query = window.matchMedia( + `(resolution: ${window.devicePixelRatio}dppx)` + ); + if (typeof query.addEventListener === "function") { + media = query; + media.addEventListener("change", onPixelDensityChange); + } + } + }; + watchPixelDensity(); + + // Paint any picture that was dispatched before the renderer existed. + drawPicture(); + + return () => { + observer.disconnect(); + media?.removeEventListener("change", onPixelDensityChange); + rendererRef.current = null; + renderer.dispose(); + }; + }, [isStatic]); + + useEffect(() => { + return () => { + cancelAnimationFrame(frameRef.current); + frameRef.current = 0; + }; + }, []); useImperativeHandle( ref, @@ -486,31 +616,21 @@ export const SkiaPictureView = (props: SkiaPictureViewProps) => { ]); useEffect(() => { - if (props.picture) { - setPicture(props.picture); + if (picture) { + setPicture(picture); } - }, [setPicture, props.picture]); - - useEffect(() => { - tick(); - return () => { - cancelAnimationFrame(requestIdRef.current); - if (renderer.current) { - renderer.current.dispose(); - renderer.current = null; - } - }; - }, [tick]); - - useEffect(() => { - if (renderer.current && pictureRef.current) { - renderer.current.draw(pictureRef.current); - } - }, [picture, redraw]); - - const { debug = false, ref: _ref, ...viewProps } = props; + }, [setPicture, picture]); + + const { + debug: _debug, + ref: _ref, + onLayout: _onLayout, + picture: _picture, + __destroyWebGLContextAfterRender: _isStatic, + ...viewProps + } = props; return ( - + require("../../Platform/Platform.web")); + +type ResizeObserverCallback = ( + entries: Array<{ + target: Element; + contentRect: { left: number; top: number; width: number; height: number }; + }> +) => void; + +const resizeObservers: ResizeObserverMock[] = []; + +class ResizeObserverMock { + targets: Element[] = []; + constructor(public callback: ResizeObserverCallback) { + resizeObservers.push(this); + } + observe(target: Element) { + this.targets.push(target); + } + unobserve(target: Element) { + this.targets = this.targets.filter((t) => t !== target); + } + disconnect() { + this.targets = []; + } +} + +const canvasSize = { width: 0, height: 0 }; + +const rafQueue: FrameRequestCallback[] = []; +const flushFrames = () => { + while (rafQueue.length > 0) { + rafQueue.shift()!(0); + } +}; + +const makeRawCanvas = () => ({ + clear: jest.fn(), + save: jest.fn(), + scale: jest.fn(), + drawPicture: jest.fn(), + restore: jest.fn(), +}); + +const createCanvasKitMock = () => { + const rawCanvas = makeRawCanvas(); + const rawSurface = { + getCanvas: () => rawCanvas, + flush: jest.fn(), + delete: jest.fn(), + dispose: jest.fn(), + }; + const grContext = { + releaseResourcesAndAbandonContext: jest.fn(), + delete: jest.fn(), + }; + const CanvasKitMock = { + GetWebGLContext: jest.fn(() => 1), + MakeWebGLContext: jest.fn(() => grContext), + MakeOnScreenGLSurface: jest.fn((_ctx, width, height) => + width === 0 || height === 0 ? null : rawSurface + ), + deleteContext: jest.fn(), + ColorSpace: { SRGB: "srgb" }, + TRANSPARENT: Float32Array.of(0, 0, 0, 0), + }; + return { CanvasKitMock, rawCanvas, rawSurface }; +}; + +const fakePicture = { ref: { __picture: true }, dispose: jest.fn() }; + +const display = { pixelDensity: 1 }; +const mediaQueryListeners: Array<() => void> = []; + +beforeAll(() => { + Object.defineProperty(HTMLCanvasElement.prototype, "clientWidth", { + configurable: true, + get: () => canvasSize.width, + }); + Object.defineProperty(HTMLCanvasElement.prototype, "clientHeight", { + configurable: true, + get: () => canvasSize.height, + }); + HTMLCanvasElement.prototype.getContext = jest.fn(() => null); + Object.defineProperty(window, "devicePixelRatio", { + configurable: true, + get: () => display.pixelDensity, + }); + window.matchMedia = ((query: string) => ({ + query, + addEventListener: (_type: string, cb: () => void) => { + mediaQueryListeners.push(cb); + }, + removeEventListener: (_type: string, cb: () => void) => { + const index = mediaQueryListeners.indexOf(cb); + if (index !== -1) { + mediaQueryListeners.splice(index, 1); + } + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + })) as any; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (global as any).ResizeObserver = ResizeObserverMock; + global.requestAnimationFrame = (cb: FrameRequestCallback) => { + rafQueue.push(cb); + return rafQueue.length; + }; + global.cancelAnimationFrame = () => {}; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (global as any).IS_REACT_ACT_ENVIRONMENT = true; +}); + +beforeEach(() => { + resizeObservers.length = 0; + mediaQueryListeners.length = 0; + rafQueue.length = 0; + canvasSize.width = 0; + canvasSize.height = 0; + display.pixelDensity = 1; +}); + +const mountView = (nativeID: string, onLayout?: () => void) => { + const container = document.createElement("div"); + document.body.appendChild(container); + const root = createRoot(container); + act(() => { + root.render( + + ); + }); + return { + unmount: () => { + act(() => root.unmount()); + container.remove(); + }, + }; +}; + +describe("SkiaPictureView.web", () => { + it("paints a picture without ever receiving a layout event", () => { + const { CanvasKitMock, rawCanvas } = createCanvasKitMock(); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (global as any).CanvasKit = CanvasKitMock; + canvasSize.width = 360; + canvasSize.height = 520; + + const view = mountView("1"); + // The renderer and its surface exist right after mount. + expect(CanvasKitMock.GetWebGLContext).toHaveBeenCalledTimes(1); + expect(CanvasKitMock.MakeOnScreenGLSurface).toHaveBeenCalledTimes(1); + + // Dispatch a picture the way the reconciler does β€” note that no + // ResizeObserver entry has been delivered at this point. + const api = global.SkiaViewApi as ISkiaViewApiWeb; + act(() => { + api.setJsiProperty(1, "picture", fakePicture as unknown as SkPicture); + flushFrames(); + }); + expect(rawCanvas.drawPicture).toHaveBeenCalledWith(fakePicture.ref); + + view.unmount(); + expect(CanvasKitMock.deleteContext).toHaveBeenCalledWith(1); + }); + + it("holds a picture dispatched while unmeasured and paints it on first resize", () => { + const { CanvasKitMock, rawCanvas } = createCanvasKitMock(); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (global as any).CanvasKit = CanvasKitMock; + + const view = mountView("2"); + // No measurable size yet: the renderer exists but has no surface. + expect(CanvasKitMock.GetWebGLContext).toHaveBeenCalledTimes(1); + expect(CanvasKitMock.MakeOnScreenGLSurface).not.toHaveBeenCalled(); + + const api = global.SkiaViewApi as ISkiaViewApiWeb; + act(() => { + api.setJsiProperty(2, "picture", fakePicture as unknown as SkPicture); + flushFrames(); + }); + expect(rawCanvas.drawPicture).not.toHaveBeenCalled(); + + // The canvas gets its size: the observer delivery must create the + // surface and paint the held picture synchronously. + canvasSize.width = 360; + canvasSize.height = 520; + const observer = resizeObservers[resizeObservers.length - 1]; + act(() => { + observer.callback([ + { + target: observer.targets[0], + contentRect: { left: 0, top: 0, width: 360, height: 520 }, + }, + ]); + }); + expect(CanvasKitMock.MakeOnScreenGLSurface).toHaveBeenCalledTimes(1); + expect(rawCanvas.drawPicture).toHaveBeenCalledWith(fakePicture.ref); + + view.unmount(); + }); + + it("recreates the surface at the new density when the pixel density changes", () => { + const { CanvasKitMock, rawCanvas } = createCanvasKitMock(); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (global as any).CanvasKit = CanvasKitMock; + canvasSize.width = 360; + canvasSize.height = 520; + + const view = mountView("4"); + const api = global.SkiaViewApi as ISkiaViewApiWeb; + act(() => { + api.setJsiProperty(4, "picture", fakePicture as unknown as SkPicture); + flushFrames(); + }); + expect(CanvasKitMock.MakeOnScreenGLSurface).toHaveBeenLastCalledWith( + expect.anything(), + 360, + 520, + "srgb" + ); + + // Browser zoom / moving to another display: the density changes while + // the CSS size stays identical, so only the matchMedia watcher fires. + display.pixelDensity = 2; + rawCanvas.drawPicture.mockClear(); + act(() => { + mediaQueryListeners.slice().forEach((cb) => cb()); + }); + expect(CanvasKitMock.MakeOnScreenGLSurface).toHaveBeenLastCalledWith( + expect.anything(), + 720, + 1040, + "srgb" + ); + expect(rawCanvas.drawPicture).toHaveBeenCalledWith(fakePicture.ref); + + view.unmount(); + }); + + it("fires onLayout from the resize observer", async () => { + const { CanvasKitMock } = createCanvasKitMock(); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (global as any).CanvasKit = CanvasKitMock; + canvasSize.width = 360; + canvasSize.height = 520; + + const onLayout = jest.fn(); + const view = mountView("3", onLayout); + const observer = resizeObservers[resizeObservers.length - 1]; + act(() => { + observer.callback([ + { + target: observer.targets[0], + contentRect: { left: 0, top: 0, width: 360, height: 520 }, + }, + ]); + }); + // onLayout is delivered from a macrotask, like react-native-web. + expect(onLayout).not.toHaveBeenCalled(); + await act(() => new Promise((resolve) => setTimeout(resolve, 0))); + expect(onLayout).toHaveBeenCalledTimes(1); + expect(onLayout.mock.calls[0][0].nativeEvent.layout).toEqual({ + x: 0, + y: 0, + width: 360, + height: 520, + }); + + view.unmount(); + }); +}); diff --git a/yarn.lock b/yarn.lock index 9cfaa93b37..df73b177cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -178,23 +178,16 @@ __metadata: languageName: node linkType: hard -"@alloc/quick-lru@npm:^5.2.0": - version: 5.2.0 - resolution: "@alloc/quick-lru@npm:5.2.0" - checksum: bdc35758b552bcf045733ac047fb7f9a07c4678b944c641adfbd41f798b4b91fffd0fdc0df2578d9b0afc7b4d636aa6e110ead5d6281a2adc1ab90efd7f057f8 - languageName: node - linkType: hard - -"@apideck/better-ajv-errors@npm:^0.3.1": - version: 0.3.6 - resolution: "@apideck/better-ajv-errors@npm:0.3.6" +"@asamuzakjp/css-color@npm:^3.2.0": + version: 3.2.0 + resolution: "@asamuzakjp/css-color@npm:3.2.0" dependencies: - json-schema: ^0.4.0 - jsonpointer: ^5.0.0 - leven: ^3.1.0 - peerDependencies: - ajv: ">=8" - checksum: b70ec9aae3b30ba1ac06948e585cd96aabbfe7ef6a1c27dc51e56c425f01290a58e9beb19ed95ee64da9f32df3e9276cd1ea58e78792741d74a519cb56955491 + "@csstools/css-calc": ^2.1.3 + "@csstools/css-color-parser": ^3.0.9 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + lru-cache: ^10.4.3 + checksum: e253261700fff817af23d8903e58c6a8ccf1aacc13059eb68fe0744e9084f3912869944715cdbe40dd09a1f3406d9b313a5cf1e08c7584d2339aa7a17209802d languageName: node linkType: hard @@ -208,7 +201,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.8.3": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6": version: 7.28.6 resolution: "@babel/code-frame@npm:7.28.6" dependencies: @@ -264,7 +257,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.16.0, @babel/core@npm:^7.20.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2, @babel/core@npm:^7.25.9, @babel/core@npm:^7.27.4, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.20.0, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.2, @babel/core@npm:^7.25.9, @babel/core@npm:^7.27.4": version: 7.28.6 resolution: "@babel/core@npm:7.28.6" dependencies: @@ -310,7 +303,7 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.16.3, @babel/eslint-parser@npm:^7.18.2, @babel/eslint-parser@npm:^7.25.1": +"@babel/eslint-parser@npm:^7.18.2, @babel/eslint-parser@npm:^7.25.1": version: 7.28.6 resolution: "@babel/eslint-parser@npm:7.28.6" dependencies: @@ -363,7 +356,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: @@ -407,7 +400,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.28.6": +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6" dependencies: @@ -531,7 +524,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": +"@babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6": version: 7.28.6 resolution: "@babel/helper-module-imports@npm:7.28.6" dependencies: @@ -949,7 +942,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.12.1, @babel/plugin-proposal-class-properties@npm:^7.13.0, @babel/plugin-proposal-class-properties@npm:^7.16.0": +"@babel/plugin-proposal-class-properties@npm:^7.12.1, @babel/plugin-proposal-class-properties@npm:^7.13.0": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" dependencies: @@ -961,19 +954,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-decorators@npm:^7.16.4": - version: 7.28.6 - resolution: "@babel/plugin-proposal-decorators@npm:7.28.6" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.28.6 - "@babel/helper-plugin-utils": ^7.28.6 - "@babel/plugin-syntax-decorators": ^7.28.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: e61be747a0a7c8b4d6fa87b925fceb3a87454cf080324e116a0942a14c3b1aa1edf8d11d6257cbbbb7a23931559ad601b3619410beefc69fe80797d013b928ae - languageName: node - linkType: hard - "@babel/plugin-proposal-explicit-resource-management@npm:^7.27.4": version: 7.27.4 resolution: "@babel/plugin-proposal-explicit-resource-management@npm:7.27.4" @@ -997,7 +977,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0": +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8": version: 7.18.6 resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" dependencies: @@ -1009,19 +989,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-numeric-separator@npm:^7.16.0": - version: 7.18.6 - resolution: "@babel/plugin-proposal-numeric-separator@npm:7.18.6" - dependencies: - "@babel/helper-plugin-utils": ^7.18.6 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f370ea584c55bf4040e1f78c80b4eeb1ce2e6aaa74f87d1a48266493c33931d0b6222d8cee3a082383d6bb648ab8d6b7147a06f974d3296ef3bc39c7851683ec - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-chaining@npm:^7.13.12, @babel/plugin-proposal-optional-chaining@npm:^7.16.0": +"@babel/plugin-proposal-optional-chaining@npm:^7.13.12": version: 7.21.0 resolution: "@babel/plugin-proposal-optional-chaining@npm:7.21.0" dependencies: @@ -1034,18 +1002,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-methods@npm:^7.16.0": - version: 7.18.6 - resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 22d8502ee96bca99ad2c8393e8493e2b8d4507576dd054490fd8201a36824373440106f5b098b6d821b026c7e72b0424ff4aeca69ed5f42e48f029d3a156d5ad - languageName: node - linkType: hard - "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": version: 7.21.0-placeholder-for-preset-env.2 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" @@ -1055,20 +1011,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:^7.16.7": - version: 7.21.11 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.11" - dependencies: - "@babel/helper-annotate-as-pure": ^7.18.6 - "@babel/helper-create-class-features-plugin": ^7.21.0 - "@babel/helper-plugin-utils": ^7.20.2 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 1b880543bc5f525b360b53d97dd30807302bb82615cd42bf931968f59003cac75629563d6b104868db50abd22235b3271fdf679fea5db59a267181a99cc0c265 - languageName: node - linkType: hard - "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -1113,17 +1055,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-decorators@npm:^7.28.6": - version: 7.28.6 - resolution: "@babel/plugin-syntax-decorators@npm:7.28.6" - dependencies: - "@babel/helper-plugin-utils": ^7.28.6 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f59a229e80398663c99519ab0785df389a802aedd6e0cfb6d37fa99a5802c22b270ff6273db7cf94cd8fcb9024feba11dcdbb0e907c5624e02c7fe5da056a91f - languageName: node - linkType: hard - "@babel/plugin-syntax-dynamic-import@npm:^7.8.0, @babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" @@ -1784,7 +1715,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.16.0, @babel/plugin-transform-flow-strip-types@npm:^7.20.0, @babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.25.9, @babel/plugin-transform-flow-strip-types@npm:^7.27.1": +"@babel/plugin-transform-flow-strip-types@npm:^7.20.0, @babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.25.9, @babel/plugin-transform-flow-strip-types@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" dependencies: @@ -2341,7 +2272,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.0.0, @babel/plugin-transform-react-display-name@npm:^7.16.0, @babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.28.0": +"@babel/plugin-transform-react-display-name@npm:^7.0.0, @babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.28.0": version: 7.28.0 resolution: "@babel/plugin-transform-react-display-name@npm:7.28.0" dependencies: @@ -2529,7 +2460,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:^7.0.0, @babel/plugin-transform-runtime@npm:^7.16.4, @babel/plugin-transform-runtime@npm:^7.24.7, @babel/plugin-transform-runtime@npm:^7.25.9": +"@babel/plugin-transform-runtime@npm:^7.0.0, @babel/plugin-transform-runtime@npm:^7.24.7, @babel/plugin-transform-runtime@npm:^7.25.9": version: 7.28.5 resolution: "@babel/plugin-transform-runtime@npm:7.28.5" dependencies: @@ -2781,7 +2712,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.12.11, @babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.25.3, @babel/preset-env@npm:^7.25.9": +"@babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.12.11, @babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.25.3, @babel/preset-env@npm:^7.25.9": version: 7.28.6 resolution: "@babel/preset-env@npm:7.28.6" dependencies: @@ -2981,7 +2912,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:^7.12.10, @babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.16.0, @babel/preset-react@npm:^7.18.6, @babel/preset-react@npm:^7.25.9": +"@babel/preset-react@npm:^7.12.10, @babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.18.6, @babel/preset-react@npm:^7.25.9": version: 7.28.5 resolution: "@babel/preset-react@npm:7.28.5" dependencies: @@ -3013,7 +2944,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.12.7, @babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.16.0, @babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.25.9": +"@babel/preset-typescript@npm:^7.12.7, @babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.25.9": version: 7.28.5 resolution: "@babel/preset-typescript@npm:7.28.5" dependencies: @@ -3067,7 +2998,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.9": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.9": version: 7.28.6 resolution: "@babel/runtime@npm:7.28.6" checksum: 42d8a868c2fc2e9a77927945a6daa7ec03c7ea49e611e0d15442933cdabb12f20e3a6849c729259076c10a4247adec229331d1f94c2d0073ea0979d7853e29fd @@ -3096,7 +3027,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.7.2": +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6": version: 7.28.6 resolution: "@babel/traverse@npm:7.28.6" dependencies: @@ -3192,25 +3123,6 @@ __metadata: languageName: node linkType: hard -"@craco/craco@npm:^7.1.0": - version: 7.1.0 - resolution: "@craco/craco@npm:7.1.0" - dependencies: - autoprefixer: ^10.4.12 - cosmiconfig: ^7.0.1 - cosmiconfig-typescript-loader: ^1.0.0 - cross-spawn: ^7.0.3 - lodash: ^4.17.21 - semver: ^7.3.7 - webpack-merge: ^5.8.0 - peerDependencies: - react-scripts: ^5.0.0 - bin: - craco: dist/bin/craco.js - checksum: d534d1ea7814e7bd9f2e2aef17821fcdb1d9cac8308e8eb04809f8f3371180086b8f673dedce1ffbefba9ded566e91e4c9663464e488bf6291461091cbd95c4e - languageName: node - linkType: hard - "@cspotcode/source-map-support@npm:^0.8.0": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -3237,7 +3149,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.1.4": +"@csstools/css-calc@npm:^2.1.3, @csstools/css-calc@npm:^2.1.4": version: 2.1.4 resolution: "@csstools/css-calc@npm:2.1.4" peerDependencies: @@ -3247,7 +3159,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.1.0": +"@csstools/css-color-parser@npm:^3.0.9, @csstools/css-color-parser@npm:^3.1.0": version: 3.1.0 resolution: "@csstools/css-color-parser@npm:3.1.0" dependencies: @@ -3260,7 +3172,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.5": +"@csstools/css-parser-algorithms@npm:^3.0.4, @csstools/css-parser-algorithms@npm:^3.0.5": version: 3.0.5 resolution: "@csstools/css-parser-algorithms@npm:3.0.5" peerDependencies: @@ -3269,7 +3181,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.4": +"@csstools/css-tokenizer@npm:^3.0.3, @csstools/css-tokenizer@npm:^3.0.4": version: 3.0.4 resolution: "@csstools/css-tokenizer@npm:3.0.4" checksum: adc6681d3a0d7a75dc8e5ee0488c99ad4509e4810ae45dd6549a2e64a996e8d75512e70bb244778dc0c6ee85723e20eaeea8c083bf65b51eb19034e182554243 @@ -3286,13 +3198,6 @@ __metadata: languageName: node linkType: hard -"@csstools/normalize.css@npm:*": - version: 12.1.1 - resolution: "@csstools/normalize.css@npm:12.1.1" - checksum: a356ee0fcb922f3e0bc23df4468bb4f27fc26c767e25359c079455fe30301d253d8a60c443859b04350c8174393edbb11bad2a9ef2f8cce0e371f6abf6c7ef36 - languageName: node - linkType: hard - "@csstools/postcss-alpha-function@npm:^1.0.1": version: 1.0.1 resolution: "@csstools/postcss-alpha-function@npm:1.0.1" @@ -3308,18 +3213,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-cascade-layers@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/postcss-cascade-layers@npm:1.1.1" - dependencies: - "@csstools/selector-specificity": ^2.0.2 - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 8ecd6a929e8ddee3ad0834ab5017f50a569817ba8490d152b11c705c13cf3d9701f74792f375cbd72d8f33a4eeaabb3f984f1514adf8c5a530eb91be70c14cf4 - languageName: node - linkType: hard - "@csstools/postcss-cascade-layers@npm:^5.0.2": version: 5.0.2 resolution: "@csstools/postcss-cascade-layers@npm:5.0.2" @@ -3347,18 +3240,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/postcss-color-function@npm:1.1.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 087595985ebcc2fc42013d6305185d4cdc842d87fb261185db905dc31eaa24fc23a7cc068fa3da814b3c8b98164107ddaf1b4ab24f4ff5b2a7b5fbcd4c6ceec9 - languageName: node - linkType: hard - "@csstools/postcss-color-function@npm:^4.0.12": version: 4.0.12 resolution: "@csstools/postcss-color-function@npm:4.0.12" @@ -3446,17 +3327,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-font-format-keywords@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-font-format-keywords@npm:1.0.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: ed8d9eab9793f0184e000709bcb155d4eb96c49a312e3ea9e549e006b74fd4aafac63cb9f9f01bec5b717a833539ff085c3f1ef7d273b97d587769ef637d50c1 - languageName: node - linkType: hard - "@csstools/postcss-font-format-keywords@npm:^4.0.0": version: 4.0.0 resolution: "@csstools/postcss-font-format-keywords@npm:4.0.0" @@ -3497,17 +3367,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^1.0.2": - version: 1.0.2 - resolution: "@csstools/postcss-hwb-function@npm:1.0.2" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 352ead754a692f7ed33a712c491012cab5c2f2946136a669a354237cfe8e6faca90c7389ee793cb329b9b0ddec984faa06d47e2f875933aaca417afff74ce6aa - languageName: node - linkType: hard - "@csstools/postcss-hwb-function@npm:^4.0.12": version: 4.0.12 resolution: "@csstools/postcss-hwb-function@npm:4.0.12" @@ -3523,18 +3382,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-ic-unit@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-ic-unit@npm:1.0.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 09c414c9b7762b5fbe837ff451d7a11e4890f1ed3c92edc3573f02f3d89747f6ac3f2270799b68a332bd7f5de05bb0dfffddb6323fc4020c2bea33ff58314533 - languageName: node - linkType: hard - "@csstools/postcss-ic-unit@npm:^4.0.4": version: 4.0.4 resolution: "@csstools/postcss-ic-unit@npm:4.0.4" @@ -3557,18 +3404,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-is-pseudo-class@npm:^2.0.7": - version: 2.0.7 - resolution: "@csstools/postcss-is-pseudo-class@npm:2.0.7" - dependencies: - "@csstools/selector-specificity": ^2.0.0 - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: a4494bb8e9a34826944ba6872c91c1e88268caab6d06968897f1a0cc75ca5cfc4989435961fc668a9c6842a6d17f4cda0055fa256d23e598b8bbc6f022956125 - languageName: node - linkType: hard - "@csstools/postcss-is-pseudo-class@npm:^5.0.3": version: 5.0.3 resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.3" @@ -3672,17 +3507,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-nested-calc@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-nested-calc@npm:1.0.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 53bb783dd61621c11c1e6e352f079577e2eb908de67947ceef31a178e070c06c223baae87acd5c3bd51c664515d2adc16166a129159168626111aff548583790 - languageName: node - linkType: hard - "@csstools/postcss-nested-calc@npm:^4.0.0": version: 4.0.0 resolution: "@csstools/postcss-nested-calc@npm:4.0.0" @@ -3695,17 +3519,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-normalize-display-values@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-normalize-display-values@npm:1.0.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 75901daec3869ba15e0adfd50d8e2e754ec06d55ac44fbd540748476388d223d53710fb3a3cbfe6695a2bab015a489fb47d9e3914ff211736923f8deb818dc0b - languageName: node - linkType: hard - "@csstools/postcss-normalize-display-values@npm:^4.0.1": version: 4.0.1 resolution: "@csstools/postcss-normalize-display-values@npm:4.0.1" @@ -3717,18 +3530,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/postcss-oklab-function@npm:1.1.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: d66b789060b37ed810450d9a7d8319a0ae14e913c091f3e0ee482b3471538762e801d5eae3d62fda2f1eb1e88c76786d2c2b06c1172166eba1cca5e2a0dc95f2 - languageName: node - linkType: hard - "@csstools/postcss-oklab-function@npm:^4.0.12": version: 4.0.12 resolution: "@csstools/postcss-oklab-function@npm:4.0.12" @@ -3753,17 +3554,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-progressive-custom-properties@npm:^1.1.0, @csstools/postcss-progressive-custom-properties@npm:^1.3.0": - version: 1.3.0 - resolution: "@csstools/postcss-progressive-custom-properties@npm:1.3.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.3 - checksum: e281845fde5b8a80d06ec20147bd74e96a9351bebbec5e5c3a6fb37ea30a597ff84172601786a8a270662f58f708b4a3bf8d822d6318023def9773d2f6589962 - languageName: node - linkType: hard - "@csstools/postcss-progressive-custom-properties@npm:^4.2.1": version: 4.2.1 resolution: "@csstools/postcss-progressive-custom-properties@npm:4.2.1" @@ -3839,17 +3629,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^1.0.1": - version: 1.0.1 - resolution: "@csstools/postcss-stepped-value-functions@npm:1.0.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 2fc88713a0d49d142010652be8139b00719e407df1173e46047284f1befd0647e1fff67f259f9f55ac3b46bba6462b21f0aa192bd10a2989c51a8ce0d25fc495 - languageName: node - linkType: hard - "@csstools/postcss-stepped-value-functions@npm:^4.0.9": version: 4.0.9 resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.9" @@ -3886,17 +3665,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-text-decoration-shorthand@npm:^1.0.0": - version: 1.0.0 - resolution: "@csstools/postcss-text-decoration-shorthand@npm:1.0.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: d27aaf97872c42bec9f6fde4d8bf924e89f7886f0aca8e4fc5aaf2f9083b09bb43dbbfa29124fa36fcdeb2d4d3e0459a095acf62188260cd1577e9811bb1276e - languageName: node - linkType: hard - "@csstools/postcss-text-decoration-shorthand@npm:^4.0.3": version: 4.0.3 resolution: "@csstools/postcss-text-decoration-shorthand@npm:4.0.3" @@ -3909,17 +3677,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^1.0.2": - version: 1.0.2 - resolution: "@csstools/postcss-trigonometric-functions@npm:1.0.2" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: f7f5b5f2492606b79a56f09e814ae8f10a2ae9e9c5fb8019f0e347a4a6c07953b2cc663fd4fa43a60e6994dfd958958f39df8ec760e2a646cfe71fe2bb119382 - languageName: node - linkType: hard - "@csstools/postcss-trigonometric-functions@npm:^4.0.9": version: 4.0.9 resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.9" @@ -3933,15 +3690,6 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-unset-value@npm:^1.0.2": - version: 1.0.2 - resolution: "@csstools/postcss-unset-value@npm:1.0.2" - peerDependencies: - postcss: ^8.2 - checksum: 3facdae154d6516ffd964f7582696f406465f11cf8dead503e0afdfecc99ebc25638ab2830affce4516131aa2db004458a235e439f575b04e9ef72ad82f55835 - languageName: node - linkType: hard - "@csstools/postcss-unset-value@npm:^4.0.0": version: 4.0.0 resolution: "@csstools/postcss-unset-value@npm:4.0.0" @@ -3960,15 +3708,6 @@ __metadata: languageName: node linkType: hard -"@csstools/selector-specificity@npm:^2.0.0, @csstools/selector-specificity@npm:^2.0.2": - version: 2.2.0 - resolution: "@csstools/selector-specificity@npm:2.2.0" - peerDependencies: - postcss-selector-parser: ^6.0.10 - checksum: 97c89f23b3b527d7bd51ed299969ed2b9fbb219a367948b44aefec228b8eda6ae0ad74fe8a82f9aac8ff32cfd00bb6d0c98d1daeab2e8fc6d5c4af25e5be5673 - languageName: node - linkType: hard - "@csstools/selector-specificity@npm:^5.0.0": version: 5.0.0 resolution: "@csstools/selector-specificity@npm:5.0.0" @@ -5024,7 +4763,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2, @eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2, @eslint-community/regexpp@npm:^4.4.0": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 1770bc81f676a72f65c7200b5675ff7a349786521f30e66125faaf767fde1ba1c19c3790e16ba8508a62a3933afcfc806a893858b3b5906faf693d862b9e4120 @@ -5058,23 +4797,6 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" - dependencies: - ajv: ^6.12.4 - debug: ^4.3.2 - espree: ^9.6.0 - globals: ^13.19.0 - ignore: ^5.2.0 - import-fresh: ^3.2.1 - js-yaml: ^4.1.0 - minimatch: ^3.1.2 - strip-json-comments: ^3.1.1 - checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 - languageName: node - linkType: hard - "@eslint/eslintrc@npm:^3.3.1": version: 3.3.3 resolution: "@eslint/eslintrc@npm:3.3.3" @@ -5092,13 +4814,6 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 2afb77454c06e8316793d2e8e79a0154854d35e6782a1217da274ca60b5044d2c69d6091155234ed0551a1e408f86f09dd4ece02752c59568fa403e60611e880 - languageName: node - linkType: hard - "@eslint/js@npm:9.36.0": version: 9.36.0 resolution: "@eslint/js@npm:9.36.0" @@ -5636,17 +5351,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" - dependencies: - "@humanwhocodes/object-schema": ^2.0.3 - debug: ^4.3.1 - minimatch: ^3.0.5 - checksum: eae69ff9134025dd2924f0b430eb324981494be26f0fddd267a33c28711c4db643242cf9fddf7dadb9d16c96b54b2d2c073e60a56477df86e0173149313bd5d6 - languageName: node - linkType: hard - "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" @@ -5654,13 +5358,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: d3b78f6c5831888c6ecc899df0d03bcc25d46f3ad26a11d7ea52944dc36a35ef543fad965322174238d677a43d5c694434f6607532cff7077062513ad7022631 - languageName: node - linkType: hard - "@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": version: 0.4.3 resolution: "@humanwhocodes/retry@npm:0.4.3" @@ -5982,34 +5679,6 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/console@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^27.5.1 - jest-util: ^27.5.1 - slash: ^3.0.0 - checksum: 7cb20f06a34b09734c0342685ec53aa4c401fe3757c13a9c58fce76b971a322eb884f6de1068ef96f746e5398e067371b89515a07c268d4440a867c87748a706 - languageName: node - linkType: hard - -"@jest/console@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/console@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 - slash: ^3.0.0 - checksum: fe50d98d26d02ce2901c76dff4bd5429a33c13affb692c9ebf8a578ca2f38a5dd854363d40d6c394f215150791fd1f692afd8e730a4178dda24107c8dfd9750a - languageName: node - linkType: hard - "@jest/console@npm:^29.7.0": version: 29.7.0 resolution: "@jest/console@npm:29.7.0" @@ -6065,47 +5734,6 @@ __metadata: languageName: node linkType: hard -"@jest/core@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/core@npm:27.5.1" - dependencies: - "@jest/console": ^27.5.1 - "@jest/reporters": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - emittery: ^0.8.1 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - jest-changed-files: ^27.5.1 - jest-config: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-message-util: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-resolve-dependencies: ^27.5.1 - jest-runner: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - jest-watcher: ^27.5.1 - micromatch: ^4.0.4 - rimraf: ^3.0.0 - slash: ^3.0.0 - strip-ansi: ^6.0.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 904a94ad8f1b43cd6b48de3b0226659bff3696150ff8cf7680fc2faffdc8a115203bb9ab6e817c1f79f9d6a81f67953053cbc64d8a4604f2e0c42a04c28cf126 - languageName: node - linkType: hard - "@jest/core@npm:^29.7.0": version: 29.7.0 resolution: "@jest/core@npm:29.7.0" @@ -6170,27 +5798,36 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:30.0.0": +"@jest/environment-jsdom-abstract@npm:30.0.0": version: 30.0.0 - resolution: "@jest/environment@npm:30.0.0" + resolution: "@jest/environment-jsdom-abstract@npm:30.0.0" dependencies: + "@jest/environment": 30.0.0 "@jest/fake-timers": 30.0.0 "@jest/types": 30.0.0 + "@types/jsdom": ^21.1.7 "@types/node": "*" jest-mock: 30.0.0 - checksum: af55672d887c3b77bd0a7c39cdccca2f3c1cb942f64501e0e04ac55cd7ad7baea35ecbb65b6f44e6b081d2c4ed02a82ddedba6a8064ee85e189fcdbfc6426991 + jest-util: 30.0.0 + peerDependencies: + canvas: ^3.0.0 + jsdom: "*" + peerDependenciesMeta: + canvas: + optional: true + checksum: 2059eb46d65aa4c35c7680de34ae5a7240e38e9903836b0674cf83be40e18ec720ed65116d199b45aa8b029f420588240e513416e4f07df77ccd062d7c682185 languageName: node linkType: hard -"@jest/environment@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/environment@npm:27.5.1" +"@jest/environment@npm:30.0.0": + version: 30.0.0 + resolution: "@jest/environment@npm:30.0.0" dependencies: - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/fake-timers": 30.0.0 + "@jest/types": 30.0.0 "@types/node": "*" - jest-mock: ^27.5.1 - checksum: 2a9e18c35a015508dbec5b90b21c150230fa6c1c8cb8fabe029d46ee2ca4c40eb832fb636157da14c66590d0a4c8a2c053226b041f54a44507d6f6a89abefd66 + jest-mock: 30.0.0 + checksum: af55672d887c3b77bd0a7c39cdccca2f3c1cb942f64501e0e04ac55cd7ad7baea35ecbb65b6f44e6b081d2c4ed02a82ddedba6a8064ee85e189fcdbfc6426991 languageName: node linkType: hard @@ -6267,20 +5904,6 @@ __metadata: languageName: node linkType: hard -"@jest/fake-timers@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/fake-timers@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@sinonjs/fake-timers": ^8.0.1 - "@types/node": "*" - jest-message-util: ^27.5.1 - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - checksum: 02a0561ed2f4586093facd4ae500b74694f187ac24d4a00e949a39a1c5325bca8932b4fcb0388a2c5ed0656506fc1cf51fd3e32cdd48cea7497ad9c6e028aba8 - languageName: node - linkType: hard - "@jest/fake-timers@npm:^29.7.0": version: 29.7.0 resolution: "@jest/fake-timers@npm:29.7.0" @@ -6321,17 +5944,6 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/globals@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/types": ^27.5.1 - expect: ^27.5.1 - checksum: 087f97047e9dcf555f76fe2ce54aee681e005eaa837a0c0c2d251df6b6412c892c9df54cb871b180342114389a5ff895a4e52e6e6d3d0015bf83c02a54f64c3c - languageName: node - linkType: hard - "@jest/globals@npm:^29.7.0": version: 29.7.0 resolution: "@jest/globals@npm:29.7.0" @@ -6400,44 +6012,6 @@ __metadata: languageName: node linkType: hard -"@jest/reporters@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/reporters@npm:27.5.1" - dependencies: - "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - collect-v8-coverage: ^1.0.0 - exit: ^0.1.2 - glob: ^7.1.2 - graceful-fs: ^4.2.9 - istanbul-lib-coverage: ^3.0.0 - istanbul-lib-instrument: ^5.1.0 - istanbul-lib-report: ^3.0.0 - istanbul-lib-source-maps: ^4.0.0 - istanbul-reports: ^3.1.3 - jest-haste-map: ^27.5.1 - jest-resolve: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 - slash: ^3.0.0 - source-map: ^0.6.0 - string-length: ^4.0.1 - terminal-link: ^2.0.0 - v8-to-istanbul: ^8.1.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: faba5eafb86e62b62e152cafc8812d56308f9d1e8b77f3a7dcae4a8803a20a60a0909cc43ed73363ef649bf558e4fb181c7a336d144c89f7998279d1882bb69e - languageName: node - linkType: hard - "@jest/reporters@npm:^29.7.0": version: 29.7.0 resolution: "@jest/reporters@npm:29.7.0" @@ -6493,15 +6067,6 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/schemas@npm:28.1.3" - dependencies: - "@sinclair/typebox": ^0.24.1 - checksum: 3cf1d4b66c9c4ffda58b246de1ddcba8e6ad085af63dccdf07922511f13b68c0cc480a7bc620cb4f3099a6f134801c747e1df7bfc7a4ef4dceefbdea3e31e1de - languageName: node - linkType: hard - "@jest/schemas@npm:^29.6.3": version: 29.6.3 resolution: "@jest/schemas@npm:29.6.3" @@ -6534,17 +6099,6 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/source-map@npm:27.5.1" - dependencies: - callsites: ^3.0.0 - graceful-fs: ^4.2.9 - source-map: ^0.6.0 - checksum: 4fb1e743b602841babf7e22bd84eca34676cb05d4eb3b604cae57fc59e406099f5ac759ac1a0d04d901237d143f0f4f234417306e823bde732a1d19982230862 - languageName: node - linkType: hard - "@jest/source-map@npm:^29.6.3": version: 29.6.3 resolution: "@jest/source-map@npm:29.6.3" @@ -6568,30 +6122,6 @@ __metadata: languageName: node linkType: hard -"@jest/test-result@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/test-result@npm:27.5.1" - dependencies: - "@jest/console": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: 338f7c509d6a3bc6d7dd7388c8f6f548b87638e171dc1fddfedcacb4e8950583288832223ba688058cbcf874b937d22bdc0fa88f79f5fc666f77957e465c06a5 - languageName: node - linkType: hard - -"@jest/test-result@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/test-result@npm:28.1.3" - dependencies: - "@jest/console": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: 957a5dd2fd2e84aabe86698f93c0825e96128ccaa23abf548b159a9b08ac74e4bde7acf4bec48479243dbdb27e4ea1b68c171846d21fb64855c6b55cead9ef27 - languageName: node - linkType: hard - "@jest/test-result@npm:^29.7.0": version: 29.7.0 resolution: "@jest/test-result@npm:29.7.0" @@ -6616,18 +6146,6 @@ __metadata: languageName: node linkType: hard -"@jest/test-sequencer@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/test-sequencer@npm:27.5.1" - dependencies: - "@jest/test-result": ^27.5.1 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-runtime: ^27.5.1 - checksum: f21f9c8bb746847f7f89accfd29d6046eec1446f0b54e4694444feaa4df379791f76ef0f5a4360aafcbc73b50bc979f68b8a7620de404019d3de166be6720cb0 - languageName: node - linkType: hard - "@jest/test-sequencer@npm:^29.7.0": version: 29.7.0 resolution: "@jest/test-sequencer@npm:29.7.0" @@ -6663,29 +6181,6 @@ __metadata: languageName: node linkType: hard -"@jest/transform@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/transform@npm:27.5.1" - dependencies: - "@babel/core": ^7.1.0 - "@jest/types": ^27.5.1 - babel-plugin-istanbul: ^6.1.1 - chalk: ^4.0.0 - convert-source-map: ^1.4.0 - fast-json-stable-stringify: ^2.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-util: ^27.5.1 - micromatch: ^4.0.4 - pirates: ^4.0.4 - slash: ^3.0.0 - source-map: ^0.6.1 - write-file-atomic: ^3.0.0 - checksum: a22079121aedea0f20a03a9c026be971f7b92adbfb4d5fd1fb67be315741deac4f056936d7c72a53b24aa5a1071bc942c003925fd453bf3f6a0ae5da6384e137 - languageName: node - linkType: hard - "@jest/transform@npm:^29.7.0": version: 29.7.0 resolution: "@jest/transform@npm:29.7.0" @@ -6752,33 +6247,6 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/types@npm:27.5.1" - dependencies: - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^16.0.0 - chalk: ^4.0.0 - checksum: d1f43cc946d87543ddd79d49547aab2399481d34025d5c5f2025d3d99c573e1d9832fa83cef25e9d9b07a8583500229d15bbb07b8e233d127d911d133e2f14b1 - languageName: node - linkType: hard - -"@jest/types@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/types@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 1e258d9c063fcf59ebc91e46d5ea5984674ac7ae6cae3e50aa780d22b4405bf2c925f40350bf30013839eb5d4b5e521d956ddf8f3b7c78debef0e75a07f57350 - languageName: node - linkType: hard - "@jest/types@npm:^29.6.3": version: 29.6.3 resolution: "@jest/types@npm:29.6.3" @@ -7267,7 +6735,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -8009,43 +7477,6 @@ __metadata: languageName: node linkType: hard -"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.3": - version: 0.5.17 - resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.17" - dependencies: - ansi-html: ^0.0.9 - core-js-pure: ^3.23.3 - error-stack-parser: ^2.0.6 - html-entities: ^2.1.0 - loader-utils: ^2.0.4 - schema-utils: ^4.2.0 - source-map: ^0.7.3 - peerDependencies: - "@types/webpack": 4.x || 5.x - react-refresh: ">=0.10.0 <1.0.0" - sockjs-client: ^1.4.0 - type-fest: ">=0.17.0 <5.0.0" - webpack: ">=4.43.0 <6.0.0" - webpack-dev-server: 3.x || 4.x || 5.x - webpack-hot-middleware: 2.x - webpack-plugin-serve: 0.x || 1.x - peerDependenciesMeta: - "@types/webpack": - optional: true - sockjs-client: - optional: true - type-fest: - optional: true - webpack-dev-server: - optional: true - webpack-hot-middleware: - optional: true - webpack-plugin-serve: - optional: true - checksum: ff80b5064f6acba52f18e240dc0a402c5f0980402fd4e5a212a69b9ad6ad76294b4e0f4a78f356cab17b53b88995c6e4dd0b54e6f07c28c2a307cb8bf61fa88f - languageName: node - linkType: hard - "@pnpm/config.env-replace@npm:^1.1.0": version: 1.1.0 resolution: "@pnpm/config.env-replace@npm:1.1.0" @@ -9437,64 +8868,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-babel@npm:^5.2.0": - version: 5.3.1 - resolution: "@rollup/plugin-babel@npm:5.3.1" - dependencies: - "@babel/helper-module-imports": ^7.10.4 - "@rollup/pluginutils": ^3.1.0 - peerDependencies: - "@babel/core": ^7.0.0 - "@types/babel__core": ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - "@types/babel__core": - optional: true - checksum: 220d71e4647330f252ef33d5f29700aef2e8284a0b61acfcceb47617a7f96208aa1ed16eae75619424bf08811ede5241e271a6d031f07026dee6b3a2bdcdc638 - languageName: node - linkType: hard - -"@rollup/plugin-node-resolve@npm:^11.2.1": - version: 11.2.1 - resolution: "@rollup/plugin-node-resolve@npm:11.2.1" - dependencies: - "@rollup/pluginutils": ^3.1.0 - "@types/resolve": 1.17.1 - builtin-modules: ^3.1.0 - deepmerge: ^4.2.2 - is-module: ^1.0.0 - resolve: ^1.19.0 - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 6f3b3ecf9a0596a5db4212984bdeb13bb7612693602407e9457ada075dea5a5f2e4e124c592352cf27066a88b194de9b9a95390149b52cf335d5b5e17b4e265b - languageName: node - linkType: hard - -"@rollup/plugin-replace@npm:^2.4.1": - version: 2.4.2 - resolution: "@rollup/plugin-replace@npm:2.4.2" - dependencies: - "@rollup/pluginutils": ^3.1.0 - magic-string: ^0.25.7 - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - checksum: b2f1618ee5526d288e2f8ae328dcb326e20e8dc8bd1f60d3e14d6708a5832e4aa44811f7d493f4aed2deeadca86e3b6b0503cd39bf50cfb4b595bb9da027fad0 - languageName: node - linkType: hard - -"@rollup/pluginutils@npm:^3.1.0": - version: 3.1.0 - resolution: "@rollup/pluginutils@npm:3.1.0" - dependencies: - "@types/estree": 0.0.39 - estree-walker: ^1.0.1 - picomatch: ^2.2.2 - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 8be16e27863c219edbb25a4e6ec2fe0e1e451d9e917b6a43cf2ae5bc025a6b8faaa40f82a6e53b66d0de37b58ff472c6c3d57a83037ae635041f8df959d6d9aa - languageName: node - linkType: hard - "@rtsao/scc@npm:^1.1.0": version: 1.1.0 resolution: "@rtsao/scc@npm:1.1.0" @@ -9502,13 +8875,6 @@ __metadata: languageName: node linkType: hard -"@rushstack/eslint-patch@npm:^1.1.0": - version: 1.15.0 - resolution: "@rushstack/eslint-patch@npm:1.15.0" - checksum: 0b3f5951e66dabcaf5db4c1db789e1031701819caa69e09f8935cdd4aa0a41649936c2b2a5da795d79e5f56b8b6753b6e20bcfdf9343d4fb27a274a9566d7417 - languageName: node - linkType: hard - "@sec-ant/readable-stream@npm:^0.4.1": version: 0.4.1 resolution: "@sec-ant/readable-stream@npm:0.4.1" @@ -9690,6 +9056,7 @@ __metadata: "@types/jest": 30.0.0 "@types/pngjs": 6.0.1 "@types/react": ^19.0.0 + "@types/react-dom": ^19.0.0 "@types/react-reconciler": 0.28.9 "@types/ws": 8.5.3 canvaskit-wasm: 0.41.0 @@ -9699,10 +9066,12 @@ __metadata: eslint-plugin-react-hooks: ^5.2.0 jest: 30.0.0 jest-diff: 29.7.0 + jest-environment-jsdom: 30.0.0 merge-dirs: 0.2.1 pngjs: 6.0.0 prettier: 2.8.7 react: 19.0.0 + react-dom: 19.0.0 react-native: 0.83.1 react-native-builder-bob: 0.18.2 react-native-reanimated: 4.3.1 @@ -9815,13 +9184,6 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.24.1": - version: 0.24.51 - resolution: "@sinclair/typebox@npm:0.24.51" - checksum: fd0d855e748ef767eb19da1a60ed0ab928e91e0f358c1dd198d600762c0015440b15755e96d1176e2a0db7e09c6a64ed487828ee10dd0c3e22f61eb09c478cd0 - languageName: node - linkType: hard - "@sinclair/typebox@npm:^0.27.8": version: 0.27.8 resolution: "@sinclair/typebox@npm:0.27.8" @@ -9864,15 +9226,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^1.7.0": - version: 1.8.6 - resolution: "@sinonjs/commons@npm:1.8.6" - dependencies: - type-detect: 4.0.8 - checksum: 7d3f8c1e85f30cd4e83594fc19b7a657f14d49eb8d95a30095631ce15e906c869e0eff96c5b93dffea7490c00418b07f54582ba49c6560feb2a8c34c0b16832d - languageName: node - linkType: hard - "@sinonjs/commons@npm:^3.0.0, @sinonjs/commons@npm:^3.0.1": version: 3.0.1 resolution: "@sinonjs/commons@npm:3.0.1" @@ -9900,15 +9253,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^8.0.1": - version: 8.1.0 - resolution: "@sinonjs/fake-timers@npm:8.1.0" - dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: 09b5a158ce013a6c37613258bad79ca4efeb99b1f59c41c73cca36cac00b258aefcf46eeea970fccf06b989414d86fe9f54c1102272c0c3bdd51a313cea80949 - languageName: node - linkType: hard - "@slorber/remark-comment@npm:^1.0.0": version: 1.0.0 resolution: "@slorber/remark-comment@npm:1.0.0" @@ -9920,18 +9264,6 @@ __metadata: languageName: node linkType: hard -"@surma/rollup-plugin-off-main-thread@npm:^2.2.3": - version: 2.2.3 - resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3" - dependencies: - ejs: ^3.1.6 - json5: ^2.2.0 - magic-string: ^0.25.0 - string.prototype.matchall: ^4.0.6 - checksum: 2c021349442e2e2cec96bb50fd82ec8bf8514d909bc73594f6cfc89b3b68f2feed909a8161d7d307d9455585c97e6b66853ce334db432626c7596836d4549c0c - languageName: node - linkType: hard - "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": version: 8.0.0 resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" @@ -10248,13 +9580,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 - languageName: node - linkType: hard - "@trysound/sax@npm:0.2.0": version: 0.2.0 resolution: "@trysound/sax@npm:0.2.0" @@ -10376,7 +9701,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": +"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -10408,7 +9733,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": version: 7.28.0 resolution: "@types/babel__traverse@npm:7.28.0" dependencies: @@ -10427,7 +9752,7 @@ __metadata: languageName: node linkType: hard -"@types/bonjour@npm:^3.5.13, @types/bonjour@npm:^3.5.9": +"@types/bonjour@npm:^3.5.13": version: 3.5.13 resolution: "@types/bonjour@npm:3.5.13" dependencies: @@ -10479,7 +9804,7 @@ __metadata: languageName: node linkType: hard -"@types/connect-history-api-fallback@npm:^1.3.5, @types/connect-history-api-fallback@npm:^1.5.4": +"@types/connect-history-api-fallback@npm:^1.5.4": version: 1.5.4 resolution: "@types/connect-history-api-fallback@npm:1.5.4" dependencies: @@ -10527,16 +9852,6 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:^7.29.0 || ^8.4.1": - version: 8.56.12 - resolution: "@types/eslint@npm:8.56.12" - dependencies: - "@types/estree": "*" - "@types/json-schema": "*" - checksum: 0f7710ee02a256c499514251f527f84de964bb29487db840408e4cde79283124a38935597636d2265756c34dd1d902e1b00ae78930d4a0b55111909cb7b80d84 - languageName: node - linkType: hard - "@types/estree-jsx@npm:^1.0.0": version: 1.0.5 resolution: "@types/estree-jsx@npm:1.0.5" @@ -10553,13 +9868,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:0.0.39": - version: 0.0.39 - resolution: "@types/estree@npm:0.0.39" - checksum: 412fb5b9868f2c418126451821833414189b75cc6bf84361156feed733e3d92ec220b9d74a89e52722e03d5e241b2932732711b7497374a404fad49087adc248 - languageName: node - linkType: hard - "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": version: 5.1.1 resolution: "@types/express-serve-static-core@npm:5.1.1" @@ -10595,7 +9903,7 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:^4.17.13, @types/express@npm:^4.17.25": +"@types/express@npm:^4.17.25": version: 4.17.25 resolution: "@types/express@npm:4.17.25" dependencies: @@ -10607,7 +9915,7 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.2, @types/graceful-fs@npm:^4.1.3": +"@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" dependencies: @@ -10721,7 +10029,18 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/jsdom@npm:^21.1.7": + version: 21.1.7 + resolution: "@types/jsdom@npm:21.1.7" + dependencies: + "@types/node": "*" + "@types/tough-cookie": "*" + parse5: ^7.0.0 + checksum: b7465d5a471ed4e68a54e2639c534d364134674598687be69645736731215e7407fe37a4af66dc616ef03be9c5515cb355df2eda5c8080146c05bd569ea8810d + languageName: node + linkType: hard + +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 @@ -10806,13 +10125,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^16.18.0": - version: 16.18.126 - resolution: "@types/node@npm:16.18.126" - checksum: 86112e7499f8a4d1bb60696cab0bf464adf3c141fca4bc5451e8f3aba5736529b76d4b4396edb21e5d7c19592852f7d6cb81ee70074fd13bde2db2d0db720467 - languageName: node - linkType: hard - "@types/node@npm:^17.0.5": version: 17.0.45 resolution: "@types/node@npm:17.0.45" @@ -10859,13 +10171,6 @@ __metadata: languageName: node linkType: hard -"@types/prettier@npm:^2.1.5": - version: 2.7.3 - resolution: "@types/prettier@npm:2.7.3" - checksum: 705384209cea6d1433ff6c187c80dcc0b95d99d5c5ce21a46a9a58060c527973506822e428789d842761e0280d25e3359300f017fbe77b9755bc772ab3dc2f83 - languageName: node - linkType: hard - "@types/prismjs@npm:^1.26.0": version: 1.26.5 resolution: "@types/prismjs@npm:1.26.5" @@ -10972,22 +10277,6 @@ __metadata: languageName: node linkType: hard -"@types/resolve@npm:1.17.1": - version: 1.17.1 - resolution: "@types/resolve@npm:1.17.1" - dependencies: - "@types/node": "*" - checksum: dc6a6df507656004e242dcb02c784479deca516d5f4b58a1707e708022b269ae147e1da0521f3e8ad0d63638869d87e0adc023f0bd5454aa6f72ac66c7525cf5 - languageName: node - linkType: hard - -"@types/retry@npm:0.12.0": - version: 0.12.0 - resolution: "@types/retry@npm:0.12.0" - checksum: 61a072c7639f6e8126588bf1eb1ce8835f2cb9c2aba795c4491cf6310e013267b0c8488039857c261c387e9728c1b43205099223f160bb6a76b4374f741b5603 - languageName: node - linkType: hard - "@types/retry@npm:0.12.2": version: 0.12.2 resolution: "@types/retry@npm:0.12.2" @@ -11030,7 +10319,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-index@npm:^1.9.1, @types/serve-index@npm:^1.9.4": +"@types/serve-index@npm:^1.9.4": version: 1.9.4 resolution: "@types/serve-index@npm:1.9.4" dependencies: @@ -11039,7 +10328,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-static@npm:^1, @types/serve-static@npm:^1.13.10, @types/serve-static@npm:^1.15.5": +"@types/serve-static@npm:^1, @types/serve-static@npm:^1.15.5": version: 1.15.10 resolution: "@types/serve-static@npm:1.15.10" dependencies: @@ -11060,7 +10349,7 @@ __metadata: languageName: node linkType: hard -"@types/sockjs@npm:^0.3.33, @types/sockjs@npm:^0.3.36": +"@types/sockjs@npm:^0.3.36": version: 0.3.36 resolution: "@types/sockjs@npm:0.3.36" dependencies: @@ -11076,10 +10365,10 @@ __metadata: languageName: node linkType: hard -"@types/trusted-types@npm:^2.0.2": - version: 2.0.7 - resolution: "@types/trusted-types@npm:2.0.7" - checksum: 8e4202766a65877efcf5d5a41b7dd458480b36195e580a3b1085ad21e948bc417d55d6f8af1fd2a7ad008015d4117d5fdfe432731157da3c68678487174e4ba3 +"@types/tough-cookie@npm:*": + version: 4.0.5 + resolution: "@types/tough-cookie@npm:4.0.5" + checksum: f19409d0190b179331586365912920d192733112a195e870c7f18d20ac8adb7ad0b0ff69dad430dba8bc2be09593453a719cfea92dc3bda19748fd158fe1498d languageName: node linkType: hard @@ -11113,7 +10402,7 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:^8.5.10, @types/ws@npm:^8.5.5": +"@types/ws@npm:^8.5.10": version: 8.18.1 resolution: "@types/ws@npm:8.18.1" dependencies: @@ -11138,15 +10427,6 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^16.0.0": - version: 16.0.11 - resolution: "@types/yargs@npm:16.0.11" - dependencies: - "@types/yargs-parser": "*" - checksum: d172a63bb046d6ca5dd944a6490789103db288d5b4c78cd0a79f4c1c63718df58d3fd9d1987e57721a58dfc8270a2018b1e93565f930347d41ec15416f3075d9 - languageName: node - linkType: hard - "@types/yargs@npm:^17.0.33, @types/yargs@npm:^17.0.8": version: 17.0.35 resolution: "@types/yargs@npm:17.0.35" @@ -11165,7 +10445,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.0.0, @typescript-eslint/eslint-plugin@npm:^5.30.5, @typescript-eslint/eslint-plugin@npm:^5.5.0": +"@typescript-eslint/eslint-plugin@npm:^5.30.5": version: 5.62.0 resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" dependencies: @@ -11209,18 +10489,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.62.0 - resolution: "@typescript-eslint/experimental-utils@npm:5.62.0" - dependencies: - "@typescript-eslint/utils": 5.62.0 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: ce55d9f74eac5cb94d66d5db9ead9a5d734f4301519fb5956a57f4b405a5318a115b0316195a3c039e0111489138680411709cb769085d71e1e1db1376ea0949 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^5.0.0, @typescript-eslint/parser@npm:^5.30.5, @typescript-eslint/parser@npm:^5.5.0": +"@typescript-eslint/parser@npm:^5.30.5": version: 5.62.0 resolution: "@typescript-eslint/parser@npm:5.62.0" dependencies: @@ -11379,7 +10648,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.10.0, @typescript-eslint/utils@npm:^5.58.0": +"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" dependencies: @@ -11461,7 +10730,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0, @ungap/structured-clone@npm:^1.3.0": +"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.3.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" checksum: 64ed518f49c2b31f5b50f8570a1e37bde3b62f2460042c50f132430b2d869c4a6586f13aa33a58a4722715b8158c68cae2827389d6752ac54da2893c83e480fc @@ -11819,13 +11088,6 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.3, abab@npm:^2.0.5": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e - languageName: node - linkType: hard - "abbrev@npm:^3.0.0, abbrev@npm:^3.0.1": version: 3.0.1 resolution: "abbrev@npm:3.0.1" @@ -11866,16 +11128,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 - languageName: node - linkType: hard - "acorn-import-phases@npm:^1.0.3": version: 1.0.4 resolution: "acorn-import-phases@npm:1.0.4" @@ -11894,13 +11146,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.1.1": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f - languageName: node - linkType: hard - "acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1": version: 8.3.4 resolution: "acorn-walk@npm:8.3.4" @@ -11910,16 +11155,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.1.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" - bin: - acorn: bin/acorn - checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 - languageName: node - linkType: hard - -"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.15.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.15.0, acorn@npm:^8.4.1": version: 8.15.0 resolution: "acorn@npm:8.15.0" bin: @@ -11935,23 +11171,13 @@ __metadata: languageName: node linkType: hard -"address@npm:^1.0.1, address@npm:^1.1.2": +"address@npm:^1.0.1": version: 1.2.2 resolution: "address@npm:1.2.2" checksum: ace439960c1e3564d8f523aff23a841904bf33a2a7c2e064f7f60a064194075758b9690e65bd9785692a4ef698a998c57eb74d145881a1cecab8ba658ddb1607 languageName: node linkType: hard -"adjust-sourcemap-loader@npm:^4.0.0": - version: 4.0.0 - resolution: "adjust-sourcemap-loader@npm:4.0.0" - dependencies: - loader-utils: ^2.0.0 - regex-parser: ^2.2.11 - checksum: d524ae23582f41e2275af5d88faab7a9dc09770ed588244e0a76d3196d0d6a90bf02760c71bc6213dbfef3aef4a86232ac9521bfd629752c32b7af37bc74c660 - languageName: node - linkType: hard - "agent-base@npm:6": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -12002,7 +11228,7 @@ __metadata: languageName: node linkType: hard -"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": +"ajv-keywords@npm:^3.5.2": version: 3.5.2 resolution: "ajv-keywords@npm:3.5.2" peerDependencies: @@ -12034,7 +11260,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -12046,7 +11272,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.6.0, ajv@npm:^8.9.0": +"ajv@npm:^8.0.0, ajv@npm:^8.9.0": version: 8.17.1 resolution: "ajv@npm:8.17.1" dependencies: @@ -12114,7 +11340,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.1, ansi-escapes@npm:^4.3.2": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -12152,15 +11378,6 @@ __metadata: languageName: node linkType: hard -"ansi-html@npm:^0.0.9": - version: 0.0.9 - resolution: "ansi-html@npm:0.0.9" - bin: - ansi-html: bin/ansi-html - checksum: a03754d6f66bae33938ed8bb3dd98174b7f4895ebe45226185036ed4a1388a7aaf2f2b9581608f0626432ba7add92cfc590aa6475a78bbb90d9d1e1d1af8cbe6 - languageName: node - linkType: hard - "ansi-regex@npm:^2.0.0": version: 2.1.1 resolution: "ansi-regex@npm:2.1.1" @@ -12317,13 +11534,6 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:^5.3.2": - version: 5.3.2 - resolution: "aria-query@npm:5.3.2" - checksum: d971175c85c10df0f6d14adfe6f1292409196114ab3c62f238e208b53103686f46cc70695a4f775b73bc65f6a09b6a092fd963c4f3a5a7d690c8fc5094925717 - languageName: node - linkType: hard - "array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": version: 1.0.2 resolution: "array-buffer-byte-length@npm:1.0.2" @@ -12428,7 +11638,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2, array.prototype.flatmap@npm:^1.3.3": +"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.3": version: 1.3.3 resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: @@ -12491,17 +11701,6 @@ __metadata: languageName: node linkType: hard -"asn1.js@npm:^4.10.1": - version: 4.10.1 - resolution: "asn1.js@npm:4.10.1" - dependencies: - bn.js: ^4.0.0 - inherits: ^2.0.1 - minimalistic-assert: ^1.0.0 - checksum: 9289a1a55401238755e3142511d7b8f6fc32f08c86ff68bd7100da8b6c186179dd6b14234fba2f7f6099afcd6758a816708485efe44bc5b2a6ec87d9ceeddbb5 - languageName: node - linkType: hard - "asn1@npm:^0.2.4": version: 0.2.6 resolution: "asn1@npm:0.2.6" @@ -12522,26 +11721,6 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.0.0": - version: 2.1.0 - resolution: "assert@npm:2.1.0" - dependencies: - call-bind: ^1.0.2 - is-nan: ^1.3.2 - object-is: ^1.1.5 - object.assign: ^4.1.4 - util: ^0.12.5 - checksum: 1ed1cabba9abe55f4109b3f7292b4e4f3cf2953aad8dc148c0b3c3bd676675c31b1abb32ef563b7d5a19d1715bf90d1e5f09fad2a4ee655199468902da80f7c2 - languageName: node - linkType: hard - -"ast-types-flow@npm:^0.0.8": - version: 0.0.8 - resolution: "ast-types-flow@npm:0.0.8" - checksum: 0a64706609a179233aac23817837abab614f3548c252a2d3d79ea1e10c74aa28a0846e11f466cf72771b6ed8713abc094dcf8c40c3ec4207da163efa525a94a8 - languageName: node - linkType: hard - "ast-types@npm:0.15.2": version: 0.15.2 resolution: "ast-types@npm:0.15.2" @@ -12625,7 +11804,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.12, autoprefixer@npm:^10.4.13, autoprefixer@npm:^10.4.19, autoprefixer@npm:^10.4.23": +"autoprefixer@npm:^10.4.19, autoprefixer@npm:^10.4.23": version: 10.4.23 resolution: "autoprefixer@npm:10.4.23" dependencies: @@ -12651,20 +11830,6 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.10.0": - version: 4.11.1 - resolution: "axe-core@npm:4.11.1" - checksum: 92b3c79af3695bcebac0e7f3f90f4bc11d2b39ccdc670937290e8dacbc943473713cc06b771dea0563c66d57d93d940ed89e082bfdecccf9dd70782d4bb243c0 - languageName: node - linkType: hard - -"axobject-query@npm:^4.1.0": - version: 4.1.0 - resolution: "axobject-query@npm:4.1.0" - checksum: 7d1e87bf0aa7ae7a76cd39ab627b7c48fda3dc40181303d9adce4ba1d5b5ce73b5e5403ee6626ec8e91090448c887294d6144e24b6741a976f5be9347e3ae1df - languageName: node - linkType: hard - "b4a@npm:^1.6.4": version: 1.8.0 resolution: "b4a@npm:1.8.0" @@ -12703,24 +11868,6 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^27.4.2, babel-jest@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-jest@npm:27.5.1" - dependencies: - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/babel__core": ^7.1.14 - babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^27.5.1 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - slash: ^3.0.0 - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 4e93e6e9fb996cc5f1505e924eb8e8cc7b25c294ba9629762a2715390f48af6a4c14dbb84cd9730013ac0e03267a5a9aa2fb6318c544489cda7f50f4e506def4 - languageName: node - linkType: hard - "babel-jest@npm:^29.3.1, babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" @@ -12738,21 +11885,6 @@ __metadata: languageName: node linkType: hard -"babel-loader@npm:^8.2.3": - version: 8.4.1 - resolution: "babel-loader@npm:8.4.1" - dependencies: - find-cache-dir: ^3.3.1 - loader-utils: ^2.0.4 - make-dir: ^3.1.0 - schema-utils: ^2.6.5 - peerDependencies: - "@babel/core": ^7.0.0 - webpack: ">=2" - checksum: fa02db1a7d3ebb7b4aab83e926fb51e627a00427943c9dd1b3302c8099c67fa6a242a2adeed37d95abcd39ba619edf558a1dec369ce0849c5a87dc290c90fe2f - languageName: node - linkType: hard - "babel-loader@npm:^9.2.1": version: 9.2.1 resolution: "babel-loader@npm:9.2.1" @@ -12812,18 +11944,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-plugin-jest-hoist@npm:27.5.1" - dependencies: - "@babel/template": ^7.3.3 - "@babel/types": ^7.3.3 - "@types/babel__core": ^7.0.0 - "@types/babel__traverse": ^7.0.6 - checksum: 709c17727aa8fd3be755d256fb514bf945a5c2ea6017f037d80280fc44ae5fe7dfeebf63d8412df53796455c2c216119d628d8cc90b099434fd819005943d058 - languageName: node - linkType: hard - "babel-plugin-jest-hoist@npm:^29.6.3": version: 29.6.3 resolution: "babel-plugin-jest-hoist@npm:29.6.3" @@ -12836,26 +11956,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-macros@npm:^3.1.0": - version: 3.1.0 - resolution: "babel-plugin-macros@npm:3.1.0" - dependencies: - "@babel/runtime": ^7.12.5 - cosmiconfig: ^7.0.0 - resolve: ^1.19.0 - checksum: 765de4abebd3e4688ebdfbff8571ddc8cd8061f839bb6c3e550b0344a4027b04c60491f843296ce3f3379fb356cc873d57a9ee6694262547eb822c14a25be9a6 - languageName: node - linkType: hard - -"babel-plugin-named-asset-import@npm:^0.3.8": - version: 0.3.8 - resolution: "babel-plugin-named-asset-import@npm:0.3.8" - peerDependencies: - "@babel/core": ^7.1.0 - checksum: d1e58df8cb75d91d070feea31087bc989906d3465144bde7e9f3c3690b514a90a55d3aebf3e65e76c5d4c743ecedde5f640f09f43a21fa60f1a5d413cb3f7a67 - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.4.14": version: 0.4.15 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.15" @@ -12962,13 +12062,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-transform-react-remove-prop-types@npm:^0.4.24": - version: 0.4.24 - resolution: "babel-plugin-transform-react-remove-prop-types@npm:0.4.24" - checksum: 54afe56d67f0d118c9da23996f39948e502a152b3f582eb6e8f163fcb76c2c1ea4e0cdd4f9fac5c0ef050eab4fe0a950b0b74aae6237bcc0d31d8fc4cc808d1a - languageName: node - linkType: hard - "babel-preset-current-node-syntax@npm:^1.0.0, babel-preset-current-node-syntax@npm:^1.1.0": version: 1.2.0 resolution: "babel-preset-current-node-syntax@npm:1.2.0" @@ -13006,18 +12099,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-preset-jest@npm:27.5.1" - dependencies: - babel-plugin-jest-hoist: ^27.5.1 - babel-preset-current-node-syntax: ^1.0.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 251bcea11c18fd9672fec104eadb45b43f117ceeb326fa7345ced778d4c1feab29343cd7a87a1dcfae4997d6c851a8b386d7f7213792da6e23b74f4443a8976d - languageName: node - linkType: hard - "babel-preset-jest@npm:^29.6.3": version: 29.6.3 resolution: "babel-preset-jest@npm:29.6.3" @@ -13030,31 +12111,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-react-app@npm:^10.0.1": - version: 10.1.0 - resolution: "babel-preset-react-app@npm:10.1.0" - dependencies: - "@babel/core": ^7.16.0 - "@babel/plugin-proposal-class-properties": ^7.16.0 - "@babel/plugin-proposal-decorators": ^7.16.4 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.16.0 - "@babel/plugin-proposal-numeric-separator": ^7.16.0 - "@babel/plugin-proposal-optional-chaining": ^7.16.0 - "@babel/plugin-proposal-private-methods": ^7.16.0 - "@babel/plugin-proposal-private-property-in-object": ^7.16.7 - "@babel/plugin-transform-flow-strip-types": ^7.16.0 - "@babel/plugin-transform-react-display-name": ^7.16.0 - "@babel/plugin-transform-runtime": ^7.16.4 - "@babel/preset-env": ^7.16.4 - "@babel/preset-react": ^7.16.0 - "@babel/preset-typescript": ^7.16.0 - "@babel/runtime": ^7.16.3 - babel-plugin-macros: ^3.1.0 - babel-plugin-transform-react-remove-prop-types: ^0.4.24 - checksum: e4ac6c85be4f56c7e45b52700e04aed01422221b5c988e7a192a80d3b5aa3abbd415c0b76e8b5d564a411477a0b03323a15108663a9f541bd9397fa32f28ed89 - languageName: node - linkType: hard - "bail@npm:^1.0.0": version: 1.0.5 resolution: "bail@npm:1.0.5" @@ -13141,19 +12197,6 @@ __metadata: languageName: node linkType: hard -"bfj@npm:^7.0.2": - version: 7.1.0 - resolution: "bfj@npm:7.1.0" - dependencies: - bluebird: ^3.7.2 - check-types: ^11.2.3 - hoopy: ^0.1.4 - jsonpath: ^1.1.1 - tryer: ^1.0.1 - checksum: 36da9ed36c60f377a3f43bb0433092af7dc40442914b8155a1330ae86b1905640baf57e9c195ab83b36d6518b27cf8ed880adff663aa444c193be149e027d722 - languageName: node - linkType: hard - "big-integer@npm:1.6.x": version: 1.6.52 resolution: "big-integer@npm:1.6.52" @@ -13224,27 +12267,13 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 869417503c722e7dc54ca46715f70e15f4d9c602a423a02c825570862d12935be59ed9c7ba34a9b31f186c017c23cac6b54e35446f8353059c101da73eac22ef - languageName: node - linkType: hard - -"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.6, bn.js@npm:^4.11.9": +"bn.js@npm:^4.11.6": version: 4.12.2 resolution: "bn.js@npm:4.12.2" checksum: dd224afda6f5a7d15f2fe5154e1a1c245576a725584ea1852c8c42f9748dfe847bc63a48b2885360023389a24cfebb3653ca97f4c69742f3c22bc63da6565030 languageName: node linkType: hard -"bn.js@npm:^5.2.1, bn.js@npm:^5.2.2": - version: 5.2.2 - resolution: "bn.js@npm:5.2.2" - checksum: 4384d35fef785c757eb050bc1f13d60dd8e37662ca72392ae6678b35cfa2a2ae8f0494291086294683a7d977609c7878ac3cff08ecca7f74c3ca73f3acbadbe8 - languageName: node - linkType: hard - "body-parser@npm:~1.20.3": version: 1.20.4 resolution: "body-parser@npm:1.20.4" @@ -13265,7 +12294,7 @@ __metadata: languageName: node linkType: hard -"bonjour-service@npm:^1.0.11, bonjour-service@npm:^1.2.1": +"bonjour-service@npm:^1.2.1": version: 1.3.0 resolution: "bonjour-service@npm:1.3.0" dependencies: @@ -13393,95 +12422,7 @@ __metadata: languageName: node linkType: hard -"brorand@npm:^1.0.1, brorand@npm:^1.1.0": - version: 1.1.0 - resolution: "brorand@npm:1.1.0" - checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be - languageName: node - linkType: hard - -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f - languageName: node - linkType: hard - -"browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": - version: 1.2.0 - resolution: "browserify-aes@npm:1.2.0" - dependencies: - buffer-xor: ^1.0.3 - cipher-base: ^1.0.0 - create-hash: ^1.1.0 - evp_bytestokey: ^1.0.3 - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - checksum: 4a17c3eb55a2aa61c934c286f34921933086bf6d67f02d4adb09fcc6f2fc93977b47d9d884c25619144fccd47b3b3a399e1ad8b3ff5a346be47270114bcf7104 - languageName: node - linkType: hard - -"browserify-cipher@npm:^1.0.1": - version: 1.0.1 - resolution: "browserify-cipher@npm:1.0.1" - dependencies: - browserify-aes: ^1.0.4 - browserify-des: ^1.0.0 - evp_bytestokey: ^1.0.0 - checksum: 2d8500acf1ee535e6bebe808f7a20e4c3a9e2ed1a6885fff1facbfd201ac013ef030422bec65ca9ece8ffe82b03ca580421463f9c45af6c8415fd629f4118c13 - languageName: node - linkType: hard - -"browserify-des@npm:^1.0.0": - version: 1.0.2 - resolution: "browserify-des@npm:1.0.2" - dependencies: - cipher-base: ^1.0.1 - des.js: ^1.0.0 - inherits: ^2.0.1 - safe-buffer: ^5.1.2 - checksum: b15a3e358a1d78a3b62ddc06c845d02afde6fc826dab23f1b9c016e643e7b1fda41de628d2110b712f6a44fb10cbc1800bc6872a03ddd363fb50768e010395b7 - languageName: node - linkType: hard - -"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.1": - version: 4.1.1 - resolution: "browserify-rsa@npm:4.1.1" - dependencies: - bn.js: ^5.2.1 - randombytes: ^2.1.0 - safe-buffer: ^5.2.1 - checksum: 2628508646331791c29312bbf274c076a237437a17178ea9bdc75c577fb4164a0da0b137deaadf6ade623701332377c5c2ceb0ff6f991c744a576e790ec95852 - languageName: node - linkType: hard - -"browserify-sign@npm:^4.2.3": - version: 4.2.5 - resolution: "browserify-sign@npm:4.2.5" - dependencies: - bn.js: ^5.2.2 - browserify-rsa: ^4.1.1 - create-hash: ^1.2.0 - create-hmac: ^1.1.7 - elliptic: ^6.6.1 - inherits: ^2.0.4 - parse-asn1: ^5.1.9 - readable-stream: ^2.3.8 - safe-buffer: ^5.2.1 - checksum: 1cea126a0539f4f26d2b55290fbe49934e72129ce8120b20b1f9c75ce070db0a69d8fe3a46927db3dcb73391967b1bf546b89f2835defe05a18b2da41afa14b1 - languageName: node - linkType: hard - -"browserify-zlib@npm:^0.2.0": - version: 0.2.0 - resolution: "browserify-zlib@npm:0.2.0" - dependencies: - pako: ~1.0.5 - checksum: 5cd9d6a665190fedb4a97dfbad8dabc8698d8a507298a03f42c734e96d58ca35d3c7d4085e283440bbca1cd1938cff85031728079bedb3345310c58ab1ec92d6 - languageName: node - linkType: hard - -"browserslist@npm:^4.0.0, browserslist@npm:^4.16.0, browserslist@npm:^4.18.1, browserslist@npm:^4.21.4, browserslist@npm:^4.23.0, browserslist@npm:^4.24.0, browserslist@npm:^4.28.1": +"browserslist@npm:^4.0.0, browserslist@npm:^4.16.0, browserslist@npm:^4.23.0, browserslist@npm:^4.24.0, browserslist@npm:^4.28.1": version: 4.28.1 resolution: "browserslist@npm:4.28.1" dependencies: @@ -13552,13 +12493,6 @@ __metadata: languageName: node linkType: hard -"buffer-xor@npm:^1.0.3": - version: 1.0.3 - resolution: "buffer-xor@npm:1.0.3" - checksum: 10c520df29d62fa6e785e2800e586a20fc4f6dfad84bcdbd12e1e8a83856de1cb75c7ebd7abe6d036bbfab738a6cf18a3ae9c8e5a2e2eb3167ca7399ce65373a - languageName: node - linkType: hard - "buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -13579,20 +12513,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.1.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d - languageName: node - linkType: hard - -"builtin-status-codes@npm:^3.0.0": - version: 3.0.0 - resolution: "builtin-status-codes@npm:3.0.0" - checksum: 1119429cf4b0d57bf76b248ad6f529167d343156ebbcc4d4e4ad600484f6bc63002595cbb61b67ad03ce55cd1d3c4711c03bbf198bf24653b8392420482f3773 - languageName: node - linkType: hard - "bundle-name@npm:^4.1.0": version: 4.1.0 resolution: "bundle-name@npm:4.1.0" @@ -13717,7 +12637,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": version: 1.0.8 resolution: "call-bind@npm:1.0.8" dependencies: @@ -13781,13 +12701,6 @@ __metadata: languageName: node linkType: hard -"camelcase-css@npm:^2.0.1": - version: 2.0.1 - resolution: "camelcase-css@npm:2.0.1" - checksum: 1cec2b3b3dcb5026688a470b00299a8db7d904c4802845c353dbd12d9d248d3346949a814d83bfd988d4d2e5b9904c07efe76fecd195a1d4f05b543e7c0b56b1 - languageName: node - linkType: hard - "camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" @@ -13795,7 +12708,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0, camelcase@npm:^6.2.1, camelcase@npm:^6.3.0": +"camelcase@npm:^6.2.0, camelcase@npm:^6.3.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d @@ -13849,13 +12762,6 @@ __metadata: languageName: node linkType: hard -"case-sensitive-paths-webpack-plugin@npm:^2.4.0": - version: 2.4.0 - resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" - checksum: bcf469446eeee9ac0046e30860074ebb9aa4803aab9140e6bb72b600b23b1d70635690754be4504ce35cd99cdf05226bee8d894ba362a3f5485d5f6310fc6d02 - languageName: node - linkType: hard - "ccount@npm:^1.0.0": version: 1.1.0 resolution: "ccount@npm:1.1.0" @@ -13929,13 +12835,6 @@ __metadata: languageName: node linkType: hard -"char-regex@npm:^2.0.0": - version: 2.0.2 - resolution: "char-regex@npm:2.0.2" - checksum: 4965154ccf32b39c0f31df79e17686ee22fb6ebea774b6128e1d020cf2b01a3319bb608bfa2dba53cd478bed2f1991ac5246bee5ff93d0217ff7514e404694ed - languageName: node - linkType: hard - "character-entities-html4@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-html4@npm:1.1.4" @@ -13999,13 +12898,6 @@ __metadata: languageName: node linkType: hard -"check-types@npm:^11.2.3": - version: 11.2.3 - resolution: "check-types@npm:11.2.3" - checksum: f99ff09ae65e63cfcfa40a1275c0a70d8c43ffbf9ac35095f3bf030cc70361c92e075a9975a1144329e50b4fe4620be6bedb4568c18abc96071a3e23aed3ed8e - languageName: node - linkType: hard - "cheerio-select@npm:^2.1.0": version: 2.1.0 resolution: "cheerio-select@npm:2.1.0" @@ -14035,7 +12927,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.4.2, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": +"chokidar@npm:^3.5.2, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" dependencies: @@ -14133,17 +13025,6 @@ __metadata: languageName: node linkType: hard -"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.7 - resolution: "cipher-base@npm:1.0.7" - dependencies: - inherits: ^2.0.4 - safe-buffer: ^5.2.1 - to-buffer: ^1.2.2 - checksum: 3c3b5ddd8c8bfbb68fdd134c4c6db408b57a81f19260c59a5e1f5b75cb67fc5a0127af2ffb84a14720c9d249226659544c593245123f42285c82267cf787b883 - languageName: node - linkType: hard - "cjs-module-lexer@npm:^1.0.0": version: 1.4.3 resolution: "cjs-module-lexer@npm:1.4.3" @@ -14473,7 +13354,7 @@ __metadata: languageName: node linkType: hard -"colord@npm:^2.9.1, colord@npm:^2.9.3": +"colord@npm:^2.9.3": version: 2.9.3 resolution: "colord@npm:2.9.3" checksum: 95d909bfbcfd8d5605cbb5af56f2d1ce2b323990258fd7c0d2eb0e6d3bb177254d7fb8213758db56bb4ede708964f78c6b992b326615f81a18a6aaf11d64c650 @@ -14601,13 +13482,6 @@ __metadata: languageName: node linkType: hard -"common-tags@npm:^1.8.0": - version: 1.8.2 - resolution: "common-tags@npm:1.8.2" - checksum: 767a6255a84bbc47df49a60ab583053bb29a7d9687066a18500a516188a062c4e4cd52de341f22de0b07062e699b1b8fe3cfa1cb55b241cb9301aeb4f45b4dff - languageName: node - linkType: hard - "commondir@npm:^1.0.1": version: 1.0.1 resolution: "commondir@npm:1.0.1" @@ -14641,7 +13515,7 @@ __metadata: languageName: node linkType: hard -"compression@npm:^1.7.1, compression@npm:^1.7.4, compression@npm:^1.8.1": +"compression@npm:^1.7.1, compression@npm:^1.8.1": version: 1.8.1 resolution: "compression@npm:1.8.1" dependencies: @@ -14686,13 +13560,6 @@ __metadata: languageName: node linkType: hard -"confusing-browser-globals@npm:^1.0.11": - version: 1.0.11 - resolution: "confusing-browser-globals@npm:1.0.11" - checksum: 3afc635abd37e566477f610e7978b15753f0e84025c25d49236f1f14d480117185516bdd40d2a2167e6bed8048641a9854964b9c067e3dcdfa6b5d0ad3c3a5ef - languageName: node - linkType: hard - "connect-history-api-fallback@npm:^2.0.0": version: 2.0.0 resolution: "connect-history-api-fallback@npm:2.0.0" @@ -14719,20 +13586,6 @@ __metadata: languageName: node linkType: hard -"console-browserify@npm:^1.2.0": - version: 1.2.0 - resolution: "console-browserify@npm:1.2.0" - checksum: 226591eeff8ed68e451dffb924c1fb750c654d54b9059b3b261d360f369d1f8f70650adecf2c7136656236a4bfeb55c39281b5d8a55d792ebbb99efd3d848d52 - languageName: node - linkType: hard - -"constants-browserify@npm:^1.0.0": - version: 1.0.0 - resolution: "constants-browserify@npm:1.0.0" - checksum: f7ac8c6d0b6e4e0c77340a1d47a3574e25abd580bfd99ad707b26ff7618596cf1a5e5ce9caf44715e9e01d4a5d12cb3b4edaf1176f34c19adb2874815a56e64f - languageName: node - linkType: hard - "content-disposition@npm:0.5.2": version: 0.5.2 resolution: "content-disposition@npm:0.5.2" @@ -14804,13 +13657,6 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -14866,14 +13712,14 @@ __metadata: languageName: node linkType: hard -"core-js-pure@npm:^3.23.3, core-js-pure@npm:^3.43.0": +"core-js-pure@npm:^3.43.0": version: 3.48.0 resolution: "core-js-pure@npm:3.48.0" checksum: fdc8a26fa7d2cf7809c7943494660442267666a048d74739900b6a1ba7e4e52815d8203ef453d81ddd1b3dade5880a1275fefc13d884686e71a85e7fcdd69790 languageName: node linkType: hard -"core-js@npm:^3.19.2, core-js@npm:^3.31.1": +"core-js@npm:^3.31.1": version: 3.48.0 resolution: "core-js@npm:3.48.0" checksum: e5ba89a2037b06827f198b7a39bf99eaf0ad696e27001b0137f17fcc4a7fce1ecaaa4ea7b3628709ee4cf6828130a2c53ec4bdf0064e1151d46965ca5a98733f @@ -14887,20 +13733,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig-typescript-loader@npm:^1.0.0": - version: 1.0.9 - resolution: "cosmiconfig-typescript-loader@npm:1.0.9" - dependencies: - cosmiconfig: ^7 - ts-node: ^10.7.0 - peerDependencies: - "@types/node": "*" - cosmiconfig: ">=7" - typescript: ">=3" - checksum: 26a0198e03e81a9e7e1a6ce880d7309fdd056c7a3a23b587253e6d1d1224154d3f9edf727d9c0310628e89752353211b75de151b705298b4d0741fa1740c661e - languageName: node - linkType: hard - "cosmiconfig@npm:^5.0.5": version: 5.2.1 resolution: "cosmiconfig@npm:5.2.1" @@ -14913,20 +13745,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^6.0.0": - version: 6.0.0 - resolution: "cosmiconfig@npm:6.0.0" - dependencies: - "@types/parse-json": ^4.0.0 - import-fresh: ^3.1.0 - parse-json: ^5.0.0 - path-type: ^4.0.0 - yaml: ^1.7.2 - checksum: 8eed7c854b91643ecb820767d0deb038b50780ecc3d53b0b19e03ed8aabed4ae77271198d1ae3d49c3b110867edf679f5faad924820a8d1774144a87cb6f98fc - languageName: node - linkType: hard - -"cosmiconfig@npm:^7, cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": +"cosmiconfig@npm:^7.0.0": version: 7.1.0 resolution: "cosmiconfig@npm:7.1.0" dependencies: @@ -14973,43 +13792,6 @@ __metadata: languageName: node linkType: hard -"create-ecdh@npm:^4.0.4": - version: 4.0.4 - resolution: "create-ecdh@npm:4.0.4" - dependencies: - bn.js: ^4.1.0 - elliptic: ^6.5.3 - checksum: 0dd7fca9711d09e152375b79acf1e3f306d1a25ba87b8ff14c2fd8e68b83aafe0a7dd6c4e540c9ffbdd227a5fa1ad9b81eca1f233c38bb47770597ba247e614b - languageName: node - linkType: hard - -"create-hash@npm:^1.1.0, create-hash@npm:^1.2.0": - version: 1.2.0 - resolution: "create-hash@npm:1.2.0" - dependencies: - cipher-base: ^1.0.1 - inherits: ^2.0.1 - md5.js: ^1.3.4 - ripemd160: ^2.0.1 - sha.js: ^2.4.0 - checksum: 02a6ae3bb9cd4afee3fabd846c1d8426a0e6b495560a977ba46120c473cb283be6aa1cace76b5f927cf4e499c6146fb798253e48e83d522feba807d6b722eaa9 - languageName: node - linkType: hard - -"create-hmac@npm:^1.1.7": - version: 1.1.7 - resolution: "create-hmac@npm:1.1.7" - dependencies: - cipher-base: ^1.0.3 - create-hash: ^1.1.0 - inherits: ^2.0.1 - ripemd160: ^2.0.0 - safe-buffer: ^5.0.1 - sha.js: ^2.4.8 - checksum: ba12bb2257b585a0396108c72830e85f882ab659c3320c83584b1037f8ab72415095167ced80dc4ce8e446a8ecc4b2acf36d87befe0707d73b26cf9dc77440ed - languageName: node - linkType: hard - "create-jest@npm:^29.7.0": version: 29.7.0 resolution: "create-jest@npm:29.7.0" @@ -15056,7 +13838,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -15074,26 +13856,6 @@ __metadata: languageName: node linkType: hard -"crypto-browserify@npm:^3.12.0": - version: 3.12.1 - resolution: "crypto-browserify@npm:3.12.1" - dependencies: - browserify-cipher: ^1.0.1 - browserify-sign: ^4.2.3 - create-ecdh: ^4.0.4 - create-hash: ^1.2.0 - create-hmac: ^1.1.7 - diffie-hellman: ^5.0.3 - hash-base: ~3.0.4 - inherits: ^2.0.4 - pbkdf2: ^3.1.2 - public-encrypt: ^4.0.3 - randombytes: ^2.1.0 - randomfill: ^1.0.4 - checksum: 4e643dd5acfff80fbe2cc567feb75a22d726cc4df34772c988f326976c3c1ee1f8a611a33498dab11568cff3e134f0bd44a0e1f4c216585e5877ab5327cdb6fc - languageName: node - linkType: hard - "crypto-random-string@npm:^2.0.0": version: 2.0.0 resolution: "crypto-random-string@npm:2.0.0" @@ -15110,19 +13872,6 @@ __metadata: languageName: node linkType: hard -"css-blank-pseudo@npm:^3.0.3": - version: 3.0.3 - resolution: "css-blank-pseudo@npm:3.0.3" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - bin: - css-blank-pseudo: dist/cli.cjs - checksum: 9be0a13885a99d8ba9e1f45ea66e801d4da75b58c1c3c516a40772fa3a93ef9952b15dcac0418acbb6c89daaae0572819647701b8e553a02972826e33d4cd67f - languageName: node - linkType: hard - "css-blank-pseudo@npm:^7.0.1": version: 7.0.1 resolution: "css-blank-pseudo@npm:7.0.1" @@ -15134,15 +13883,6 @@ __metadata: languageName: node linkType: hard -"css-declaration-sorter@npm:^6.3.1": - version: 6.4.1 - resolution: "css-declaration-sorter@npm:6.4.1" - peerDependencies: - postcss: ^8.0.9 - checksum: cbdc9e0d481011b1a28fd5b60d4eb55fe204391d31a0b1b490b2cecf4baa85810f9b8c48adab4df644f4718104ed3ed72c64a9745e3216173767bf4aeca7f9b8 - languageName: node - linkType: hard - "css-declaration-sorter@npm:^7.2.0": version: 7.3.1 resolution: "css-declaration-sorter@npm:7.3.1" @@ -15152,19 +13892,6 @@ __metadata: languageName: node linkType: hard -"css-has-pseudo@npm:^3.0.4": - version: 3.0.4 - resolution: "css-has-pseudo@npm:3.0.4" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - bin: - css-has-pseudo: dist/cli.cjs - checksum: 8f165d68f6621891d9fa1d874794916a52ed8847dfbec591523ad68774650cc1eae062ba08f59514666e04aeba27be72c9b211892f3a187c5ba6e287bd4260e7 - languageName: node - linkType: hard - "css-has-pseudo@npm:^7.0.3": version: 7.0.3 resolution: "css-has-pseudo@npm:7.0.3" @@ -15207,7 +13934,7 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:^6.11.0, css-loader@npm:^6.5.1": +"css-loader@npm:^6.11.0": version: 6.11.0 resolution: "css-loader@npm:6.11.0" dependencies: @@ -15231,31 +13958,6 @@ __metadata: languageName: node linkType: hard -"css-minimizer-webpack-plugin@npm:^3.2.0": - version: 3.4.1 - resolution: "css-minimizer-webpack-plugin@npm:3.4.1" - dependencies: - cssnano: ^5.0.6 - jest-worker: ^27.0.2 - postcss: ^8.3.5 - schema-utils: ^4.0.0 - serialize-javascript: ^6.0.0 - source-map: ^0.6.1 - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - "@parcel/css": - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - checksum: 065c6c1eadb7c99267db5d04d6f3909e9968b73c4cb79ab9e4502a5fbf1a3d564cfe6f8e0bff8e4ab00d4ed233e9c3c76a4ebe0ee89150b3d9ecb064ddf1e5e9 - languageName: node - linkType: hard - "css-minimizer-webpack-plugin@npm:^5.0.1": version: 5.0.1 resolution: "css-minimizer-webpack-plugin@npm:5.0.1" @@ -15294,17 +13996,6 @@ __metadata: languageName: node linkType: hard -"css-prefers-color-scheme@npm:^6.0.3": - version: 6.0.3 - resolution: "css-prefers-color-scheme@npm:6.0.3" - peerDependencies: - postcss: ^8.4 - bin: - css-prefers-color-scheme: dist/cli.cjs - checksum: 3a2b02f0454adda68861cdcaf6a0d11f462eadf165301cba61c5ec7c5f229ac261c5baa54c377d9b811ec5f21b30d72a02bc032cdad2415b3a566f08a0c47b3a - languageName: node - linkType: hard - "css-select-base-adapter@npm:^0.1.1": version: 0.1.1 resolution: "css-select-base-adapter@npm:0.1.1" @@ -15404,13 +14095,6 @@ __metadata: languageName: node linkType: hard -"cssdb@npm:^7.1.0": - version: 7.11.2 - resolution: "cssdb@npm:7.11.2" - checksum: 79b2c3b6de1d80c7f3e40f28c06138b7f1ca27fe5d9173195cc781d8acc0261c2bdeccdf141bd035b13709655cf724c8ad4757ddf12a3d21b6d002368c9cb027 - languageName: node - linkType: hard - "cssdb@npm:^8.6.0": version: 8.7.1 resolution: "cssdb@npm:8.7.1" @@ -15444,45 +14128,6 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^5.2.14": - version: 5.2.14 - resolution: "cssnano-preset-default@npm:5.2.14" - dependencies: - css-declaration-sorter: ^6.3.1 - cssnano-utils: ^3.1.0 - postcss-calc: ^8.2.3 - postcss-colormin: ^5.3.1 - postcss-convert-values: ^5.1.3 - postcss-discard-comments: ^5.1.2 - postcss-discard-duplicates: ^5.1.0 - postcss-discard-empty: ^5.1.1 - postcss-discard-overridden: ^5.1.0 - postcss-merge-longhand: ^5.1.7 - postcss-merge-rules: ^5.1.4 - postcss-minify-font-values: ^5.1.0 - postcss-minify-gradients: ^5.1.1 - postcss-minify-params: ^5.1.4 - postcss-minify-selectors: ^5.2.1 - postcss-normalize-charset: ^5.1.0 - postcss-normalize-display-values: ^5.1.0 - postcss-normalize-positions: ^5.1.1 - postcss-normalize-repeat-style: ^5.1.1 - postcss-normalize-string: ^5.1.0 - postcss-normalize-timing-functions: ^5.1.0 - postcss-normalize-unicode: ^5.1.1 - postcss-normalize-url: ^5.1.0 - postcss-normalize-whitespace: ^5.1.1 - postcss-ordered-values: ^5.1.3 - postcss-reduce-initial: ^5.1.2 - postcss-reduce-transforms: ^5.1.0 - postcss-svgo: ^5.1.0 - postcss-unique-selectors: ^5.1.1 - peerDependencies: - postcss: ^8.2.15 - checksum: d3bbbe3d50c6174afb28d0bdb65b511fdab33952ec84810aef58b87189f3891c34aaa8b6a6101acd5314f8acded839b43513e39a75f91a698ddc985a1b1d9e95 - languageName: node - linkType: hard - "cssnano-preset-default@npm:^6.1.2": version: 6.1.2 resolution: "cssnano-preset-default@npm:6.1.2" @@ -15523,15 +14168,6 @@ __metadata: languageName: node linkType: hard -"cssnano-utils@npm:^3.1.0": - version: 3.1.0 - resolution: "cssnano-utils@npm:3.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 975c84ce9174cf23bb1da1e9faed8421954607e9ea76440cd3bb0c1bea7e17e490d800fca5ae2812d1d9e9d5524eef23ede0a3f52497d7ccc628e5d7321536f2 - languageName: node - linkType: hard - "cssnano-utils@npm:^4.0.2": version: 4.0.2 resolution: "cssnano-utils@npm:4.0.2" @@ -15541,19 +14177,6 @@ __metadata: languageName: node linkType: hard -"cssnano@npm:^5.0.6": - version: 5.1.15 - resolution: "cssnano@npm:5.1.15" - dependencies: - cssnano-preset-default: ^5.2.14 - lilconfig: ^2.0.3 - yaml: ^1.10.2 - peerDependencies: - postcss: ^8.2.15 - checksum: ca9e1922178617c66c2f1548824b2c7af2ecf69cc3a187fc96bf8d29251c2e84d9e4966c69cf64a2a6a057a37dff7d6d057bc8a2a0957e6ea382e452ae9d0bbb - languageName: node - linkType: hard - "cssnano@npm:^6.0.1, cssnano@npm:^6.1.2": version: 6.1.2 resolution: "cssnano@npm:6.1.2" @@ -15566,7 +14189,7 @@ __metadata: languageName: node linkType: hard -"csso@npm:^4.0.2, csso@npm:^4.2.0": +"csso@npm:^4.0.2": version: 4.2.0 resolution: "csso@npm:4.2.0" dependencies: @@ -15584,26 +14207,13 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.4.4": - version: 0.4.4 - resolution: "cssom@npm:0.4.4" - checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" +"cssstyle@npm:^4.2.1": + version: 4.6.0 + resolution: "cssstyle@npm:4.6.0" dependencies: - cssom: ~0.3.6 - checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 + "@asamuzakjp/css-color": ^3.2.0 + rrweb-cssom: ^0.8.0 + checksum: 0bdb1229e9f5a78ec73d0153299bc2b58f9c995124412beedcb2409bce4a1231e371946f61a8c04bdfa6b36f2ffb48d5f2c85738986662ed6722426f43937dc7 languageName: node linkType: hard @@ -15628,21 +14238,13 @@ __metadata: languageName: node linkType: hard -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: d240b7757544460ae0586a341a53110ab0a61126570ef2d8c731e3eab3f0cb6e488e2609e6a69b46727635de49be20b071688698744417ff1b6c1d7ccd03e0de - languageName: node - linkType: hard - -"data-urls@npm:^2.0.0": - version: 2.0.0 - resolution: "data-urls@npm:2.0.0" +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" dependencies: - abab: ^2.0.3 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.0.0 - checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 + whatwg-mimetype: ^4.0.0 + whatwg-url: ^14.0.0 + checksum: 5c40568c31b02641a70204ff233bc4e42d33717485d074244a98661e5f2a1e80e38fe05a5755dfaf2ee549f2ab509d6a3af2a85f4b2ad2c984e5d176695eaf46 languageName: node linkType: hard @@ -15700,7 +14302,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.6.0, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -15737,7 +14339,7 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.2.1": +"decimal.js@npm:^10.5.0": version: 10.6.0 resolution: "decimal.js@npm:10.6.0" checksum: 9302b990cd6f4da1c7602200002e40e15d15660374432963421d3cd6d81cc6e27e0a488356b030fee64650947e32e78bdbea245d596dadfeeeb02e146d485999 @@ -15795,7 +14397,7 @@ __metadata: languageName: node linkType: hard -"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": +"deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 @@ -15826,15 +14428,6 @@ __metadata: languageName: node linkType: hard -"default-gateway@npm:^6.0.3": - version: 6.0.3 - resolution: "default-gateway@npm:6.0.3" - dependencies: - execa: ^5.0.0 - checksum: 126f8273ecac8ee9ff91ea778e8784f6cd732d77c3157e8c5bdd6ed03651b5291f71446d05bc02d04073b1e67583604db5394ea3cf992ede0088c70ea15b7378 - languageName: node - linkType: hard - "defaults@npm:^1.0.3": version: 1.0.4 resolution: "defaults@npm:1.0.4" @@ -15938,16 +14531,6 @@ __metadata: languageName: node linkType: hard -"des.js@npm:^1.0.0": - version: 1.1.0 - resolution: "des.js@npm:1.1.0" - dependencies: - inherits: ^2.0.1 - minimalistic-assert: ^1.0.0 - checksum: 0e9c1584b70d31e20f20a613fc9ef60fbc6a147dfec9e448a168794a4b97ac04d8dc47ea008f1fa93b0f8aaf7c1ead632a5e59ce1913a6079d2d244c9f5ebe33 - languageName: node - linkType: hard - "destroy@npm:1.2.0, destroy@npm:~1.2.0": version: 1.2.0 resolution: "destroy@npm:1.2.0" @@ -15976,19 +14559,6 @@ __metadata: languageName: node linkType: hard -"detect-port-alt@npm:^1.1.6": - version: 1.1.6 - resolution: "detect-port-alt@npm:1.1.6" - dependencies: - address: ^1.0.1 - debug: ^2.6.0 - bin: - detect: ./bin/detect-port - detect-port: ./bin/detect-port - checksum: 9dc37b1fa4a9dd6d4889e1045849b8d841232b598d1ca888bf712f4035b07a17cf6d537465a0d7323250048d3a5a0540e3b7cf89457efc222f96f77e2c40d16a - languageName: node - linkType: hard - "detect-port@npm:^1.5.1": version: 1.6.1 resolution: "detect-port@npm:1.6.1" @@ -16011,20 +14581,6 @@ __metadata: languageName: node linkType: hard -"didyoumean@npm:^1.2.2": - version: 1.2.2 - resolution: "didyoumean@npm:1.2.2" - checksum: d5d98719d58b3c2fa59663c4c42ba9716f1fd01245c31d5fce31915bd3aa26e6aac149788e007358f778ebbd68a2256eb5973e8ca6f221df221ba060115acf2e - languageName: node - linkType: hard - -"diff-sequences@npm:^27.5.1": - version: 27.5.1 - resolution: "diff-sequences@npm:27.5.1" - checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca - languageName: node - linkType: hard - "diff-sequences@npm:^29.6.3": version: 29.6.3 resolution: "diff-sequences@npm:29.6.3" @@ -16053,17 +14609,6 @@ __metadata: languageName: node linkType: hard -"diffie-hellman@npm:^5.0.3": - version: 5.0.3 - resolution: "diffie-hellman@npm:5.0.3" - dependencies: - bn.js: ^4.1.0 - miller-rabin: ^4.0.0 - randombytes: ^2.0.0 - checksum: 0e620f322170c41076e70181dd1c24e23b08b47dbb92a22a644f3b89b6d3834b0f8ee19e37916164e5eb1ee26d2aa836d6129f92723995267250a0b541811065 - languageName: node - linkType: hard - "dir-glob@npm:^2.0.0": version: 2.2.2 resolution: "dir-glob@npm:2.2.2" @@ -16082,13 +14627,6 @@ __metadata: languageName: node linkType: hard -"dlv@npm:^1.1.3": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: d7381bca22ed11933a1ccf376db7a94bee2c57aa61e490f680124fa2d1cd27e94eba641d9f45be57caab4f9a6579de0983466f620a2cd6230d7ec93312105ae7 - languageName: node - linkType: hard - "dns-packet@npm:^5.2.2": version: 5.6.1 resolution: "dns-packet@npm:5.6.1" @@ -16142,15 +14680,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: ^2.0.2 - checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce - languageName: node - linkType: hard - "dom-converter@npm:^0.2.0": version: 0.2.0 resolution: "dom-converter@npm:0.2.0" @@ -16192,13 +14721,6 @@ __metadata: languageName: node linkType: hard -"domain-browser@npm:^4.22.0": - version: 4.23.0 - resolution: "domain-browser@npm:4.23.0" - checksum: 95b772f5fa88300240694380e06e03868573acdf86ca392a58c78602d6536dca2097ad2469a1500bd23a1329b09992de846e0b66c364cbf5711a7fee3ee5dac9 - languageName: node - linkType: hard - "domelementtype@npm:1": version: 1.3.1 resolution: "domelementtype@npm:1.3.1" @@ -16213,15 +14735,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^2.0.1": - version: 2.0.1 - resolution: "domexception@npm:2.0.1" - dependencies: - webidl-conversions: ^5.0.0 - checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 - languageName: node - linkType: hard - "domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": version: 4.3.1 resolution: "domhandler@npm:4.3.1" @@ -16307,13 +14820,6 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:^5.1.0": - version: 5.1.0 - resolution: "dotenv-expand@npm:5.1.0" - checksum: 8017675b7f254384915d55f9eb6388e577cf0a1231a28d54b0ca03b782be9501b0ac90ac57338636d395fa59051e6209e9b44b8ddf169ce6076dffb5dea227d3 - languageName: node - linkType: hard - "dotenv-expand@npm:~11.0.6": version: 11.0.7 resolution: "dotenv-expand@npm:11.0.7" @@ -16337,13 +14843,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv@npm:10.0.0" - checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 - languageName: node - linkType: hard - "dotenv@npm:^16.4.5": version: 16.6.1 resolution: "dotenv@npm:16.6.1" @@ -16525,7 +15024,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.10, ejs@npm:^3.1.6, ejs@npm:^3.1.7, ejs@npm:^3.1.8": +"ejs@npm:^3.1.10, ejs@npm:^3.1.7, ejs@npm:^3.1.8": version: 3.1.10 resolution: "ejs@npm:3.1.10" dependencies: @@ -16543,28 +15042,6 @@ __metadata: languageName: node linkType: hard -"elliptic@npm:^6.5.3, elliptic@npm:^6.6.1": - version: 6.6.1 - resolution: "elliptic@npm:6.6.1" - dependencies: - bn.js: ^4.11.9 - brorand: ^1.1.0 - hash.js: ^1.0.0 - hmac-drbg: ^1.0.1 - inherits: ^2.0.4 - minimalistic-assert: ^1.0.1 - minimalistic-crypto-utils: ^1.0.1 - checksum: 27b14a52f68bbbc0720da259f712cb73e953f6d2047958cd02fb0d0ade2e83849dc39fb4af630889c67df8817e24237428cf59c4f4c07700f755b401149a7375 - languageName: node - linkType: hard - -"emittery@npm:^0.10.2": - version: 0.10.2 - resolution: "emittery@npm:0.10.2" - checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac - languageName: node - linkType: hard - "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -16572,13 +15049,6 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.8.1": - version: 0.8.1 - resolution: "emittery@npm:0.8.1" - checksum: 2457e8c7b0688bb006126f2c025b2655abe682f66b184954122a8a065b5277f9813d49d627896a10b076b81c513ec5f491fd9c14fbd42c04b95ca3c9f3c365ee - languageName: node - linkType: hard - "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -17175,43 +15645,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^1.8.1": - version: 1.14.3 - resolution: "escodegen@npm:1.14.3" - dependencies: - esprima: ^4.0.1 - estraverse: ^4.2.0 - esutils: ^2.0.2 - optionator: ^0.8.1 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 381cdc4767ecdb221206bbbab021b467bbc2a6f5c9a99c9e6353040080bdd3dfe73d7604ad89a47aca6ea7d58bc635f6bd3fbc8da9a1998e9ddfa8372362ccd0 - languageName: node - linkType: hard - -"escodegen@npm:^2.0.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: ^4.0.1 - estraverse: ^5.2.0 - esutils: ^2.0.2 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 096696407e161305cd05aebb95134ad176708bc5cb13d0dcc89a5fcbb959b8ed757e7f2591a5f8036f8f4952d4a724de0df14cd419e29212729fa6df5ce16bf6 - languageName: node - linkType: hard - "eslint-config-prettier@npm:^10.1.8": version: 10.1.8 resolution: "eslint-config-prettier@npm:10.1.8" @@ -17234,30 +15667,6 @@ __metadata: languageName: node linkType: hard -"eslint-config-react-app@npm:^7.0.0, eslint-config-react-app@npm:^7.0.1": - version: 7.0.1 - resolution: "eslint-config-react-app@npm:7.0.1" - dependencies: - "@babel/core": ^7.16.0 - "@babel/eslint-parser": ^7.16.3 - "@rushstack/eslint-patch": ^1.1.0 - "@typescript-eslint/eslint-plugin": ^5.5.0 - "@typescript-eslint/parser": ^5.5.0 - babel-preset-react-app: ^10.0.1 - confusing-browser-globals: ^1.0.11 - eslint-plugin-flowtype: ^8.0.3 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jest: ^25.3.0 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.27.1 - eslint-plugin-react-hooks: ^4.3.0 - eslint-plugin-testing-library: ^5.0.1 - peerDependencies: - eslint: ^8.0.0 - checksum: a67e0821809e62308d6e419753fa2acfc7cd353659fab08cf34735f59c6c66910c0b6fda0471c4ec0d712ce762d65efc6431b39569f8d575e2d9bdfc384e0824 - languageName: node - linkType: hard - "eslint-config-react-native-wcandillon@npm:4.0.1": version: 4.0.1 resolution: "eslint-config-react-native-wcandillon@npm:4.0.1" @@ -17338,20 +15747,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-flowtype@npm:^8.0.3": - version: 8.0.3 - resolution: "eslint-plugin-flowtype@npm:8.0.3" - dependencies: - lodash: ^4.17.21 - string-natural-compare: ^3.0.1 - peerDependencies: - "@babel/plugin-syntax-flow": ^7.14.5 - "@babel/plugin-transform-react-jsx": ^7.14.9 - eslint: ^8.1.0 - checksum: 30e63c5357b0b5571f39afed51e59c140084f4aa53c106b1fd04f26da42b268908466daa6020b92943e71409bdaee1c67202515ed9012404d027cc92cb03cefa - languageName: node - linkType: hard - "eslint-plugin-ft-flow@npm:^2.0.1": version: 2.0.3 resolution: "eslint-plugin-ft-flow@npm:2.0.3" @@ -17390,7 +15785,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:2.32.0, eslint-plugin-import@npm:^2.25.3, eslint-plugin-import@npm:^2.32.0": +"eslint-plugin-import@npm:2.32.0, eslint-plugin-import@npm:^2.32.0": version: 2.32.0 resolution: "eslint-plugin-import@npm:2.32.0" dependencies: @@ -17419,23 +15814,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jest@npm:^25.3.0": - version: 25.7.0 - resolution: "eslint-plugin-jest@npm:25.7.0" - dependencies: - "@typescript-eslint/experimental-utils": ^5.0.0 - peerDependencies: - "@typescript-eslint/eslint-plugin": ^4.0.0 || ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - jest: - optional: true - checksum: fc6da96131f4cbf33d15ef911ec8e600ccd71deb97d73c0ca340427cef7b01ff41a797e2e7d1e351abf97321a46ed0c0acff5ee8eeedac94961dd6dad1f718a9 - languageName: node - linkType: hard - "eslint-plugin-jest@npm:^26.5.3": version: 26.9.0 resolution: "eslint-plugin-jest@npm:26.9.0" @@ -17489,31 +15867,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:^6.5.1": - version: 6.10.2 - resolution: "eslint-plugin-jsx-a11y@npm:6.10.2" - dependencies: - aria-query: ^5.3.2 - array-includes: ^3.1.8 - array.prototype.flatmap: ^1.3.2 - ast-types-flow: ^0.0.8 - axe-core: ^4.10.0 - axobject-query: ^4.1.0 - damerau-levenshtein: ^1.0.8 - emoji-regex: ^9.2.2 - hasown: ^2.0.2 - jsx-ast-utils: ^3.3.5 - language-tags: ^1.0.9 - minimatch: ^3.1.2 - object.fromentries: ^2.0.8 - safe-regex-test: ^1.0.3 - string.prototype.includes: ^2.0.1 - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - checksum: 0cc861398fa26ada61ed5703eef5b335495fcb96253263dcd5e399488ff019a2636372021baacc040e3560d1a34bfcd5d5ad9f1754f44cd0509c956f7df94050 - languageName: node - linkType: hard - "eslint-plugin-prettier@npm:^4.2.1": version: 4.2.5 resolution: "eslint-plugin-prettier@npm:4.2.5" @@ -17549,7 +15902,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.3.0, eslint-plugin-react-hooks@npm:^4.6.0": +"eslint-plugin-react-hooks@npm:^4.6.0": version: 4.6.2 resolution: "eslint-plugin-react-hooks@npm:4.6.2" peerDependencies: @@ -17600,7 +15953,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.27.1, eslint-plugin-react@npm:^7.30.1, eslint-plugin-react@npm:^7.37.2": +"eslint-plugin-react@npm:^7.30.1, eslint-plugin-react@npm:^7.37.2": version: 7.37.5 resolution: "eslint-plugin-react@npm:7.37.5" dependencies: @@ -17628,17 +15981,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-testing-library@npm:^5.0.1": - version: 5.11.1 - resolution: "eslint-plugin-testing-library@npm:5.11.1" - dependencies: - "@typescript-eslint/utils": ^5.58.0 - peerDependencies: - eslint: ^7.5.0 || ^8.0.0 - checksum: 9f3fc68ef9f13016a4381b33ab5dbffcc189e5de3eaeba184bcf7d2771faa7f54e59c04b652162fb1c0f83fb52428dd909db5450a25508b94be59eba69fcc990 - languageName: node - linkType: hard - "eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -17649,16 +15991,6 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: ^4.3.0 - estraverse: ^5.2.0 - checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e - languageName: node - linkType: hard - "eslint-scope@npm:^8.4.0": version: 8.4.0 resolution: "eslint-scope@npm:8.4.0" @@ -17676,7 +16008,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 @@ -17690,22 +16022,6 @@ __metadata: languageName: node linkType: hard -"eslint-webpack-plugin@npm:^3.1.1": - version: 3.2.0 - resolution: "eslint-webpack-plugin@npm:3.2.0" - dependencies: - "@types/eslint": ^7.29.0 || ^8.4.1 - jest-worker: ^28.0.2 - micromatch: ^4.0.5 - normalize-path: ^3.0.0 - schema-utils: ^4.0.0 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - webpack: ^5.0.0 - checksum: 095034c35e773fdb21ec7e597ae1f8a6899679c290db29d8568ca94619e8c7f4971f0f9edccc8a965322ab8af9286c87205985a38f4fdcf17654aee7cd8bb7b5 - languageName: node - linkType: hard - "eslint@npm:9.36.0": version: 9.36.0 resolution: "eslint@npm:9.36.0" @@ -17756,54 +16072,6 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.3.0, eslint@npm:^8.57.0": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" - dependencies: - "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.6.1 - "@eslint/eslintrc": ^2.1.4 - "@eslint/js": 8.57.1 - "@humanwhocodes/config-array": ^0.13.0 - "@humanwhocodes/module-importer": ^1.0.1 - "@nodelib/fs.walk": ^1.2.8 - "@ungap/structured-clone": ^1.2.0 - ajv: ^6.12.4 - chalk: ^4.0.0 - cross-spawn: ^7.0.2 - debug: ^4.3.2 - doctrine: ^3.0.0 - escape-string-regexp: ^4.0.0 - eslint-scope: ^7.2.2 - eslint-visitor-keys: ^3.4.3 - espree: ^9.6.1 - esquery: ^1.4.2 - esutils: ^2.0.2 - fast-deep-equal: ^3.1.3 - file-entry-cache: ^6.0.1 - find-up: ^5.0.0 - glob-parent: ^6.0.2 - globals: ^13.19.0 - graphemer: ^1.4.0 - ignore: ^5.2.0 - imurmurhash: ^0.1.4 - is-glob: ^4.0.0 - is-path-inside: ^3.0.3 - js-yaml: ^4.1.0 - json-stable-stringify-without-jsonify: ^1.0.1 - levn: ^0.4.1 - lodash.merge: ^4.6.2 - minimatch: ^3.1.2 - natural-compare: ^1.4.0 - optionator: ^0.9.3 - strip-ansi: ^6.0.1 - text-table: ^0.2.0 - bin: - eslint: bin/eslint.js - checksum: e2489bb7f86dd2011967759a09164e65744ef7688c310bc990612fc26953f34cc391872807486b15c06833bdff737726a23e9b4cdba5de144c311377dc41d91b - languageName: node - linkType: hard - "espree@npm:^10.0.1, espree@npm:^10.4.0": version: 10.4.0 resolution: "espree@npm:10.4.0" @@ -17815,28 +16083,7 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: ^8.9.0 - acorn-jsx: ^5.3.2 - eslint-visitor-keys: ^3.4.1 - checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 - languageName: node - linkType: hard - -"esprima@npm:1.2.2": - version: 1.2.2 - resolution: "esprima@npm:1.2.2" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 4f10006f0e315f2f7d8cf6630e465f183512f1ab2e862b11785a133ce37ed1696573deefb5256e510eaa4368342b13b393334477f6ccdcdb8f10e782b0f5e6dc - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0": +"esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -17846,7 +16093,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2, esquery@npm:^1.5.0": +"esquery@npm:^1.5.0": version: 1.7.0 resolution: "esquery@npm:1.7.0" dependencies: @@ -17864,7 +16111,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1, estraverse@npm:^4.2.0": +"estraverse@npm:^4.1.1": version: 4.3.0 resolution: "estraverse@npm:4.3.0" checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 @@ -17946,13 +16193,6 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^1.0.1": - version: 1.0.1 - resolution: "estree-walker@npm:1.0.1" - checksum: 7e70da539691f6db03a08e7ce94f394ce2eef4180e136d251af299d41f92fb2d28ebcd9a6e393e3728d7970aeb5358705ddf7209d52fbcb2dd4693f95dcf925f - languageName: node - linkType: hard - "estree-walker@npm:^3.0.0": version: 3.0.3 resolution: "estree-walker@npm:3.0.3" @@ -18016,24 +16256,13 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.2.0, events@npm:^3.3.0": +"events@npm:^3.2.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 languageName: node linkType: hard -"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": - version: 1.0.3 - resolution: "evp_bytestokey@npm:1.0.3" - dependencies: - md5.js: ^1.3.4 - node-gyp: latest - safe-buffer: ^5.1.1 - checksum: ad4e1577f1a6b721c7800dcc7c733fe01f6c310732bb5bf2240245c2a5b45a38518b91d8be2c610611623160b9d1c0e91f1ce96d639f8b53e8894625cf20fa45 - languageName: node - linkType: hard - "example@workspace:apps/example": version: 0.0.0-use.local resolution: "example@workspace:apps/example" @@ -18067,6 +16296,7 @@ __metadata: its-fine: ^2.0.0 jest: ^29.6.3 jest-transform-stub: ^2.0.0 + playwright: 1.59.0 prettier: 2.8.8 react: 19.0.0 react-dom: 19.0.0 @@ -18214,18 +16444,6 @@ __metadata: languageName: node linkType: hard -"expect@npm:^27.5.1": - version: 27.5.1 - resolution: "expect@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - jest-get-type: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - checksum: b2c66beb52de53ef1872165aace40224e722bca3c2274c54cfa74b6d617d55cf0ccdbf36783ccd64dbea501b280098ed33fd0b207d4f15bc03cd3c7a24364a6a - languageName: node - linkType: hard - "expect@npm:^29.0.0, expect@npm:^29.7.0": version: 29.7.0 resolution: "expect@npm:29.7.0" @@ -18285,7 +16503,7 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.17.3, express@npm:^4.22.1": +"express@npm:^4.22.1": version: 4.22.1 resolution: "express@npm:4.22.1" dependencies: @@ -18425,7 +16643,7 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": +"fast-levenshtein@npm:^2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c @@ -18612,15 +16830,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: ^3.0.4 - checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 - languageName: node - linkType: hard - "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -18651,13 +16860,6 @@ __metadata: languageName: node linkType: hard -"filesize@npm:^8.0.6": - version: 8.0.7 - resolution: "filesize@npm:8.0.7" - checksum: 8603d27c5287b984cb100733640645e078f5f5ad65c6d913173e01fb99e09b0747828498fd86647685ccecb69be31f3587b9739ab1e50732116b2374aff4cbf9 - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -18674,13 +16876,6 @@ __metadata: languageName: node linkType: hard -"filter-obj@npm:^2.0.2": - version: 2.0.2 - resolution: "filter-obj@npm:2.0.2" - checksum: e0d71ebc89515a4305db5158aeb78c9f9a4bfef4bacf272e7de8cadf0d3b694191f6fdbd3b507ee330c266c4287f21804defa8c80693d8c6ad60f1cbfad4f477 - languageName: node - linkType: hard - "finalhandler@npm:1.1.2": version: 1.1.2 resolution: "finalhandler@npm:1.1.2" @@ -18722,17 +16917,6 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.3.1": - version: 3.3.2 - resolution: "find-cache-dir@npm:3.3.2" - dependencies: - commondir: ^1.0.1 - make-dir: ^3.0.2 - pkg-dir: ^4.1.0 - checksum: 1e61c2e64f5c0b1c535bd85939ae73b0e5773142713273818cc0b393ee3555fb0fd44e1a5b161b8b6c3e03e98c2fcc9c227d784850a13a90a8ab576869576817 - languageName: node - linkType: hard - "find-cache-dir@npm:^4.0.0": version: 4.0.0 resolution: "find-cache-dir@npm:4.0.0" @@ -18808,17 +16992,6 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" - dependencies: - flatted: ^3.2.9 - keyv: ^4.5.3 - rimraf: ^3.0.2 - checksum: e7e0f59801e288b54bee5cb9681e9ee21ee28ef309f886b312c9d08415b79fc0f24ac842f84356ce80f47d6a53de62197ce0e6e148dc42d5db005992e2a756ec - languageName: node - linkType: hard - "flat-cache@npm:^4.0.0": version: 4.0.1 resolution: "flat-cache@npm:4.0.1" @@ -18902,37 +17075,6 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:^6.5.0": - version: 6.5.3 - resolution: "fork-ts-checker-webpack-plugin@npm:6.5.3" - dependencies: - "@babel/code-frame": ^7.8.3 - "@types/json-schema": ^7.0.5 - chalk: ^4.1.0 - chokidar: ^3.4.2 - cosmiconfig: ^6.0.0 - deepmerge: ^4.2.2 - fs-extra: ^9.0.0 - glob: ^7.1.6 - memfs: ^3.1.2 - minimatch: ^3.0.4 - schema-utils: 2.7.0 - semver: ^7.3.2 - tapable: ^1.0.0 - peerDependencies: - eslint: ">= 6" - typescript: ">= 2.7" - vue-template-compiler: "*" - webpack: ">= 4" - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true - checksum: 9732a49bfeed8fc23e6e8a59795fa7c238edeba91040a9b520db54b4d316dda27f9f1893d360e296fd0ad8930627d364417d28a8c7007fba60cc730ebfce4956 - languageName: node - linkType: hard - "form-data-encoder@npm:^2.1.2": version: 2.1.4 resolution: "form-data-encoder@npm:2.1.4" @@ -18940,19 +17082,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^3.0.0": - version: 3.0.5 - resolution: "form-data@npm:3.0.5" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - es-set-tostringtag: ^2.1.0 - hasown: ^2.0.4 - mime-types: ^2.1.35 - checksum: 03b753d26cd7da91bafbdf40078cb9750b91f204377a228c94b538fcc35ff7df476f1f8c0d2d8acfb7e4cbfb45894ac945ff2ba40908d842cf0d7123d583cee4 - languageName: node - linkType: hard - "form-data@npm:^4.0.4": version: 4.0.5 resolution: "form-data@npm:4.0.5" @@ -19027,7 +17156,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": +"fs-extra@npm:^10.1.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" dependencies: @@ -19097,13 +17226,6 @@ __metadata: languageName: node linkType: hard -"fs-monkey@npm:^1.0.4": - version: 1.1.0 - resolution: "fs-monkey@npm:1.1.0" - checksum: ebb6305a37ca4731ffe9aceae21be40992fe5384f7a25819a1d64d17c649e7eeac3fc9ad6269cad6fffc409df0f4583253c93a930549fd82d5f8aed46beb5b9b - languageName: node - linkType: hard - "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" @@ -19484,35 +17606,6 @@ __metadata: languageName: node linkType: hard -"global-modules@npm:^2.0.0": - version: 2.0.0 - resolution: "global-modules@npm:2.0.0" - dependencies: - global-prefix: ^3.0.0 - checksum: d6197f25856c878c2fb5f038899f2dca7cbb2f7b7cf8999660c0104972d5cfa5c68b5a0a77fa8206bb536c3903a4615665acb9709b4d80846e1bb47eaef65430 - languageName: node - linkType: hard - -"global-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "global-prefix@npm:3.0.0" - dependencies: - ini: ^1.3.5 - kind-of: ^6.0.2 - which: ^1.3.1 - checksum: 8a82fc1d6f22c45484a4e34656cc91bf021a03e03213b0035098d605bfc612d7141f1e14a21097e8a0413b4884afd5b260df0b6a25605ce9d722e11f1df2881d - languageName: node - linkType: hard - -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: ^0.20.2 - checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c - languageName: node - linkType: hard - "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -19530,7 +17623,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.1, globby@npm:^11.0.4, globby@npm:^11.1.0": +"globby@npm:^11.0.1, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -19714,13 +17807,6 @@ __metadata: languageName: node linkType: hard -"harmony-reflect@npm:^1.4.6": - version: 1.6.2 - resolution: "harmony-reflect@npm:1.6.2" - checksum: 2e5bae414cd2bfae5476147f9935dc69ee9b9a413206994dcb94c5b3208d4555da3d4313aff6fd14bd9991c1e3ef69cdda5c8fac1eb1d7afc064925839339b8c - languageName: node - linkType: hard - "has-ansi@npm:^2.0.0": version: 2.0.0 resolution: "has-ansi@npm:2.0.0" @@ -19799,38 +17885,6 @@ __metadata: languageName: node linkType: hard -"hash-base@npm:^3.0.0, hash-base@npm:^3.1.2": - version: 3.1.2 - resolution: "hash-base@npm:3.1.2" - dependencies: - inherits: ^2.0.4 - readable-stream: ^2.3.8 - safe-buffer: ^5.2.1 - to-buffer: ^1.2.1 - checksum: ca7c548098ca2aa3616f8ddb0406c9cadd0fbc35868d885200692b13a3b6d5b30e2b55ab808ff6000c69f11b3c26fd98e5955b1484d79a59fbd07d1d6b65ca4b - languageName: node - linkType: hard - -"hash-base@npm:~3.0.4": - version: 3.0.5 - resolution: "hash-base@npm:3.0.5" - dependencies: - inherits: ^2.0.4 - safe-buffer: ^5.2.1 - checksum: 6a82675a5de2ea9347501bbe655a2334950c7ec972fd9810ae9529e06aeab8f7e8ef68fc2112e5e6f0745561a7e05326efca42ad59bb5fd116537f5f8b0a216d - languageName: node - linkType: hard - -"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": - version: 1.1.7 - resolution: "hash.js@npm:1.1.7" - dependencies: - inherits: ^2.0.3 - minimalistic-assert: ^1.0.1 - checksum: e350096e659c62422b85fa508e4b3669017311aa4c49b74f19f8e1bc7f3a54a584fdfd45326d4964d6011f2b2d882e38bea775a96046f2a61b7779a979629d8f - languageName: node - linkType: hard - "hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -19840,15 +17894,6 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.4": - version: 2.0.4 - resolution: "hasown@npm:2.0.4" - dependencies: - function-bind: ^1.1.2 - checksum: 4bd8f916b629e06324853593ffbdd45e200022952a85ad0c967f3bd4c2e4c7e1f9a9766fbe6186f60bd394e0afc73e719730caa1da15cd9bd832b7cdf53fd26c - languageName: node - linkType: hard - "hast-util-from-parse5@npm:^8.0.0": version: 8.0.3 resolution: "hast-util-from-parse5@npm:8.0.3" @@ -20151,17 +18196,6 @@ __metadata: languageName: node linkType: hard -"hmac-drbg@npm:^1.0.1": - version: 1.0.1 - resolution: "hmac-drbg@npm:1.0.1" - dependencies: - hash.js: ^1.0.3 - minimalistic-assert: ^1.0.0 - minimalistic-crypto-utils: ^1.0.1 - checksum: bd30b6a68d7f22d63f10e1888aee497d7c2c5c0bb469e66bbdac99f143904d1dfe95f8131f95b3e86c86dd239963c9d972fcbe147e7cffa00e55d18585c43fe0 - languageName: node - linkType: hard - "hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -20178,13 +18212,6 @@ __metadata: languageName: node linkType: hard -"hoopy@npm:^0.1.4": - version: 0.1.4 - resolution: "hoopy@npm:0.1.4" - checksum: cfa60c7684c5e1ee4efe26e167bc54b73f839ffb59d1d44a5c4bf891e26b4f5bcc666555219a98fec95508fea4eda3a79540c53c05cc79afc1f66f9a238f4d9e - languageName: node - linkType: hard - "hosted-git-info@npm:^7.0.0": version: 7.0.2 resolution: "hosted-git-info@npm:7.0.2" @@ -20215,19 +18242,12 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^2.0.1": - version: 2.0.1 - resolution: "html-encoding-sniffer@npm:2.0.1" +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" dependencies: - whatwg-encoding: ^1.0.5 - checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba - languageName: node - linkType: hard - -"html-entities@npm:^2.1.0, html-entities@npm:^2.3.2": - version: 2.6.0 - resolution: "html-entities@npm:2.6.0" - checksum: 720643f7954019c80911430a7df2728524c07080edfe812610bfc5d8191cd772b470bee0ee151bf7426679314ae53cf28a1c845d702123714e625a8565b26567 + whatwg-encoding: ^3.1.1 + checksum: 3339b71dab2723f3159a56acf541ae90a408ce2d11169f00fe7e0c4663d31d6398c8a4408b504b4eec157444e47b084df09b3cb039c816660f0dd04846b8957d languageName: node linkType: hard @@ -20293,7 +18313,7 @@ __metadata: languageName: node linkType: hard -"html-webpack-plugin@npm:^5.5.0, html-webpack-plugin@npm:^5.6.0": +"html-webpack-plugin@npm:^5.6.0": version: 5.6.6 resolution: "html-webpack-plugin@npm:5.6.6" dependencies: @@ -20399,18 +18419,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": 1 - agent-base: 6 - debug: 4 - checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -20420,7 +18429,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.9": +"http-proxy-middleware@npm:^2.0.9": version: 2.0.10 resolution: "http-proxy-middleware@npm:2.0.10" dependencies: @@ -20459,14 +18468,7 @@ __metadata: languageName: node linkType: hard -"https-browserify@npm:^1.0.0": - version: 1.0.0 - resolution: "https-browserify@npm:1.0.0" - checksum: 09b35353e42069fde2435760d13f8a3fb7dd9105e358270e2e225b8a94f811b461edd17cb57594e5f36ec1218f121c160ddceeec6e8be2d55e01dcbbbed8cbae - languageName: node - linkType: hard - -"https-proxy-agent@npm:5.0.1, https-proxy-agent@npm:^5.0.0": +"https-proxy-agent@npm:5.0.1": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: @@ -20476,7 +18478,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": +"https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5, https-proxy-agent@npm:^7.0.6": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -20535,16 +18537,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24, iconv-lite@npm:~0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: ">= 2.1.2 < 3" - checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -20553,6 +18546,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:~0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + "icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": version: 5.1.0 resolution: "icss-utils@npm:5.1.0" @@ -20562,22 +18564,6 @@ __metadata: languageName: node linkType: hard -"idb@npm:^7.0.1": - version: 7.1.1 - resolution: "idb@npm:7.1.1" - checksum: 1973c28d53c784b177bdef9f527ec89ec239ec7cf5fcbd987dae75a16c03f5b7dfcc8c6d3285716fd0309dd57739805390bd9f98ce23b1b7d8849a3b52de8d56 - languageName: node - linkType: hard - -"identity-obj-proxy@npm:^3.0.0": - version: 3.0.0 - resolution: "identity-obj-proxy@npm:3.0.0" - dependencies: - harmony-reflect: ^1.4.6 - checksum: 97559f8ea2aeaa1a880d279d8c49550dce01148321e00a2102cda5ddf9ce622fa1d7f3efc7bed63458af78889de888fdaebaf31c816312298bb3fdd0ef8aaf2c - languageName: node - linkType: hard - "ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -20642,13 +18628,6 @@ __metadata: languageName: node linkType: hard -"immer@npm:^9.0.7": - version: 9.0.21 - resolution: "immer@npm:9.0.21" - checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 - languageName: node - linkType: hard - "import-fresh@npm:^2.0.0": version: 2.0.0 resolution: "import-fresh@npm:2.0.0" @@ -20659,7 +18638,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.1.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" dependencies: @@ -20771,7 +18750,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": +"ini@npm:^1.3.4, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -20912,7 +18891,7 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:^2.0.1, ipaddr.js@npm:^2.1.0": +"ipaddr.js@npm:^2.1.0": version: 2.3.0 resolution: "ipaddr.js@npm:2.3.0" checksum: 275602ad56e765d6c4187c1ab1a17d415da7a263e8d3278da5bdb6db147b29c56fac7e98a3f68b05d25e0b515601f1e750c2dd8ec9a871eb93ea094643b84916 @@ -20963,16 +18942,6 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": - version: 1.2.0 - resolution: "is-arguments@npm:1.2.0" - dependencies: - call-bound: ^1.0.2 - has-tostringtag: ^1.0.2 - checksum: aae9307fedfe2e5be14aebd0f48a9eeedf6b8c8f5a0b66257b965146d1e94abdc3f08e3dce3b1d908e1fa23c70039a88810ee1d753905758b9b6eebbab0bafeb - languageName: node - linkType: hard - "is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": version: 3.0.5 resolution: "is-array-buffer@npm:3.0.5" @@ -21211,7 +19180,7 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": +"is-generator-function@npm:^1.0.10": version: 1.1.2 resolution: "is-generator-function@npm:1.1.2" dependencies: @@ -21302,23 +19271,6 @@ __metadata: languageName: node linkType: hard -"is-module@npm:^1.0.0": - version: 1.0.0 - resolution: "is-module@npm:1.0.0" - checksum: 8cd5390730c7976fb4e8546dd0b38865ee6f7bacfa08dfbb2cc07219606755f0b01709d9361e01f13009bbbd8099fa2927a8ed665118a6105d66e40f1b838c3f - languageName: node - linkType: hard - -"is-nan@npm:^1.3.2": - version: 1.3.2 - resolution: "is-nan@npm:1.3.2" - dependencies: - call-bind: ^1.0.0 - define-properties: ^1.1.3 - checksum: 5dfadcef6ad12d3029d43643d9800adbba21cf3ce2ec849f734b0e14ee8da4070d82b15fdb35138716d02587c6578225b9a22779cab34888a139cc43e4e3610a - languageName: node - linkType: hard - "is-negative-zero@npm:^2.0.3": version: 2.0.3 resolution: "is-negative-zero@npm:2.0.3" @@ -21378,7 +19330,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": +"is-path-inside@npm:^3.0.2": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 @@ -21457,13 +19409,6 @@ __metadata: languageName: node linkType: hard -"is-root@npm:^2.1.0": - version: 2.1.0 - resolution: "is-root@npm:2.1.0" - checksum: 37eea0822a2a9123feb58a9d101558ba276771a6d830f87005683349a9acff15958a9ca590a44e778c6b335660b83e85c744789080d734f6081a935a4880aee2 - languageName: node - linkType: hard - "is-set@npm:^2.0.3": version: 2.0.3 resolution: "is-set@npm:2.0.3" @@ -21529,7 +19474,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "is-typed-array@npm:1.1.15" dependencies: @@ -21695,7 +19640,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": +"istanbul-lib-instrument@npm:^5.0.4": version: 5.2.1 resolution: "istanbul-lib-instrument@npm:5.2.1" dependencies: @@ -21844,17 +19789,6 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-changed-files@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - execa: ^5.0.0 - throat: ^6.0.1 - checksum: 95e9dc74c3ca688ef85cfeab270f43f8902721a6c8ade6ac2459459a77890c85977f537d6fb809056deaa6d9c3f075fa7d2699ff5f3bf7d3fda17c3760b79b15 - languageName: node - linkType: hard - "jest-changed-files@npm:^29.7.0": version: 29.7.0 resolution: "jest-changed-files@npm:29.7.0" @@ -21894,33 +19828,6 @@ __metadata: languageName: node linkType: hard -"jest-circus@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-circus@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - co: ^4.6.0 - dedent: ^0.7.0 - expect: ^27.5.1 - is-generator-fn: ^2.0.0 - jest-each: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - slash: ^3.0.0 - stack-utils: ^2.0.3 - throat: ^6.0.1 - checksum: 6192dccbccb3a6acfa361cbb97bdbabe94864ccf3d885932cfd41f19534329d40698078cf9be1489415e8234255d6ea9f9aff5396b79ad842a6fca6e6fc08fd0 - languageName: node - linkType: hard - "jest-circus@npm:^29.7.0": version: 29.7.0 resolution: "jest-circus@npm:29.7.0" @@ -21974,33 +19881,6 @@ __metadata: languageName: node linkType: hard -"jest-cli@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-cli@npm:27.5.1" - dependencies: - "@jest/core": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - import-local: ^3.0.2 - jest-config: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - prompts: ^2.0.1 - yargs: ^16.2.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 6c0a69fb48e500241409e09ff743ed72bc6578d7769e2c994724e7ef1e5587f6c1f85dc429e93b98ae38a365222993ee70f0acc2199358992120900984f349e5 - languageName: node - linkType: hard - "jest-cli@npm:^29.7.0": version: 29.7.0 resolution: "jest-cli@npm:29.7.0" @@ -22070,43 +19950,6 @@ __metadata: languageName: node linkType: hard -"jest-config@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-config@npm:27.5.1" - dependencies: - "@babel/core": ^7.8.0 - "@jest/test-sequencer": ^27.5.1 - "@jest/types": ^27.5.1 - babel-jest: ^27.5.1 - chalk: ^4.0.0 - ci-info: ^3.2.0 - deepmerge: ^4.2.2 - glob: ^7.1.1 - graceful-fs: ^4.2.9 - jest-circus: ^27.5.1 - jest-environment-jsdom: ^27.5.1 - jest-environment-node: ^27.5.1 - jest-get-type: ^27.5.1 - jest-jasmine2: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-runner: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - micromatch: ^4.0.4 - parse-json: ^5.2.0 - pretty-format: ^27.5.1 - slash: ^3.0.0 - strip-json-comments: ^3.1.1 - peerDependencies: - ts-node: ">=9.0.0" - peerDependenciesMeta: - ts-node: - optional: true - checksum: 1188fd46c0ed78cbe3175eb9ad6712ccf74a74be33d9f0d748e147c107f0889f8b701fbff1567f31836ae18597dacdc43d6a8fc30dd34ade6c9229cc6c7cb82d - languageName: node - linkType: hard - "jest-config@npm:^29.7.0": version: 29.7.0 resolution: "jest-config@npm:29.7.0" @@ -22181,18 +20024,6 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-diff@npm:27.5.1" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 - languageName: node - linkType: hard - "jest-docblock@npm:30.0.0": version: 30.0.0 resolution: "jest-docblock@npm:30.0.0" @@ -22202,15 +20033,6 @@ __metadata: languageName: node linkType: hard -"jest-docblock@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-docblock@npm:27.5.1" - dependencies: - detect-newline: ^3.0.0 - checksum: c0fed6d55b229d8bffdd8d03f121dd1a3be77c88f50552d374f9e1ea3bde57bf6bea017a0add04628d98abcb1bfb48b456438eeca8a74ef0053f4dae3b95d29c - languageName: node - linkType: hard - "jest-docblock@npm:^29.7.0": version: 29.7.0 resolution: "jest-docblock@npm:29.7.0" @@ -22233,19 +20055,6 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-each@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - jest-get-type: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - checksum: b5a6d8730fd938982569c9e0b42bdf3c242f97b957ed8155a6473b5f7b540970f8685524e7f53963dc1805319f4b6602abfc56605590ca19d55bd7a87e467e63 - languageName: node - linkType: hard - "jest-each@npm:^29.7.0": version: 29.7.0 resolution: "jest-each@npm:29.7.0" @@ -22259,18 +20068,21 @@ __metadata: languageName: node linkType: hard -"jest-environment-jsdom@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-environment-jsdom@npm:27.5.1" +"jest-environment-jsdom@npm:30.0.0": + version: 30.0.0 + resolution: "jest-environment-jsdom@npm:30.0.0" dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/environment": 30.0.0 + "@jest/environment-jsdom-abstract": 30.0.0 + "@types/jsdom": ^21.1.7 "@types/node": "*" - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - jsdom: ^16.6.0 - checksum: bc104aef7d7530d0740402aa84ac812138b6d1e51fe58adecce679f82b99340ddab73e5ec68fa079f33f50c9ddec9728fc9f0ddcca2ad6f0b351eed2762cc555 + jsdom: ^26.1.0 + peerDependencies: + canvas: ^3.0.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 5cb1d4be4f3d998a22e052fa7627caae186024af969f63ac1ff0b7b4ee7efe3005eabfdce4caf42ad08f6842c31c8b9f93c1826eae515db7b4f4ccd0576baac3 languageName: node linkType: hard @@ -22289,20 +20101,6 @@ __metadata: languageName: node linkType: hard -"jest-environment-node@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-environment-node@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - checksum: 0f988330c4f3eec092e3fb37ea753b0c6f702e83cd8f4d770af9c2bf964a70bc45fbd34ec6fdb6d71ce98a778d9f54afd673e63f222e4667fff289e8069dba39 - languageName: node - linkType: hard - "jest-environment-node@npm:^29.6.3, jest-environment-node@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-node@npm:29.7.0" @@ -22317,13 +20115,6 @@ __metadata: languageName: node linkType: hard -"jest-get-type@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-get-type@npm:27.5.1" - checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 - languageName: node - linkType: hard - "jest-get-type@npm:^29.6.3": version: 29.6.3 resolution: "jest-get-type@npm:29.6.3" @@ -22353,30 +20144,6 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-haste-map@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/graceful-fs": ^4.1.2 - "@types/node": "*" - anymatch: ^3.0.3 - fb-watchman: ^2.0.0 - fsevents: ^2.3.2 - graceful-fs: ^4.2.9 - jest-regex-util: ^27.5.1 - jest-serializer: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 - micromatch: ^4.0.4 - walker: ^1.0.7 - dependenciesMeta: - fsevents: - optional: true - checksum: e092a1412829a9254b4725531ee72926de530f77fda7b0d9ea18008fb7623c16f72e772d8e93be71cac9e591b2c6843a669610887dd2c89bd9eb528856e3ab47 - languageName: node - linkType: hard - "jest-haste-map@npm:^29.7.0": version: 29.7.0 resolution: "jest-haste-map@npm:29.7.0" @@ -22400,31 +20167,6 @@ __metadata: languageName: node linkType: hard -"jest-jasmine2@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-jasmine2@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/source-map": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - co: ^4.6.0 - expect: ^27.5.1 - is-generator-fn: ^2.0.0 - jest-each: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - throat: ^6.0.1 - checksum: b716adf253ceb73db661936153394ab90d7f3a8ba56d6189b7cd4df8e4e2a4153b4e63ebb5d36e29ceb0f4c211d5a6f36ab7048c6abbd881c8646567e2ab8e6d - languageName: node - linkType: hard - "jest-leak-detector@npm:30.0.0": version: 30.0.0 resolution: "jest-leak-detector@npm:30.0.0" @@ -22435,16 +20177,6 @@ __metadata: languageName: node linkType: hard -"jest-leak-detector@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-leak-detector@npm:27.5.1" - dependencies: - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: 5c9689060960567ddaf16c570d87afa760a461885765d2c71ef4f4857bbc3af1482c34e3cce88e50beefde1bf35e33530b020480752057a7e3dbb1ca0bae359f - languageName: node - linkType: hard - "jest-leak-detector@npm:^29.7.0": version: 29.7.0 resolution: "jest-leak-detector@npm:29.7.0" @@ -22479,18 +20211,6 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-matcher-utils@npm:27.5.1" - dependencies: - chalk: ^4.0.0 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a - languageName: node - linkType: hard - "jest-matcher-utils@npm:^29.7.0": version: 29.7.0 resolution: "jest-matcher-utils@npm:29.7.0" @@ -22537,40 +20257,6 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-message-util@npm:27.5.1" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^27.5.1 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^27.5.1 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: eb6d637d1411c71646de578c49826b6da8e33dd293e501967011de9d1916d53d845afbfb52a5b661ff1c495be7c13f751c48c7f30781fd94fbd64842e8195796 - languageName: node - linkType: hard - -"jest-message-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-message-util@npm:28.1.3" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^28.1.3 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^28.1.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 1f266854166dcc6900d75a88b54a25225a2f3710d463063ff1c99021569045c35c7d58557b25447a17eb3a65ce763b2f9b25550248b468a9d4657db365f39e96 - languageName: node - linkType: hard - "jest-message-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-message-util@npm:29.7.0" @@ -22610,16 +20296,6 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-mock@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/node": "*" - checksum: f5b5904bb1741b4a1687a5f492535b7b1758dc26534c72a5423305f8711292e96a601dec966df81bb313269fb52d47227e29f9c2e08324d79529172f67311be0 - languageName: node - linkType: hard - "jest-mock@npm:^29.7.0": version: 29.7.0 resolution: "jest-mock@npm:29.7.0" @@ -22657,20 +20333,6 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-regex-util@npm:27.5.1" - checksum: d45ca7a9543616a34f7f3079337439cf07566e677a096472baa2810e274b9808b76767c97b0a4029b8a5b82b9d256dee28ef9ad4138b2b9e5933f6fac106c418 - languageName: node - linkType: hard - -"jest-regex-util@npm:^28.0.0": - version: 28.0.2 - resolution: "jest-regex-util@npm:28.0.2" - checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add - languageName: node - linkType: hard - "jest-regex-util@npm:^29.6.3": version: 29.6.3 resolution: "jest-regex-util@npm:29.6.3" @@ -22688,17 +20350,6 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-resolve-dependencies@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - jest-regex-util: ^27.5.1 - jest-snapshot: ^27.5.1 - checksum: c67af97afad1da88f5530317c732bbd1262d1225f6cd7f4e4740a5db48f90ab0bd8564738ac70d1a43934894f9aef62205c1b8f8ee89e5c7a737e6a121ee4c25 - languageName: node - linkType: hard - "jest-resolve-dependencies@npm:^29.7.0": version: 29.7.0 resolution: "jest-resolve-dependencies@npm:29.7.0" @@ -22725,24 +20376,6 @@ __metadata: languageName: node linkType: hard -"jest-resolve@npm:^27.4.2, jest-resolve@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-resolve@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-pnp-resolver: ^1.2.2 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - resolve: ^1.20.0 - resolve.exports: ^1.1.0 - slash: ^3.0.0 - checksum: 735830e7265b20a348029738680bb2f6e37f80ecea86cda869a4c318ba3a45d39c7a3a873a22f7f746d86258c50ead6e7f501de043e201c095d7ba628a1c440f - languageName: node - linkType: hard - "jest-resolve@npm:^29.7.0": version: 29.7.0 resolution: "jest-resolve@npm:29.7.0" @@ -22790,35 +20423,6 @@ __metadata: languageName: node linkType: hard -"jest-runner@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-runner@npm:27.5.1" - dependencies: - "@jest/console": ^27.5.1 - "@jest/environment": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - emittery: ^0.8.1 - graceful-fs: ^4.2.9 - jest-docblock: ^27.5.1 - jest-environment-jsdom: ^27.5.1 - jest-environment-node: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-leak-detector: ^27.5.1 - jest-message-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-runtime: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 - source-map-support: ^0.5.6 - throat: ^6.0.1 - checksum: 5bbe6cf847dd322b3332ec9d6977b54f91bd5f72ff620bc1a0192f0f129deda8aa7ca74c98922187a7aa87d8e0ce4f6c50e99a7ccb2a310bf4d94be2e0c3ce8e - languageName: node - linkType: hard - "jest-runner@npm:^29.7.0": version: 29.7.0 resolution: "jest-runner@npm:29.7.0" @@ -22878,36 +20482,6 @@ __metadata: languageName: node linkType: hard -"jest-runtime@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-runtime@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/globals": ^27.5.1 - "@jest/source-map": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - chalk: ^4.0.0 - cjs-module-lexer: ^1.0.0 - collect-v8-coverage: ^1.0.0 - execa: ^5.0.0 - glob: ^7.1.3 - graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-message-util: ^27.5.1 - jest-mock: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - slash: ^3.0.0 - strip-bom: ^4.0.0 - checksum: 929e3df0c53dab43f831f2af4e2996b22aa8cb2d6d483919d6b0426cbc100098fd5b777b998c6568b77f8c4d860b2e83127514292ff61416064f5ef926492386 - languageName: node - linkType: hard - "jest-runtime@npm:^29.7.0": version: 29.7.0 resolution: "jest-runtime@npm:29.7.0" @@ -22938,16 +20512,6 @@ __metadata: languageName: node linkType: hard -"jest-serializer@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-serializer@npm:27.5.1" - dependencies: - "@types/node": "*" - graceful-fs: ^4.2.9 - checksum: 803e03a552278610edc6753c0dd9fa5bb5cd3ca47414a7b2918106efb62b79fd5e9ae785d0a21f12a299fa599fea8acc1fa6dd41283328cee43962cf7df9bb44 - languageName: node - linkType: hard - "jest-snapshot@npm:30.0.0": version: 30.0.0 resolution: "jest-snapshot@npm:30.0.0" @@ -22977,36 +20541,6 @@ __metadata: languageName: node linkType: hard -"jest-snapshot@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-snapshot@npm:27.5.1" - dependencies: - "@babel/core": ^7.7.2 - "@babel/generator": ^7.7.2 - "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 - "@babel/types": ^7.0.0 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/babel__traverse": ^7.0.4 - "@types/prettier": ^2.1.5 - babel-preset-current-node-syntax: ^1.0.0 - chalk: ^4.0.0 - expect: ^27.5.1 - graceful-fs: ^4.2.9 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-util: ^27.5.1 - natural-compare: ^1.4.0 - pretty-format: ^27.5.1 - semver: ^7.3.2 - checksum: a5cfadf0d21cd76063925d1434bc076443ed6d87847d0e248f0b245f11db3d98ff13e45cc03b15404027dabecd712d925f47b6eae4f64986f688640a7d362514 - languageName: node - linkType: hard - "jest-snapshot@npm:^29.7.0": version: 29.7.0 resolution: "jest-snapshot@npm:29.7.0" @@ -23070,34 +20604,6 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-util@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: ac8d122f6daf7a035dcea156641fd3701aeba245417c40836a77e35b3341b9c02ddc5d904cfcd4ddbaa00ab854da76d3b911870cafdcdbaff90ea471de26c7d7 - languageName: node - linkType: hard - -"jest-util@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-util@npm:28.1.3" - dependencies: - "@jest/types": ^28.1.3 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: fd6459742c941f070223f25e38a2ac0719aad92561591e9fb2a50d602a5d19d754750b79b4074327a42b00055662b95da3b006542ceb8b54309da44d4a62e721 - languageName: node - linkType: hard - "jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" @@ -23126,20 +20632,6 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-validate@npm:27.5.1" - dependencies: - "@jest/types": ^27.5.1 - camelcase: ^6.2.0 - chalk: ^4.0.0 - jest-get-type: ^27.5.1 - leven: ^3.1.0 - pretty-format: ^27.5.1 - checksum: 82e870f8ee7e4fb949652711b1567f05ae31c54be346b0899e8353e5c20fad7692b511905b37966945e90af8dc0383eb41a74f3ffefb16140ea4f9164d841412 - languageName: node - linkType: hard - "jest-validate@npm:^29.6.3, jest-validate@npm:^29.7.0": version: 29.7.0 resolution: "jest-validate@npm:29.7.0" @@ -23154,23 +20646,6 @@ __metadata: languageName: node linkType: hard -"jest-watch-typeahead@npm:^1.0.0": - version: 1.1.0 - resolution: "jest-watch-typeahead@npm:1.1.0" - dependencies: - ansi-escapes: ^4.3.1 - chalk: ^4.0.0 - jest-regex-util: ^28.0.0 - jest-watcher: ^28.0.0 - slash: ^4.0.0 - string-length: ^5.0.1 - strip-ansi: ^7.0.1 - peerDependencies: - jest: ^27.0.0 || ^28.0.0 - checksum: 59b0a494ac01e3801c9ec586de3209153eedb024b981e25443111c5703711d23b67ebc71b072986c1758307e0bfb5bf1c92bd323f73f58602d6f4f609dce6a0c - languageName: node - linkType: hard - "jest-watcher@npm:30.0.0": version: 30.0.0 resolution: "jest-watcher@npm:30.0.0" @@ -23187,37 +20662,6 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-watcher@npm:27.5.1" - dependencies: - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - jest-util: ^27.5.1 - string-length: ^4.0.1 - checksum: 191c4e9c278c0902ade1a8a80883ac244963ba3e6e78607a3d5f729ccca9c6e71fb3b316f87883658132641c5d818aa84202585c76752e03c539e6cbecb820bd - languageName: node - linkType: hard - -"jest-watcher@npm:^28.0.0": - version: 28.1.3 - resolution: "jest-watcher@npm:28.1.3" - dependencies: - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - emittery: ^0.10.2 - jest-util: ^28.1.3 - string-length: ^4.0.1 - checksum: 8f6d674a4865e7df251f71544f1b51f06fd36b5a3a61f2ac81aeb81fa2a196be354fba51d0f97911c88f67cd254583b3a22ee124bf2c5b6ee2fadec27356c207 - languageName: node - linkType: hard - "jest-watcher@npm:^29.7.0": version: 29.7.0 resolution: "jest-watcher@npm:29.7.0" @@ -23247,18 +20691,7 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^26.2.1": - version: 26.6.2 - resolution: "jest-worker@npm:26.6.2" - dependencies: - "@types/node": "*" - merge-stream: ^2.0.0 - supports-color: ^7.0.0 - checksum: f9afa3b88e3f12027901e4964ba3ff048285b5783b5225cab28fac25b4058cea8ad54001e9a1577ee2bed125fac3ccf5c80dc507b120300cc1bbcb368796533e - languageName: node - linkType: hard - -"jest-worker@npm:^27.0.2, jest-worker@npm:^27.4.5, jest-worker@npm:^27.5.1": +"jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" dependencies: @@ -23269,17 +20702,6 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^28.0.2": - version: 28.1.3 - resolution: "jest-worker@npm:28.1.3" - dependencies: - "@types/node": "*" - merge-stream: ^2.0.0 - supports-color: ^8.0.0 - checksum: e921c9a1b8f0909da9ea07dbf3592f95b653aef3a8bb0cbcd20fc7f9a795a1304adecac31eecb308992c167e8d7e75c522061fec38a5928ace0f9571c90169ca - languageName: node - linkType: hard - "jest-worker@npm:^29.4.3, jest-worker@npm:^29.6.3, jest-worker@npm:^29.7.0": version: 29.7.0 resolution: "jest-worker@npm:29.7.0" @@ -23311,24 +20733,6 @@ __metadata: languageName: node linkType: hard -"jest@npm:^27.4.3": - version: 27.5.1 - resolution: "jest@npm:27.5.1" - dependencies: - "@jest/core": ^27.5.1 - import-local: ^3.0.2 - jest-cli: ^27.5.1 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 96f1d69042b3c6dfc695f2a4e4b0db38af6fb78582ad1a02beaa57cfcd77cbd31567d7d865c1c85709b7c3e176eefa3b2035ffecd646005f15d8ef528eccf205 - languageName: node - linkType: hard - "jest@npm:^29.3.1, jest@npm:^29.6.3, jest@npm:^29.7.0": version: 29.7.0 resolution: "jest@npm:29.7.0" @@ -23366,7 +20770,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.20.0, jiti@npm:^1.21.7": +"jiti@npm:^1.20.0": version: 1.21.7 resolution: "jiti@npm:1.21.7" bin: @@ -23494,43 +20898,36 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^16.6.0": - version: 16.7.0 - resolution: "jsdom@npm:16.7.0" - dependencies: - abab: ^2.0.5 - acorn: ^8.2.4 - acorn-globals: ^6.0.0 - cssom: ^0.4.4 - cssstyle: ^2.3.0 - data-urls: ^2.0.0 - decimal.js: ^10.2.1 - domexception: ^2.0.1 - escodegen: ^2.0.0 - form-data: ^3.0.0 - html-encoding-sniffer: ^2.0.1 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 +"jsdom@npm:^26.1.0": + version: 26.1.0 + resolution: "jsdom@npm:26.1.0" + dependencies: + cssstyle: ^4.2.1 + data-urls: ^5.0.0 + decimal.js: ^10.5.0 + html-encoding-sniffer: ^4.0.0 + http-proxy-agent: ^7.0.2 + https-proxy-agent: ^7.0.6 is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 + nwsapi: ^2.2.16 + parse5: ^7.2.1 + rrweb-cssom: ^0.8.0 + saxes: ^6.0.0 symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^2.0.0 - webidl-conversions: ^6.1.0 - whatwg-encoding: ^1.0.5 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.5.0 - ws: ^7.4.6 - xml-name-validator: ^3.0.0 - peerDependencies: - canvas: ^2.5.0 + tough-cookie: ^5.1.1 + w3c-xmlserializer: ^5.0.0 + webidl-conversions: ^7.0.0 + whatwg-encoding: ^3.1.1 + whatwg-mimetype: ^4.0.0 + whatwg-url: ^14.1.1 + ws: ^8.18.0 + xml-name-validator: ^5.0.0 + peerDependencies: + canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true - checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 + checksum: 248e500a872b70bfba3fdbd01a13890ab520bfe42912bb85cb99e7f2eda375d80aa4adfcbd5c4716b6e35e93c2c72b127b8e74527a598c5b6d8e62e05f29eb9b languageName: node linkType: hard @@ -23599,13 +20996,6 @@ __metadata: languageName: node linkType: hard -"json-schema@npm:^0.4.0": - version: 0.4.0 - resolution: "json-schema@npm:0.4.0" - checksum: 66389434c3469e698da0df2e7ac5a3281bcff75e797a5c127db7c5b56270e01ae13d9afa3c03344f76e32e81678337a8c912bdbb75101c62e487dc3778461d72 - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -23631,7 +21021,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.0, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -23679,25 +21069,7 @@ __metadata: languageName: node linkType: hard -"jsonpath@npm:^1.1.1": - version: 1.1.1 - resolution: "jsonpath@npm:1.1.1" - dependencies: - esprima: 1.2.2 - static-eval: 2.0.2 - underscore: 1.12.1 - checksum: 5480d8e9e424fe2ed4ade6860b6e2cefddb21adb3a99abe0254cd9428e8ef9b0c9fb5729d6a5a514e90df50d645ccea9f3be48d627570e6222dd5dadc28eba7b - languageName: node - linkType: hard - -"jsonpointer@npm:^5.0.0": - version: 5.0.1 - resolution: "jsonpointer@npm:5.0.1" - checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c - languageName: node - linkType: hard - -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" dependencies: @@ -23753,29 +21125,6 @@ __metadata: languageName: node linkType: hard -"klona@npm:^2.0.4, klona@npm:^2.0.5": - version: 2.0.6 - resolution: "klona@npm:2.0.6" - checksum: ac9ee3732e42b96feb67faae4d27cf49494e8a3bf3fa7115ce242fe04786788e0aff4741a07a45a2462e2079aa983d73d38519c85d65b70ef11447bbc3c58ce7 - languageName: node - linkType: hard - -"language-subtag-registry@npm:^0.3.20": - version: 0.3.23 - resolution: "language-subtag-registry@npm:0.3.23" - checksum: 0b64c1a6c5431c8df648a6d25594ff280613c886f4a1a542d9b864e5472fb93e5c7856b9c41595c38fac31370328fc79fcc521712e89ea6d6866cbb8e0995d81 - languageName: node - linkType: hard - -"language-tags@npm:^1.0.9": - version: 1.0.9 - resolution: "language-tags@npm:1.0.9" - dependencies: - language-subtag-registry: ^0.3.20 - checksum: 57c530796dc7179914dee71bc94f3747fd694612480241d0453a063777265dfe3a951037f7acb48f456bf167d6eb419d4c00263745326b3ba1cdcf4657070e78 - languageName: node - linkType: hard - "latest-version@npm:^7.0.0": version: 7.0.0 resolution: "latest-version@npm:7.0.0" @@ -23785,7 +21134,7 @@ __metadata: languageName: node linkType: hard -"launch-editor@npm:^2.6.0, launch-editor@npm:^2.6.1": +"launch-editor@npm:^2.6.1": version: 2.14.1 resolution: "launch-editor@npm:2.14.1" dependencies: @@ -23821,16 +21170,6 @@ __metadata: languageName: node linkType: hard -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e - languageName: node - linkType: hard - "libnpmaccess@npm:^9.0.0": version: 9.0.0 resolution: "libnpmaccess@npm:9.0.0" @@ -23974,13 +21313,6 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.0.3": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 8549bb352b8192375fed4a74694cd61ad293904eee33f9d4866c2192865c44c4eb35d10782966242634e0cbc1e91fe62b1247f148dc5514918e3a966da7ea117 - languageName: node - linkType: hard - "lilconfig@npm:^3.1.1, lilconfig@npm:^3.1.3": version: 3.1.3 resolution: "lilconfig@npm:3.1.3" @@ -24021,7 +21353,7 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^2.0.0, loader-utils@npm:^2.0.4": +"loader-utils@npm:^2.0.0": version: 2.0.4 resolution: "loader-utils@npm:2.0.4" dependencies: @@ -24032,13 +21364,6 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^3.2.0": - version: 3.3.1 - resolution: "loader-utils@npm:3.3.1" - checksum: d35808e081635e5bc50228a52ed79f83e2c82bd8f7578818c12b1b4cf0b7f409d72d9b93a683ec36b9eaa93346693d3f3c8380183ba2ff81599b0829d685de39 - languageName: node - linkType: hard - "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -24191,7 +21516,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.7.0": +"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21": version: 4.17.23 resolution: "lodash@npm:4.17.23" checksum: 7daad39758a72872e94651630fbb54ba76868f904211089721a64516ce865506a759d9ad3d8ff22a2a49a50a09db5d27c36f22762d21766e47e3ba918d6d7bab @@ -24278,7 +21603,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.2.2": +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.2.2, lru-cache@npm:^10.4.3": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 6476138d2125387a6d20f100608c2583d415a4f64a0fecf30c9e2dda976614f09cad4baa0842447bd37dd459a7bd27f57d9d8f8ce558805abd487c583f3d774a @@ -24319,15 +21644,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": - version: 0.25.9 - resolution: "magic-string@npm:0.25.9" - dependencies: - sourcemap-codec: ^1.4.8 - checksum: 9a0e55a15c7303fc360f9572a71cffba1f61451bc92c5602b1206c9d17f492403bf96f946dfce7483e66822d6b74607262e24392e87b0ac27b786e69a40e9b1a - languageName: node - linkType: hard - "make-asynchronous@npm:^1.0.1": version: 1.0.1 resolution: "make-asynchronous@npm:1.0.1" @@ -24349,15 +21665,6 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" - dependencies: - semver: ^6.0.0 - checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 - languageName: node - linkType: hard - "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -24504,17 +21811,6 @@ __metadata: languageName: node linkType: hard -"md5.js@npm:^1.3.4": - version: 1.3.5 - resolution: "md5.js@npm:1.3.5" - dependencies: - hash-base: ^3.0.0 - inherits: ^2.0.1 - safe-buffer: ^5.1.2 - checksum: 098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c - languageName: node - linkType: hard - "md5@npm:^2.2.1": version: 2.3.0 resolution: "md5@npm:2.3.0" @@ -24912,15 +22208,6 @@ __metadata: languageName: node linkType: hard -"memfs@npm:^3.1.2, memfs@npm:^3.4.3": - version: 3.5.3 - resolution: "memfs@npm:3.5.3" - dependencies: - fs-monkey: ^1.0.4 - checksum: 18dfdeacad7c8047b976a6ccd58bc98ba76e122ad3ca0e50a21837fe2075fc0d9aafc58ab9cf2576c2b6889da1dd2503083f2364191b695273f40969db2ecc44 - languageName: node - linkType: hard - "memfs@npm:^4.43.1": version: 4.56.10 resolution: "memfs@npm:4.56.10" @@ -25983,18 +23270,6 @@ __metadata: languageName: node linkType: hard -"miller-rabin@npm:^4.0.0": - version: 4.0.1 - resolution: "miller-rabin@npm:4.0.1" - dependencies: - bn.js: ^4.0.0 - brorand: ^1.0.1 - bin: - miller-rabin: bin/miller-rabin - checksum: 00cd1ab838ac49b03f236cc32a14d29d7d28637a53096bf5c6246a032a37749c9bd9ce7360cbf55b41b89b7d649824949ff12bc8eee29ac77c6b38eada619ece - languageName: node - linkType: hard - "mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" @@ -26025,7 +23300,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:^2.1.35, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34, mime-types@npm:~2.1.35": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34, mime-types@npm:~2.1.35": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -26121,7 +23396,7 @@ __metadata: languageName: node linkType: hard -"mini-css-extract-plugin@npm:^2.4.5, mini-css-extract-plugin@npm:^2.9.2": +"mini-css-extract-plugin@npm:^2.9.2": version: 2.10.0 resolution: "mini-css-extract-plugin@npm:2.10.0" dependencies: @@ -26133,20 +23408,13 @@ __metadata: languageName: node linkType: hard -"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": +"minimalistic-assert@npm:^1.0.0": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 languageName: node linkType: hard -"minimalistic-crypto-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-crypto-utils@npm:1.0.1" - checksum: 6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed - languageName: node - linkType: hard - "minimatch@npm:2 || 3": version: 3.1.5 resolution: "minimatch@npm:3.1.5" @@ -26156,7 +23424,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.1.2, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:3.1.2, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -26720,41 +23988,6 @@ __metadata: languageName: node linkType: hard -"node-polyfill-webpack-plugin@npm:^2.0.1": - version: 2.0.1 - resolution: "node-polyfill-webpack-plugin@npm:2.0.1" - dependencies: - assert: ^2.0.0 - browserify-zlib: ^0.2.0 - buffer: ^6.0.3 - console-browserify: ^1.2.0 - constants-browserify: ^1.0.0 - crypto-browserify: ^3.12.0 - domain-browser: ^4.22.0 - events: ^3.3.0 - filter-obj: ^2.0.2 - https-browserify: ^1.0.0 - os-browserify: ^0.3.0 - path-browserify: ^1.0.1 - process: ^0.11.10 - punycode: ^2.1.1 - querystring-es3: ^0.2.1 - readable-stream: ^4.0.0 - stream-browserify: ^3.0.0 - stream-http: ^3.2.0 - string_decoder: ^1.3.0 - timers-browserify: ^2.0.12 - tty-browserify: ^0.0.1 - type-fest: ^2.14.0 - url: ^0.11.0 - util: ^0.12.4 - vm-browserify: ^1.1.2 - peerDependencies: - webpack: ">=5" - checksum: 0efb27ba224449d530d837bf7cd22f033ee5d0498e31898968896e2bb6844ffbfb26af976623268a052671f2b927df7561859faf5cbf3d646677ad0e914e1427 - languageName: node - linkType: hard - "node-releases@npm:^2.0.27": version: 2.0.27 resolution: "node-releases@npm:2.0.27" @@ -26855,13 +24088,6 @@ __metadata: languageName: node linkType: hard -"normalize-url@npm:^6.0.1": - version: 6.1.0 - resolution: "normalize-url@npm:6.1.0" - checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 - languageName: node - linkType: hard - "normalize-url@npm:^8.0.0": version: 8.1.1 resolution: "normalize-url@npm:8.1.1" @@ -27146,10 +24372,10 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.0": - version: 2.2.23 - resolution: "nwsapi@npm:2.2.23" - checksum: 7af519de08381df9dc0c913d817255cb21e33671641603f6cdabe8cb04b18b32aca1477fdc5dfe08b2039125afa3216d3ef01a3c2603a97d114e842d9414e0c3 +"nwsapi@npm:^2.2.16": + version: 2.2.24 + resolution: "nwsapi@npm:2.2.24" + checksum: c0c4016cc6117748d35a97ca12076b472de0626fa55d1e2d1e54401d24e38f1b9cef743955cbcdb9eb0fcc37ec16924a8a8b66bada52d295dbdf6da3f5108c58 languageName: node linkType: hard @@ -27178,13 +24404,6 @@ __metadata: languageName: node linkType: hard -"object-hash@npm:^3.0.0": - version: 3.0.0 - resolution: "object-hash@npm:3.0.0" - checksum: 80b4904bb3857c52cc1bfd0b52c0352532ca12ed3b8a6ff06a90cd209dfda1b95cee059a7625eb9da29537027f68ac4619363491eedb2f5d3dddbba97494fd6c - languageName: node - linkType: hard - "object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": version: 1.13.4 resolution: "object-inspect@npm:1.13.4" @@ -27192,16 +24411,6 @@ __metadata: languageName: node linkType: hard -"object-is@npm:^1.1.5": - version: 1.1.6 - resolution: "object-is@npm:1.1.6" - dependencies: - call-bind: ^1.0.7 - define-properties: ^1.2.1 - checksum: 3ea22759967e6f2380a2cbbd0f737b42dc9ddb2dfefdb159a1b927fea57335e1b058b564bfa94417db8ad58cddab33621a035de6f5e5ad56d89f2dd03e66c6a1 - languageName: node - linkType: hard - "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -27398,7 +24607,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^8.0.4, open@npm:^8.0.9, open@npm:^8.4.0, open@npm:^8.4.2": +"open@npm:^8.0.4, open@npm:^8.4.0, open@npm:^8.4.2": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: @@ -27430,20 +24639,6 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 - levn: ~0.3.0 - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 - languageName: node - linkType: hard - "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -27505,13 +24700,6 @@ __metadata: languageName: node linkType: hard -"os-browserify@npm:^0.3.0": - version: 0.3.0 - resolution: "os-browserify@npm:0.3.0" - checksum: 16e37ba3c0e6a4c63443c7b55799ce4066d59104143cb637ecb9fce586d5da319cdca786ba1c867abbe3890d2cbf37953f2d51eea85e20dd6c4570d6c54bfebf - languageName: node - linkType: hard - "os-locale@npm:^5.0.0": version: 5.0.0 resolution: "os-locale@npm:5.0.0" @@ -27708,16 +24896,6 @@ __metadata: languageName: node linkType: hard -"p-retry@npm:^4.5.0": - version: 4.6.2 - resolution: "p-retry@npm:4.6.2" - dependencies: - "@types/retry": 0.12.0 - retry: ^0.13.1 - checksum: 45c270bfddaffb4a895cea16cb760dcc72bdecb6cb45fef1971fa6ea2e91ddeafddefe01e444ac73e33b1b3d5d29fb0dd18a7effb294262437221ddc03ce0f2e - languageName: node - linkType: hard - "p-retry@npm:^6.2.0": version: 6.2.1 resolution: "p-retry@npm:6.2.1" @@ -27832,13 +25010,6 @@ __metadata: languageName: node linkType: hard -"pako@npm:~1.0.5": - version: 1.0.11 - resolution: "pako@npm:1.0.11" - checksum: 1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16 - languageName: node - linkType: hard - "param-case@npm:^3.0.4": version: 3.0.4 resolution: "param-case@npm:3.0.4" @@ -27858,19 +25029,6 @@ __metadata: languageName: node linkType: hard -"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.9": - version: 5.1.9 - resolution: "parse-asn1@npm:5.1.9" - dependencies: - asn1.js: ^4.10.1 - browserify-aes: ^1.2.0 - evp_bytestokey: ^1.0.3 - pbkdf2: ^3.1.5 - safe-buffer: ^5.2.1 - checksum: c85a34d15774e8bbb353291b8373a78f0e5b246803ef0e117fbf2f9a27616ea2d6db675fda77ce4cafcb1d18fb9074135fed6c450e3acfe8c915b51da0340ed6 - languageName: node - linkType: hard - "parse-conflict-json@npm:^4.0.0": version: 4.0.0 resolution: "parse-conflict-json@npm:4.0.0" @@ -28006,13 +25164,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:6.0.1, parse5@npm:^6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd - languageName: node - linkType: hard - "parse5@npm:^5.1.1": version: 5.1.1 resolution: "parse5@npm:5.1.1" @@ -28020,7 +25171,14 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0": +"parse5@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd + languageName: node + linkType: hard + +"parse5@npm:^7.0.0, parse5@npm:^7.2.1": version: 7.3.0 resolution: "parse5@npm:7.3.0" dependencies: @@ -28202,20 +25360,6 @@ __metadata: languageName: node linkType: hard -"pbkdf2@npm:^3.1.2, pbkdf2@npm:^3.1.5": - version: 3.1.5 - resolution: "pbkdf2@npm:3.1.5" - dependencies: - create-hash: ^1.2.0 - create-hmac: ^1.1.7 - ripemd160: ^2.0.3 - safe-buffer: ^5.2.1 - sha.js: ^2.4.12 - to-buffer: ^1.2.1 - checksum: 377dd4791ae6e439c98ca2a120d1cb28375884aab04af98ea1e51e5304d69c3102d0d8ed915fd1e9908cb93744807202eb22b64d99ba6496697db9b2c4ee64cc - languageName: node - linkType: hard - "pend@npm:~1.2.0": version: 1.2.0 resolution: "pend@npm:1.2.0" @@ -28223,20 +25367,6 @@ __metadata: languageName: node linkType: hard -"performance-now@npm:^2.1.0": - version: 2.1.0 - resolution: "performance-now@npm:2.1.0" - checksum: 534e641aa8f7cba160f0afec0599b6cecefbb516a2e837b512be0adbe6c1da5550e89c78059c7fabc5c9ffdf6627edabe23eb7c518c4500067a898fa65c2b550 - languageName: node - linkType: hard - -"picocolors@npm:^0.2.1": - version: 0.2.1 - resolution: "picocolors@npm:0.2.1" - checksum: 3b0f441f0062def0c0f39e87b898ae7461c3a16ffc9f974f320b44c799418cabff17780ee647fda42b856a1dc45897e2c62047e1b546d94d6d5c6962f45427b2 - languageName: node - linkType: hard - "picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -28244,7 +25374,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.2 resolution: "picomatch@npm:2.3.2" checksum: 0a3f5b9ff28faf022e1429b66e47c122e19e7b31cbd098095d29e949684e7ff1d9b83a2133d931326a53ec6ec11c7c59b1850c27fde2f26ca1d5f35861e9701a @@ -28258,13 +25388,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba - languageName: node - linkType: hard - "pify@npm:^3.0.0": version: 3.0.0 resolution: "pify@npm:3.0.0" @@ -28296,7 +25419,7 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:4.2.0, pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": +"pkg-dir@npm:4.2.0, pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" dependencies: @@ -28323,15 +25446,6 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^3.1.0": - version: 3.1.0 - resolution: "pkg-up@npm:3.1.0" - dependencies: - find-up: ^3.0.0 - checksum: 5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8 - languageName: node - linkType: hard - "pkijs@npm:^3.3.3": version: 3.3.3 resolution: "pkijs@npm:3.3.3" @@ -28409,17 +25523,6 @@ __metadata: languageName: node linkType: hard -"postcss-attribute-case-insensitive@npm:^5.0.2": - version: 5.0.2 - resolution: "postcss-attribute-case-insensitive@npm:5.0.2" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: c0b8139f37e68dba372724cba03a53c30716224f0085f98485cada99489beb7c3da9d598ffc1d81519b59d9899291712c9041c250205e6ec0b034bb2c144dcf9 - languageName: node - linkType: hard - "postcss-attribute-case-insensitive@npm:^7.0.1": version: 7.0.1 resolution: "postcss-attribute-case-insensitive@npm:7.0.1" @@ -28431,28 +25534,6 @@ __metadata: languageName: node linkType: hard -"postcss-browser-comments@npm:^4": - version: 4.0.0 - resolution: "postcss-browser-comments@npm:4.0.0" - peerDependencies: - browserslist: ">=4" - postcss: ">=8" - checksum: 9b8e7094838c2d7bd1ab3ca9cb8d0a78a9a6c8e22f43133ba02db8862fb6c141630e9f590e46f7125cfa4723cacd27b74fa00c05a9907b364dc1f6f17cf13f6f - languageName: node - linkType: hard - -"postcss-calc@npm:^8.2.3": - version: 8.2.4 - resolution: "postcss-calc@npm:8.2.4" - dependencies: - postcss-selector-parser: ^6.0.9 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.2 - checksum: 314b4cebb0c4ed0cf8356b4bce71eca78f5a7842e6a3942a3bba49db168d5296b2bd93c3f735ae1c616f2651d94719ade33becc03c73d2d79c7394fb7f73eabb - languageName: node - linkType: hard - "postcss-calc@npm:^9.0.1": version: 9.0.1 resolution: "postcss-calc@npm:9.0.1" @@ -28476,17 +25557,6 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^4.2.4": - version: 4.2.4 - resolution: "postcss-color-functional-notation@npm:4.2.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: b763e164fe3577a1de96f75e4bf451585c4f80b8ce60799763a51582cc9402d76faed57324a5d5e5556d90ca7ea0ebde565acb820c95e04bee6f36a91b019831 - languageName: node - linkType: hard - "postcss-color-functional-notation@npm:^7.0.12": version: 7.0.12 resolution: "postcss-color-functional-notation@npm:7.0.12" @@ -28514,17 +25584,6 @@ __metadata: languageName: node linkType: hard -"postcss-color-hex-alpha@npm:^8.0.4": - version: 8.0.4 - resolution: "postcss-color-hex-alpha@npm:8.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.4 - checksum: a2f3173a60176cf0aea3b7ebbc799b2cb08229127f0fff708fa31efa14e4ded47ca49aff549d8ed92e74ffe24adee32d5b9d557dbde0524fde5fe389bc520b4e - languageName: node - linkType: hard - "postcss-color-rebeccapurple@npm:^10.0.0": version: 10.0.0 resolution: "postcss-color-rebeccapurple@npm:10.0.0" @@ -28537,31 +25596,6 @@ __metadata: languageName: node linkType: hard -"postcss-color-rebeccapurple@npm:^7.1.1": - version: 7.1.1 - resolution: "postcss-color-rebeccapurple@npm:7.1.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 03482f9b8170da0fa014c41a5d88bce7b987471fb73fc456d397222a2455c89ac7f974dd6ddf40fd31907e768aad158057164b7c5f62cee63a6ecf29d47d7467 - languageName: node - linkType: hard - -"postcss-colormin@npm:^5.3.1": - version: 5.3.1 - resolution: "postcss-colormin@npm:5.3.1" - dependencies: - browserslist: ^4.21.4 - caniuse-api: ^3.0.0 - colord: ^2.9.1 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: e5778baab30877cd1f51e7dc9d2242a162aeca6360a52956acd7f668c5bc235c2ccb7e4df0370a804d65ebe00c5642366f061db53aa823f9ed99972cebd16024 - languageName: node - linkType: hard - "postcss-colormin@npm:^6.1.0": version: 6.1.0 resolution: "postcss-colormin@npm:6.1.0" @@ -28576,18 +25610,6 @@ __metadata: languageName: node linkType: hard -"postcss-convert-values@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-convert-values@npm:5.1.3" - dependencies: - browserslist: ^4.21.4 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: df48cdaffabf9737f9cfdc58a3dc2841cf282506a7a944f6c70236cff295d3a69f63de6e0935eeb8a9d3f504324e5b4e240abc29e21df9e35a02585d3060aeb5 - languageName: node - linkType: hard - "postcss-convert-values@npm:^6.1.0": version: 6.1.0 resolution: "postcss-convert-values@npm:6.1.0" @@ -28614,28 +25636,6 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^8.0.2": - version: 8.0.2 - resolution: "postcss-custom-media@npm:8.0.2" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.3 - checksum: 887bbbacf6f8fab688123796e5dc1e8283b99f21e4c674235bd929dc8018c50df8634ea08932033ec93baaca32670ef2b87e6632863e0b4d84847375dbde9366 - languageName: node - linkType: hard - -"postcss-custom-properties@npm:^12.1.10": - version: 12.1.11 - resolution: "postcss-custom-properties@npm:12.1.11" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 421f9d8d6b9c9066919f39251859232efc4dc5dd406c01e62e08734319a6ccda6d03dd6b46063ba0971053ac6ad3f7abade56d67650b3e370851b2291e8e45e6 - languageName: node - linkType: hard - "postcss-custom-properties@npm:^14.0.6": version: 14.0.6 resolution: "postcss-custom-properties@npm:14.0.6" @@ -28651,17 +25651,6 @@ __metadata: languageName: node linkType: hard -"postcss-custom-selectors@npm:^6.0.3": - version: 6.0.3 - resolution: "postcss-custom-selectors@npm:6.0.3" - dependencies: - postcss-selector-parser: ^6.0.4 - peerDependencies: - postcss: ^8.3 - checksum: 18080d60a8a77a76d8ddff185104d65418fffd02bbf9824499f807ced7941509ba63828ab8fe3ec1d6b0d6c72a482bb90a79d79cdef58e5f4b30113cca16e69b - languageName: node - linkType: hard - "postcss-custom-selectors@npm:^8.0.5": version: 8.0.5 resolution: "postcss-custom-selectors@npm:8.0.5" @@ -28676,17 +25665,6 @@ __metadata: languageName: node linkType: hard -"postcss-dir-pseudo-class@npm:^6.0.5": - version: 6.0.5 - resolution: "postcss-dir-pseudo-class@npm:6.0.5" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 7810c439d8d1a9072c00f8ab39261a1492873ad170425745bd2819c59767db2f352f906588fc2a7d814e91117900563d7e569ecd640367c7332b26b9829927ef - languageName: node - linkType: hard - "postcss-dir-pseudo-class@npm:^9.0.1": version: 9.0.1 resolution: "postcss-dir-pseudo-class@npm:9.0.1" @@ -28698,15 +25676,6 @@ __metadata: languageName: node linkType: hard -"postcss-discard-comments@npm:^5.1.2": - version: 5.1.2 - resolution: "postcss-discard-comments@npm:5.1.2" - peerDependencies: - postcss: ^8.2.15 - checksum: abfd064ebc27aeaf5037643dd51ffaff74d1fa4db56b0523d073ace4248cbb64ffd9787bd6924b0983a9d0bd0e9bf9f10d73b120e50391dc236e0d26c812fa2a - languageName: node - linkType: hard - "postcss-discard-comments@npm:^6.0.2": version: 6.0.2 resolution: "postcss-discard-comments@npm:6.0.2" @@ -28716,15 +25685,6 @@ __metadata: languageName: node linkType: hard -"postcss-discard-duplicates@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-discard-duplicates@npm:5.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 88d6964201b1f4ed6bf7a32cefe68e86258bb6e42316ca01d9b32bdb18e7887d02594f89f4a2711d01b51ea6e3fcca8c54be18a59770fe5f4521c61d3eb6ca35 - languageName: node - linkType: hard - "postcss-discard-duplicates@npm:^6.0.3": version: 6.0.3 resolution: "postcss-discard-duplicates@npm:6.0.3" @@ -28734,15 +25694,6 @@ __metadata: languageName: node linkType: hard -"postcss-discard-empty@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-discard-empty@npm:5.1.1" - peerDependencies: - postcss: ^8.2.15 - checksum: 970adb12fae5c214c0768236ad9a821552626e77dedbf24a8213d19cc2c4a531a757cd3b8cdd3fc22fb1742471b8692a1db5efe436a71236dec12b1318ee8ff4 - languageName: node - linkType: hard - "postcss-discard-empty@npm:^6.0.3": version: 6.0.3 resolution: "postcss-discard-empty@npm:6.0.3" @@ -28752,15 +25703,6 @@ __metadata: languageName: node linkType: hard -"postcss-discard-overridden@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-discard-overridden@npm:5.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: d64d4a545aa2c81b22542895cfcddc787d24119f294d35d29b0599a1c818b3cc51f4ee80b80f5a0a09db282453dd5ac49f104c2117cc09112d0ac9b40b499a41 - languageName: node - linkType: hard - "postcss-discard-overridden@npm:^6.0.2": version: 6.0.2 resolution: "postcss-discard-overridden@npm:6.0.2" @@ -28781,18 +25723,6 @@ __metadata: languageName: node linkType: hard -"postcss-double-position-gradients@npm:^3.1.2": - version: 3.1.2 - resolution: "postcss-double-position-gradients@npm:3.1.2" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: ca09bf2aefddc180f1c1413f379eef30d492b8147543413f7251216f23f413c394b2ed10b7cd255e87b18e0c8efe36087ea8b9bfb26a09813f9607a0b8e538b6 - languageName: node - linkType: hard - "postcss-double-position-gradients@npm:^6.0.4": version: 6.0.4 resolution: "postcss-double-position-gradients@npm:6.0.4" @@ -28806,26 +25736,6 @@ __metadata: languageName: node linkType: hard -"postcss-env-function@npm:^4.0.6": - version: 4.0.6 - resolution: "postcss-env-function@npm:4.0.6" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.4 - checksum: 645b2363cfa21be9dcce7fe4a0f172f0af70c00d6a4c1eb3d7ff7e9cfe26d569e291ec2533114d77b12d610023cd168a92d62c38f2fc969fa333b5ae2bff5ffe - languageName: node - linkType: hard - -"postcss-flexbugs-fixes@npm:^5.0.2": - version: 5.0.2 - resolution: "postcss-flexbugs-fixes@npm:5.0.2" - peerDependencies: - postcss: ^8.1.4 - checksum: 022ddbcca8987303b9be75ff259e9de81b98643adac87a5fc6b52a0fcbbf95e1ac9fd508c4ed67cad76ac5d039b7123de8a0832329481b3c626f5d63f7a28f47 - languageName: node - linkType: hard - "postcss-focus-visible@npm:^10.0.1": version: 10.0.1 resolution: "postcss-focus-visible@npm:10.0.1" @@ -28837,28 +25747,6 @@ __metadata: languageName: node linkType: hard -"postcss-focus-visible@npm:^6.0.4": - version: 6.0.4 - resolution: "postcss-focus-visible@npm:6.0.4" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - checksum: acd010b9ddef9b86ffb5fa604c13515ba83e18bc5118dad0a1281150f412aa0ece056c2c5ac56b55e2599f53ab0f740f5ebfdc51e1f5cfe43b8130bac0096fcc - languageName: node - linkType: hard - -"postcss-focus-within@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-focus-within@npm:5.0.4" - dependencies: - postcss-selector-parser: ^6.0.9 - peerDependencies: - postcss: ^8.4 - checksum: f23d8ab757345a6deaa807d76e10c88caf4b771c38b60e1593b24aee161c503b5823620e89302226a6ae5e7afdb6ac31809241291912e4176eb594a7ddcc9521 - languageName: node - linkType: hard - "postcss-focus-within@npm:^9.0.1": version: 9.0.1 resolution: "postcss-focus-within@npm:9.0.1" @@ -28879,15 +25767,6 @@ __metadata: languageName: node linkType: hard -"postcss-gap-properties@npm:^3.0.5": - version: 3.0.5 - resolution: "postcss-gap-properties@npm:3.0.5" - peerDependencies: - postcss: ^8.2 - checksum: aed559d6d375203a08a006c9ae8cf5ae90d9edaec5cadd20fe65c1b8ce63c2bc8dfe752d4331880a6e24a300541cde61058be790b7bd9b5d04d470c250fbcd39 - languageName: node - linkType: hard - "postcss-gap-properties@npm:^6.0.0": version: 6.0.0 resolution: "postcss-gap-properties@npm:6.0.0" @@ -28897,17 +25776,6 @@ __metadata: languageName: node linkType: hard -"postcss-image-set-function@npm:^4.0.7": - version: 4.0.7 - resolution: "postcss-image-set-function@npm:4.0.7" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 7e509330986de14250ead1a557e8da8baaf66ebe8a40354a5dff60ab40d99a483d92aa57d52713251ca1adbf0055ef476c5702b0d0ba5f85a4f407367cdabac0 - languageName: node - linkType: hard - "postcss-image-set-function@npm:^7.0.0": version: 7.0.0 resolution: "postcss-image-set-function@npm:7.0.0" @@ -28920,51 +25788,6 @@ __metadata: languageName: node linkType: hard -"postcss-import@npm:^15.1.0": - version: 15.1.0 - resolution: "postcss-import@npm:15.1.0" - dependencies: - postcss-value-parser: ^4.0.0 - read-cache: ^1.0.0 - resolve: ^1.1.7 - peerDependencies: - postcss: ^8.0.0 - checksum: 7bd04bd8f0235429009d0022cbf00faebc885de1d017f6d12ccb1b021265882efc9302006ba700af6cab24c46bfa2f3bc590be3f9aee89d064944f171b04e2a3 - languageName: node - linkType: hard - -"postcss-initial@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-initial@npm:4.0.1" - peerDependencies: - postcss: ^8.0.0 - checksum: 6956953853865de79c39d11533a2860e9f38b770bb284d0010d98a00b9469e22de344e4e5fd8208614d797030487e8918dd2f2c37d9e24d4dd59d565d4fc3e12 - languageName: node - linkType: hard - -"postcss-js@npm:^4.0.1": - version: 4.1.0 - resolution: "postcss-js@npm:4.1.0" - dependencies: - camelcase-css: ^2.0.1 - peerDependencies: - postcss: ^8.4.21 - checksum: 1fe3d51770f66d301e63103c15830d26875b1ae9bbe3ba6bf61256860edde3d9c0de5aa0c3e34d34b80c099f5d95b589cfcc92dac718253c8351aa8e05a8d80a - languageName: node - linkType: hard - -"postcss-lab-function@npm:^4.2.1": - version: 4.2.1 - resolution: "postcss-lab-function@npm:4.2.1" - dependencies: - "@csstools/postcss-progressive-custom-properties": ^1.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 26ac74b430011271b5581beba69b2cd788f56375fcb64c90f6ec1577379af85f6022dc38c410ff471dac520c7ddc289160a6a16cca3c7ff76f5af7e90d31eaa3 - languageName: node - linkType: hard - "postcss-lab-function@npm:^7.0.12": version: 7.0.12 resolution: "postcss-lab-function@npm:7.0.12" @@ -28980,43 +25803,6 @@ __metadata: languageName: node linkType: hard -"postcss-load-config@npm:^4.0.2 || ^5.0 || ^6.0": - version: 6.0.1 - resolution: "postcss-load-config@npm:6.0.1" - dependencies: - lilconfig: ^3.1.1 - peerDependencies: - jiti: ">=1.21.0" - postcss: ">=8.0.9" - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - yaml: - optional: true - checksum: 701061264cce7646e53e4cecd14aa95432a9bd508f30520a31dfa4c86fe9252d5d8d0204fdbfbddc1559c9b8791556e9c4b92c56070f5fca0a6c60e5ee9ad0fd - languageName: node - linkType: hard - -"postcss-loader@npm:^6.2.1": - version: 6.2.1 - resolution: "postcss-loader@npm:6.2.1" - dependencies: - cosmiconfig: ^7.0.0 - klona: ^2.0.5 - semver: ^7.3.5 - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - checksum: e40ae79c3e39df37014677a817b001bd115d8b10dedf53a07b97513d93b1533cd702d7a48831bdd77b9a9484b1ec84a5d4a723f80e83fb28682c75b5e65e8a90 - languageName: node - linkType: hard - "postcss-loader@npm:^7.3.4": version: 7.3.4 resolution: "postcss-loader@npm:7.3.4" @@ -29031,15 +25817,6 @@ __metadata: languageName: node linkType: hard -"postcss-logical@npm:^5.0.4": - version: 5.0.4 - resolution: "postcss-logical@npm:5.0.4" - peerDependencies: - postcss: ^8.4 - checksum: 17c71291ed6a03883a5aa54b9923b874c32710707d041a0f0752e6febdb09dee5d2abf4ef271978d932e4a4c948f349bb23edf633c03e3427ba15e71bfc66ac7 - languageName: node - linkType: hard - "postcss-logical@npm:^8.1.0": version: 8.1.0 resolution: "postcss-logical@npm:8.1.0" @@ -29051,15 +25828,6 @@ __metadata: languageName: node linkType: hard -"postcss-media-minmax@npm:^5.0.0": - version: 5.0.0 - resolution: "postcss-media-minmax@npm:5.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 2cd7283e07a1ac1acdcc3ecbaa0e9932f8d1e7647e7aeb14d91845fcb890d60d7257ec70c825cae8d48ae80a08cc77ebc4021a0dfa32360e0cd991e2bc021607 - languageName: node - linkType: hard - "postcss-merge-idents@npm:^6.0.3": version: 6.0.3 resolution: "postcss-merge-idents@npm:6.0.3" @@ -29072,18 +25840,6 @@ __metadata: languageName: node linkType: hard -"postcss-merge-longhand@npm:^5.1.7": - version: 5.1.7 - resolution: "postcss-merge-longhand@npm:5.1.7" - dependencies: - postcss-value-parser: ^4.2.0 - stylehacks: ^5.1.1 - peerDependencies: - postcss: ^8.2.15 - checksum: 81c3fc809f001b9b71a940148e242bdd6e2d77713d1bfffa15eb25c1f06f6648d5e57cb21645746d020a2a55ff31e1740d2b27900442913a9d53d8a01fb37e1b - languageName: node - linkType: hard - "postcss-merge-longhand@npm:^6.0.5": version: 6.0.5 resolution: "postcss-merge-longhand@npm:6.0.5" @@ -29096,20 +25852,6 @@ __metadata: languageName: node linkType: hard -"postcss-merge-rules@npm:^5.1.4": - version: 5.1.4 - resolution: "postcss-merge-rules@npm:5.1.4" - dependencies: - browserslist: ^4.21.4 - caniuse-api: ^3.0.0 - cssnano-utils: ^3.1.0 - postcss-selector-parser: ^6.0.5 - peerDependencies: - postcss: ^8.2.15 - checksum: 8ab6a569babe6cb412d6612adee74f053cea7edb91fa013398515ab36754b1fec830d68782ed8cdfb44cffdc6b78c79eab157bff650f428aa4460d3f3857447e - languageName: node - linkType: hard - "postcss-merge-rules@npm:^6.1.1": version: 6.1.1 resolution: "postcss-merge-rules@npm:6.1.1" @@ -29124,17 +25866,6 @@ __metadata: languageName: node linkType: hard -"postcss-minify-font-values@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-minify-font-values@npm:5.1.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 35e858fa41efa05acdeb28f1c76579c409fdc7eabb1744c3bd76e895bb9fea341a016746362a67609688ab2471f587202b9a3e14ea28ad677754d663a2777ece - languageName: node - linkType: hard - "postcss-minify-font-values@npm:^6.1.0": version: 6.1.0 resolution: "postcss-minify-font-values@npm:6.1.0" @@ -29146,19 +25877,6 @@ __metadata: languageName: node linkType: hard -"postcss-minify-gradients@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-minify-gradients@npm:5.1.1" - dependencies: - colord: ^2.9.1 - cssnano-utils: ^3.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 27354072a07c5e6dab36731103b94ca2354d4ed3c5bc6aacfdf2ede5a55fa324679d8fee5450800bc50888dbb5e9ed67569c0012040c2be128143d0cebb36d67 - languageName: node - linkType: hard - "postcss-minify-gradients@npm:^6.0.3": version: 6.0.3 resolution: "postcss-minify-gradients@npm:6.0.3" @@ -29172,19 +25890,6 @@ __metadata: languageName: node linkType: hard -"postcss-minify-params@npm:^5.1.4": - version: 5.1.4 - resolution: "postcss-minify-params@npm:5.1.4" - dependencies: - browserslist: ^4.21.4 - cssnano-utils: ^3.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: bd63e2cc89edcf357bb5c2a16035f6d02ef676b8cede4213b2bddd42626b3d428403849188f95576fc9f03e43ebd73a29bf61d33a581be9a510b13b7f7f100d5 - languageName: node - linkType: hard - "postcss-minify-params@npm:^6.1.0": version: 6.1.0 resolution: "postcss-minify-params@npm:6.1.0" @@ -29198,17 +25903,6 @@ __metadata: languageName: node linkType: hard -"postcss-minify-selectors@npm:^5.2.1": - version: 5.2.1 - resolution: "postcss-minify-selectors@npm:5.2.1" - dependencies: - postcss-selector-parser: ^6.0.5 - peerDependencies: - postcss: ^8.2.15 - checksum: 6fdbc84f99a60d56b43df8930707da397775e4c36062a106aea2fd2ac81b5e24e584a1892f4baa4469fa495cb87d1422560eaa8f6c9d500f9f0b691a5f95bab5 - languageName: node - linkType: hard - "postcss-minify-selectors@npm:^6.0.4": version: 6.0.4 resolution: "postcss-minify-selectors@npm:6.0.4" @@ -29264,29 +25958,6 @@ __metadata: languageName: node linkType: hard -"postcss-nested@npm:^6.2.0": - version: 6.2.0 - resolution: "postcss-nested@npm:6.2.0" - dependencies: - postcss-selector-parser: ^6.1.1 - peerDependencies: - postcss: ^8.2.14 - checksum: 2c86ecf2d0ce68f27c87c7e24ae22dc6dd5515a89fcaf372b2627906e11f5c1f36e4a09e4c15c20fd4a23d628b3d945c35839f44496fbee9a25866258006671b - languageName: node - linkType: hard - -"postcss-nesting@npm:^10.2.0": - version: 10.2.0 - resolution: "postcss-nesting@npm:10.2.0" - dependencies: - "@csstools/selector-specificity": ^2.0.0 - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 25e6e66186bd7f18bc4628cf0f43e02189268f28a449aa4a63b33b8f2c33745af99acfcd4ce2ac69319dc850e83b28dbaabcf517e3977dfe20e37fed0e032c7d - languageName: node - linkType: hard - "postcss-nesting@npm:^13.0.2": version: 13.0.2 resolution: "postcss-nesting@npm:13.0.2" @@ -29300,15 +25971,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-charset@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-charset@npm:5.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: e79d92971fc05b8b3c9b72f3535a574e077d13c69bef68156a0965f397fdf157de670da72b797f57b0e3bac8f38155b5dd1735ecab143b9cc4032d72138193b4 - languageName: node - linkType: hard - "postcss-normalize-charset@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-charset@npm:6.0.2" @@ -29318,17 +25980,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-display-values@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-display-values@npm:5.1.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: b6eb7b9b02c3bdd62bbc54e01e2b59733d73a1c156905d238e178762962efe0c6f5104544da39f32cade8a4fb40f10ff54b63a8ebfbdff51e8780afb9fbdcf86 - languageName: node - linkType: hard - "postcss-normalize-display-values@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-display-values@npm:6.0.2" @@ -29340,17 +25991,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-positions@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-positions@npm:5.1.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: d9afc233729c496463c7b1cdd06732469f401deb387484c3a2422125b46ec10b4af794c101f8c023af56f01970b72b535e88373b9058ecccbbf88db81662b3c4 - languageName: node - linkType: hard - "postcss-normalize-positions@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-positions@npm:6.0.2" @@ -29362,17 +26002,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-repeat-style@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-repeat-style@npm:5.1.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 2c6ad2b0ae10a1fda156b948c34f78c8f1e185513593de4d7e2480973586675520edfec427645fa168c337b0a6b3ceca26f92b96149741ca98a9806dad30d534 - languageName: node - linkType: hard - "postcss-normalize-repeat-style@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-repeat-style@npm:6.0.2" @@ -29384,17 +26013,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-string@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-string@npm:5.1.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 6e549c6e5b2831e34c7bdd46d8419e2278f6af1d5eef6d26884a37c162844e60339340c57e5e06058cdbe32f27fc6258eef233e811ed2f71168ef2229c236ada - languageName: node - linkType: hard - "postcss-normalize-string@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-string@npm:6.0.2" @@ -29406,17 +26024,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-timing-functions@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-timing-functions@npm:5.1.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: da550f50e90b0b23e17b67449a7d1efd1aa68288e66d4aa7614ca6f5cc012896be1972b7168eee673d27da36504faccf7b9f835c0f7e81243f966a42c8c030aa - languageName: node - linkType: hard - "postcss-normalize-timing-functions@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-timing-functions@npm:6.0.2" @@ -29428,18 +26035,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-unicode@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-unicode@npm:5.1.1" - dependencies: - browserslist: ^4.21.4 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 4c24d26cc9f4b19a9397db4e71dd600dab690f1de8e14a3809e2aa1452dbc3791c208c38a6316bbc142f29e934fdf02858e68c94038c06174d78a4937e0f273c - languageName: node - linkType: hard - "postcss-normalize-unicode@npm:^6.1.0": version: 6.1.0 resolution: "postcss-normalize-unicode@npm:6.1.0" @@ -29452,18 +26047,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-url@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-url@npm:5.1.0" - dependencies: - normalize-url: ^6.0.1 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 3bd4b3246d6600230bc827d1760b24cb3101827ec97570e3016cbe04dc0dd28f4dbe763245d1b9d476e182c843008fbea80823061f1d2219b96f0d5c724a24c0 - languageName: node - linkType: hard - "postcss-normalize-url@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-url@npm:6.0.2" @@ -29475,17 +26058,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-whitespace@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-whitespace@npm:5.1.1" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 12d8fb6d1c1cba208cc08c1830959b7d7ad447c3f5581873f7e185f99a9a4230c43d3af21ca12c818e4690a5085a95b01635b762ad4a7bef69d642609b4c0e19 - languageName: node - linkType: hard - "postcss-normalize-whitespace@npm:^6.0.2": version: 6.0.2 resolution: "postcss-normalize-whitespace@npm:6.0.2" @@ -29497,29 +26069,6 @@ __metadata: languageName: node linkType: hard -"postcss-normalize@npm:^10.0.1": - version: 10.0.1 - resolution: "postcss-normalize@npm:10.0.1" - dependencies: - "@csstools/normalize.css": "*" - postcss-browser-comments: ^4 - sanitize.css: "*" - peerDependencies: - browserslist: ">= 4" - postcss: ">= 8" - checksum: af67ade84e5d65de0cf84cde479840da96ffb2037fe6bf86737788216f67e414622e718e7d84182885ad65fa948150e4a0c3e454ca63e619dd5c7b4eb4224c39 - languageName: node - linkType: hard - -"postcss-opacity-percentage@npm:^1.1.2": - version: 1.1.3 - resolution: "postcss-opacity-percentage@npm:1.1.3" - peerDependencies: - postcss: ^8.2 - checksum: 54d1b8ca68035bc1a5788aaabdbc3b66ffee34b5a2412cecf073627dad7e3f2bae07c01fac3bc7f46bbac5da3291ac9ddcf74bfee26dfd86f9f96c847a0afc13 - languageName: node - linkType: hard - "postcss-opacity-percentage@npm:^3.0.0": version: 3.0.0 resolution: "postcss-opacity-percentage@npm:3.0.0" @@ -29529,18 +26078,6 @@ __metadata: languageName: node linkType: hard -"postcss-ordered-values@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-ordered-values@npm:5.1.3" - dependencies: - cssnano-utils: ^3.1.0 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 6f3ca85b6ceffc68aadaf319d9ee4c5ac16d93195bf8cba2d1559b631555ad61941461cda6d3909faab86e52389846b2b36345cff8f0c3f4eb345b1b8efadcf9 - languageName: node - linkType: hard - "postcss-ordered-values@npm:^6.0.2": version: 6.0.2 resolution: "postcss-ordered-values@npm:6.0.2" @@ -29553,17 +26090,6 @@ __metadata: languageName: node linkType: hard -"postcss-overflow-shorthand@npm:^3.0.4": - version: 3.0.4 - resolution: "postcss-overflow-shorthand@npm:3.0.4" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 74009022491e3901263f8f5811630393480323e51f5d23ef17f3fdc7e03bf9c2502a632f3ba8fe6a468b57590f13b2fa3b17a68ef19653589e76277607696743 - languageName: node - linkType: hard - "postcss-overflow-shorthand@npm:^6.0.0": version: 6.0.0 resolution: "postcss-overflow-shorthand@npm:6.0.0" @@ -29595,17 +26121,6 @@ __metadata: languageName: node linkType: hard -"postcss-place@npm:^7.0.5": - version: 7.0.5 - resolution: "postcss-place@npm:7.0.5" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 903fec0c313bb7ec20f2c8f0a125866fb7804aa3186b5b2c7c2d58cb9039ff301461677a060e9db643d1aaffaf80a0ff71e900a6da16705dad6b49c804cb3c73 - languageName: node - linkType: hard - "postcss-preset-env@npm:^10.2.1": version: 10.6.1 resolution: "postcss-preset-env@npm:10.6.1" @@ -29687,65 +26202,6 @@ __metadata: languageName: node linkType: hard -"postcss-preset-env@npm:^7.0.1": - version: 7.8.3 - resolution: "postcss-preset-env@npm:7.8.3" - dependencies: - "@csstools/postcss-cascade-layers": ^1.1.1 - "@csstools/postcss-color-function": ^1.1.1 - "@csstools/postcss-font-format-keywords": ^1.0.1 - "@csstools/postcss-hwb-function": ^1.0.2 - "@csstools/postcss-ic-unit": ^1.0.1 - "@csstools/postcss-is-pseudo-class": ^2.0.7 - "@csstools/postcss-nested-calc": ^1.0.0 - "@csstools/postcss-normalize-display-values": ^1.0.1 - "@csstools/postcss-oklab-function": ^1.1.1 - "@csstools/postcss-progressive-custom-properties": ^1.3.0 - "@csstools/postcss-stepped-value-functions": ^1.0.1 - "@csstools/postcss-text-decoration-shorthand": ^1.0.0 - "@csstools/postcss-trigonometric-functions": ^1.0.2 - "@csstools/postcss-unset-value": ^1.0.2 - autoprefixer: ^10.4.13 - browserslist: ^4.21.4 - css-blank-pseudo: ^3.0.3 - css-has-pseudo: ^3.0.4 - css-prefers-color-scheme: ^6.0.3 - cssdb: ^7.1.0 - postcss-attribute-case-insensitive: ^5.0.2 - postcss-clamp: ^4.1.0 - postcss-color-functional-notation: ^4.2.4 - postcss-color-hex-alpha: ^8.0.4 - postcss-color-rebeccapurple: ^7.1.1 - postcss-custom-media: ^8.0.2 - postcss-custom-properties: ^12.1.10 - postcss-custom-selectors: ^6.0.3 - postcss-dir-pseudo-class: ^6.0.5 - postcss-double-position-gradients: ^3.1.2 - postcss-env-function: ^4.0.6 - postcss-focus-visible: ^6.0.4 - postcss-focus-within: ^5.0.4 - postcss-font-variant: ^5.0.0 - postcss-gap-properties: ^3.0.5 - postcss-image-set-function: ^4.0.7 - postcss-initial: ^4.0.1 - postcss-lab-function: ^4.2.1 - postcss-logical: ^5.0.4 - postcss-media-minmax: ^5.0.0 - postcss-nesting: ^10.2.0 - postcss-opacity-percentage: ^1.1.2 - postcss-overflow-shorthand: ^3.0.4 - postcss-page-break: ^3.0.4 - postcss-place: ^7.0.5 - postcss-pseudo-class-any-link: ^7.1.6 - postcss-replace-overflow-wrap: ^4.0.0 - postcss-selector-not: ^6.0.1 - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2 - checksum: 71bfb697ffc55e27895b2bf3a579dd9b4c1321872816091935e33d6f659cab60795a03bb022dc8a4cab48fd5680a419fe9ae5d61a3a3d8c785ec9308f323e787 - languageName: node - linkType: hard - "postcss-pseudo-class-any-link@npm:^10.0.1": version: 10.0.1 resolution: "postcss-pseudo-class-any-link@npm:10.0.1" @@ -29757,17 +26213,6 @@ __metadata: languageName: node linkType: hard -"postcss-pseudo-class-any-link@npm:^7.1.6": - version: 7.1.6 - resolution: "postcss-pseudo-class-any-link@npm:7.1.6" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: 43aa18ea1ef1b168f61310856dd92f46ceb3dc60b6cf820e079ca1a849df5cc0f12a1511bdc1811a23f03d60ddcc959200c80c3f9a7b57feebe32bab226afb39 - languageName: node - linkType: hard - "postcss-reduce-idents@npm:^6.0.3": version: 6.0.3 resolution: "postcss-reduce-idents@npm:6.0.3" @@ -29779,18 +26224,6 @@ __metadata: languageName: node linkType: hard -"postcss-reduce-initial@npm:^5.1.2": - version: 5.1.2 - resolution: "postcss-reduce-initial@npm:5.1.2" - dependencies: - browserslist: ^4.21.4 - caniuse-api: ^3.0.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 55db697f85231a81f1969d54c894e4773912d9ddb914f9b03d2e73abc4030f2e3bef4d7465756d0c1acfcc2c2d69974bfb50a972ab27546a7d68b5a4fc90282b - languageName: node - linkType: hard - "postcss-reduce-initial@npm:^6.1.0": version: 6.1.0 resolution: "postcss-reduce-initial@npm:6.1.0" @@ -29803,17 +26236,6 @@ __metadata: languageName: node linkType: hard -"postcss-reduce-transforms@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-reduce-transforms@npm:5.1.0" - dependencies: - postcss-value-parser: ^4.2.0 - peerDependencies: - postcss: ^8.2.15 - checksum: 0c6af2cba20e3ff63eb9ad045e634ddfb9c3e5c0e614c020db2a02f3aa20632318c4ede9e0c995f9225d9a101e673de91c0a6e10bb2fa5da6d6c75d15a55882f - languageName: node - linkType: hard - "postcss-reduce-transforms@npm:^6.0.2": version: 6.0.2 resolution: "postcss-reduce-transforms@npm:6.0.2" @@ -29834,17 +26256,6 @@ __metadata: languageName: node linkType: hard -"postcss-selector-not@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-selector-not@npm:6.0.1" - dependencies: - postcss-selector-parser: ^6.0.10 - peerDependencies: - postcss: ^8.2 - checksum: fe523a0219e4bd34f04498534bb9e8aec3193f3585eafe4c388d086955b41201cae71fd20980ca465acade7f182029b43dbd5ca7e9d50bf34bbcaf1d19fe3ee6 - languageName: node - linkType: hard - "postcss-selector-not@npm:^8.0.1": version: 8.0.1 resolution: "postcss-selector-not@npm:8.0.1" @@ -29856,7 +26267,7 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.16, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9, postcss-selector-parser@npm:^6.1.1, postcss-selector-parser@npm:^6.1.2": +"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.16": version: 6.1.2 resolution: "postcss-selector-parser@npm:6.1.2" dependencies: @@ -29887,18 +26298,6 @@ __metadata: languageName: node linkType: hard -"postcss-svgo@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-svgo@npm:5.1.0" - dependencies: - postcss-value-parser: ^4.2.0 - svgo: ^2.7.0 - peerDependencies: - postcss: ^8.2.15 - checksum: d86eb5213d9f700cf5efe3073799b485fb7cacae0c731db3d7749c9c2b1c9bc85e95e0baeca439d699ff32ea24815fc916c4071b08f67ed8219df229ce1129bd - languageName: node - linkType: hard - "postcss-svgo@npm:^6.0.3": version: 6.0.3 resolution: "postcss-svgo@npm:6.0.3" @@ -29911,17 +26310,6 @@ __metadata: languageName: node linkType: hard -"postcss-unique-selectors@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-unique-selectors@npm:5.1.1" - dependencies: - postcss-selector-parser: ^6.0.5 - peerDependencies: - postcss: ^8.2.15 - checksum: 637e7b786e8558265775c30400c54b6b3b24d4748923f4a39f16a65fd0e394f564ccc9f0a1d3c0e770618a7637a7502ea1d0d79f731d429cb202255253c23278 - languageName: node - linkType: hard - "postcss-unique-selectors@npm:^6.0.4": version: 6.0.4 resolution: "postcss-unique-selectors@npm:6.0.4" @@ -29933,7 +26321,7 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": +"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f @@ -29949,17 +26337,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^7.0.35": - version: 7.0.39 - resolution: "postcss@npm:7.0.39" - dependencies: - picocolors: ^0.2.1 - source-map: ^0.6.1 - checksum: 4ac793f506c23259189064bdc921260d869a115a82b5e713973c5af8e94fbb5721a5cc3e1e26840500d7e1f1fa42a209747c5b1a151918a9bc11f0d7ed9048e3 - languageName: node - linkType: hard - -"postcss@npm:^8.2.15, postcss@npm:^8.3.5, postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.33, postcss@npm:^8.4.4, postcss@npm:^8.4.47, postcss@npm:^8.5.4": +"postcss@npm:^8.2.15, postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.33, postcss@npm:^8.5.4": version: 8.5.6 resolution: "postcss@npm:8.5.6" dependencies: @@ -29977,13 +26355,6 @@ __metadata: languageName: node linkType: hard -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 - languageName: node - linkType: hard - "prettier-linter-helpers@npm:^1.0.0, prettier-linter-helpers@npm:^1.0.1": version: 1.0.1 resolution: "prettier-linter-helpers@npm:1.0.1" @@ -30020,13 +26391,6 @@ __metadata: languageName: node linkType: hard -"pretty-bytes@npm:^5.3.0, pretty-bytes@npm:^5.4.1": - version: 5.6.0 - resolution: "pretty-bytes@npm:5.6.0" - checksum: 9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd - languageName: node - linkType: hard - "pretty-error@npm:^4.0.0": version: 4.0.0 resolution: "pretty-error@npm:4.0.0" @@ -30071,29 +26435,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.5.1": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^17.0.1 - checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 - languageName: node - linkType: hard - -"pretty-format@npm:^28.1.3": - version: 28.1.3 - resolution: "pretty-format@npm:28.1.3" - dependencies: - "@jest/schemas": ^28.1.3 - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: e69f857358a3e03d271252d7524bec758c35e44680287f36c1cb905187fbc82da9981a6eb07edfd8a03bc3cbeebfa6f5234c13a3d5b59f2bbdf9b4c4053e0a7f - languageName: node - linkType: hard - "pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" @@ -30168,7 +26509,7 @@ __metadata: languageName: node linkType: hard -"process@npm:^0.11.1, process@npm:^0.11.10": +"process@npm:^0.11.1": version: 0.11.10 resolution: "process@npm:0.11.10" checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 @@ -30222,7 +26563,7 @@ __metadata: languageName: node linkType: hard -"promise@npm:^8.1.0, promise@npm:^8.3.0": +"promise@npm:^8.3.0": version: 8.3.0 resolution: "promise@npm:8.3.0" dependencies: @@ -30294,29 +26635,6 @@ __metadata: languageName: node linkType: hard -"psl@npm:^1.1.33": - version: 1.15.0 - resolution: "psl@npm:1.15.0" - dependencies: - punycode: ^2.3.1 - checksum: 6f777d82eecfe1c2406dadbc15e77467b186fec13202ec887a45d0209a2c6fca530af94a462a477c3c4a767ad892ec9ede7c482d98f61f653dd838b50e89dc15 - languageName: node - linkType: hard - -"public-encrypt@npm:^4.0.3": - version: 4.0.3 - resolution: "public-encrypt@npm:4.0.3" - dependencies: - bn.js: ^4.1.0 - browserify-rsa: ^4.0.0 - create-hash: ^1.1.0 - parse-asn1: ^5.0.0 - randombytes: ^2.0.1 - safe-buffer: ^5.1.2 - checksum: 215d446e43cef021a20b67c1df455e5eea134af0b1f9b8a35f9e850abf32991b0c307327bc5b9bc07162c288d5cdb3d4a783ea6c6640979ed7b5017e3e0c9935 - languageName: node - linkType: hard - "pump@npm:^3.0.0": version: 3.0.3 resolution: "pump@npm:3.0.3" @@ -30327,14 +26645,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^1.4.1": - version: 1.4.1 - resolution: "punycode@npm:1.4.1" - checksum: fa6e698cb53db45e4628559e557ddaf554103d2a96a1d62892c8f4032cd3bc8871796cae9eabc1bc700e2b6677611521ce5bb1d9a27700086039965d0cf34518 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 @@ -30396,7 +26707,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.12.3, qs@npm:~6.14.0": +"qs@npm:~6.14.0": version: 6.14.2 resolution: "qs@npm:6.14.2" dependencies: @@ -30417,20 +26728,6 @@ __metadata: languageName: node linkType: hard -"querystring-es3@npm:^0.2.1": - version: 0.2.1 - resolution: "querystring-es3@npm:0.2.1" - checksum: 691e8d6b8b157e7cd49ae8e83fcf86de39ab3ba948c25abaa94fba84c0986c641aa2f597770848c64abce290ed17a39c9df6df737dfa7e87c3b63acc7d225d61 - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -30454,15 +26751,6 @@ __metadata: languageName: node linkType: hard -"raf@npm:^3.4.1": - version: 3.4.1 - resolution: "raf@npm:3.4.1" - dependencies: - performance-now: ^2.1.0 - checksum: 50ba284e481c8185dbcf45fc4618ba3aec580bb50c9121385d5698cb6012fe516d2015b1df6dd407a7b7c58d44be8086108236affbce1861edd6b44637c8cd52 - languageName: node - linkType: hard - "random-float@npm:^1.0.0": version: 1.0.0 resolution: "random-float@npm:1.0.0" @@ -30470,7 +26758,7 @@ __metadata: languageName: node linkType: hard -"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": +"randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" dependencies: @@ -30479,16 +26767,6 @@ __metadata: languageName: node linkType: hard -"randomfill@npm:^1.0.4": - version: 1.0.4 - resolution: "randomfill@npm:1.0.4" - dependencies: - randombytes: ^2.0.5 - safe-buffer: ^5.1.0 - checksum: 33734bb578a868d29ee1b8555e21a36711db084065d94e019a6d03caa67debef8d6a1bfd06a2b597e32901ddc761ab483a85393f0d9a75838f1912461d4dbfc7 - languageName: node - linkType: hard - "range-parser@npm:1.2.0": version: 1.2.0 resolution: "range-parser@npm:1.2.0" @@ -30550,52 +26828,6 @@ __metadata: languageName: node linkType: hard -"react-app-polyfill@npm:^3.0.0": - version: 3.0.0 - resolution: "react-app-polyfill@npm:3.0.0" - dependencies: - core-js: ^3.19.2 - object-assign: ^4.1.1 - promise: ^8.1.0 - raf: ^3.4.1 - regenerator-runtime: ^0.13.9 - whatwg-fetch: ^3.6.2 - checksum: 1bb031080af15397d6eb9c69a0c2e93799991f7197a086e4409ba719398f1256b542a3d6c9a34673d516c684eef3e8226c99b335982593851f58f65f6e43571b - languageName: node - linkType: hard - -"react-dev-utils@npm:^12.0.1": - version: 12.0.1 - resolution: "react-dev-utils@npm:12.0.1" - dependencies: - "@babel/code-frame": ^7.16.0 - address: ^1.1.2 - browserslist: ^4.18.1 - chalk: ^4.1.2 - cross-spawn: ^7.0.3 - detect-port-alt: ^1.1.6 - escape-string-regexp: ^4.0.0 - filesize: ^8.0.6 - find-up: ^5.0.0 - fork-ts-checker-webpack-plugin: ^6.5.0 - global-modules: ^2.0.0 - globby: ^11.0.4 - gzip-size: ^6.0.0 - immer: ^9.0.7 - is-root: ^2.1.0 - loader-utils: ^3.2.0 - open: ^8.4.0 - pkg-up: ^3.1.0 - prompts: ^2.4.2 - react-error-overlay: ^6.0.11 - recursive-readdir: ^2.2.2 - shell-quote: ^1.7.3 - strip-ansi: ^6.0.1 - text-table: ^0.2.0 - checksum: 2c6917e47f03d9595044770b0f883a61c6b660fcaa97b8ba459a1d57c9cca9aa374cd51296b22d461ff5e432105dbe6f04732dab128e52729c79239e1c23ab56 - languageName: node - linkType: hard - "react-devtools-core@npm:^5.3.1": version: 5.3.2 resolution: "react-devtools-core@npm:5.3.2" @@ -30638,13 +26870,6 @@ __metadata: languageName: node linkType: hard -"react-error-overlay@npm:^6.0.11": - version: 6.1.0 - resolution: "react-error-overlay@npm:6.1.0" - checksum: 4f0785ea14390e333d040e7d7d6f8b915ad9bd4b8ae6eb28e1a5338f23a0325798d20deea7572c3c129bd1d32c432b01e7a4d40ca99710e2fa1f8157929e6cda - languageName: node - linkType: hard - "react-fast-compare@npm:^3.2.0": version: 3.2.2 resolution: "react-fast-compare@npm:3.2.2" @@ -31043,7 +27268,7 @@ __metadata: languageName: node linkType: hard -"react-native-web@npm:^0.21.1, react-native-web@npm:^0.21.2": +"react-native-web@npm:^0.21.2": version: 0.21.2 resolution: "react-native-web@npm:0.21.2" dependencies: @@ -31262,13 +27487,6 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.11.0": - version: 0.11.0 - resolution: "react-refresh@npm:0.11.0" - checksum: 112178a05b1e0ffeaf5d9fb4e56b4410a34a73adeb04dbf13abdc50d9ac9df2ada83e81485156cca0b3fa296aa3612751b3d6cd13be4464642a43679b819cbc7 - languageName: node - linkType: hard - "react-refresh@npm:^0.14.0": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" @@ -31324,73 +27542,6 @@ __metadata: languageName: node linkType: hard -"react-scripts@npm:5.0.1": - version: 5.0.1 - resolution: "react-scripts@npm:5.0.1" - dependencies: - "@babel/core": ^7.16.0 - "@pmmmwh/react-refresh-webpack-plugin": ^0.5.3 - "@svgr/webpack": ^5.5.0 - babel-jest: ^27.4.2 - babel-loader: ^8.2.3 - babel-plugin-named-asset-import: ^0.3.8 - babel-preset-react-app: ^10.0.1 - bfj: ^7.0.2 - browserslist: ^4.18.1 - camelcase: ^6.2.1 - case-sensitive-paths-webpack-plugin: ^2.4.0 - css-loader: ^6.5.1 - css-minimizer-webpack-plugin: ^3.2.0 - dotenv: ^10.0.0 - dotenv-expand: ^5.1.0 - eslint: ^8.3.0 - eslint-config-react-app: ^7.0.1 - eslint-webpack-plugin: ^3.1.1 - file-loader: ^6.2.0 - fs-extra: ^10.0.0 - fsevents: ^2.3.2 - html-webpack-plugin: ^5.5.0 - identity-obj-proxy: ^3.0.0 - jest: ^27.4.3 - jest-resolve: ^27.4.2 - jest-watch-typeahead: ^1.0.0 - mini-css-extract-plugin: ^2.4.5 - postcss: ^8.4.4 - postcss-flexbugs-fixes: ^5.0.2 - postcss-loader: ^6.2.1 - postcss-normalize: ^10.0.1 - postcss-preset-env: ^7.0.1 - prompts: ^2.4.2 - react-app-polyfill: ^3.0.0 - react-dev-utils: ^12.0.1 - react-refresh: ^0.11.0 - resolve: ^1.20.0 - resolve-url-loader: ^4.0.0 - sass-loader: ^12.3.0 - semver: ^7.3.5 - source-map-loader: ^3.0.0 - style-loader: ^3.3.1 - tailwindcss: ^3.0.2 - terser-webpack-plugin: ^5.2.5 - webpack: ^5.64.4 - webpack-dev-server: ^4.6.0 - webpack-manifest-plugin: ^4.0.2 - workbox-webpack-plugin: ^6.4.1 - peerDependencies: - react: ">= 16" - typescript: ^3.2.1 || ^4 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - typescript: - optional: true - bin: - react-scripts: bin/react-scripts.js - checksum: 92afa2f245c7092ccc97d5609dc7a2130616262e34da7f15072d9442e2d2e1d4909a91022abd1faac1336eb17c5525a10d9bd43e1ae374c7ec941ca20addca68 - languageName: node - linkType: hard - "react-shallow-renderer@npm:^16.15.0": version: 16.15.0 resolution: "react-shallow-renderer@npm:16.15.0" @@ -31429,15 +27580,6 @@ __metadata: languageName: node linkType: hard -"read-cache@npm:^1.0.0": - version: 1.0.0 - resolution: "read-cache@npm:1.0.0" - dependencies: - pify: ^2.3.0 - checksum: cffc728b9ede1e0667399903f9ecaf3789888b041c46ca53382fa3a06303e5132774dc0a96d0c16aa702dbac1ea0833d5a868d414f5ab2af1e1438e19e6657c6 - languageName: node - linkType: hard - "read-cmd-shim@npm:^5.0.0": version: 5.0.0 resolution: "read-cmd-shim@npm:5.0.0" @@ -31510,7 +27652,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -31525,7 +27667,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.6, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.0.6, readable-stream@npm:^3.4.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -31536,19 +27678,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^4.0.0": - version: 4.7.0 - resolution: "readable-stream@npm:4.7.0" - dependencies: - abort-controller: ^3.0.0 - buffer: ^6.0.3 - events: ^3.3.0 - process: ^0.11.10 - string_decoder: ^1.3.0 - checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae - languageName: node - linkType: hard - "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -31660,15 +27789,6 @@ __metadata: languageName: node linkType: hard -"recursive-readdir@npm:^2.2.2": - version: 2.2.3 - resolution: "recursive-readdir@npm:2.2.3" - dependencies: - minimatch: ^3.0.5 - checksum: 88ec96e276237290607edc0872b4f9842837b95cfde0cdbb1e00ba9623dfdf3514d44cdd14496ab60a0c2dd180a6ef8a3f1c34599e6cf2273afac9b72a6fb2b5 - languageName: node - linkType: hard - "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -31727,20 +27847,13 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.2, regenerator-runtime@npm:^0.13.7, regenerator-runtime@npm:^0.13.9": +"regenerator-runtime@npm:^0.13.2, regenerator-runtime@npm:^0.13.7": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 languageName: node linkType: hard -"regex-parser@npm:^2.2.11": - version: 2.3.1 - resolution: "regex-parser@npm:2.3.1" - checksum: 37d5549040782207b98a5c007b739f85bf43f70249cbf813954d3fab370b93f3c8029534c62ca7c56e7a61e24848118b1bae15668b80ab7e67b4bb98465d54cc - languageName: node - linkType: hard - "regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" @@ -32164,27 +28277,6 @@ __metadata: languageName: node linkType: hard -"resolve-url-loader@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-url-loader@npm:4.0.0" - dependencies: - adjust-sourcemap-loader: ^4.0.0 - convert-source-map: ^1.7.0 - loader-utils: ^2.0.0 - postcss: ^7.0.35 - source-map: 0.6.1 - peerDependencies: - rework: 1.0.1 - rework-visit: 1.0.0 - peerDependenciesMeta: - rework: - optional: true - rework-visit: - optional: true - checksum: 8e5bcf97867a5e128b6b86988d445b7fbd1214f7c5c0214332f835e8607438e153d9b3899799a03ddd03540254bb591e572feb330981a4478be934f6f045c925 - languageName: node - linkType: hard - "resolve-workspace-root@npm:^2.0.0": version: 2.0.1 resolution: "resolve-workspace-root@npm:2.0.1" @@ -32192,13 +28284,6 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^1.1.0": - version: 1.1.1 - resolution: "resolve.exports@npm:1.1.1" - checksum: 485aa10082eb388a569d696e17ad7b16f4186efc97dd34eadd029d95b811f21ffee13b1b733198bb4584dbb3cb296aa6f141835221fb7613b9606b84f1386655 - languageName: node - linkType: hard - "resolve.exports@npm:^2.0.0": version: 2.0.3 resolution: "resolve.exports@npm:2.0.3" @@ -32206,7 +28291,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.11, resolve@npm:^1.22.4, resolve@npm:^1.22.8": +"resolve@npm:^1.1.6, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.11, resolve@npm:^1.22.4": version: 1.22.11 resolution: "resolve@npm:1.22.11" dependencies: @@ -32232,7 +28317,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.11#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@^1.22.8#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.11#~builtin, resolve@patch:resolve@^1.22.4#~builtin": version: 1.22.11 resolution: "resolve@patch:resolve@npm%3A1.22.11#~builtin::version=1.22.11&hash=c3c19d" dependencies: @@ -32318,7 +28403,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:3.0.2, rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": +"rimraf@npm:3.0.2, rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -32362,16 +28447,6 @@ __metadata: languageName: node linkType: hard -"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1, ripemd160@npm:^2.0.3": - version: 2.0.3 - resolution: "ripemd160@npm:2.0.3" - dependencies: - hash-base: ^3.1.2 - inherits: ^2.0.4 - checksum: da25591f15d3f03d3a26cabc8255634ee9e0ae89fc053846e6b3975bbdbae6941baeb539dba30e0aaec9a726c7442149de064e13c2510332e119e50beaf3314d - languageName: node - linkType: hard - "robust-in-sphere@npm:^1.1.3": version: 1.2.1 resolution: "robust-in-sphere@npm:1.2.1" @@ -32429,31 +28504,10 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-terser@npm:^7.0.0": - version: 7.0.2 - resolution: "rollup-plugin-terser@npm:7.0.2" - dependencies: - "@babel/code-frame": ^7.10.4 - jest-worker: ^26.2.1 - serialize-javascript: ^4.0.0 - terser: ^5.0.0 - peerDependencies: - rollup: ^2.0.0 - checksum: af84bb7a7a894cd00852b6486528dfb8653cf94df4c126f95f389a346f401d054b08c46bee519a2ab6a22b33804d1d6ac6d8c90b1b2bf8fffb097eed73fc3c72 - languageName: node - linkType: hard - -"rollup@npm:^2.43.1": - version: 2.80.0 - resolution: "rollup@npm:2.80.0" - dependencies: - fsevents: ~2.3.2 - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 3eeef19adb648ac475bb76cc474f5f601c76bc26490282715016b8948ef31ebd65e43df3ca5b4850686542822b73b2254d9a96013d9cc50d4d984c61cb0dac37 +"rrweb-cssom@npm:^0.8.0": + version: 0.8.0 + resolution: "rrweb-cssom@npm:0.8.0" + checksum: b84912cd1fbab9c972bf3fd5ca27b492efb442cacb23b6fd5a5ef6508572a91e411d325692609bf758865bc38a01b876e343c552d0e2ae87d0ff9907d96ef622 languageName: node linkType: hard @@ -32516,7 +28570,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -32547,7 +28601,7 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3, safe-regex-test@npm:^1.1.0": +"safe-regex-test@npm:^1.1.0": version: 1.1.0 resolution: "safe-regex-test@npm:1.1.0" dependencies: @@ -32565,38 +28619,6 @@ __metadata: languageName: node linkType: hard -"sanitize.css@npm:*": - version: 13.0.0 - resolution: "sanitize.css@npm:13.0.0" - checksum: a99ca77c4d135800a4a93c3555e5aa4a2eb040a833df716dbe9132e1f2086fbf9acdb8021a579f40dcf77166d2d50f3358b4b6121a247d26fed5a0e6f5af3bb7 - languageName: node - linkType: hard - -"sass-loader@npm:^12.3.0": - version: 12.6.0 - resolution: "sass-loader@npm:12.6.0" - dependencies: - klona: ^2.0.4 - neo-async: ^2.6.2 - peerDependencies: - fibers: ">= 3.1.0" - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - sass: ^1.3.0 - sass-embedded: "*" - webpack: ^5.0.0 - peerDependenciesMeta: - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true - checksum: 5d73a428588150f704016aa27397941bb9246cecd2ee083b573e95d969fc080ac6a16f2fe1cc64aca08f6e70da6f3c586ee68f0efc9f527fecc360e5f1c299ec - languageName: node - linkType: hard - "sax@npm:>=0.6.0, sax@npm:^1.2.4": version: 1.4.4 resolution: "sax@npm:1.4.4" @@ -32611,12 +28633,12 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" dependencies: xmlchars: ^2.2.0 - checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 + checksum: d3fa3e2aaf6c65ed52ee993aff1891fc47d5e47d515164b5449cbf5da2cbdc396137e55590472e64c5c436c14ae64a8a03c29b9e7389fc6f14035cf4e982ef3b languageName: node linkType: hard @@ -32657,28 +28679,6 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:2.7.0": - version: 2.7.0 - resolution: "schema-utils@npm:2.7.0" - dependencies: - "@types/json-schema": ^7.0.4 - ajv: ^6.12.2 - ajv-keywords: ^3.4.1 - checksum: 8889325b0ee1ae6a8f5d6aaa855c71e136ebbb7fd731b01a9d3ec8225dcb245f644c47c50104db4c741983b528cdff8558570021257d4d397ec6aaecd9172a8e - languageName: node - linkType: hard - -"schema-utils@npm:^2.6.5": - version: 2.7.1 - resolution: "schema-utils@npm:2.7.1" - dependencies: - "@types/json-schema": ^7.0.5 - ajv: ^6.12.4 - ajv-keywords: ^3.5.2 - checksum: 32c62fc9e28edd101e1bd83453a4216eb9bd875cc4d3775e4452b541908fa8f61a7bbac8ffde57484f01d7096279d3ba0337078e85a918ecbeb72872fb09fb2b - languageName: node - linkType: hard - "schema-utils@npm:^3.0.0, schema-utils@npm:^3.2.0": version: 3.3.0 resolution: "schema-utils@npm:3.3.0" @@ -32719,7 +28719,7 @@ __metadata: languageName: node linkType: hard -"selfsigned@npm:^2.1.1, selfsigned@npm:^2.4.1": +"selfsigned@npm:^2.4.1": version: 2.4.1 resolution: "selfsigned@npm:2.4.1" dependencies: @@ -32865,7 +28865,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -32920,15 +28920,6 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^4.0.0": - version: 4.0.0 - resolution: "serialize-javascript@npm:4.0.0" - dependencies: - randombytes: ^2.1.0 - checksum: 3273b3394b951671fcf388726e9577021870dfbf85e742a1183fb2e91273e6101bdccea81ff230724f6659a7ee4cef924b0ff9baca32b79d9384ec37caf07302 - languageName: node - linkType: hard - "serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.1, serialize-javascript@npm:^6.0.2": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" @@ -33038,7 +29029,7 @@ __metadata: languageName: node linkType: hard -"setimmediate@npm:^1.0.4, setimmediate@npm:^1.0.5": +"setimmediate@npm:^1.0.5": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd @@ -33059,19 +29050,6 @@ __metadata: languageName: node linkType: hard -"sha.js@npm:^2.4.0, sha.js@npm:^2.4.12, sha.js@npm:^2.4.8": - version: 2.4.12 - resolution: "sha.js@npm:2.4.12" - dependencies: - inherits: ^2.0.4 - safe-buffer: ^5.2.1 - to-buffer: ^1.2.0 - bin: - sha.js: bin.js - checksum: 9ec0fe39cc402acb33ffb18d261b52013485a2a9569a1873ff1861510a67b9ea2b3ccc78ab8aa09c34e1e85a5f06e18ab83637715509c6153ba8d537bbd2c29d - languageName: node - linkType: hard - "shallow-clone@npm:^3.0.0": version: 3.0.1 resolution: "shallow-clone@npm:3.0.1" @@ -33524,13 +29502,6 @@ __metadata: languageName: node linkType: hard -"source-list-map@npm:^2.0.0, source-list-map@npm:^2.0.1": - version: 2.0.1 - resolution: "source-list-map@npm:2.0.1" - checksum: 806efc6f75e7cd31e4815e7a3aaf75a45c704871ea4075cb2eb49882c6fca28998f44fc5ac91adb6de03b2882ee6fb02f951fdc85e6a22b338c32bfe19557938 - languageName: node - linkType: hard - "source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" @@ -33538,19 +29509,6 @@ __metadata: languageName: node linkType: hard -"source-map-loader@npm:^3.0.0": - version: 3.0.2 - resolution: "source-map-loader@npm:3.0.2" - dependencies: - abab: ^2.0.5 - iconv-lite: ^0.6.3 - source-map-js: ^1.0.1 - peerDependencies: - webpack: ^5.0.0 - checksum: d5a4e2ab190c93ae5cba68c247fbaa9fd560333c91060602b634c399a8a4b3205b8c07714c3bcdb0a11c6cc5476c06256bd8e824e71fbbb7981e8fad5cba4a00 - languageName: node - linkType: hard - "source-map-support@npm:0.5.13": version: 0.5.13 resolution: "source-map-support@npm:0.5.13" @@ -33561,7 +29519,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.19, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.20": +"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.19, source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -33571,13 +29529,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 - languageName: node - linkType: hard - "source-map@npm:0.7.3": version: 0.7.3 resolution: "source-map@npm:0.7.3" @@ -33592,7 +29543,14 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.7.0, source-map@npm:^0.7.3": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 + languageName: node + linkType: hard + +"source-map@npm:^0.7.0": version: 0.7.6 resolution: "source-map@npm:0.7.6" checksum: 932f4a2390aa7100e91357d88cc272de984ad29139ac09eedfde8cc78d46da35f389065d0c5343c5d71d054a6ebd4939a8c0f2c98d5df64fe97bb8a730596c2d @@ -33608,13 +29566,6 @@ __metadata: languageName: node linkType: hard -"sourcemap-codec@npm:^1.4.8": - version: 1.4.8 - resolution: "sourcemap-codec@npm:1.4.8" - checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 - languageName: node - linkType: hard - "space-separated-tokens@npm:^1.0.0": version: 1.1.5 resolution: "space-separated-tokens@npm:1.1.5" @@ -33794,15 +29745,6 @@ __metadata: languageName: node linkType: hard -"static-eval@npm:2.0.2": - version: 2.0.2 - resolution: "static-eval@npm:2.0.2" - dependencies: - escodegen: ^1.8.1 - checksum: 335a923c5ccb29add404ac23d0a55c0da6cee3071f6f67a7053aeac0dedc6dbfc53ac9269e9c25f403f5b7603a291ef47d7114f99bde241184f7aa3f9286dc32 - languageName: node - linkType: hard - "statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": version: 1.5.0 resolution: "statuses@npm:1.5.0" @@ -33834,16 +29776,6 @@ __metadata: languageName: node linkType: hard -"stream-browserify@npm:^3.0.0": - version: 3.0.0 - resolution: "stream-browserify@npm:3.0.0" - dependencies: - inherits: ~2.0.4 - readable-stream: ^3.5.0 - checksum: 4c47ef64d6f03815a9ca3874e2319805e8e8a85f3550776c47ce523b6f4c6cd57f40e46ec6a9ab8ad260fde61863c2718f250d3bedb3fe9052444eb9abfd9921 - languageName: node - linkType: hard - "stream-buffers@npm:2.2.x": version: 2.2.0 resolution: "stream-buffers@npm:2.2.0" @@ -33861,18 +29793,6 @@ __metadata: languageName: node linkType: hard -"stream-http@npm:^3.2.0": - version: 3.2.0 - resolution: "stream-http@npm:3.2.0" - dependencies: - builtin-status-codes: ^3.0.0 - inherits: ^2.0.4 - readable-stream: ^3.6.0 - xtend: ^4.0.2 - checksum: c9b78453aeb0c84fcc59555518ac62bacab9fa98e323e7b7666e5f9f58af8f3155e34481078509b02929bd1268427f664d186604cdccee95abc446099b339f83 - languageName: node - linkType: hard - "streamx@npm:^2.15.0": version: 2.25.0 resolution: "streamx@npm:2.25.0" @@ -33901,16 +29821,6 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^5.0.1": - version: 5.0.1 - resolution: "string-length@npm:5.0.1" - dependencies: - char-regex: ^2.0.0 - strip-ansi: ^7.0.1 - checksum: 71f73b8c8a743e01dcd001bcf1b197db78d5e5e53b12bd898cddaf0961be09f947dfd8c429783db3694b55b05cb5a51de6406c5085ff1aaa10c4771440c8396d - languageName: node - linkType: hard - "string-natural-compare@npm:^3.0.1": version: 3.0.1 resolution: "string-natural-compare@npm:3.0.1" @@ -33958,18 +29868,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.includes@npm:^2.0.1": - version: 2.0.1 - resolution: "string.prototype.includes@npm:2.0.1" - dependencies: - call-bind: ^1.0.7 - define-properties: ^1.2.1 - es-abstract: ^1.23.3 - checksum: ed4b7058b092f30d41c4df1e3e805eeea92479d2c7a886aa30f42ae32fde8924a10cc99cccc99c29b8e18c48216608a0fe6bf887f8b4aadf9559096a758f313a - languageName: node - linkType: hard - -"string.prototype.matchall@npm:^4.0.12, string.prototype.matchall@npm:^4.0.6": +"string.prototype.matchall@npm:^4.0.12": version: 4.0.12 resolution: "string.prototype.matchall@npm:4.0.12" dependencies: @@ -34038,7 +29937,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": +"string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -34145,13 +30044,6 @@ __metadata: languageName: node linkType: hard -"strip-comments@npm:^2.0.1": - version: 2.0.1 - resolution: "strip-comments@npm:2.0.1" - checksum: 36cd122e1c27b5be69df87e1687770a62fe183bdee9f3ff5cf85d30bbc98280afc012581f2fd50c7ad077c90f656f272560c9d2e520d28604b8b7ea3bc87d6f9 - languageName: node - linkType: hard - "strip-eof@npm:^1.0.0": version: 1.0.0 resolution: "strip-eof@npm:1.0.0" @@ -34222,15 +30114,6 @@ __metadata: languageName: node linkType: hard -"style-loader@npm:^3.3.1": - version: 3.3.4 - resolution: "style-loader@npm:3.3.4" - peerDependencies: - webpack: ^5.0.0 - checksum: caac3f2fe2c3c89e49b7a2a9329e1cfa515ecf5f36b9c4885f9b218019fda207a9029939b2c35821dec177a264a007e7c391ccdd3ff7401881ce6287b9c8f38b - languageName: node - linkType: hard - "style-to-js@npm:^1.0.0": version: 1.1.21 resolution: "style-to-js@npm:1.1.21" @@ -34249,18 +30132,6 @@ __metadata: languageName: node linkType: hard -"stylehacks@npm:^5.1.1": - version: 5.1.1 - resolution: "stylehacks@npm:5.1.1" - dependencies: - browserslist: ^4.21.4 - postcss-selector-parser: ^6.0.4 - peerDependencies: - postcss: ^8.2.15 - checksum: 11175366ef52de65bf06cefba0ddc9db286dc3a1451fd2989e74c6ea47091a02329a4bf6ce10b1a36950056927b6bbbe47c5ab3a1f4c7032df932d010fbde5a2 - languageName: node - linkType: hard - "stylehacks@npm:^6.1.1": version: 6.1.1 resolution: "stylehacks@npm:6.1.1" @@ -34316,24 +30187,6 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.35.0": - version: 3.35.1 - resolution: "sucrase@npm:3.35.1" - dependencies: - "@jridgewell/gen-mapping": ^0.3.2 - commander: ^4.0.0 - lines-and-columns: ^1.1.6 - mz: ^2.7.0 - pirates: ^4.0.1 - tinyglobby: ^0.2.11 - ts-interface-checker: ^0.1.9 - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 9a3ae3900f85ede60468bdaebc07a32691d5e44c80bb008734088dcde49cd0e05ead854786d90fbb6e63ed1c50592146cb50536321212773f6d72d1c85b2a51b - languageName: node - linkType: hard - "sudo-prompt@npm:^9.0.0": version: 9.2.1 resolution: "sudo-prompt@npm:9.2.1" @@ -34500,23 +30353,6 @@ __metadata: languageName: node linkType: hard -"svgo@npm:^2.7.0": - version: 2.8.0 - resolution: "svgo@npm:2.8.0" - dependencies: - "@trysound/sax": 0.2.0 - commander: ^7.2.0 - css-select: ^4.1.3 - css-tree: ^1.1.3 - csso: ^4.2.0 - picocolors: ^1.0.0 - stable: ^0.1.8 - bin: - svgo: bin/svgo - checksum: b92f71a8541468ffd0b81b8cdb36b1e242eea320bf3c1a9b2c8809945853e9d8c80c19744267eb91cabf06ae9d5fff3592d677df85a31be4ed59ff78534fa420 - languageName: node - linkType: hard - "svgo@npm:^3.0.2, svgo@npm:^3.2.0": version: 3.3.2 resolution: "svgo@npm:3.3.2" @@ -34557,46 +30393,6 @@ __metadata: languageName: node linkType: hard -"tailwindcss@npm:^3.0.2": - version: 3.4.19 - resolution: "tailwindcss@npm:3.4.19" - dependencies: - "@alloc/quick-lru": ^5.2.0 - arg: ^5.0.2 - chokidar: ^3.6.0 - didyoumean: ^1.2.2 - dlv: ^1.1.3 - fast-glob: ^3.3.2 - glob-parent: ^6.0.2 - is-glob: ^4.0.3 - jiti: ^1.21.7 - lilconfig: ^3.1.3 - micromatch: ^4.0.8 - normalize-path: ^3.0.0 - object-hash: ^3.0.0 - picocolors: ^1.1.1 - postcss: ^8.4.47 - postcss-import: ^15.1.0 - postcss-js: ^4.0.1 - postcss-load-config: ^4.0.2 || ^5.0 || ^6.0 - postcss-nested: ^6.2.0 - postcss-selector-parser: ^6.1.2 - resolve: ^1.22.8 - sucrase: ^3.35.0 - bin: - tailwind: lib/cli.js - tailwindcss: lib/cli.js - checksum: 10cd7872288fe0db85d3af402f16b0703ee74a3dd9d438a5c4838268a3ee194b60f1a8291e7abfedb878308664ddbfbc9de59e6be4b51c9c32319c7bafc287d4 - languageName: node - linkType: hard - -"tapable@npm:^1.0.0": - version: 1.1.3 - resolution: "tapable@npm:1.1.3" - checksum: 53ff4e7c3900051c38cc4faab428ebfd7e6ad0841af5a7ac6d5f3045c5b50e88497bfa8295b4b3fbcadd94993c9e358868b78b9fb249a76cb8b018ac8dccafd7 - languageName: node - linkType: hard - "tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1, tapable@npm:^2.3.0": version: 2.3.0 resolution: "tapable@npm:2.3.0" @@ -34655,13 +30451,6 @@ __metadata: languageName: node linkType: hard -"temp-dir@npm:^2.0.0, temp-dir@npm:~2.0.0": - version: 2.0.0 - resolution: "temp-dir@npm:2.0.0" - checksum: cc4f0404bf8d6ae1a166e0e64f3f409b423f4d1274d8c02814a59a5529f07db6cd070a749664141b992b2c1af337fa9bb451a460a43bb9bcddc49f235d3115aa - languageName: node - linkType: hard - "temp-dir@npm:^3.0.0": version: 3.0.0 resolution: "temp-dir@npm:3.0.0" @@ -34669,6 +30458,13 @@ __metadata: languageName: node linkType: hard +"temp-dir@npm:~2.0.0": + version: 2.0.0 + resolution: "temp-dir@npm:2.0.0" + checksum: cc4f0404bf8d6ae1a166e0e64f3f409b423f4d1274d8c02814a59a5529f07db6cd070a749664141b992b2c1af337fa9bb451a460a43bb9bcddc49f235d3115aa + languageName: node + linkType: hard + "temp@npm:^0.8.4": version: 0.8.4 resolution: "temp@npm:0.8.4" @@ -34678,18 +30474,6 @@ __metadata: languageName: node linkType: hard -"tempy@npm:^0.6.0": - version: 0.6.0 - resolution: "tempy@npm:0.6.0" - dependencies: - is-stream: ^2.0.0 - temp-dir: ^2.0.0 - type-fest: ^0.16.0 - unique-string: ^2.0.0 - checksum: dd09c8b6615e4b785ea878e9a18b17ac0bfe5dccf5a0e205ebd274bb356356aff3f5c90a6c917077d51c75efb7648b113a78b0492e2ffc81a7c9912eb872ac52 - languageName: node - linkType: hard - "tempy@npm:^3.0.0": version: 3.1.2 resolution: "tempy@npm:3.1.2" @@ -34702,7 +30486,7 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:2.1.1, terminal-link@npm:^2.0.0": +"terminal-link@npm:2.1.1": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" dependencies: @@ -34712,7 +30496,7 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.2.5, terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.16, terser-webpack-plugin@npm:^5.3.9": +"terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.16, terser-webpack-plugin@npm:^5.3.9": version: 5.3.16 resolution: "terser-webpack-plugin@npm:5.3.16" dependencies: @@ -34734,7 +30518,7 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.0.0, terser@npm:^5.10.0, terser@npm:^5.15.0, terser@npm:^5.15.1, terser@npm:^5.31.1": +"terser@npm:^5.10.0, terser@npm:^5.15.0, terser@npm:^5.15.1, terser@npm:^5.31.1": version: 5.46.0 resolution: "terser@npm:5.46.0" dependencies: @@ -34768,7 +30552,7 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0, text-table@npm:~0.2.0": +"text-table@npm:~0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a @@ -34809,13 +30593,6 @@ __metadata: languageName: node linkType: hard -"throat@npm:^6.0.1": - version: 6.0.2 - resolution: "throat@npm:6.0.2" - checksum: 463093768d4884772020bb18b0f33d3fec8a2b4173f7da3958dfbe88ff0f1e686ffadf0f87333bf6f6db7306b1450efc7855df69c78bf0bfa61f6d84a3361fe8 - languageName: node - linkType: hard - "through2@npm:^2.0.1, through2@npm:~2.0.0": version: 2.0.5 resolution: "through2@npm:2.0.5" @@ -34849,15 +30626,6 @@ __metadata: languageName: node linkType: hard -"timers-browserify@npm:^2.0.12": - version: 2.0.12 - resolution: "timers-browserify@npm:2.0.12" - dependencies: - setimmediate: ^1.0.4 - checksum: ec37ae299066bef6c464dcac29c7adafba1999e7227a9bdc4e105a459bee0f0b27234a46bfd7ab4041da79619e06a58433472867a913d01c26f8a203f87cee70 - languageName: node - linkType: hard - "tiny-inflate@npm:^1.0.3": version: 1.0.3 resolution: "tiny-inflate@npm:1.0.3" @@ -34886,7 +30654,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" dependencies: @@ -34903,21 +30671,28 @@ __metadata: languageName: node linkType: hard -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 +"tldts-core@npm:^6.1.86": + version: 6.1.86 + resolution: "tldts-core@npm:6.1.86" + checksum: 0a715457e03101deff9b34cf45dcd91b81985ef32d35b8e9c4764dcf76369bf75394304997584080bb7b8897e94e20f35f3e8240a1ec87d6faba3cc34dc5a954 languageName: node linkType: hard -"to-buffer@npm:^1.2.0, to-buffer@npm:^1.2.1, to-buffer@npm:^1.2.2": - version: 1.2.2 - resolution: "to-buffer@npm:1.2.2" +"tldts@npm:^6.1.32": + version: 6.1.86 + resolution: "tldts@npm:6.1.86" dependencies: - isarray: ^2.0.5 - safe-buffer: ^5.2.1 - typed-array-buffer: ^1.0.3 - checksum: b0cd2417989a9f3d47273301e8cec2c9798b19a117822424686f385f3ec0239d2defd5fd9f8e76cda0b21e2a2f5de65a58e806506bf4c296c31750c5efd3ae4b + tldts-core: ^6.1.86 + bin: + tldts: bin/cli.js + checksum: e5c57664f73663c6c8f7770db02c0c03d6f877fe837854c72037be8092826f95b8e568962358441ef18431b80b7e40ed88391c70873ee7ec0d4344999a12e3de + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 languageName: node linkType: hard @@ -34957,15 +30732,12 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0": - version: 4.1.4 - resolution: "tough-cookie@npm:4.1.4" +"tough-cookie@npm:^5.1.1": + version: 5.1.2 + resolution: "tough-cookie@npm:5.1.2" dependencies: - psl: ^1.1.33 - punycode: ^2.1.1 - universalify: ^0.2.0 - url-parse: ^1.5.3 - checksum: 5815059f014c31179a303c673f753f7899a6fce94ac93712c88ea5f3c26e0c042b5f0c7a599a00f8e0feeca4615dba75c3dffc54f3c1a489978aa8205e09307c + tldts: ^6.1.32 + checksum: 31c626a77ac247b881665851035773afe7eeac283b91ed8da3c297ed55480ea1dd1ba3f5bb1f94b653ac2d5b184f17ce4bf1cf6ca7c58ee7c321b4323c4f8024 languageName: node linkType: hard @@ -34978,12 +30750,12 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^2.1.0": - version: 2.1.0 - resolution: "tr46@npm:2.1.0" +"tr46@npm:^5.1.0": + version: 5.1.1 + resolution: "tr46@npm:5.1.1" dependencies: - punycode: ^2.1.1 - checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 + punycode: ^2.3.1 + checksum: da7a04bd3f77e641abdabe948bb84f24e6ee73e81c8c96c36fe79796c889ba97daf3dbacae778f8581ff60307a4136ee14c9540a5f85ebe44f99c6cc39a97690 languageName: node linkType: hard @@ -35038,13 +30810,6 @@ __metadata: languageName: node linkType: hard -"tryer@npm:^1.0.1": - version: 1.0.1 - resolution: "tryer@npm:1.0.1" - checksum: 1cf14d7f67c79613f054b569bfc9a89c7020d331573a812dfcf7437244e8f8e6eb6893b210cbd9cc217f67c1d72617f89793df231e4fe7d53634ed91cf3a89d1 - languageName: node - linkType: hard - "ts-api-utils@npm:^2.4.0": version: 2.4.0 resolution: "ts-api-utils@npm:2.4.0" @@ -35158,7 +30923,7 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.7.0, ts-node@npm:^10.9.1, ts-node@npm:^10.9.2": +"ts-node@npm:^10.9.1, ts-node@npm:^10.9.2": version: 10.9.2 resolution: "ts-node@npm:10.9.2" dependencies: @@ -35279,13 +31044,6 @@ __metadata: languageName: node linkType: hard -"tty-browserify@npm:^0.0.1": - version: 0.0.1 - resolution: "tty-browserify@npm:0.0.1" - checksum: 93b745d43fa5a7d2b948fa23be8d313576d1d884b48acd957c07710bac1c0d8ac34c0556ad4c57c73d36e11741763ef66b3fb4fb97b06b7e4d525315a3cd45f5 - languageName: node - linkType: hard - "tuf-js@npm:^3.0.1": version: 3.1.0 resolution: "tuf-js@npm:3.1.0" @@ -35385,15 +31143,6 @@ __metadata: languageName: node linkType: hard -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: ~1.1.2 - checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 - languageName: node - linkType: hard - "type-detect@npm:4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" @@ -35401,20 +31150,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.16.0": - version: 0.16.0 - resolution: "type-fest@npm:0.16.0" - checksum: 1a4102c06dc109db00418c753062e206cab65befd469d000ece4452ee649bf2a9cf57686d96fb42326bc9d918d9a194d4452897b486dcc41989e5c99e4e87094 - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -35436,7 +31171,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^2.12.2, type-fest@npm:^2.13.0, type-fest@npm:^2.14.0, type-fest@npm:^2.5.0": +"type-fest@npm:^2.12.2, type-fest@npm:^2.13.0, type-fest@npm:^2.5.0": version: 2.19.0 resolution: "type-fest@npm:2.19.0" checksum: a4ef07ece297c9fba78fc1bd6d85dff4472fe043ede98bd4710d2615d15776902b595abf62bd78339ed6278f021235fb28a96361f8be86ed754f778973a0d278 @@ -35596,13 +31331,6 @@ __metadata: languageName: node linkType: hard -"underscore@npm:1.12.1": - version: 1.12.1 - resolution: "underscore@npm:1.12.1" - checksum: ec327603aa112b99fe9d74cd9bf3b3b7451465a9d2610ceab269a532e3f191650ab017903be34dc86fe406a11d04d8905a3b04dd4c129493e51bee09a3f3074c - languageName: node - linkType: hard - "undici-types@npm:~6.21.0": version: 6.21.0 resolution: "undici-types@npm:6.21.0" @@ -35748,15 +31476,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:^2.0.0, unique-string@npm:~2.0.0": - version: 2.0.0 - resolution: "unique-string@npm:2.0.0" - dependencies: - crypto-random-string: ^2.0.0 - checksum: ef68f639136bcfe040cf7e3cd7a8dff076a665288122855148a6f7134092e6ed33bf83a7f3a9185e46c98dddc445a0da6ac25612afa1a7c38b8b654d6c02498e - languageName: node - linkType: hard - "unique-string@npm:^3.0.0": version: 3.0.0 resolution: "unique-string@npm:3.0.0" @@ -35766,6 +31485,15 @@ __metadata: languageName: node linkType: hard +"unique-string@npm:~2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" + dependencies: + crypto-random-string: ^2.0.0 + checksum: ef68f639136bcfe040cf7e3cd7a8dff076a665288122855148a6f7134092e6ed33bf83a7f3a9185e46c98dddc445a0da6ac25612afa1a7c38b8b654d6c02498e + languageName: node + linkType: hard + "unist-builder@npm:^2.0.0": version: 2.0.3 resolution: "unist-builder@npm:2.0.3" @@ -35925,13 +31653,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 - languageName: node - linkType: hard - "universalify@npm:^1.0.0": version: 1.0.0 resolution: "universalify@npm:1.0.0" @@ -36041,13 +31762,6 @@ __metadata: languageName: node linkType: hard -"upath@npm:^1.2.0": - version: 1.2.0 - resolution: "upath@npm:1.2.0" - checksum: 4c05c094797cb733193a0784774dbea5b1889d502fc9f0572164177e185e4a59ba7099bf0b0adf945b232e2ac60363f9bf18aac9b2206fb99cbef971a8455445 - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.2.0": version: 1.2.3 resolution: "update-browserslist-db@npm:1.2.3" @@ -36117,26 +31831,6 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: ^2.1.1 - requires-port: ^1.0.0 - checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf - languageName: node - linkType: hard - -"url@npm:^0.11.0": - version: 0.11.4 - resolution: "url@npm:0.11.4" - dependencies: - punycode: ^1.4.1 - qs: ^6.12.3 - checksum: c25e587723d343d5d4248892393bfa5039ded9c2c07095a9d005bc64b7cb8956d623c0d8da8d1a28f71986a7a8d80fc2e9f9cf84235e48fa435a5cb4451062c6 - languageName: node - linkType: hard - "use-latest-callback@npm:^0.2.4": version: 0.2.6 resolution: "use-latest-callback@npm:0.2.6" @@ -36193,19 +31887,6 @@ __metadata: languageName: node linkType: hard -"util@npm:^0.12.4, util@npm:^0.12.5": - version: 0.12.5 - resolution: "util@npm:0.12.5" - dependencies: - inherits: ^2.0.3 - is-arguments: ^1.0.4 - is-generator-function: ^1.0.7 - is-typed-array: ^1.1.3 - which-typed-array: ^1.1.2 - checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a - languageName: node - linkType: hard - "utila@npm:~0.4": version: 0.4.0 resolution: "utila@npm:0.4.0" @@ -36279,17 +31960,6 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^8.1.0": - version: 8.1.1 - resolution: "v8-to-istanbul@npm:8.1.1" - dependencies: - "@types/istanbul-lib-coverage": ^2.0.1 - convert-source-map: ^1.6.0 - source-map: ^0.7.3 - checksum: 54ce92bec2727879626f623d02c8d193f0c7e919941fa373ec135189a8382265117f5316ea317a1e12a5f9c13d84d8449052a731fe3306fa4beaafbfa4cab229 - languageName: node - linkType: hard - "v8-to-istanbul@npm:^9.0.1": version: 9.3.0 resolution: "v8-to-istanbul@npm:9.3.0" @@ -36405,13 +32075,6 @@ __metadata: languageName: node linkType: hard -"vm-browserify@npm:^1.1.2": - version: 1.1.2 - resolution: "vm-browserify@npm:1.1.2" - checksum: 10a1c50aab54ff8b4c9042c15fc64aefccce8d2fb90c0640403242db0ee7fb269f9b102bdb69cfb435d7ef3180d61fd4fb004a043a12709abaf9056cfd7e039d - languageName: node - linkType: hard - "vscode-oniguruma@npm:^1.6.1": version: 1.7.0 resolution: "vscode-oniguruma@npm:1.7.0" @@ -36426,21 +32089,12 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: ^1.0.0 - checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^2.0.0": - version: 2.0.0 - resolution: "w3c-xmlserializer@npm:2.0.0" +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" dependencies: - xml-name-validator: ^3.0.0 - checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b + xml-name-validator: ^5.0.0 + checksum: 593acc1fdab3f3207ec39d851e6df0f3fa41a36b5809b0ace364c7a6d92e351938c53424a7618ce8e0fbaffee8be2e8e070a5734d05ee54666a8bdf1a376cc40 languageName: node linkType: hard @@ -36495,32 +32149,6 @@ __metadata: languageName: node linkType: hard -"web-app@workspace:apps/web-app": - version: 0.0.0-use.local - resolution: "web-app@workspace:apps/web-app" - dependencies: - "@craco/craco": ^7.1.0 - "@shopify/react-native-skia": "workspace:*" - "@types/node": ^16.18.0 - "@types/react": ^19.0.0 - "@types/react-dom": ^19.0.0 - "@typescript-eslint/eslint-plugin": ^5.0.0 - "@typescript-eslint/parser": ^5.0.0 - eslint: ^8.57.0 - eslint-config-react-app: ^7.0.0 - node-polyfill-webpack-plugin: ^2.0.1 - path-browserify: ^1.0.1 - react: 19.0.0 - react-dom: 19.0.0 - react-native-reanimated: 4.3.1 - react-native-web: ^0.21.1 - react-native-worklets: 0.8.3 - react-scripts: 5.0.1 - typescript: ^5.2.2 - web-vitals: ^2.1.0 - languageName: unknown - linkType: soft - "web-namespaces@npm:^2.0.0": version: 2.0.1 resolution: "web-namespaces@npm:2.0.1" @@ -36528,13 +32156,6 @@ __metadata: languageName: node linkType: hard -"web-vitals@npm:^2.1.0": - version: 2.1.4 - resolution: "web-vitals@npm:2.1.4" - checksum: 03d3f47dbf55c3dce07beb0ff5de8ddd52e2d0a53a8df5c84e7a16dda93543341d67231fa79b1d9772b091419af4ec0fd395b8bcf451a0e26846e3f76b3d0efc - languageName: node - linkType: hard - "web-worker@npm:1.2.0": version: 1.2.0 resolution: "web-worker@npm:1.2.0" @@ -36556,17 +32177,10 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^5.0.0": - version: 5.0.0 - resolution: "webidl-conversions@npm:5.0.0" - checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 - languageName: node - linkType: hard - -"webidl-conversions@npm:^6.1.0": - version: 6.1.0 - resolution: "webidl-conversions@npm:6.1.0" - checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: f05588567a2a76428515333eff87200fae6c83c3948a7482ebb109562971e77ef6dc49749afa58abb993391227c5697b3ecca52018793e0cb4620a48f10bd21b languageName: node linkType: hard @@ -36592,21 +32206,6 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:^5.3.4": - version: 5.3.4 - resolution: "webpack-dev-middleware@npm:5.3.4" - dependencies: - colorette: ^2.0.10 - memfs: ^3.4.3 - mime-types: ^2.1.31 - range-parser: ^1.2.1 - schema-utils: ^4.0.0 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 90cf3e27d0714c1a745454a1794f491b7076434939340605b9ee8718ba2b85385b120939754e9fdbd6569811e749dee53eec319e0d600e70e0b0baffd8e3fb13 - languageName: node - linkType: hard - "webpack-dev-middleware@npm:^7.4.2": version: 7.4.5 resolution: "webpack-dev-middleware@npm:7.4.5" @@ -36626,53 +32225,6 @@ __metadata: languageName: node linkType: hard -"webpack-dev-server@npm:^4.6.0": - version: 4.15.2 - resolution: "webpack-dev-server@npm:4.15.2" - dependencies: - "@types/bonjour": ^3.5.9 - "@types/connect-history-api-fallback": ^1.3.5 - "@types/express": ^4.17.13 - "@types/serve-index": ^1.9.1 - "@types/serve-static": ^1.13.10 - "@types/sockjs": ^0.3.33 - "@types/ws": ^8.5.5 - ansi-html-community: ^0.0.8 - bonjour-service: ^1.0.11 - chokidar: ^3.5.3 - colorette: ^2.0.10 - compression: ^1.7.4 - connect-history-api-fallback: ^2.0.0 - default-gateway: ^6.0.3 - express: ^4.17.3 - graceful-fs: ^4.2.6 - html-entities: ^2.3.2 - http-proxy-middleware: ^2.0.3 - ipaddr.js: ^2.0.1 - launch-editor: ^2.6.0 - open: ^8.0.9 - p-retry: ^4.5.0 - rimraf: ^3.0.2 - schema-utils: ^4.0.0 - selfsigned: ^2.1.1 - serve-index: ^1.9.1 - sockjs: ^0.3.24 - spdy: ^4.0.2 - webpack-dev-middleware: ^5.3.4 - ws: ^8.13.0 - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - bin: - webpack-dev-server: bin/webpack-dev-server.js - checksum: 123507129cb4d55fdc5fabdd177574f31133605748372bb11353307b7a583ef25c6fd27b6addf56bf070ba44c88d5da861771c2ec55f52405082ec9efd01f039 - languageName: node - linkType: hard - "webpack-dev-server@npm:^5.2.2": version: 5.2.4 resolution: "webpack-dev-server@npm:5.2.4" @@ -36718,19 +32270,7 @@ __metadata: languageName: node linkType: hard -"webpack-manifest-plugin@npm:^4.0.2": - version: 4.1.1 - resolution: "webpack-manifest-plugin@npm:4.1.1" - dependencies: - tapable: ^2.0.0 - webpack-sources: ^2.2.0 - peerDependencies: - webpack: ^4.44.2 || ^5.47.0 - checksum: 426982030d3b0ef26432d98960ee1fa33889d8f0ed79b3d2c8e37be9b4e4beba7524c60631297ea557c642a340b76d70b0eb6a1e08b86a769409037185795038 - languageName: node - linkType: hard - -"webpack-merge@npm:^5.8.0, webpack-merge@npm:^5.9.0": +"webpack-merge@npm:^5.9.0": version: 5.10.0 resolution: "webpack-merge@npm:5.10.0" dependencies: @@ -36752,26 +32292,6 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^1.4.3": - version: 1.4.3 - resolution: "webpack-sources@npm:1.4.3" - dependencies: - source-list-map: ^2.0.0 - source-map: ~0.6.1 - checksum: 37463dad8d08114930f4bc4882a9602941f07c9f0efa9b6bc78738cd936275b990a596d801ef450d022bb005b109b9f451dd087db2f3c9baf53e8e22cf388f79 - languageName: node - linkType: hard - -"webpack-sources@npm:^2.2.0": - version: 2.3.1 - resolution: "webpack-sources@npm:2.3.1" - dependencies: - source-list-map: ^2.0.1 - source-map: ^0.6.1 - checksum: 6fd67f2274a84c5f51ad89767112ec8b47727134bf0f2ba0cff458c970f18966939a24128bdbddba621cd66eeb2bef0552642a9333cd8e54514f7b2a71776346 - languageName: node - linkType: hard - "webpack-sources@npm:^3.2.3, webpack-sources@npm:^3.3.3": version: 3.3.3 resolution: "webpack-sources@npm:3.3.3" @@ -36815,7 +32335,7 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5.64.4, webpack@npm:^5.88.1, webpack@npm:^5.95.0": +"webpack@npm:^5.88.1, webpack@npm:^5.95.0": version: 5.104.1 resolution: "webpack@npm:5.104.1" dependencies: @@ -36896,26 +32416,36 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^1.0.5": - version: 1.0.5 - resolution: "whatwg-encoding@npm:1.0.5" +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" dependencies: - iconv-lite: 0.4.24 - checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 + iconv-lite: 0.6.3 + checksum: f75a61422421d991e4aec775645705beaf99a16a88294d68404866f65e92441698a4f5b9fa11dd609017b132d7b286c3c1534e2de5b3e800333856325b549e3c languageName: node linkType: hard -"whatwg-fetch@npm:^3.0.0, whatwg-fetch@npm:^3.6.2": +"whatwg-fetch@npm:^3.0.0": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20" checksum: c58851ea2c4efe5c2235f13450f426824cf0253c1d45da28f45900290ae602a20aff2ab43346f16ec58917d5562e159cd691efa368354b2e82918c2146a519c5 languageName: node linkType: hard -"whatwg-mimetype@npm:^2.3.0": - version: 2.3.0 - resolution: "whatwg-mimetype@npm:2.3.0" - checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: f97edd4b4ee7e46a379f3fb0e745de29fe8b839307cc774300fd49059fcdd560d38cb8fe21eae5575b8f39b022f23477cc66e40b0355c2851ce84760339cef30 + languageName: node + linkType: hard + +"whatwg-url@npm:^14.0.0, whatwg-url@npm:^14.1.1": + version: 14.2.0 + resolution: "whatwg-url@npm:14.2.0" + dependencies: + tr46: ^5.1.0 + webidl-conversions: ^7.0.0 + checksum: c4f1ae1d353b9e56ab3c154cd73bf2b621cea1a2499fd2a9b2a17d448c2ed5e73a8922a0f395939de565fc3661461140111ae2aea26d4006a1ad0cfbf021c034 languageName: node linkType: hard @@ -36940,17 +32470,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": - version: 8.7.0 - resolution: "whatwg-url@npm:8.7.0" - dependencies: - lodash: ^4.7.0 - tr46: ^2.1.0 - webidl-conversions: ^6.1.0 - checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e - languageName: node - linkType: hard - "which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": version: 1.1.1 resolution: "which-boxed-primitive@npm:1.1.1" @@ -37004,7 +32523,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19, which-typed-array@npm:^1.1.2": +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19": version: 1.1.20 resolution: "which-typed-array@npm:1.1.20" dependencies: @@ -37019,7 +32538,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.9, which@npm:^1.3.1": +"which@npm:^1.2.9": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -37095,7 +32614,7 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.5, word-wrap@npm:~1.2.3": +"word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" checksum: f93ba3586fc181f94afdaff3a6fef27920b4b6d9eaefed0f428f8e07adea2a7f54a5f2830ce59406c8416f033f86902b91eb824072354645eea687dff3691ccb @@ -37109,211 +32628,6 @@ __metadata: languageName: node linkType: hard -"workbox-background-sync@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-background-sync@npm:6.6.0" - dependencies: - idb: ^7.0.1 - workbox-core: 6.6.0 - checksum: ac2990110643aef62ca0be54e962296de7b09593b0262bd09fe4893978a42fa1f256c6d989ed472a31ae500b2255b80c6678530a6024eafb0b2f3a93a3c94a5f - languageName: node - linkType: hard - -"workbox-broadcast-update@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-broadcast-update@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - checksum: 46a74b3b703244eb363e1731a2d6fe1fb2cd9b82d454733dfc6941fd35b76a852685f56db92408383ac50d564c2fd4282f0c6c4db60ba9beb5f311ea8f944dc7 - languageName: node - linkType: hard - -"workbox-build@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-build@npm:6.6.0" - dependencies: - "@apideck/better-ajv-errors": ^0.3.1 - "@babel/core": ^7.11.1 - "@babel/preset-env": ^7.11.0 - "@babel/runtime": ^7.11.2 - "@rollup/plugin-babel": ^5.2.0 - "@rollup/plugin-node-resolve": ^11.2.1 - "@rollup/plugin-replace": ^2.4.1 - "@surma/rollup-plugin-off-main-thread": ^2.2.3 - ajv: ^8.6.0 - common-tags: ^1.8.0 - fast-json-stable-stringify: ^2.1.0 - fs-extra: ^9.0.1 - glob: ^7.1.6 - lodash: ^4.17.20 - pretty-bytes: ^5.3.0 - rollup: ^2.43.1 - rollup-plugin-terser: ^7.0.0 - source-map: ^0.8.0-beta.0 - stringify-object: ^3.3.0 - strip-comments: ^2.0.1 - tempy: ^0.6.0 - upath: ^1.2.0 - workbox-background-sync: 6.6.0 - workbox-broadcast-update: 6.6.0 - workbox-cacheable-response: 6.6.0 - workbox-core: 6.6.0 - workbox-expiration: 6.6.0 - workbox-google-analytics: 6.6.0 - workbox-navigation-preload: 6.6.0 - workbox-precaching: 6.6.0 - workbox-range-requests: 6.6.0 - workbox-recipes: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 - workbox-streams: 6.6.0 - workbox-sw: 6.6.0 - workbox-window: 6.6.0 - checksum: cd1a6c413659c2fd66f4438012f65b211cc748bb594c79bf0d9a60de0cefff3f8a4a23ab06f32c62064c37397ffffc1b77d3328658b7556ea7ff88e57f6ee4fd - languageName: node - linkType: hard - -"workbox-cacheable-response@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-cacheable-response@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - checksum: 9e4e00c53679fd2020874cbdf54bb17560fd12353120ea08ca6213e5a11bf08139072616d79f5f8ab80d09f00efde94b003fe9bf5b6e23815be30d7aca760835 - languageName: node - linkType: hard - -"workbox-core@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-core@npm:6.6.0" - checksum: 7d773a866b73a733780c52b895f9cf7bec926c9187395c307174deefba9a0a2fcd1edce0d1ca12b8a6c95ca9cf7755ccc1885b03bc82ebcfc4843e015bd84d7b - languageName: node - linkType: hard - -"workbox-expiration@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-expiration@npm:6.6.0" - dependencies: - idb: ^7.0.1 - workbox-core: 6.6.0 - checksum: b100b9c512754bc3e1a9c7c7d20d215d72c601a7b956333ca7753704a771a9f00e1732e9b774da4549bae390dd3cd138c6392f6a25fd67f7dcd84f89b0df7e9c - languageName: node - linkType: hard - -"workbox-google-analytics@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-google-analytics@npm:6.6.0" - dependencies: - workbox-background-sync: 6.6.0 - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 - checksum: 7b287da7517ae416aae8ea1494830bb517a29ab9786b2a8b8bf98971377b83715070e784399065ab101d4bba381ab0abbb8bd0962b3010bc01f54fdafb0b6702 - languageName: node - linkType: hard - -"workbox-navigation-preload@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-navigation-preload@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - checksum: d254465648e45ec6b6d7c3471354336501901d3872622ea9ba1aa1f935d4d52941d0f92fa6c06e7363e10dbac4874d5d4bff7d99cbe094925046f562a37e88cc - languageName: node - linkType: hard - -"workbox-precaching@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-precaching@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 - checksum: 62e5ee2e40568a56d4131bba461623579f56b9bd273aa7d2805e43151057f413c2ef32fb3d007aff0a5ac3ad84d5feae87408284249a487a5d51c3775c46c816 - languageName: node - linkType: hard - -"workbox-range-requests@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-range-requests@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - checksum: a55d1a364b2155548695dc8f6f85baade196d7d1bec980bcdbda80236803b14167995a81b944cffe932a94c4d556466773121afe3661a6f0a13403cbe96d8d9f - languageName: node - linkType: hard - -"workbox-recipes@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-recipes@npm:6.6.0" - dependencies: - workbox-cacheable-response: 6.6.0 - workbox-core: 6.6.0 - workbox-expiration: 6.6.0 - workbox-precaching: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 - checksum: f2ecf38502260703e4b0dcef67e3ac26d615f2c90f6d863ca7308db52454f67934ba842fd577ee807d9f510f1a277fd66af7caf57d39e50a181d05dbb3e550a7 - languageName: node - linkType: hard - -"workbox-routing@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-routing@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - checksum: 7a70b836196eb67332d33a94c0b57859781fe869e81a9c95452d3f4f368d3199f8c3da632dbc10425fde902a1930cf8cfd83f6434ad2b586904ce68cd9f35c6d - languageName: node - linkType: hard - -"workbox-strategies@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-strategies@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - checksum: 236232a77fb4a4847d1e9ae6c7c9bd9c6b9449209baab9d8d90f78240326a9c0f69551b408ebf9e76610d86da15563bf27439b7e885a7bac01dfd08047c0dd7b - languageName: node - linkType: hard - -"workbox-streams@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-streams@npm:6.6.0" - dependencies: - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - checksum: 64a295e48e44e3fa4743b5baec646fc9117428e7592033475e38c461e45c294910712f322c32417d354b22999902ef8035119e070e61e159e531d878d991fc33 - languageName: node - linkType: hard - -"workbox-sw@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-sw@npm:6.6.0" - checksum: bb5f8695de02f89c7955465dcbd568299915565008dc8a068c5d19c1347f75d417640b9f61590e16b169b703e77d02f8b1e10c4b241f74f43cfe76175bfa5fed - languageName: node - linkType: hard - -"workbox-webpack-plugin@npm:^6.4.1": - version: 6.6.0 - resolution: "workbox-webpack-plugin@npm:6.6.0" - dependencies: - fast-json-stable-stringify: ^2.1.0 - pretty-bytes: ^5.4.1 - upath: ^1.2.0 - webpack-sources: ^1.4.3 - workbox-build: 6.6.0 - peerDependencies: - webpack: ^4.4.0 || ^5.9.0 - checksum: b8e04a342f2d45086f28ae56e4806d74dd153c3b750855533a55954f4e85752113e76a6d79a32206eb697a342725897834c9e7976894374d8698cd950477d37a - languageName: node - linkType: hard - -"workbox-window@npm:6.6.0": - version: 6.6.0 - resolution: "workbox-window@npm:6.6.0" - dependencies: - "@types/trusted-types": ^2.0.2 - workbox-core: 6.6.0 - checksum: bb1dd031c1525317ceffbdc3e4f502a70dce461fd6355146e1050c1090f3c640bf65edf42a5d2a3b91b4d0c313df32c1405d88bf701d44c0e3ebc492cd77fe14 - languageName: node - linkType: hard - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -37365,7 +32679,7 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.0, write-file-atomic@npm:^3.0.3": +"write-file-atomic@npm:^3.0.3": version: 3.0.3 resolution: "write-file-atomic@npm:3.0.3" dependencies: @@ -37446,7 +32760,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.3.1, ws@npm:^7.4.6, ws@npm:^7.5.10": +"ws@npm:^7, ws@npm:^7.3.1, ws@npm:^7.5.10": version: 7.5.10 resolution: "ws@npm:7.5.10" peerDependencies: @@ -37461,7 +32775,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.13.0, ws@npm:^8.18.0": +"ws@npm:^8.18.0": version: 8.19.0 resolution: "ws@npm:8.19.0" peerDependencies: @@ -37522,10 +32836,10 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^3.0.0": - version: 3.0.0 - resolution: "xml-name-validator@npm:3.0.0" - checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 86effcc7026f437701252fcc308b877b4bc045989049cfc79b0cc112cb365cf7b009f4041fab9fb7cd1795498722c3e9fe9651afc66dfa794c16628a639a4c45 languageName: node linkType: hard @@ -37590,7 +32904,7 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.1": +"xtend@npm:^4.0.0, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a @@ -37641,7 +32955,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": +"yaml@npm:^1.10.0": version: 1.10.3 resolution: "yaml@npm:1.10.3" checksum: 6a2dd3582f4fbcc8d0e32dc26d1a42f72a901eb6ae8fad616bd720514b11a53a64eabc21dba97fbcd951c7c0e1963502313789d93a753e7786e7452376498be5