diff --git a/.github/workflows/code-integration-checks.yml b/.github/workflows/code-integration-checks.yml index 5129856..99fbecc 100644 --- a/.github/workflows/code-integration-checks.yml +++ b/.github/workflows/code-integration-checks.yml @@ -33,7 +33,6 @@ jobs: - name: Build if: always() run: yarn build -# TODO test build output: https://github.com/sep2/immer-yjs/issues/18 -# - name: Test Build Output -# if: always() -# run: yarn workspace test-app test + - name: Test Build Output + if: always() + run: yarn workspace immer-yjs-react-example build diff --git a/apps/immer-yjs-react/.gitignore b/apps/immer-yjs-react/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/apps/immer-yjs-react/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/apps/immer-yjs-react/README.md b/apps/immer-yjs-react/README.md new file mode 100644 index 0000000..b7919c2 --- /dev/null +++ b/apps/immer-yjs-react/README.md @@ -0,0 +1,53 @@ +# immer-yjs React example + +A minimal React app demonstrating [`immer-yjs`](../../packages/immer-yjs): a `Y.Doc` is shared between +browser peers over WebRTC, and components read and write it with `immer`-style mutations instead of +hand-written patches. + +## Running + +From the repository root: + +```sh +yarn workspace immer-yjs-react-example dev +``` + +Open the printed URL in two windows to watch edits propagate between them. + +## How it fits together + +| File | Role | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `immer-yjs-react.ts` | The React bindings: `useImmerYjs` creates and binds the document, `useSelection` subscribes to it, `useBinder` writes to it. | +| `DemoApp.tsx` | Attaches a `WebrtcProvider` and renders a counter and a text field backed by the shared document. | +| `AppState.ts` | The shape of the document, plus a [`pure-parse`](https://github.com/johannes-lindgren/pure-parse) type guard for it. | +| `JsonView.tsx` | Renders the document as a tree of memoized nodes, one component per value. | + +## Watching re-renders + +`App.tsx` drives [react-scan](https://github.com/aidenybai/react-scan) through its `useScan` hook, wired +to a "Highlight re-renders" switch that defaults to off. `main.tsx` imports the package for its side +effect only, and keeps that import above the React import: react-scan installs the React DevTools hook +when it loads, and can only instrument React if it runs first. + +Switch it on and type in the text field. immer-yjs snapshots are immutable and structurally shared—an +update rebuilds only the path from the root down to the value that changed—so `memo` skips every +untouched subtree. `JsonView.tsx` leans on this by rendering one memoized component per JSON value +rather than stringifying the document: a single keystroke re-renders the `"text"` row and leaves the +`"count"` row untouched. Stringifying instead would rebuild every line on every keystroke. + +Two react-scan quirks worth knowing: `useScan` is called without `trackUnnecessaryRenders`, which +appears in its type definitions but is rejected by its runtime validator in 0.5.7; and switching the +scan off leaves any already-drawn outlines on screen until the next reload, since react-scan does not +clear its overlay when paused. + +## Validating the document + +A `Y.Doc` carries no schema, and this one is shared with untrusted peers, so a synced document may hold +anything. Every selector and every update in `DemoApp.tsx` therefore narrows the snapshot with the +`isAppState` guard before reading a field. + +Note that this validates with a **type guard** rather than a parser. `useSelection` is built on +`useSyncExternalStore`, which compares selector results with `Object.is`; a parser allocates a fresh +result object on every call, so using one as a selector would re-render forever. A guard returns the +same reference, narrowed, and is therefore stable. diff --git a/apps/immer-yjs-react/eslint.config.js b/apps/immer-yjs-react/eslint.config.js new file mode 100644 index 0000000..e7c4a17 --- /dev/null +++ b/apps/immer-yjs-react/eslint.config.js @@ -0,0 +1,25 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' + +export default tseslint.config( + { ignores: ['dist'] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ['**/*.{ts,tsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }], + }, + } +) diff --git a/apps/immer-yjs-react/index.html b/apps/immer-yjs-react/index.html new file mode 100644 index 0000000..ec34f76 --- /dev/null +++ b/apps/immer-yjs-react/index.html @@ -0,0 +1,12 @@ + + + + + + immer-yjs React Example + + +
+ + + diff --git a/apps/immer-yjs-react/package.json b/apps/immer-yjs-react/package.json new file mode 100644 index 0000000..2280ef3 --- /dev/null +++ b/apps/immer-yjs-react/package.json @@ -0,0 +1,36 @@ +{ + "name": "immer-yjs-react-example", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "preview": "vite preview", + "lint": "eslint .", + "check:types": "tsc -b --noEmit" + }, + "dependencies": { + "immer": "^11.1.18", + "immer-yjs": "workspace:*", + "pure-parse": "^1.0.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-scan": "^0.5.7", + "y-webrtc": "^10.3.0", + "yjs": "^13.6.23" + }, + "devDependencies": { + "@eslint/js": "^9.17.0", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.17.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.16", + "globals": "^15.14.0", + "typescript": "^5.9.3", + "typescript-eslint": "^8.70.0", + "vite": "^6.0.5" + } +} diff --git a/apps/immer-yjs-react/src/App.css b/apps/immer-yjs-react/src/App.css new file mode 100644 index 0000000..ceadfd1 --- /dev/null +++ b/apps/immer-yjs-react/src/App.css @@ -0,0 +1,142 @@ +#root { + max-width: 52rem; + margin: 0 auto; + padding: 2rem; + text-align: center; + + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.stack { + display: flex; + flex-direction: column; + align-items: center; + justify-content: stretch; + gap: 10px; +} + +/* Let nested stacks span the text column, so the JSON view below can fill it. */ +.stack > .stack { + align-self: stretch; +} + +.stack > p { + align-self: stretch; + margin: 0; + text-align: left; +} + +.row { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + gap: 12px; +} + +.toggle { + display: flex; + align-items: center; + gap: 0.5ch; + cursor: pointer; + user-select: none; +} + +.count { + font-size: 1.25rem; + min-width: 3ch; + text-align: left; +} + +input[type='text'] { + min-width: 18rem; + padding: 0.5em 0.75em; + border: 1px solid rgba(127, 127, 127, 0.4); + border-radius: 8px; + background-color: transparent; + color: inherit; + font-family: inherit; + font-size: 1rem; +} + +.code-block { + box-sizing: border-box; + align-self: stretch; + margin: 0; + padding: 0.85rem 1.25rem; + border: 1px solid rgba(127, 127, 127, 0.4); + border-radius: 8px; + background-color: rgba(127, 127, 127, 0.12); + text-align: left; + font-size: 1rem; + overflow-x: auto; +} + +.caption { + align-self: flex-start; + opacity: 0.65; +} + +.json-view { + box-sizing: border-box; + width: 100%; + margin: 0; + padding: 1rem 1.25rem; + border: 1px solid rgba(127, 127, 127, 0.4); + border-radius: 8px; + background-color: rgba(127, 127, 127, 0.12); + text-align: left; + /* No longer a
, so the monospace font and significant whitespace
+       (spaces inside string values) have to be asked for explicitly. */
+    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
+    font-size: 1rem;
+    line-height: 1.6;
+    white-space: pre-wrap;
+    overflow-x: auto;
+}
+
+/* One indentation step per level of nesting, in place of JSON.stringify's spaces. */
+.json-indent {
+    padding-left: 2ch;
+}
+
+.json-punctuation {
+    opacity: 0.55;
+}
+
+.json-key {
+    color: #9cdcfe;
+}
+
+.json-string {
+    color: #ce9178;
+}
+
+.json-number {
+    color: #b5cea8;
+}
+
+.json-keyword {
+    color: #c586c0;
+}
+
+@media (prefers-color-scheme: light) {
+    .json-key {
+        color: #0451a5;
+    }
+
+    .json-string {
+        color: #a31515;
+    }
+
+    .json-number {
+        color: #098658;
+    }
+
+    .json-keyword {
+        color: #af00db;
+    }
+}
diff --git a/apps/immer-yjs-react/src/App.tsx b/apps/immer-yjs-react/src/App.tsx
new file mode 100644
index 0000000..3f0ab6d
--- /dev/null
+++ b/apps/immer-yjs-react/src/App.tsx
@@ -0,0 +1,60 @@
+import { useState } from 'react'
+import { useScan } from 'react-scan'
+import { DemoApp } from './DemoApp'
+import './App.css'
+
+export const App = () => {
+    const [highlightRerenders, setHighlightRerenders] = useState(false)
+
+    // Driving react-scan from state, rather than calling scan() once at startup,
+    // is what lets it default to off and be toggled at any time.
+    useScan({
+        enabled: highlightRerenders,
+        showToolbar: highlightRerenders,
+    })
+
+    return (
+        
+

immer-yjs Example

+

+ A simple example with immer-yjs and Y.js libraries working together with + React. +

+

+ The counter and text field below live in a Y.js document that is shared between peers with the + y-webrtc provider.{' '} + + Open this page in a new window + {' '} + to show how both copies converge. +

+ + +

How it works

+

+ immer-yjs translates mutations into CRDT operations, and translates incoming remote + operations back into immutable snapshots that components subscribe to. +

+

Here is how to update the document in code:

+
+                {'binder.update((state) => state.count++)'}
+            
+

+ Where state is an Immer document +

+

+ Because each snapshot is immutable, a memo-wrapped component only re-renders when the value + it selected actually changed. Switch on react-scan{' '} + and type in the text field: it outlines the field and the one JSON row that changed, and leaves the + counter alone. +

+
+ ) +} diff --git a/apps/immer-yjs-react/src/AppState.ts b/apps/immer-yjs-react/src/AppState.ts new file mode 100644 index 0000000..81f883d --- /dev/null +++ b/apps/immer-yjs-react/src/AppState.ts @@ -0,0 +1,11 @@ +import { isNumber, isString, objectGuard } from 'pure-parse' + +export type AppState = { + count: number + text: string +} + +export const isAppState = objectGuard({ + count: isNumber, + text: isString, +}) diff --git a/apps/immer-yjs-react/src/DemoApp.tsx b/apps/immer-yjs-react/src/DemoApp.tsx new file mode 100644 index 0000000..bd46c28 --- /dev/null +++ b/apps/immer-yjs-react/src/DemoApp.tsx @@ -0,0 +1,165 @@ +import { FunctionComponent, memo } from 'react' +import { WebrtcProvider } from 'y-webrtc' +import { isBoolean, objectGuard } from 'pure-parse' +import { AppState, isAppState } from './AppState' +import { DocumentState, ImmerYjsProvider, useBinder, useImmerYjs, useSelection } from './immer-yjs-react' +import { JsonView } from './JsonView' + +/** + * Synchronizes an {@link AppState} document between every peer that joins the + * same WebRTC room. + */ + +const roomName = 'immer-yjs-react-example' + +type WebrtcProviderStatus = { + connected: boolean +} + +const isWebrtcProviderStatus = objectGuard({ + connected: isBoolean, +}) + +const createInitialState = (): AppState => ({ + count: 0, + text: '', +}) + +const selectIsLoaded = (state: DocumentState) => state.tag === 'loaded' + +/** + * A `Y.Doc` carries no schema and this one is shared with untrusted peers, so a + * synced document may hold anything. Narrow it before reading any field. + * + * This validates with a type guard rather than a parser on purpose: selector + * results are compared with `Object.is` by `useSyncExternalStore`, and a parser + * allocates a fresh result object on every call, which would re-render forever. + * A guard returns the same reference, narrowed. + */ +const selectAppState = (state: DocumentState): AppState | undefined => + state.tag === 'loaded' && isAppState(state.data) ? state.data : undefined + +const selectIsInitialized = (state: DocumentState) => selectAppState(state) !== undefined +const selectCount = (state: DocumentState) => selectAppState(state)?.count ?? 0 +const selectText = (state: DocumentState) => selectAppState(state)?.text ?? '' + +/** Deliberately unvalidated: the JSON pane shows whatever actually arrived. */ +const selectRawDocument = (state: DocumentState) => (state.tag === 'loaded' ? state.data : undefined) + +export const DemoApp = () => { + const binderState = useImmerYjs((doc, onSync) => { + const webrtcProvider = new WebrtcProvider(roomName, doc) + + webrtcProvider.on('status', (status) => { + if (isWebrtcProviderStatus(status) && status.connected) { + onSync() + } + }) + + return () => { + webrtcProvider.destroy() + } + }, []) + + return ( + + + + ) +} + +const DocumentView: FunctionComponent = () => { + const isLoaded = useSelection(selectIsLoaded) + const isInitialized = useSelection(selectIsInitialized) + + if (!isLoaded) { + return

Connecting to peers…

+ } + + return ( +
+ {isInitialized ? : } + +
+ ) +} + +const UninitializedView: FunctionComponent = memo(function UninitializedView() { + const binder = useBinder() + + // Returning a value from the recipe replaces the document wholesale. + const initialize = () => binder?.update(() => createInitialState()) + + return +}) + +const InitializedView: FunctionComponent = memo(function InitializedView() { + return ( +
+ + + +
+ ) +}) + +const ResetView: FunctionComponent = memo(function ResetView() { + const binder = useBinder() + + const reset = () => binder?.update(() => createInitialState()) + + return +}) + +const CounterView: FunctionComponent = memo(function CounterView() { + const binder = useBinder() + const count = useSelection(selectCount) + + const increment = () => + binder?.update((state) => { + if (!isAppState(state)) { + // If—for whatever reason—the state does not conform to the expected schema, we cannot update + return + } + state.count++ + }) + + return ( +
+ +
+ ) +}) + +const TextView: FunctionComponent = memo(function TextView() { + const binder = useBinder() + const text = useSelection(selectText) + + const updateText = (text: string) => + binder?.update((state) => { + if (!isAppState(state)) { + // If—for whatever reason—the state does not conform to the expected schema, we cannot update + return + } + state.text = text + }) + + return ( + updateText(e.target.value)} /> + ) +}) + +const JsonState: FunctionComponent = () => { + const document = useSelection(selectRawDocument) + + if (document === undefined) { + return null + } + + return ( +
+ State: + +
+ ) +} diff --git a/apps/immer-yjs-react/src/JsonView.tsx b/apps/immer-yjs-react/src/JsonView.tsx new file mode 100644 index 0000000..8a29eef --- /dev/null +++ b/apps/immer-yjs-react/src/JsonView.tsx @@ -0,0 +1,120 @@ +import { FunctionComponent, memo } from 'react' +import { JsonValue } from 'pure-parse' + +/** + * Renders a JSON value as an indented tree in which every node is memoized. + * + * immer-yjs snapshots are immutable and structurally shared: an update rebuilds + * only the path from the root down to the value that changed, so every untouched + * subtree keeps its reference and `memo` skips re-rendering it. Stringifying the + * whole document would instead rebuild every line on every keystroke. + * + * Each component below is a *named* function expression rather than an arrow, so + * that react-scan labels the nodes it highlights with their real names. + */ +export const JsonView: FunctionComponent<{ + value: JsonValue +}> = memo(function JsonView(props) { + return ( +
+ +
+ ) +}) + +const JsonNode: FunctionComponent<{ + value: JsonValue +}> = memo(function JsonNode(props) { + const { value } = props + + if (value === null || typeof value !== 'object') { + return + } + + return Array.isArray(value) ? : +}) + +const JsonObjectNode: FunctionComponent<{ + value: { [key: string]: JsonValue } +}> = memo(function JsonObjectNode(props) { + const entries = Object.entries(props.value) + + // Not required, but nicer formatting + if (entries.length === 0) { + return {'{}'} + } + + return ( + <> + {'{'} +
+ {entries.map(([name, value], index) => ( + + ))} +
+ {'}'} + + ) +}) + +const JsonProperty: FunctionComponent<{ + name: string + value: JsonValue + isLast: boolean +}> = memo(function JsonProperty(props) { + return ( +
+ "{props.name}" + : + + {!props.isLast && ,} +
+ ) +}) + +const JsonArrayNode: FunctionComponent<{ + value: JsonValue[] +}> = memo(function JsonArrayNode(props) { + const { value } = props + + if (value.length === 0) { + return [] + } + + return ( + <> + [ +
+ {value.map((item, index) => ( + // A JSON array carries no stable identity, so the index is the only key available + + ))} +
+ ] + + ) +}) + +const JsonItem: FunctionComponent<{ + value: JsonValue + isLast: boolean +}> = memo(function JsonItem(props) { + return ( +
+ + {!props.isLast && ,} +
+ ) +}) + +const JsonPrimitive: FunctionComponent<{ + value: null | boolean | number | string +}> = memo(function JsonPrimitive(props) { + const { value } = props + + if (typeof value === 'string') { + return "{value}" + } + + return {String(value)} +}) diff --git a/apps/immer-yjs-react/src/immer-yjs-react.ts b/apps/immer-yjs-react/src/immer-yjs-react.ts new file mode 100644 index 0000000..d6f7e4f --- /dev/null +++ b/apps/immer-yjs-react/src/immer-yjs-react.ts @@ -0,0 +1,127 @@ +import { createContext, useCallback, useContext, useEffect, useState, useSyncExternalStore } from 'react' +import { Binder, Snapshot, bind } from 'immer-yjs' +import * as Y from 'yjs' + +/** + * The state of a document that synchronizes over a network provider: the data + * is not available until the provider has synced with a peer at least once. + */ +export type DocumentState = + | { + tag: 'loaded' + data: Data + } + | { + tag: 'loading' + } + | { + tag: 'error' + } + | { + tag: 'contextMissing' + } + +/** + * Same as {@link DocumentState}, but carries the binder that writes to the document. + */ +export type BinderState = + | { + tag: 'loaded' + binder: Binder + } + | { + tag: 'loading' + } + | { + tag: 'error' + } + | { + tag: 'contextMissing' + } + +const BinderContext = createContext({ + tag: 'contextMissing', +}) + +export const ImmerYjsProvider = BinderContext.Provider + +/** + * Subscribe to a projection of the document state. + * + * The selector must be referentially stable—declare it at module level—and it + * must not allocate a new object on every call: `useSyncExternalStore` compares + * results with `Object.is`, so returning a fresh object each time re-renders + * forever. Project out primitives, or return the `data` reference as-is. + */ +export const useSelection = (selector: (state: DocumentState) => Selection): Selection => { + const binderState = useContext(BinderContext) + + const subscribe = useCallback( + (onStoreChange: () => void) => + binderState.tag === 'loaded' ? binderState.binder.subscribe(onStoreChange) : () => undefined, + [binderState] + ) + + const getSnapshot = useCallback(() => { + switch (binderState.tag) { + case 'loading': + return selector({ tag: 'loading' }) + case 'error': + return selector({ tag: 'error' }) + case 'contextMissing': + return selector({ tag: 'contextMissing' }) + case 'loaded': + return selector({ tag: 'loaded', data: binderState.binder.get() }) + } + }, [binderState, selector]) + + return useSyncExternalStore(subscribe, getSnapshot) +} + +/** + * The binder that writes to the document, or `undefined` while the document is + * unavailable. + */ +export const useBinder = (): Binder | undefined => { + const binderState = useContext(BinderContext) + return binderState.tag === 'loaded' ? binderState.binder : undefined +} + +/** + * Create a `Y.Doc`, let `connect` attach a network provider to it, and bind the + * document once that provider reports it has synced. Pass the result to + * {@link ImmerYjsProvider}. + * + * `connect` returns a teardown function, and is re-run whenever `dependencies` + * change. + */ +export const useImmerYjs = ( + connect: (doc: Y.Doc, onSync: () => void) => () => void, + dependencies: unknown[] +): BinderState => { + const [binderState, setBinderState] = useState({ + tag: 'loading', + }) + + useEffect(() => { + const doc = new Y.Doc() + const binder = bind(doc.getMap('state')) + + const disconnect = connect(doc, () => + setBinderState({ + tag: 'loaded', + binder, + }) + ) + + return () => { + disconnect() + binder.unbind() + doc.destroy() + setBinderState({ tag: 'loading' }) + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, dependencies) + + return binderState +} diff --git a/apps/immer-yjs-react/src/index.css b/apps/immer-yjs-react/src/index.css new file mode 100644 index 0000000..279fff5 --- /dev/null +++ b/apps/immer-yjs-react/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/apps/immer-yjs-react/src/main.tsx b/apps/immer-yjs-react/src/main.tsx new file mode 100644 index 0000000..07376af --- /dev/null +++ b/apps/immer-yjs-react/src/main.tsx @@ -0,0 +1,14 @@ +// Imported for its side effect and kept first: react-scan installs the React +// DevTools hook on load, which only instruments React if it runs before it. +// The scan itself is switched on and off by the useScan hook in App. +import 'react-scan' +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import { App } from './App' + +createRoot(document.getElementById('root')!).render( + + + +) diff --git a/apps/immer-yjs-react/src/vite-env.d.ts b/apps/immer-yjs-react/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/apps/immer-yjs-react/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/apps/immer-yjs-react/tsconfig.app.json b/apps/immer-yjs-react/tsconfig.app.json new file mode 100644 index 0000000..ed9a9f2 --- /dev/null +++ b/apps/immer-yjs-react/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "include": ["src"], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "isolatedModules": true, + "moduleDetection": "force", + "jsx": "react-jsx", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + } +} diff --git a/apps/immer-yjs-react/tsconfig.json b/apps/immer-yjs-react/tsconfig.json new file mode 100644 index 0000000..41ccf0f --- /dev/null +++ b/apps/immer-yjs-react/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ] +} diff --git a/apps/immer-yjs-react/tsconfig.node.json b/apps/immer-yjs-react/tsconfig.node.json new file mode 100644 index 0000000..1c16b3c --- /dev/null +++ b/apps/immer-yjs-react/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "include": ["vite.config.ts"], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + } +} diff --git a/apps/immer-yjs-react/vite.config.ts b/apps/immer-yjs-react/vite.config.ts new file mode 100644 index 0000000..e6f0a27 --- /dev/null +++ b/apps/immer-yjs-react/vite.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], + build: { + // This example bundles react-scan to visualize re-renders, which alone + // exceeds the default 500 kB warning threshold. + chunkSizeWarningLimit: 800, + }, +}) diff --git a/package.json b/package.json index 93a2eb8..7abd0fb 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "private": true, "license": "MIT", "workspaces": [ - "packages/*" + "packages/*", + "apps/*" ], "scripts": { "build": "yarn workspace immer-yjs build", diff --git a/readme.md b/readme.md index 0db1ace..6b862ae 100644 --- a/readme.md +++ b/readme.md @@ -140,3 +140,7 @@ Data will sync between multiple browser tabs automatically. # Similar projects [valtio-yjs](https://github.com/dai-shi/valtio-yjs) + +# Example App + +https://github.com/sep2/immer-yjs/tree/main/apps/immer-yjs-react diff --git a/yarn.lock b/yarn.lock index 7f5aadc..70f7989 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 10 cacheKey: 10 +"@astrojs/compiler@npm:^4.0.0": + version: 4.0.0 + resolution: "@astrojs/compiler@npm:4.0.0" + checksum: 10/7c9351253b71ad253cf6f3ed91ec8e657dd622a6904acedf5f1a358675a413be5a0e957b18fbabd5d3b3817086c0f17d711a084680ad2dcb7f4696bf0cb5066f + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0": version: 7.16.7 resolution: "@babel/code-frame@npm:7.16.7" @@ -14,6 +21,117 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.29.7" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10/84da552e51a55795a50b3589116edb2f9e368a647d266380683775f18effd9acd4521b0246bebd0b049a7f32af1f87b1e8475d3bcb665f876bd04ade8da99697 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/compat-data@npm:7.29.7" + checksum: 10/ad2272714087f68970977f6e2b53597a8503fc9c3028c4a91686474bd77a707dd00903cdde4b73788972016d1bad4dc3fa4e5ff38e1ed8f1c3bde1095352973a + languageName: node + linkType: hard + +"@babel/core@npm:^7.24.4, @babel/core@npm:^7.28.0, @babel/core@npm:^7.29.0": + version: 7.29.7 + resolution: "@babel/core@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.7" + "@babel/helper-compilation-targets": "npm:^7.29.7" + "@babel/helper-module-transforms": "npm:^7.29.7" + "@babel/helpers": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/template": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10/38e71cf81db790b0bb2a3a0c8140c2b1c87576b61dc6be676de4fab8c3be871af590a739e8c489fe8e8f9a8e5899fa11e35e59e9e09d40b259c6a675f2f98928 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.29.7, @babel/generator@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/generator@npm:7.29.8" + dependencies: + "@babel/parser": "npm:^7.29.8" + "@babel/types": "npm:^7.29.8" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10/679c3d1302936f391260acee4059e0c3cd5bff6341772f0b85bb142feab1a253d0e155aad0e9c8531e024d6239a2cc5169d1e294c6890901e7d4ab0f7c9eaaaa + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-compilation-targets@npm:7.29.7" + dependencies: + "@babel/compat-data": "npm:^7.29.7" + "@babel/helper-validator-option": "npm:^7.29.7" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10/af9ed4299ad5cfbe48432a964f37cbbfc200bbeb0f8ba9cbc86448503fa929382d5161d32096274752230c9feb919c9ef595559498833da656fc6a8e24a62383 + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-globals@npm:7.29.7" + checksum: 10/e53203e87ae24a45f59639edea0c429bc3c63c6d74f1862fe60a35032d89478e7511d2f34855da0fcb65782668d72e59e93d1de5bc00121ba9bc1aa38f1f0ad3 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-imports@npm:7.29.7" + dependencies: + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/28ec6f7efd99588d6eebfb25c9f1ccc34cb0cdb0839c4c0f08b3ec0105ccaefbe7e8b4f651f3f55a4f5c4fcb1d979bd32a9b8ee23e3e62163ea22aaa7ee0dfa1 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-transforms@npm:7.29.7" + dependencies: + "@babel/helper-module-imports": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/33251b1fb44d726194a974a0078b1269511d130a2609357ff829b479e9e4dca96ecd5384c534a477095f665ffb01503d3e680699c2002e5b62e6ca1a272f1892 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-plugin-utils@npm:7.29.7" + checksum: 10/6d16929fe5c792bbc8e4d67e18d7c1be69d2f18992deaa3d94dc26541fec662e83cbeeaf7553c6867d068eb7aed4e0d5e3e137c1dd4d5bcfa286f8d772f1f457 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 10/4d8ef0ef7105f3d9fe4361137c8f42e5b4c7a52b5380b962762f2a528a1ba89064e2c6236090716ce34b63707b886ae0ebf36b2c2fcc2851f27e652febfc3648 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-validator-identifier@npm:7.16.7" @@ -21,6 +139,30 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: 10/2efa42701eb05babf26dff3332109c9e5e1a3400a71fb9e68ee27af28235036a2a72c2494c04bdab3f909075f42a58b2e8271074372bc7f8e79ec02bd364d7a7 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-option@npm:7.29.7" + checksum: 10/aeb6aa966f59300d3cc2fea7c68e1dfd7ad011fc10e535c8e2b2de3094b27c859428dc7220f16420350f8b1cde99da120b673be04bcb0c2f37b56258c96bed58 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helpers@npm:7.29.7" + dependencies: + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/b4d1ef12c19e896585c009ba29677839097ff04f8b11a2430d335c3fb6bd667b4f9e96a3b185a083fdde6b1137eabbbf2600c32425cb69cefc81d81d5cfe425d + languageName: node + linkType: hard + "@babel/highlight@npm:^7.16.7": version: 7.16.10 resolution: "@babel/highlight@npm:7.16.10" @@ -32,6 +174,75 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/parser@npm:7.29.8" + dependencies: + "@babel/types": "npm:^7.29.8" + bin: + parser: ./bin/babel-parser.js + checksum: 10/dbd14ebbba0fa3019acd2712b0db3ffd594d0850d4fc487667287b5702893f54a7911570ea842f0cff4dc492a2412e3287dfabfe00c6b78efa7becb1255f3f86 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.27.1": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/779cde890f36a0160585a357f0850951d9e18d72e960099e32544420252e983b54bfe4a7c81c39b1668ad588231771c97e6b9e59056b21e5cda0953f26db1286 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.27.1": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10/286641d64bfd1d91eb8fcc3a6a5c48cc7b8e04268c79f3ee9902addc723652a4aa1d967278208d3b0ef03db381853d68eb25ae609e5a305421ff3d3fd5f3cb77 + languageName: node + linkType: hard + +"@babel/template@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/template@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10/da92f7a5b61e05d2fb3934a44f18cec6006ee3c595116c17a3b44cb9756ecd43205c7360dbfa326fa8f4d00aaeb9e777342a881070d11c2305e9c694bc3ca6ff + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.29.7": + version: 7.29.8 + resolution: "@babel/traverse@npm:7.29.8" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.8" + "@babel/helper-globals": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.8" + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.8" + debug: "npm:^4.3.1" + checksum: 10/91f0b4799d27b50ffd5c2ab4ba537065221196858e0899275d8474489c57dd0b53150508b2c0d9b308520e5985bde63049a401d32aa1ac4f1e10e466e2a3f447 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/types@npm:7.29.8" + dependencies: + "@babel/helper-string-parser": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + checksum: 10/ff2becf0f8b432f0820f286fb9319d7f3819b2d0eb95bc26957fbc6250a3ca0ae3656feb98ecb5f171f9e04b34a4c08f5036447f17459ed7bfc32ff649d9b71e + languageName: node + linkType: hard + "@cacheable/memory@npm:^2.2.0": version: 2.2.0 resolution: "@cacheable/memory@npm:2.2.0" @@ -54,6 +265,216 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:1.11.2": + version: 1.11.2 + resolution: "@emnapi/core@npm:1.11.2" + dependencies: + "@emnapi/wasi-threads": "npm:1.2.2" + tslib: "npm:^2.4.0" + checksum: 10/b3e9693f79ca1d8bb90cb8a950150c7738f54eca0ae1849d3d5103a87ce4e388c2669fb253cc123d3449ad2ae12583435455dbdc0270b1e9efb0cfd502c952b4 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:1.11.2": + version: 1.11.2 + resolution: "@emnapi/runtime@npm:1.11.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/280a219d3bf302615dabaaa248223b0e5fe9c49bacf0987dd958ca37ab425b62cf05287053cb188e711681418aaa5e447eaed6b62a0848c0a1303b2707864600 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.2.2": + version: 1.2.2 + resolution: "@emnapi/wasi-threads@npm:1.2.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/297fb6b1d89744bd0b41d5fec32bade05dc8dcf1f70eba86527226609fb3f6ad3fa96b3b2377b7449709715b3bd1569654c9def1dbbc85fb6b9cb0cff5bc5ebf + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-x64@npm:0.25.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.10.1 resolution: "@eslint-community/eslint-utils@npm:4.10.1" @@ -65,13 +486,24 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.12.2": +"@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 10/049b280fddf71dd325514e0a520024969431dc3a8b02fa77476e6820e9122f28ab4c9168c11821f91a27982d2453bcd7a66193356ea84e84fb7c8d793be1ba0c languageName: node linkType: hard +"@eslint/config-array@npm:^0.21.2": + version: 0.21.2 + resolution: "@eslint/config-array@npm:0.21.2" + dependencies: + "@eslint/object-schema": "npm:^2.1.7" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.5" + checksum: 10/148477ba995cf57fc725601916d5a7914aa249112d8bec2c3ac9122e2b2f540e6ef013ff4f6785346a4b565f09b20db127fa6f7322f5ffbdb3f1f8d2078a531c + languageName: node + linkType: hard + "@eslint/config-array@npm:^0.23.5": version: 0.23.5 resolution: "@eslint/config-array@npm:0.23.5" @@ -83,6 +515,15 @@ __metadata: languageName: node linkType: hard +"@eslint/config-helpers@npm:^0.4.2": + version: 0.4.2 + resolution: "@eslint/config-helpers@npm:0.4.2" + dependencies: + "@eslint/core": "npm:^0.17.0" + checksum: 10/3f2b4712d8e391c36ec98bc200f7dea423dfe518e42956569666831b89ede83b33120c761dfd3ab6347d8e8894a6d4af47254a18d464a71c6046fd88065f6daf + languageName: node + linkType: hard + "@eslint/config-helpers@npm:^0.7.0": version: 0.7.0 resolution: "@eslint/config-helpers@npm:0.7.0" @@ -92,6 +533,15 @@ __metadata: languageName: node linkType: hard +"@eslint/core@npm:^0.17.0": + version: 0.17.0 + resolution: "@eslint/core@npm:0.17.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10/f9a428cc651ec15fb60d7d60c2a7bacad4666e12508320eafa98258e976fafaa77d7be7be91519e75f801f15f830105420b14a458d4aab121a2b0a59bc43517b + languageName: node + linkType: hard + "@eslint/core@npm:^1.2.1": version: 1.2.1 resolution: "@eslint/core@npm:1.2.1" @@ -101,6 +551,30 @@ __metadata: languageName: node linkType: hard +"@eslint/eslintrc@npm:^3.3.6": + version: 3.3.7 + resolution: "@eslint/eslintrc@npm:3.3.7" + dependencies: + ajv: "npm:^6.14.0" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.3.2" + minimatch: "npm:^3.1.5" + strip-json-comments: "npm:^3.1.1" + checksum: 10/8d778a0f3d1dd3cde8333a5943086bc3497d1adfe804600827dfd76369b83543a9b8884850556be2dd2e5f11838a8c83a32beda43a79aa42f149c75a39de1dbe + languageName: node + linkType: hard + +"@eslint/js@npm:9.39.5, @eslint/js@npm:^9.17.0": + version: 9.39.5 + resolution: "@eslint/js@npm:9.39.5" + checksum: 10/042d522f28da10ab205f368a94b620334418eb13a5226e50f7edd03dbe26809eb477d0b7a4dc3968b43a98f6ce594f6c03731214c3e0386fd5bcb74fdb9df64c + languageName: node + linkType: hard + "@eslint/js@npm:^10.0.1": version: 10.0.1 resolution: "@eslint/js@npm:10.0.1" @@ -113,6 +587,13 @@ __metadata: languageName: node linkType: hard +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: 10/946ef5d6235b4d1c0907c6c6e6429c8895f535380c562b7705c131f63f2e961b06e8785043c86a293da48e0a60c6286d98ba395b8b32ea55561fe6e4417cb7e4 + languageName: node + linkType: hard + "@eslint/object-schema@npm:^3.0.5": version: 3.0.5 resolution: "@eslint/object-schema@npm:3.0.5" @@ -120,6 +601,16 @@ __metadata: languageName: node linkType: hard +"@eslint/plugin-kit@npm:^0.4.1": + version: 0.4.1 + resolution: "@eslint/plugin-kit@npm:0.4.1" + dependencies: + "@eslint/core": "npm:^0.17.0" + levn: "npm:^0.4.1" + checksum: 10/c5947d0ffeddca77d996ac1b886a66060c1a15ed1d5e425d0c7e7d7044a4bd3813fc968892d03950a7831c9b89368a2f7b281e45dd3c74a048962b74bf3a1cb4 + languageName: node + linkType: hard + "@eslint/plugin-kit@npm:^0.7.3": version: 0.7.3 resolution: "@eslint/plugin-kit@npm:0.7.3" @@ -185,7 +676,14 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": +"@iarna/toml@npm:^2.2.5": + version: 2.2.5 + resolution: "@iarna/toml@npm:2.2.5" + checksum: 10/b61426dc1a3297bbcb24cb8e9c638663866b4bb6f28f2c377b167e4b1f8956d8d208c484b73bb59f4232249903545cc073364c43576d2d5ad66afbd730ad24a9 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: @@ -205,73 +703,624 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5, @jridgewell/sourcemap-codec@npm:^1.6.0": + version: 1.6.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.6.0" + checksum: 10/eb53fbf7eb4051302a599d6b91425f381168b2856f321336fb00852cea1e0c1904af2610c157b1535e94a61caa98f0bd068d1d0394dd46adf9e9c45c4e11af91 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.31, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10/da0283270e691bdb5543806077548532791608e52386cfbbf3b9e8fb00457859d1bd01d512851161c886eb3a2f3ce6fd9bcf25db8edf3bddedd275bd4a88d606 + languageName: node + linkType: hard + +"@keyv/bigmap@npm:^1.3.1": + version: 1.3.1 + resolution: "@keyv/bigmap@npm:1.3.1" + dependencies: + hashery: "npm:^1.4.0" + hookified: "npm:^1.15.0" + peerDependencies: + keyv: ^5.6.0 + checksum: 10/9745786a94729117460b5399a964ec151e94a89db0e5ed573419c4c620f0595f05d7ad87d596bb7e212a4f3ad2335271694fddcfaa8400013f7b64e11669a884 + languageName: node + linkType: hard + +"@keyv/serialize@npm:^1.1.1": + version: 1.1.1 + resolution: "@keyv/serialize@npm:1.1.1" + checksum: 10/e3b2cb1377863342acedd5ff785af3e69269bee9b44707c617d1c8bc14eeb5ac763159d6455903ffe92f143c2238e1e783c4f113f9c8910eacccf172894472da + languageName: node + linkType: hard + +"@napi-rs/lzma-linux-x64-gnu@npm:1.5.1": + version: 1.5.1 + resolution: "@napi-rs/lzma-linux-x64-gnu@npm:1.5.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^1.1.6": + version: 1.2.3 + resolution: "@napi-rs/wasm-runtime@npm:1.2.3" + dependencies: + "@tybys/wasm-util": "npm:^0.10.3" + peerDependencies: + "@emnapi/core": ^1.7.1 || ^2.0.0-alpha.4 + "@emnapi/runtime": ^1.7.1 || ^2.0.0-alpha.4 + checksum: 10/86f7f092309eb005ff9e456c12a9f81ae06ff823602740a8c9c54b2dfc17620d9b4d88c4cd179541c794aed521ac57c7e37457a00e87a624867d78f6bbce0d7c + languageName: node + linkType: hard + +"@npmcli/fs@npm:^1.0.0": + version: 1.1.1 + resolution: "@npmcli/fs@npm:1.1.1" + dependencies: + "@gar/promisify": "npm:^1.0.1" + semver: "npm:^7.3.5" + checksum: 10/8b5e6d75759b9f1a8b7885913df274c8cbbb1221176872615f2aecedf47b2c36e5dfbf4046ff1a905c9f3592fbd32051b3050b8a897bf03514a1a404b39af074 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^1.0.1": + version: 1.1.2 + resolution: "@npmcli/move-file@npm:1.1.2" + dependencies: + mkdirp: "npm:^1.0.4" + rimraf: "npm:^3.0.2" + checksum: 10/c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + languageName: node + linkType: hard + +"@opentelemetry/api-logs@npm:0.220.0": + version: 0.220.0 + resolution: "@opentelemetry/api-logs@npm:0.220.0" + dependencies: + "@opentelemetry/api": "npm:^1.3.0" + checksum: 10/6cc0b409db461b393f75e04fd1f661c7da584ded480af18cafcd0a2adb8c30b77a417f9ab40279340300e4ea9636d1b48cbc7f6dd2b0d5cdde51e7389c8750e6 + languageName: node + linkType: hard + +"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.9.1": + version: 1.9.1 + resolution: "@opentelemetry/api@npm:1.9.1" + checksum: 10/b26032739d3c54ca99b5a2920844a1fbd4c3ee383cacbb0915e8c706a2626fe91e96feaa6e893397abe0545dc8d0a765b220aa18a31b1773176eeaf3a225e10e + languageName: node + linkType: hard + +"@opentelemetry/core@npm:2.11.0": + version: 2.11.0 + resolution: "@opentelemetry/core@npm:2.11.0" + dependencies: + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: 10/934e4c1b9628643365f0a1225734dd2e264e22960eb8b5e484627ffadb94fe4af6e573b4cd568174209c0c9b2a73217af9dfb2b03a97974ea77ab2563d5bb071 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation@npm:^0.220.0": + version: 0.220.0 + resolution: "@opentelemetry/instrumentation@npm:0.220.0" + dependencies: + "@opentelemetry/api-logs": "npm:0.220.0" + import-in-the-middle: "npm:^3.0.0" + require-in-the-middle: "npm:^8.0.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10/c84e33937ed71ffa912dbbf8848e1794d85bd1add1618f9c3eaf17b3d01d03c71ffc8c2757734d8a943143efe4e52f1f63fadc4e19ec15ee04f17c1cbc2823fe + languageName: node + linkType: hard + +"@opentelemetry/resources@npm:2.11.0": + version: 2.11.0 + resolution: "@opentelemetry/resources@npm:2.11.0" + dependencies: + "@opentelemetry/core": "npm:2.11.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10/af0e0bb42e5f6538065ea94f4884cf79918237452064409b1ad6ab48b8853e1d9479a4ec30128c17de03afa2c293e64a828b6040accfaec010ad4f87bcb859ef + languageName: node + linkType: hard + +"@opentelemetry/sdk-trace-base@npm:^2.9.0": + version: 2.11.0 + resolution: "@opentelemetry/sdk-trace-base@npm:2.11.0" + dependencies: + "@opentelemetry/core": "npm:2.11.0" + "@opentelemetry/resources": "npm:2.11.0" + "@opentelemetry/sdk-trace": "npm:2.11.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10/7c8e66bd55a819f79db415323aa29881e40801e8d6133d948a18181b214281ad144f4947240db36e497f16789e43df5faec8ba21c25499450b2a7f74f205dd7b + languageName: node + linkType: hard + +"@opentelemetry/sdk-trace@npm:2.11.0": + version: 2.11.0 + resolution: "@opentelemetry/sdk-trace@npm:2.11.0" + dependencies: + "@opentelemetry/core": "npm:2.11.0" + "@opentelemetry/resources": "npm:2.11.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10/99981c6d4c63a7caa421cb7711bd49326aff3b296b128190d6b2f4e310c72608e22896382dd5aa27651af8491ee5a3cdfc9ef31d147f6ef34b43b4dfd600322f + languageName: node + linkType: hard + +"@opentelemetry/semantic-conventions@npm:^1.29.0": + version: 1.43.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.43.0" + checksum: 10/44c0e667cbfbecd98911cd6a90dc5f873de262da82d6684f467a87d529098b04fb2b9705bbd3524ecdedf13c62914d9ccf0ddcc4104dbba5062faf68f361aef4 + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm-eabi@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.146.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-android-arm64@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-android-arm64@npm:0.146.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-arm64@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.146.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-darwin-x64@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.146.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-freebsd-x64@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.146.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.146.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm-musleabihf@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.146.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-gnu@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.146.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-arm64-musl@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.146.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-ppc64-gnu@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.146.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.146.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-riscv64-musl@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.146.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-s390x-gnu@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.146.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-gnu@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.146.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-parser/binding-linux-x64-musl@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.146.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-parser/binding-openharmony-arm64@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.146.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-arm64-msvc@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.146.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-ia32-msvc@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.146.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-parser/binding-win32-x64-msvc@npm:0.146.0": + version: 0.146.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.146.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxc-project/types@npm:=0.149.0": + version: 0.149.0 + resolution: "@oxc-project/types@npm:0.149.0" + checksum: 10/6bd7b656ecdbfa96eea3ca0d79264ad367f941eaec1c47883b7c763a300ac81750de23862089b959b0c9a865abd171145d639368294a9daab0d47df07b1f8c6e + languageName: node + linkType: hard + +"@oxc-project/types@npm:^0.146.0": + version: 0.146.0 + resolution: "@oxc-project/types@npm:0.146.0" + checksum: 10/3a2289ad2efb1240b0a5b5c9108dfb21bb302fece8ab61e05128b98ec8f7b7394a0d5a1e647b23d344b751fabf8956dd0048e7b8555a545ddfaf27e662e72812 + languageName: node + linkType: hard + +"@oxc-resolver/binding-android-arm-eabi@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.24.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-android-arm64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-android-arm64@npm:11.24.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-arm64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.24.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-x64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-darwin-x64@npm:11.24.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-freebsd-x64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.24.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.24.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.24.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.24.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-musl@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.24.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.24.2" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.24.2" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-musl@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.24.2" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-s390x-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.24.2" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-gnu@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.24.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-musl@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.24.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-openharmony-arm64@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-openharmony-arm64@npm:11.24.2" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-wasm32-wasi@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.24.2" + dependencies: + "@emnapi/core": "npm:1.11.2" + "@emnapi/runtime": "npm:1.11.2" + "@napi-rs/wasm-runtime": "npm:^1.1.6" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-arm64-msvc@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.24.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-x64-msvc@npm:11.24.2": + version: 11.24.2 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.24.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-android-arm-eabi@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-android-arm-eabi@npm:1.79.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-android-arm64@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-android-arm64@npm:1.79.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-darwin-arm64@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-darwin-arm64@npm:1.79.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-darwin-x64@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-darwin-x64@npm:1.79.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-freebsd-x64@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-freebsd-x64@npm:1.79.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm-gnueabihf@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-arm-gnueabihf@npm:1.79.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm-musleabihf@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-arm-musleabihf@npm:1.79.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm64-gnu@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-arm64-gnu@npm:1.79.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm64-musl@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-arm64-musl@npm:1.79.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-linux-ppc64-gnu@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-ppc64-gnu@npm:1.79.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-gnu@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-riscv64-gnu@npm:1.79.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-musl@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-riscv64-musl@npm:1.79.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-linux-s390x-gnu@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-s390x-gnu@npm:1.79.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-x64-gnu@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-x64-gnu@npm:1.79.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-x64-musl@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-linux-x64-musl@npm:1.79.0" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5, @jridgewell/sourcemap-codec@npm:^1.6.0": - version: 1.6.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.6.0" - checksum: 10/eb53fbf7eb4051302a599d6b91425f381168b2856f321336fb00852cea1e0c1904af2610c157b1535e94a61caa98f0bd068d1d0394dd46adf9e9c45c4e11af91 +"@oxlint/binding-openharmony-arm64@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-openharmony-arm64@npm:1.79.0" + conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.31, @jridgewell/trace-mapping@npm:^0.3.24": - version: 0.3.31 - resolution: "@jridgewell/trace-mapping@npm:0.3.31" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/da0283270e691bdb5543806077548532791608e52386cfbbf3b9e8fb00457859d1bd01d512851161c886eb3a2f3ce6fd9bcf25db8edf3bddedd275bd4a88d606 +"@oxlint/binding-win32-arm64-msvc@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-win32-arm64-msvc@npm:1.79.0" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@keyv/bigmap@npm:^1.3.1": - version: 1.3.1 - resolution: "@keyv/bigmap@npm:1.3.1" - dependencies: - hashery: "npm:^1.4.0" - hookified: "npm:^1.15.0" - peerDependencies: - keyv: ^5.6.0 - checksum: 10/9745786a94729117460b5399a964ec151e94a89db0e5ed573419c4c620f0595f05d7ad87d596bb7e212a4f3ad2335271694fddcfaa8400013f7b64e11669a884 +"@oxlint/binding-win32-ia32-msvc@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-win32-ia32-msvc@npm:1.79.0" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@keyv/serialize@npm:^1.1.1": - version: 1.1.1 - resolution: "@keyv/serialize@npm:1.1.1" - checksum: 10/e3b2cb1377863342acedd5ff785af3e69269bee9b44707c617d1c8bc14eeb5ac763159d6455903ffe92f143c2238e1e783c4f113f9c8910eacccf172894472da +"@oxlint/binding-win32-x64-msvc@npm:1.79.0": + version: 1.79.0 + resolution: "@oxlint/binding-win32-x64-msvc@npm:1.79.0" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@npmcli/fs@npm:^1.0.0": - version: 1.1.1 - resolution: "@npmcli/fs@npm:1.1.1" - dependencies: - "@gar/promisify": "npm:^1.0.1" - semver: "npm:^7.3.5" - checksum: 10/8b5e6d75759b9f1a8b7885913df274c8cbbb1221176872615f2aecedf47b2c36e5dfbf4046ff1a905c9f3592fbd32051b3050b8a897bf03514a1a404b39af074 +"@preact/signals-core@npm:^1.14.4": + version: 1.14.4 + resolution: "@preact/signals-core@npm:1.14.4" + checksum: 10/11b948fd5c1420100bacbf384cd27fd3e55db093075b370f15b3029ce29921b2f7bd60b31ed19a8a6dbbba6ce2fa27ec2f2de5ef6335635f3c04ac3b753bf39c languageName: node linkType: hard -"@npmcli/move-file@npm:^1.0.1": - version: 1.1.2 - resolution: "@npmcli/move-file@npm:1.1.2" +"@preact/signals@npm:^2.9.0": + version: 2.11.2 + resolution: "@preact/signals@npm:2.11.2" dependencies: - mkdirp: "npm:^1.0.4" - rimraf: "npm:^3.0.2" - checksum: 10/c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + "@preact/signals-core": "npm:^1.14.4" + peerDependencies: + preact: ">= 10.25.0 || >=11.0.0-0" + checksum: 10/0df02ecf3c3c72a50b510fef827020be59e21201e9cfd9046e4e5f6f9428e927a51b62b69d9cf907ec889c78bb4d343099999ca5965be8a1db1bf4a9dc70a64b languageName: node linkType: hard -"@oxc-project/types@npm:=0.149.0": - version: 0.149.0 - resolution: "@oxc-project/types@npm:0.149.0" - checksum: 10/6bd7b656ecdbfa96eea3ca0d79264ad367f941eaec1c47883b7c763a300ac81750de23862089b959b0c9a865abd171145d639368294a9daab0d47df07b1f8c6e +"@react-grab/cli@npm:0.2.0": + version: 0.2.0 + resolution: "@react-grab/cli@npm:0.2.0" + dependencies: + agent-install: "npm:^0.0.6" + commander: "npm:^14.0.3" + ignore: "npm:^7.0.5" + ora: "npm:^9.4.0" + package-manager-detector: "npm:^1.6.0" + picocolors: "npm:^1.1.1" + prompts: "npm:^2.4.2" + tinyexec: "npm:^1.1.2" + bin: + react-grab: bin/cli.js + checksum: 10/53dab805270f9e6092fa65bf22185aa4a82504bb7872c73b34be4f0fde95b9e6bc84622055affb3b82b990b8b5287c33e7d21a8851f2d202120aa2140db0ce1d languageName: node linkType: hard @@ -380,6 +1429,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/pluginutils@npm:1.0.0-beta.27": + version: 1.0.0-beta.27 + resolution: "@rolldown/pluginutils@npm:1.0.0-beta.27" + checksum: 10/4f7da788d88b33d029d5acf84c63be27c62d7c53017476f2e3026172cf94062cb399cd15194c89574578f192016bbcb1e040ce6811b3bb9ec4d4faa2ad386459 + languageName: node + linkType: hard + "@rolldown/pluginutils@npm:^1.0.0": version: 1.0.1 resolution: "@rolldown/pluginutils@npm:1.0.1" @@ -387,7 +1443,7 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.1.4": +"@rollup/pluginutils@npm:^5.1.4, @rollup/pluginutils@npm:^5.3.0": version: 5.4.0 resolution: "@rollup/pluginutils@npm:5.4.0" dependencies: @@ -403,6 +1459,274 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm-eabi@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.63.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-android-arm64@npm:4.63.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.63.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.63.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.63.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.63.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.63.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.63.1" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.63.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.63.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.63.1" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.63.1" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.63.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.63.1" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.63.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.63.1" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.63.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.63.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.63.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-openbsd-x64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-openbsd-x64@npm:4.63.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.63.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.63.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.63.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-gnu@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.63.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.63.1": + version: 4.63.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.63.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sentry/conventions@npm:^0.16.0": + version: 0.16.0 + resolution: "@sentry/conventions@npm:0.16.0" + checksum: 10/21c5bdbde32ff5058954a87f7d6b40b670cdd08c10a1c6787fedc3b94b89804b0df92817e5a37d0ed60e8f1ce6747d01b840f05a5e8940742f9a1dcb0f2d490e + languageName: node + linkType: hard + +"@sentry/core@npm:10.74.0": + version: 10.74.0 + resolution: "@sentry/core@npm:10.74.0" + dependencies: + "@sentry/conventions": "npm:^0.16.0" + checksum: 10/5a19d2d7295c277724726aa39a00f05b42817519520c18c1c065c6752ab03a967c7a21e0782c8a4162a67a58ad88e29c89689f9f55b7ae6609167d66d6529593 + languageName: node + linkType: hard + +"@sentry/node-core@npm:10.74.0": + version: 10.74.0 + resolution: "@sentry/node-core@npm:10.74.0" + dependencies: + "@sentry/conventions": "npm:^0.16.0" + "@sentry/core": "npm:10.74.0" + "@sentry/opentelemetry": "npm:10.74.0" + import-in-the-middle: "npm:^3.0.0" + peerDependencies: + "@opentelemetry/api": ^1.9.0 + "@opentelemetry/core": ^1.30.1 || ^2.1.0 + "@opentelemetry/exporter-trace-otlp-http": ">=0.57.0 <1" + "@opentelemetry/instrumentation": ">=0.57.1 <1" + "@opentelemetry/sdk-trace-base": ^1.30.1 || ^2.1.0 + peerDependenciesMeta: + "@opentelemetry/api": + optional: true + "@opentelemetry/core": + optional: true + "@opentelemetry/exporter-trace-otlp-http": + optional: true + "@opentelemetry/instrumentation": + optional: true + "@opentelemetry/sdk-trace-base": + optional: true + checksum: 10/37ea591066bee839fbbc1a7c1059542455e481aedb4abfb01fca89e69902a6b90980c97bb3647df94405a35cf91e135b2d36179f8a4f79252ba9342f0aba123b + languageName: node + linkType: hard + +"@sentry/node@npm:^10.54.0": + version: 10.74.0 + resolution: "@sentry/node@npm:10.74.0" + dependencies: + "@opentelemetry/api": "npm:^1.9.1" + "@opentelemetry/instrumentation": "npm:^0.220.0" + "@opentelemetry/sdk-trace-base": "npm:^2.9.0" + "@sentry/conventions": "npm:^0.16.0" + "@sentry/core": "npm:10.74.0" + "@sentry/node-core": "npm:10.74.0" + "@sentry/opentelemetry": "npm:10.74.0" + "@sentry/server-utils": "npm:10.74.0" + import-in-the-middle: "npm:^3.0.0" + checksum: 10/04fa1de2431faef4f3ec65c64bc077e5b5b723ddd64f13788992b88fcfea61e22888fb8506f1d28b147260d231af65f377d3f2aff1d053431f86fb73b3d748ee + languageName: node + linkType: hard + +"@sentry/opentelemetry@npm:10.74.0": + version: 10.74.0 + resolution: "@sentry/opentelemetry@npm:10.74.0" + dependencies: + "@sentry/conventions": "npm:^0.16.0" + "@sentry/core": "npm:10.74.0" + peerDependencies: + "@opentelemetry/api": ^1.9.0 + "@opentelemetry/core": ^1.30.1 || ^2.1.0 + "@opentelemetry/sdk-trace-base": ^1.30.1 || ^2.1.0 + checksum: 10/9d6af0b5546db98a6c054fd9c2e1d126ba7f7df55c439e0df24800da9c5704022eb8f8ec2880ac45ef2237bb0e8116df32a3eda06c197b272f12a4441d7fdb81 + languageName: node + linkType: hard + +"@sentry/server-utils@npm:10.74.0": + version: 10.74.0 + resolution: "@sentry/server-utils@npm:10.74.0" + dependencies: + "@sentry/conventions": "npm:^0.16.0" + "@sentry/core": "npm:10.74.0" + checksum: 10/27a9db03e7d5cefe09e61d50fe621abb98824a0c634b7e88f22ac3f8cca2a2a1f0affed4e0639ca2d95678ce3788126895db5129aa72d0e334d715b1e0d125e5 + languageName: node + linkType: hard + +"@shaderfrog/glsl-parser@npm:^7.0.1": + version: 7.0.1 + resolution: "@shaderfrog/glsl-parser@npm:7.0.1" + checksum: 10/9ae0478cbf149d90ad6ca72db8110babf7e4e2376252f217f6762fab3d887f8ad35ec1c3e337685d4049fbf07b121ec6358fddc093d0a5bf747932173c31263c + languageName: node + linkType: hard + "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -410,6 +1734,56 @@ __metadata: languageName: node linkType: hard +"@tybys/wasm-util@npm:^0.10.3": + version: 0.10.3 + resolution: "@tybys/wasm-util@npm:0.10.3" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/6cf39f7a2926b1c8bc6fe3f9f03318a33dd6dae81bdbd059983f9c6ee22d10a827f12564d648c05a2d4926e03c86cbe2799fb20609ee65e9efc39603039b4765 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.20.5": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10/c32838d280b5ab59d62557f9e331d3831f8e547ee10b4f85cb78753d97d521270cebfc73ce501e9fb27fe71884d1ba75e18658692c2f4117543f0fc4e3e118b3 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10/f572e67a9a39397664350a4437d8a7fbd34acc83ff4887a8cf08349e39f8aeb5ad2f70fb78a0a0a23a280affe3a5f4c25f50966abdce292bcf31237af1c27b1a + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10/d7a02d2a9b67e822694d8e6a7ddb8f2b71a1d6962dfd266554d2513eefbb205b33ca71a0d163b1caea3981ccf849211f9964d8bd0727124d18ace45aa6c9ae29 + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*": + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" + dependencies: + "@babel/types": "npm:^7.28.2" + checksum: 10/371c5e1b40399ef17570e630b2943617b84fafde2860a56f0ebc113d8edb1d0534ade0175af89eda1ae35160903c33057ed42457e165d4aa287fedab2c82abcf + languageName: node + linkType: hard + "@types/chai@npm:^5.2.2": version: 5.2.3 resolution: "@types/chai@npm:5.2.3" @@ -434,6 +1808,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:1.0.9, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 10/16aabfa703b5bdac83f719b07ce92a11b2d3c9b8628eacc92889d8af46cab2d78fc45c7b5378de383d0500585cea5c2f79125eeddfe5fbc6bd6a27eb0c8ccee5 + languageName: node + linkType: hard + "@types/estree@npm:^1.0.0": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" @@ -441,13 +1822,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": - version: 1.0.9 - resolution: "@types/estree@npm:1.0.9" - checksum: 10/16aabfa703b5bdac83f719b07ce92a11b2d3c9b8628eacc92889d8af46cab2d78fc45c7b5378de383d0500585cea5c2f79125eeddfe5fbc6bd6a27eb0c8ccee5 - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -476,6 +1850,32 @@ __metadata: languageName: node linkType: hard +"@types/prop-types@npm:*": + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 10/31aa2f59b28f24da6fb4f1d70807dae2aedfce090ec63eaf9ea01727a9533ef6eaf017de5bff99fbccad7d1c9e644f52c6c2ba30869465dd22b1a7221c29f356 + languageName: node + linkType: hard + +"@types/react-dom@npm:^18.3.5": + version: 18.3.7 + resolution: "@types/react-dom@npm:18.3.7" + peerDependencies: + "@types/react": ^18.0.0 + checksum: 10/317569219366d487a3103ba1e5e47154e95a002915fdcf73a44162c48fe49c3a57fcf7f57fc6979e70d447112681e6b13c6c3c1df289db8b544df4aab2d318f3 + languageName: node + linkType: hard + +"@types/react@npm:^18.3.18": + version: 18.3.31 + resolution: "@types/react@npm:18.3.31" + dependencies: + "@types/prop-types": "npm:*" + csstype: "npm:^3.2.2" + checksum: 10/0a5d73b1ba3ce73273b28cc50da78d520b1a8d4253075820dc5cf6c9e286ff6cb339b56bd613d05885fec214fbecd8137bddcbdb475612fdcc46e061d88f00fc + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:8.70.0": version: 8.70.0 resolution: "@typescript-eslint/eslint-plugin@npm:8.70.0" @@ -560,7 +1960,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.70.0, @typescript-eslint/types@npm:^8.70.0": +"@typescript-eslint/types@npm:8.70.0, @typescript-eslint/types@npm:^8.59.3, @typescript-eslint/types@npm:^8.70.0": version: 8.70.0 resolution: "@typescript-eslint/types@npm:8.70.0" checksum: 10/a264fbebf12d3ee5363688f10713890f67264277749c7f7e2b7fa8636d8836a19a9532e7228bd3155b12f455121b22998282acb17e76561e81902891f7205b44 @@ -611,6 +2011,22 @@ __metadata: languageName: node linkType: hard +"@vitejs/plugin-react@npm:^4.3.4": + version: 4.7.0 + resolution: "@vitejs/plugin-react@npm:4.7.0" + dependencies: + "@babel/core": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx-self": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-source": "npm:^7.27.1" + "@rolldown/pluginutils": "npm:1.0.0-beta.27" + "@types/babel__core": "npm:^7.20.5" + react-refresh: "npm:^0.17.0" + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10/619a5d650ce0e8e2f37dae369b803990c6647e81ec983a00e44a734b3feeefd5a32c20fbee56d496fbc239cad6b949797dddf7c6d9f23c48100c5b2b5dc41e1f + languageName: node + linkType: hard + "@vitest/mocker@npm:5.0.0": version: 5.0.0 resolution: "@vitest/mocker@npm:5.0.0" @@ -718,6 +2134,38 @@ __metadata: languageName: node linkType: hard +"agent-install@npm:0.0.5": + version: 0.0.5 + resolution: "agent-install@npm:0.0.5" + dependencies: + "@iarna/toml": "npm:^2.2.5" + commander: "npm:^14.0.0" + jsonc-parser: "npm:^3.3.1" + picocolors: "npm:^1.1.1" + prompts: "npm:^2.4.2" + yaml: "npm:^2.8.3" + bin: + agent-install: bin/agent-install.mjs + checksum: 10/7dbb1919bd1fe3a0a831130b2503de332cf1cd0406ea97eb0b5498867d5b02d9a125609e18ec7ade1e959beff56b6099c3d10d54c0e8a2f8f80b76e135b30bc9 + languageName: node + linkType: hard + +"agent-install@npm:^0.0.6": + version: 0.0.6 + resolution: "agent-install@npm:0.0.6" + dependencies: + "@iarna/toml": "npm:^2.2.5" + commander: "npm:^14.0.0" + jsonc-parser: "npm:^3.3.1" + picocolors: "npm:^1.1.1" + prompts: "npm:^2.4.2" + yaml: "npm:^2.8.3" + bin: + agent-install: bin/agent-install.mjs + checksum: 10/1f61e3fe49a744d42a3e8f3df5bfe3a65286f9c0935e17815a63b1970ee87a789e17fe40b358846a539c5bf5c6607a0d82ef2d6ea9bd5df7328678601993b5bc + languageName: node + linkType: hard + "agentkeepalive@npm:^4.2.0": version: 4.2.1 resolution: "agentkeepalive@npm:4.2.1" @@ -733,9 +2181,23 @@ __metadata: version: 3.1.0 resolution: "aggregate-error@npm:3.1.0" dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10/1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10/1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + +"ajv-formats@npm:^3.0.1": + version: 3.0.1 + resolution: "ajv-formats@npm:3.0.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10/5679b9f9ced9d0213a202a37f3aa91efcffe59a6de1a6e3da5c873344d3c161820a1f11cc29899661fee36271fd2895dd3851b6461c902a752ad661d1c1e8722 languageName: node linkType: hard @@ -751,6 +2213,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.0.0, ajv@npm:^8.17.1": + version: 8.20.0 + resolution: "ajv@npm:8.20.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10/5ce59c0537f4c2aca9a758b412659ec70acb4d5dde971c10ecf21d2e3d799f99acdb4a08e1f5fb2e067c8542930398aae793bb996bb07d3feb81dae22fe2ada9 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -758,6 +2232,13 @@ __metadata: languageName: node linkType: hard +"ansi-regex@npm:^6.2.2": + version: 6.3.0 + resolution: "ansi-regex@npm:6.3.0" + checksum: 10/85e15deee80d6e52e75864897b6f7b8a8cfc5befe1868f03e3b6bf8925b9b667cf67d4aeafc6d038398f2f11c3813e7b40ad79affdd29a9c491b3585bfa125d5 + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -767,7 +2248,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.0.0": +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -793,6 +2274,13 @@ __metadata: languageName: node linkType: hard +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10/18640244e641a417ec75a9bd38b0b2b6b95af5199aa241b131d4b2fb206f334d7ecc600bd194861610a5579084978bfcbb02baa399dbe442d56d0ae5e60dbaef + languageName: node + linkType: hard + "array-ify@npm:^1.0.0": version: 1.0.0 resolution: "array-ify@npm:1.0.0" @@ -814,6 +2302,16 @@ __metadata: languageName: node linkType: hard +"atomically@npm:^2.0.3": + version: 2.1.1 + resolution: "atomically@npm:2.1.1" + dependencies: + stubborn-fs: "npm:^2.0.0" + when-exit: "npm:^2.1.4" + checksum: 10/e034a570e6da08ef6e556b5de4c28d5af27cf77250948124d6e98b6cd692114bf38d8a8492bb72bc570139d7c76c0398361c0cf96621aee2e59920d0de2bc909 + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -828,6 +2326,40 @@ __metadata: languageName: node linkType: hard +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10/669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"baseline-browser-mapping@npm:^2.11.20": + version: 2.11.21 + resolution: "baseline-browser-mapping@npm:2.11.21" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10/b4d223df8dbb8deeaa3dae3b9b60ad48b24c57a5473827b5a6ee1c21917e7c37af2185224c5366f2932654ec5fb1a9fee4f95fe7213cc29f4347550f25e4234b + languageName: node + linkType: hard + +"bippy@npm:^0.5.39": + version: 0.5.43 + resolution: "bippy@npm:0.5.43" + peerDependencies: + react: ">=17.0.1" + checksum: 10/fbe13a7e77a826b5a799e13e64ee5e8d812df93708af080c5c3fedc11b2c7a2acd0ea6569a35f05c75bbe1603fb44a0c9d8685c17974daee6e79c98c01a4a027 + languageName: node + linkType: hard + +"bippy@npm:^0.6.1": + version: 0.6.1 + resolution: "bippy@npm:0.6.1" + peerDependencies: + react: ">=17.0.1" + checksum: 10/ee78d36cdaec3b2e2994ac225b90c8095f302c9f4e047a31ccbdb362bcf5ce8a29ef809fede7301f275304ee5d09189bb5fc0b16b211fb3d6c010f1e41ed8250 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -847,6 +2379,21 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.24.0": + version: 4.28.9 + resolution: "browserslist@npm:4.28.9" + dependencies: + baseline-browser-mapping: "npm:^2.11.20" + caniuse-lite: "npm:^1.0.30001810" + electron-to-chromium: "npm:^1.5.420" + node-releases: "npm:^2.0.54" + update-browserslist-db: "npm:^1.3.2" + bin: + browserslist: cli.js + checksum: 10/493e5e3c11d4bdd34ce8cb7ed5edc98bc5948457e6a3cc1268b253d0ff9a616033b10980515e0e6faeddae745fb9c330cd4510189d681ad86f9ce0b2da3c840e + languageName: node + linkType: hard + "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -854,6 +2401,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10/b6bc68237ebf29bdacae48ce60e5e28fc53ae886301f2ad9496618efac49427ed79096750033e7eab1897a4f26ae374ace49106a5758f38fb70c78c9fda2c3b1 + languageName: node + linkType: hard + "cacache@npm:^15.3.0": version: 15.3.0 resolution: "cacache@npm:15.3.0" @@ -893,6 +2450,13 @@ __metadata: languageName: node linkType: hard +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10/072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + "camelcase-keys@npm:^6.2.2": version: 6.2.2 resolution: "camelcase-keys@npm:6.2.2" @@ -911,6 +2475,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001810": + version: 1.0.30001810 + resolution: "caniuse-lite@npm:1.0.30001810" + checksum: 10/47d7db627c3f3d1a10e06eef9efbb84295c6ef9d959b585b64032cc293637ca7b9b6af7e5d5752972b3e690d9561f14b9561db03890fbc6e38dc1aaa54e51d97 + languageName: node + linkType: hard + "chai@npm:^6.2.2": version: 6.2.2 resolution: "chai@npm:6.2.2" @@ -929,6 +2500,23 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139 + languageName: node + linkType: hard + +"chalk@npm:^5.6.2": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10/1b2f48f6fba1370670d5610f9cd54c391d6ede28f4b7062dd38244ea5768777af72e5be6b74fb6c6d54cb84c4a2dff3f3afa9b7cb5948f7f022cfd3d087989e0 + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -936,6 +2524,13 @@ __metadata: languageName: node linkType: hard +"cjs-module-lexer@npm:^2.2.0": + version: 2.2.1 + resolution: "cjs-module-lexer@npm:2.2.1" + checksum: 10/16601d6fc3a9bb6a5aba4fcc1fd4c194317f94c2bc869a0dfb0f64d01b6ff0c9011b3ba6c89805b3d4de246be371a102d95d0dad5e944a4a23ca87f5381fbd03 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -943,6 +2538,22 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^5.0.0": + version: 5.0.0 + resolution: "cli-cursor@npm:5.0.0" + dependencies: + restore-cursor: "npm:^5.0.0" + checksum: 10/1eb9a3f878b31addfe8d82c6d915ec2330cec8447ab1f117f4aa34f0137fbb3137ec3466e1c9a65bcb7557f6e486d343f2da57f253a2f668d691372dfa15c090 + languageName: node + linkType: hard + +"cli-spinners@npm:^3.2.0": + version: 3.4.0 + resolution: "cli-spinners@npm:3.4.0" + checksum: 10/6a4021c1999011fc34ae714f055dcdafb56309abc1f8fb021ea7d9370dfc524485fe8684226015e5fe6053dd30544e74270184ff7edc3fa4d37043b8efd0a054 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -995,6 +2606,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^14.0.0, commander@npm:^14.0.3": + version: 14.0.3 + resolution: "commander@npm:14.0.3" + checksum: 10/dfa9ebe2a433d277de5cb0252d23b10a543d245d892db858d23b516336a835c50fd4f52bee4cd13c705cc8acb6f03dc632c73dd806f7d06d3353eb09953dd17a + languageName: node + linkType: hard + "compare-func@npm:^2.0.0": version: 2.0.0 resolution: "compare-func@npm:2.0.0" @@ -1031,6 +2649,23 @@ __metadata: languageName: node linkType: hard +"conf@npm:^15.1.0": + version: 15.1.0 + resolution: "conf@npm:15.1.0" + dependencies: + ajv: "npm:^8.17.1" + ajv-formats: "npm:^3.0.1" + atomically: "npm:^2.0.3" + debounce-fn: "npm:^6.0.0" + dot-prop: "npm:^10.0.0" + env-paths: "npm:^3.0.0" + json-schema-typed: "npm:^8.0.1" + semver: "npm:^7.7.2" + uint8array-extras: "npm:^1.5.0" + checksum: 10/02fa196f11c0f9becb0fab582428fc78fbe5345764cb323d1650908cd242c67f8524145f913a8b18dc5e1271fef0c9cf7c629a4ba3663506cc2ed11b3a62c8cc + languageName: node + linkType: hard + "confbox@npm:^0.1.8": version: 0.1.8 resolution: "confbox@npm:0.1.8" @@ -1038,6 +2673,13 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.2.4": + version: 0.2.4 + resolution: "confbox@npm:0.2.4" + checksum: 10/10243036f2eca8f02c85f1c8c99f492d2b690e41b5fb9c6bf91afbaca8972eb760bf9fafb7b669433c1ea0c98f12e910d4d1e73b017cd06b72150d080a2c78b6 + languageName: node + linkType: hard + "confbox@npm:^0.3.1": version: 0.3.1 resolution: "confbox@npm:0.3.1" @@ -1255,6 +2897,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -1273,6 +2922,13 @@ __metadata: languageName: node linkType: hard +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10/ad41baf7e2ffac65ab544d79107bf7cd1a4bb9bab9ac3302f59ab4ba655d5e30942a8ae46e10ba160c6f4ecea464cc95b975ca2fefbdeeacd6ac63f12f99fe1f + languageName: node + linkType: hard + "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -1287,6 +2943,15 @@ __metadata: languageName: node linkType: hard +"debounce-fn@npm:^6.0.0": + version: 6.0.0 + resolution: "debounce-fn@npm:6.0.0" + dependencies: + mimic-function: "npm:^5.0.0" + checksum: 10/9941efbf9ecd4015b8da7280eadbc1ef0d5bb263f74aab63a28e942e241d32b20167def5b9bc4559a944164ec697b628d0ee845400637c41f538cd5902c798e6 + languageName: node + linkType: hard + "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2": version: 4.3.3 resolution: "debug@npm:4.3.3" @@ -1299,7 +2964,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.4.0, debug@npm:^4.4.3": +"debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -1370,6 +3035,15 @@ __metadata: languageName: node linkType: hard +"dot-prop@npm:^10.0.0": + version: 10.2.0 + resolution: "dot-prop@npm:10.2.0" + dependencies: + type-fest: "npm:^5.0.0" + checksum: 10/a63940cee92fd701c8a1802ac65da33cc1f699e7f2a791e09cd5db907853f57fdf556b401f321119a719cfce58c3a075b5a2b04b76af27a73c7753fc76fcada2 + languageName: node + linkType: hard + "dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" @@ -1389,6 +3063,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.420": + version: 1.5.426 + resolution: "electron-to-chromium@npm:1.5.426" + checksum: 10/9804348bc1faff167e1573d8938a7b550d6926488a80f1db8783f199b3ac45d7885bf4f90fb78f9975cbe4b8fb477f10a011fe7ca571ede84169817bef85ae59 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -1412,6 +3093,13 @@ __metadata: languageName: node linkType: hard +"env-paths@npm:^3.0.0": + version: 3.0.0 + resolution: "env-paths@npm:3.0.0" + checksum: 10/b2b0a0d0d9931a13d279c22ed94d78648a1cc5f408f05d47ff3e0c1616f0aa0c38fb33deec5e5be50497225d500607d57f9c8652c4d39c2f2b7608cd45768128 + languageName: node + linkType: hard + "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -1419,6 +3107,13 @@ __metadata: languageName: node linkType: hard +"err-code@npm:^3.0.1": + version: 3.0.1 + resolution: "err-code@npm:3.0.1" + checksum: 10/37af52bc46cde34b2979a5503dbf348aeae84c8ed122731d2c228250a6fd3cfe979aa07fd53f2b368dc3f8ecaf35f5d7d45ef98ff752f08bc7c6c6917c40d44c + languageName: node + linkType: hard + "error-ex@npm:^1.3.1": version: 1.3.2 resolution: "error-ex@npm:1.3.2" @@ -1435,6 +3130,102 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^3.0.2": + version: 3.0.2 + resolution: "es-module-lexer@npm:3.0.2" + checksum: 10/5768f5614937f0a1f24fe985174c8202f4c1a53826249040a9c62d9473a22261cceaa3481e97d10f3854a966131b86047a163a9ac8db9a19aae2e2e96edd0fe3 + languageName: node + linkType: hard + +"esbuild@npm:^0.25.0": + version: 0.25.12 + resolution: "esbuild@npm:0.25.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.12" + "@esbuild/android-arm": "npm:0.25.12" + "@esbuild/android-arm64": "npm:0.25.12" + "@esbuild/android-x64": "npm:0.25.12" + "@esbuild/darwin-arm64": "npm:0.25.12" + "@esbuild/darwin-x64": "npm:0.25.12" + "@esbuild/freebsd-arm64": "npm:0.25.12" + "@esbuild/freebsd-x64": "npm:0.25.12" + "@esbuild/linux-arm": "npm:0.25.12" + "@esbuild/linux-arm64": "npm:0.25.12" + "@esbuild/linux-ia32": "npm:0.25.12" + "@esbuild/linux-loong64": "npm:0.25.12" + "@esbuild/linux-mips64el": "npm:0.25.12" + "@esbuild/linux-ppc64": "npm:0.25.12" + "@esbuild/linux-riscv64": "npm:0.25.12" + "@esbuild/linux-s390x": "npm:0.25.12" + "@esbuild/linux-x64": "npm:0.25.12" + "@esbuild/netbsd-arm64": "npm:0.25.12" + "@esbuild/netbsd-x64": "npm:0.25.12" + "@esbuild/openbsd-arm64": "npm:0.25.12" + "@esbuild/openbsd-x64": "npm:0.25.12" + "@esbuild/openharmony-arm64": "npm:0.25.12" + "@esbuild/sunos-x64": "npm:0.25.12" + "@esbuild/win32-arm64": "npm:0.25.12" + "@esbuild/win32-ia32": "npm:0.25.12" + "@esbuild/win32-x64": "npm:0.25.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10/bc9c03d64e96a0632a926662c9d29decafb13a40e5c91790f632f02939bc568edc9abe0ee5d8055085a2819a00139eb12e223cfb8126dbf89bbc569f125d91fd + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -1442,6 +3233,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 + languageName: node + linkType: hard + "escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" @@ -1456,6 +3254,49 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-react-hooks@npm:^5.0.0": + version: 5.2.0 + resolution: "eslint-plugin-react-hooks@npm:5.2.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10/ebb79e9cf69ae06e3a7876536653c5e556b5fd8cd9dc49577f10a6e728360e7b6f5ce91f4339b33e93b26e3bb23805418f8b5e75db80baddd617b1dffe73bed1 + languageName: node + linkType: hard + +"eslint-plugin-react-hooks@npm:^7.1.1": + version: 7.1.1 + resolution: "eslint-plugin-react-hooks@npm:7.1.1" + dependencies: + "@babel/core": "npm:^7.24.4" + "@babel/parser": "npm:^7.24.4" + hermes-parser: "npm:^0.25.1" + zod: "npm:^3.25.0 || ^4.0.0" + zod-validation-error: "npm:^3.5.0 || ^4.0.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 + checksum: 10/9dfe543af9813343f7cc7c5079b02da94a3b4c15df5cefdeef731f220120df26471d0db24c943222d2d9c6b43c3b78faea47ada9acc9dfd9c28492153cbc6902 + languageName: node + linkType: hard + +"eslint-plugin-react-refresh@npm:^0.4.16": + version: 0.4.26 + resolution: "eslint-plugin-react-refresh@npm:0.4.26" + peerDependencies: + eslint: ">=8.40" + checksum: 10/068da7edcd39d802dda4c03b7ea8923891145eb95f4dfd4cfce82a53a5eb55f5cbe66b33cf8e57b71f1525a684517bda4bfca1bc5c6b12c82ba03c9e8197764d + languageName: node + linkType: hard + +"eslint-scope@npm:^8.4.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10/e8e611701f65375e034c62123946e628894f0b54aa8cb11abe224816389abe5cd74cf16b62b72baa36504f22d1a958b9b8b0169b82397fe2e7997674c0d09b06 + languageName: node + linkType: hard + "eslint-scope@npm:^9.1.2": version: 9.1.2 resolution: "eslint-scope@npm:9.1.2" @@ -1475,6 +3316,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 10/3ee00fc6a7002d4b0ffd9dc99e13a6a7882c557329e6c25ab254220d71e5c9c4f89dca4695352949ea678eb1f3ba912a18ef8aac0a7fe094196fd92f441bfce2 + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^5.0.0, eslint-visitor-keys@npm:^5.0.1": version: 5.0.1 resolution: "eslint-visitor-keys@npm:5.0.1" @@ -1527,6 +3375,66 @@ __metadata: languageName: node linkType: hard +"eslint@npm:^9.17.0": + version: 9.39.5 + resolution: "eslint@npm:9.39.5" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.8.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.21.2" + "@eslint/config-helpers": "npm:^0.4.2" + "@eslint/core": "npm:^0.17.0" + "@eslint/eslintrc": "npm:^3.3.6" + "@eslint/js": "npm:9.39.5" + "@eslint/plugin-kit": "npm:^0.4.1" + "@humanfs/node": "npm:^0.16.6" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" + ajv: "npm:^6.14.0" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.6" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.4.0" + eslint-visitor-keys: "npm:^4.2.1" + espree: "npm:^10.4.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.5" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: 10/081b27602a923276e4d591a0ef7972ff6f12cd189a93a0dadd5b8eb0338f2984882dc92d545cdf3527cb9c78230183394d411cf68098ee9dbbcb80d4f9fe115c + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.4.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" + dependencies: + acorn: "npm:^8.15.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10/9b355b32dbd1cc9f57121d5ee3be258fab87ebeb7c83fc6c02e5af1a74fc8c5ba79fe8c663e69ea112c3e84a1b95e6a2067ac4443ee7813bb85ac7581acb8bf9 + languageName: node + linkType: hard + "espree@npm:^11.2.0": version: 11.2.0 resolution: "espree@npm:11.2.0" @@ -1538,7 +3446,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.7.0": +"esquery@npm:^1.5.0, esquery@npm:^1.7.0": version: 1.7.0 resolution: "esquery@npm:1.7.0" dependencies: @@ -1621,7 +3529,14 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.5.0": +"fast-uri@npm:^3.0.1": + version: 3.1.7 + resolution: "fast-uri@npm:3.1.7" + checksum: 10/6d62ea818841e1b460f60482fd31582faa23ea9d9b33f856412b24c42da11fd72bd003be6696390ec896dbe4e9e78d3bb8d93bf70a511c7f69e5e807ac9b284f + languageName: node + linkType: hard + +"fdir@npm:^6.4.4, fdir@npm:^6.5.0": version: 6.5.0 resolution: "fdir@npm:6.5.0" peerDependencies: @@ -1651,6 +3566,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 + languageName: node + linkType: hard + "find-up@npm:^2.0.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" @@ -1689,6 +3613,16 @@ __metadata: languageName: node linkType: hard +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc + languageName: node + linkType: hard + "flat-cache@npm:^6.1.23": version: 6.1.23 resolution: "flat-cache@npm:6.1.23" @@ -1700,7 +3634,7 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.4.2": +"flatted@npm:^3.2.9, flatted@npm:^3.4.2": version: 3.4.4 resolution: "flatted@npm:3.4.4" checksum: 10/5a6682ab87ed15e125419c61352c4bef26f310adceece03eae5f22c119d64ed47bfc0ee1948a77d0122559eaa86395ea06ef45b59bfe3db4fb13fb4cdff876de @@ -1723,7 +3657,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:~2.3.3": +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -1733,7 +3667,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -1766,6 +3700,20 @@ __metadata: languageName: node linkType: hard +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10/17d8333460204fbf1f9160d067e1e77f908a5447febb49424b8ab043026049835c9ef3974445c57dbd39161f4d2b04356d7de12b2eecaa27a7a7ea7d871cbedd + languageName: node + linkType: hard + +"get-browser-rtc@npm:^1.1.0": + version: 1.1.0 + resolution: "get-browser-rtc@npm:1.1.0" + checksum: 10/90dd17ca3ba2a61aaa57b7497efea49afa718b5d048cac155a7f84ac850c921006946893e6a5d981c66c5ca69d19f6aadc5c773ffdf2e860896781a8e7e0a2e0 + languageName: node + linkType: hard + "get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -1773,6 +3721,13 @@ __metadata: languageName: node linkType: hard +"get-east-asian-width@npm:^1.5.0": + version: 1.6.0 + resolution: "get-east-asian-width@npm:1.6.0" + checksum: 10/3e5370b5df1f0020db711d8a3f9ee2cbfc9c7542daa99a699e9d7b9acf66e7868b89084741565a45d30d80afedf6e1218e0fb8bef7a583924a449c2816777380 + languageName: node + linkType: hard + "get-pkg-repo@npm:^4.0.0": version: 4.2.1 resolution: "get-pkg-repo@npm:4.2.1" @@ -1863,6 +3818,20 @@ __metadata: languageName: node linkType: hard +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 + languageName: node + linkType: hard + +"globals@npm:^15.14.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10/7f561c87b2fd381b27fc2db7df8a4ea7a9bb378667b8a7193e61fd2ca3a876479174e2a303a74345fbea6e1242e16db48915c1fd3bf35adcf4060a795b425e18 + languageName: node + linkType: hard + "globals@npm:^17.12.0": version: 17.12.0 resolution: "globals@npm:17.12.0" @@ -1909,6 +3878,13 @@ __metadata: languageName: node linkType: hard +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10/261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + languageName: node + linkType: hard + "has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -1925,12 +3901,28 @@ __metadata: languageName: node linkType: hard -"hashery@npm:^1.4.0, hashery@npm:^1.5.1": - version: 1.5.1 - resolution: "hashery@npm:1.5.1" +"hashery@npm:^1.4.0, hashery@npm:^1.5.1": + version: 1.5.1 + resolution: "hashery@npm:1.5.1" + dependencies: + hookified: "npm:^1.15.0" + checksum: 10/34eebad3e4d4041ae5c2457f129169b7be8d067fce4717ec6b903017e82b420263808a4d89f15cc77fa21822ae36d16841dc06d945392b6833b49082d3653e82 + languageName: node + linkType: hard + +"hermes-estree@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-estree@npm:0.25.1" + checksum: 10/7b1eca98b264a25632064cffa5771360d30cf452e77db1e191f9913ee45cf78c292b2dbca707e92fb71b0870abb97e94b506a5ab80abd96ba237fee169b601fe + languageName: node + linkType: hard + +"hermes-parser@npm:^0.25.1": + version: 0.25.1 + resolution: "hermes-parser@npm:0.25.1" dependencies: - hookified: "npm:^1.15.0" - checksum: 10/34eebad3e4d4041ae5c2457f129169b7be8d067fce4717ec6b903017e82b420263808a4d89f15cc77fa21822ae36d16841dc06d945392b6833b49082d3653e82 + hermes-estree: "npm:0.25.1" + checksum: 10/805efc05691420f236654349872c70731121791fa54de521c7ee51059eae34f84dd19f22ee846741dcb60372f8fb5335719b96b4ecb010d2aed7d872f2eff9cc languageName: node linkType: hard @@ -2010,6 +4002,13 @@ __metadata: languageName: node linkType: hard +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4 + languageName: node + linkType: hard + "ignore@npm:^5.2.0": version: 5.2.0 resolution: "ignore@npm:5.2.0" @@ -2033,7 +4032,33 @@ __metadata: languageName: unknown linkType: soft -"immer-yjs@workspace:packages/immer-yjs": +"immer-yjs-react-example@workspace:apps/immer-yjs-react": + version: 0.0.0-use.local + resolution: "immer-yjs-react-example@workspace:apps/immer-yjs-react" + dependencies: + "@eslint/js": "npm:^9.17.0" + "@types/react": "npm:^18.3.18" + "@types/react-dom": "npm:^18.3.5" + "@vitejs/plugin-react": "npm:^4.3.4" + eslint: "npm:^9.17.0" + eslint-plugin-react-hooks: "npm:^5.0.0" + eslint-plugin-react-refresh: "npm:^0.4.16" + globals: "npm:^15.14.0" + immer: "npm:^11.1.18" + immer-yjs: "workspace:*" + pure-parse: "npm:^1.0.3" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" + react-scan: "npm:^0.5.7" + typescript: "npm:^5.9.3" + typescript-eslint: "npm:^8.70.0" + vite: "npm:^6.0.5" + y-webrtc: "npm:^10.3.0" + yjs: "npm:^13.6.23" + languageName: unknown + linkType: soft + +"immer-yjs@workspace:*, immer-yjs@workspace:packages/immer-yjs": version: 0.0.0-use.local resolution: "immer-yjs@workspace:packages/immer-yjs" dependencies: @@ -2061,6 +4086,27 @@ __metadata: languageName: node linkType: hard +"import-fresh@npm:^3.2.1": + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10/a06b19461b4879cc654d46f8a6244eb55eb053437afd4cbb6613cad6be203811849ed3e4ea038783092879487299fda24af932b86bdfff67c9055ba3612b8c87 + languageName: node + linkType: hard + +"import-in-the-middle@npm:^3.0.0": + version: 3.5.0 + resolution: "import-in-the-middle@npm:3.5.0" + dependencies: + cjs-module-lexer: "npm:^2.2.0" + es-module-lexer: "npm:^3.0.2" + module-details-from-path: "npm:^1.0.4" + checksum: 10/103a244ad571be8fb57c39d9377153570ce16537e170e28fd9512a716083ab4e2f58c67c50d4a08b23e4bd775e06b51b9be1ca7739cc081ce70079724f4b3eac + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -2152,6 +4198,13 @@ __metadata: languageName: node linkType: hard +"is-interactive@npm:^2.0.0": + version: 2.0.0 + resolution: "is-interactive@npm:2.0.0" + checksum: 10/e8d52ad490bed7ae665032c7675ec07732bbfe25808b0efbc4d5a76b1a1f01c165f332775c63e25e9a03d319ebb6b24f571a9e902669fc1e40b0a60b5be6e26c + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -2182,6 +4235,13 @@ __metadata: languageName: node linkType: hard +"is-unicode-supported@npm:^2.0.0, is-unicode-supported@npm:^2.1.0": + version: 2.1.0 + resolution: "is-unicode-supported@npm:2.1.0" + checksum: 10/f254e3da6b0ab1a57a94f7273a7798dd35d1d45b227759f600d0fa9d5649f9c07fa8d3c8a6360b0e376adf916d151ec24fc9a50c5295c58bae7ca54a76a063f9 + languageName: node + linkType: hard + "isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -2203,13 +4263,49 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^4.0.0": +"jiti@npm:^2.7.0": + version: 2.7.0 + resolution: "jiti@npm:2.7.0" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10/6d75a8dbd61dbee031aa0937fabb748ff8ddf370b971958cc704f5cf26b4c5bdc9dcd0563059b2627a2bd41d946fa0bc64f912fdc8981ca7945a9d63c74ad0f9 + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 languageName: node linkType: hard +"js-yaml@npm:^4.3.2": + version: 4.3.2 + resolution: "js-yaml@npm:4.3.2" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10/05c44b9c73e4901d92703b155e76518df64bf01ac62e4c036b47de4b391e19b72e32656e8954d51b436307f08cc9d0c0d4ec617d061cf2f65fffee9f3114bee7 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10/82876154521b7b68ba71c4f969b91572d1beabadd87bd3a6b236f85fbc7dc4695089191ed60bb59f9340993c51b33d479f45b6ba9f3548beb519705281c32c3c + languageName: node + linkType: hard + "json-parse-better-errors@npm:^1.0.1": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" @@ -2231,6 +4327,20 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10/02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + +"json-schema-typed@npm:^8.0.1": + version: 8.0.2 + resolution: "json-schema-typed@npm:8.0.2" + checksum: 10/fa866d1fe91e3a94aa4fe007861475cd03dcaf47b719861cab171ef2f8598478007c634d29ae45de94ee34ddff4e13414c63ea5ff06c5b868b613142c699d511 + 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" @@ -2245,6 +4355,22 @@ __metadata: languageName: node linkType: hard +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10/1db67b853ff0de3534085d630691d3247de53a2ed1390ba0ddff681ea43e9b3e30ecbdb65c5e9aab49435e44059c23dbd6fee8ee619419ba37465bb0dd7135da + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.3.1": + version: 3.3.1 + resolution: "jsonc-parser@npm:3.3.1" + checksum: 10/9b0dc391f20b47378f843ef1e877e73ec652a5bdc3c5fa1f36af0f119a55091d147a86c1ee86a232296f55c929bba174538c2bf0312610e0817a22de131cc3f4 + languageName: node + linkType: hard + "jsonparse@npm:^1.2.0": version: 1.3.1 resolution: "jsonparse@npm:1.3.1" @@ -2252,6 +4378,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10/167eb6ef64cc84b6fa0780ee50c9de456b422a1e18802209234f7c2cf7eae648c7741f32e50d7e24ccb22b24c13154070b01563d642755b156c357431a191e75 + languageName: node + linkType: hard + "keyv@npm:^5.6.0": version: 5.6.0 resolution: "keyv@npm:5.6.0" @@ -2268,6 +4403,13 @@ __metadata: languageName: node linkType: hard +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10/0c0ecaf00a5c6173d25059c7db2113850b5457016dfa1d0e3ef26da4704fbb186b4938d7611246d86f0ddf1bccf26828daa5877b1f232a65e7373d0122a83e7f + languageName: node + linkType: hard + "kolorist@npm:^1.8.0": version: 1.8.0 resolution: "kolorist@npm:1.8.0" @@ -2285,7 +4427,7 @@ __metadata: languageName: node linkType: hard -"lib0@npm:^0.2.99": +"lib0@npm:^0.2.42, lib0@npm:^0.2.85, lib0@npm:^0.2.99": version: 0.2.117 resolution: "lib0@npm:0.2.117" dependencies: @@ -2493,6 +4635,13 @@ __metadata: languageName: node linkType: hard +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10/d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6 + languageName: node + linkType: hard + "lodash@npm:^4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -2500,6 +4649,36 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^7.0.1": + version: 7.0.1 + resolution: "log-symbols@npm:7.0.1" + dependencies: + is-unicode-supported: "npm:^2.0.0" + yoctocolors: "npm:^2.1.1" + checksum: 10/0862313d84826b551582e39659b8586c56b65130c5f4f976420e2c23985228334f2a26fc4251ac22bf0a5b415d9430e86bf332557d934c10b036f9a549d63a09 + languageName: node + linkType: hard + +"loose-envify@npm:^1.1.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10/6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10/951d2673dcc64a7fb888bf3d13bc2fdf923faca97d89cdb405ba3dfff77e2b26e5798d405e78fcd7094c9e7b8b4dab2ddc5a4f8a11928af24a207b7c738ca3f8 + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -2534,6 +4713,17 @@ __metadata: languageName: node linkType: hard +"magicast@npm:^0.5.3": + version: 0.5.4 + resolution: "magicast@npm:0.5.4" + dependencies: + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + source-map-js: "npm:^1.2.1" + checksum: 10/174a26b566ff6b92b0f3522711c139ad03b3ffd6eae045fe230672a674066937eb8232bf6ad755459324eda03f6e6258226566fe2b505c5983670439859c6c39 + languageName: node + linkType: hard + "make-fetch-happen@npm:^10.0.3": version: 10.0.3 resolution: "make-fetch-happen@npm:10.0.3" @@ -2591,6 +4781,13 @@ __metadata: languageName: node linkType: hard +"mimic-function@npm:^5.0.0": + version: 5.0.1 + resolution: "mimic-function@npm:5.0.1" + checksum: 10/eb5893c99e902ccebbc267c6c6b83092966af84682957f79313311edb95e8bb5f39fb048d77132b700474d1c86d90ccc211e99bae0935447a4834eb4c882982c + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -2616,6 +4813,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^3.1.5": + version: 3.1.5 + resolution: "minimatch@npm:3.1.5" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10/b11a7ee5773cd34c1a0c8436cdbe910901018fb4b6cb47aa508a18d567f6efd2148507959e35fba798389b161b8604a2d704ccef751ea36bd4582f9852b7d63f + languageName: node + linkType: hard + "minimist-options@npm:4.1.0": version: 4.1.0 resolution: "minimist-options@npm:4.1.0" @@ -2732,6 +4938,13 @@ __metadata: languageName: node linkType: hard +"module-details-from-path@npm:^1.0.3, module-details-from-path@npm:^1.0.4": + version: 1.0.4 + resolution: "module-details-from-path@npm:1.0.4" + checksum: 10/2ebfada5358492f6ab496b70f70a1042f2ee7a4c79d29467f59ed6704f741fb4461d7cecb5082144ed39a05fec4d19e9ff38b731c76228151be97227240a05b2 + languageName: node + linkType: hard + "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -2796,6 +5009,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.54": + version: 2.0.55 + resolution: "node-releases@npm:2.0.55" + checksum: 10/1ca12c725eeaf9d4645a4ed159c19ae5ce8303a0063443c95fb5d97edc21c0d3c6d55ae7d96ae21724ca73800ea0149ea60af73f3ed0ddb10f0b05da84d36efc + languageName: node + linkType: hard + "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -2859,6 +5079,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^7.0.0": + version: 7.0.0 + resolution: "onetime@npm:7.0.0" + dependencies: + mimic-function: "npm:^5.0.0" + checksum: 10/eb08d2da9339819e2f9d52cab9caf2557d80e9af8c7d1ae86e1a0fef027d00a88e9f5bd67494d350df360f7c559fbb44e800b32f310fb989c860214eacbb561c + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -2873,6 +5102,245 @@ __metadata: languageName: node linkType: hard +"ora@npm:^9.4.0": + version: 9.4.1 + resolution: "ora@npm:9.4.1" + dependencies: + chalk: "npm:^5.6.2" + cli-cursor: "npm:^5.0.0" + cli-spinners: "npm:^3.2.0" + is-interactive: "npm:^2.0.0" + is-unicode-supported: "npm:^2.1.0" + log-symbols: "npm:^7.0.1" + stdin-discarder: "npm:^0.3.2" + string-width: "npm:^8.1.0" + checksum: 10/58b0b6c6ee20b30806e2e0bbf84f81b7517e21c9b721d0b7f186e12b9ef2e0be190174bf53085123efae6c8d120dcd9788708602e78e91188b9e12ff71abc275 + languageName: node + linkType: hard + +"oxc-parser@npm:^0.146.0": + version: 0.146.0 + resolution: "oxc-parser@npm:0.146.0" + dependencies: + "@oxc-parser/binding-android-arm-eabi": "npm:0.146.0" + "@oxc-parser/binding-android-arm64": "npm:0.146.0" + "@oxc-parser/binding-darwin-arm64": "npm:0.146.0" + "@oxc-parser/binding-darwin-x64": "npm:0.146.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.146.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.146.0" + "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.146.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.146.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.146.0" + "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.146.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.146.0" + "@oxc-parser/binding-linux-riscv64-musl": "npm:0.146.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.146.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.146.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.146.0" + "@oxc-parser/binding-openharmony-arm64": "npm:0.146.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.146.0" + "@oxc-parser/binding-win32-ia32-msvc": "npm:0.146.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.146.0" + "@oxc-project/types": "npm:^0.146.0" + dependenciesMeta: + "@oxc-parser/binding-android-arm-eabi": + optional: true + "@oxc-parser/binding-android-arm64": + optional: true + "@oxc-parser/binding-darwin-arm64": + optional: true + "@oxc-parser/binding-darwin-x64": + optional: true + "@oxc-parser/binding-freebsd-x64": + optional: true + "@oxc-parser/binding-linux-arm-gnueabihf": + optional: true + "@oxc-parser/binding-linux-arm-musleabihf": + optional: true + "@oxc-parser/binding-linux-arm64-gnu": + optional: true + "@oxc-parser/binding-linux-arm64-musl": + optional: true + "@oxc-parser/binding-linux-ppc64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-gnu": + optional: true + "@oxc-parser/binding-linux-riscv64-musl": + optional: true + "@oxc-parser/binding-linux-s390x-gnu": + optional: true + "@oxc-parser/binding-linux-x64-gnu": + optional: true + "@oxc-parser/binding-linux-x64-musl": + optional: true + "@oxc-parser/binding-openharmony-arm64": + optional: true + "@oxc-parser/binding-win32-arm64-msvc": + optional: true + "@oxc-parser/binding-win32-ia32-msvc": + optional: true + "@oxc-parser/binding-win32-x64-msvc": + optional: true + checksum: 10/dc8ee719a71fa19e3d21a424b37248bc6a0a7164749b4b70d4fadcfb1396692bb8a5b8568fbfd88edc649cb2d43bc828ca1b35568013fbc2d21df7bf4cc11d43 + languageName: node + linkType: hard + +"oxc-resolver@npm:^11.24.2": + version: 11.24.2 + resolution: "oxc-resolver@npm:11.24.2" + dependencies: + "@oxc-resolver/binding-android-arm-eabi": "npm:11.24.2" + "@oxc-resolver/binding-android-arm64": "npm:11.24.2" + "@oxc-resolver/binding-darwin-arm64": "npm:11.24.2" + "@oxc-resolver/binding-darwin-x64": "npm:11.24.2" + "@oxc-resolver/binding-freebsd-x64": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-arm64-musl": "npm:11.24.2" + "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.24.2" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-x64-gnu": "npm:11.24.2" + "@oxc-resolver/binding-linux-x64-musl": "npm:11.24.2" + "@oxc-resolver/binding-openharmony-arm64": "npm:11.24.2" + "@oxc-resolver/binding-wasm32-wasi": "npm:11.24.2" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.24.2" + "@oxc-resolver/binding-win32-x64-msvc": "npm:11.24.2" + dependenciesMeta: + "@oxc-resolver/binding-android-arm-eabi": + optional: true + "@oxc-resolver/binding-android-arm64": + optional: true + "@oxc-resolver/binding-darwin-arm64": + optional: true + "@oxc-resolver/binding-darwin-x64": + optional: true + "@oxc-resolver/binding-freebsd-x64": + optional: true + "@oxc-resolver/binding-linux-arm-gnueabihf": + optional: true + "@oxc-resolver/binding-linux-arm-musleabihf": + optional: true + "@oxc-resolver/binding-linux-arm64-gnu": + optional: true + "@oxc-resolver/binding-linux-arm64-musl": + optional: true + "@oxc-resolver/binding-linux-ppc64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-musl": + optional: true + "@oxc-resolver/binding-linux-s390x-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-musl": + optional: true + "@oxc-resolver/binding-openharmony-arm64": + optional: true + "@oxc-resolver/binding-wasm32-wasi": + optional: true + "@oxc-resolver/binding-win32-arm64-msvc": + optional: true + "@oxc-resolver/binding-win32-x64-msvc": + optional: true + checksum: 10/42e10840125f4b942a7cbcad757f1d882eb737cd6c96c13128eade6613c56a24727075e069b3dff145b3cd36e21fe5e4a1de19b5da09466864fa63d35aae71f3 + languageName: node + linkType: hard + +"oxlint-plugin-react-doctor@npm:0.9.13": + version: 0.9.13 + resolution: "oxlint-plugin-react-doctor@npm:0.9.13" + dependencies: + "@shaderfrog/glsl-parser": "npm:^7.0.1" + "@typescript-eslint/types": "npm:^8.59.3" + eslint-scope: "npm:^9.1.2" + eslint-visitor-keys: "npm:^5.0.1" + lightningcss: "npm:^1.33.0" + oxc-parser: "npm:^0.146.0" + checksum: 10/55b85c506c8c39ca2bca7360aea17e3ce30ece7958de7f2f5e22a94f4aef81c39061543217799fb0e1a150fece49543ae5b37f2c1252c226479950840802b77b + languageName: node + linkType: hard + +"oxlint@npm:>=1.79.0 <1.80.0": + version: 1.79.0 + resolution: "oxlint@npm:1.79.0" + dependencies: + "@oxlint/binding-android-arm-eabi": "npm:1.79.0" + "@oxlint/binding-android-arm64": "npm:1.79.0" + "@oxlint/binding-darwin-arm64": "npm:1.79.0" + "@oxlint/binding-darwin-x64": "npm:1.79.0" + "@oxlint/binding-freebsd-x64": "npm:1.79.0" + "@oxlint/binding-linux-arm-gnueabihf": "npm:1.79.0" + "@oxlint/binding-linux-arm-musleabihf": "npm:1.79.0" + "@oxlint/binding-linux-arm64-gnu": "npm:1.79.0" + "@oxlint/binding-linux-arm64-musl": "npm:1.79.0" + "@oxlint/binding-linux-ppc64-gnu": "npm:1.79.0" + "@oxlint/binding-linux-riscv64-gnu": "npm:1.79.0" + "@oxlint/binding-linux-riscv64-musl": "npm:1.79.0" + "@oxlint/binding-linux-s390x-gnu": "npm:1.79.0" + "@oxlint/binding-linux-x64-gnu": "npm:1.79.0" + "@oxlint/binding-linux-x64-musl": "npm:1.79.0" + "@oxlint/binding-openharmony-arm64": "npm:1.79.0" + "@oxlint/binding-win32-arm64-msvc": "npm:1.79.0" + "@oxlint/binding-win32-ia32-msvc": "npm:1.79.0" + "@oxlint/binding-win32-x64-msvc": "npm:1.79.0" + peerDependencies: + oxlint-tsgolint: ">=7.0.2001" + vite-plus: "*" + dependenciesMeta: + "@oxlint/binding-android-arm-eabi": + optional: true + "@oxlint/binding-android-arm64": + optional: true + "@oxlint/binding-darwin-arm64": + optional: true + "@oxlint/binding-darwin-x64": + optional: true + "@oxlint/binding-freebsd-x64": + optional: true + "@oxlint/binding-linux-arm-gnueabihf": + optional: true + "@oxlint/binding-linux-arm-musleabihf": + optional: true + "@oxlint/binding-linux-arm64-gnu": + optional: true + "@oxlint/binding-linux-arm64-musl": + optional: true + "@oxlint/binding-linux-ppc64-gnu": + optional: true + "@oxlint/binding-linux-riscv64-gnu": + optional: true + "@oxlint/binding-linux-riscv64-musl": + optional: true + "@oxlint/binding-linux-s390x-gnu": + optional: true + "@oxlint/binding-linux-x64-gnu": + optional: true + "@oxlint/binding-linux-x64-musl": + optional: true + "@oxlint/binding-openharmony-arm64": + optional: true + "@oxlint/binding-win32-arm64-msvc": + optional: true + "@oxlint/binding-win32-ia32-msvc": + optional: true + "@oxlint/binding-win32-x64-msvc": + optional: true + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true + bin: + oxlint: bin/oxlint + checksum: 10/003b8ea9af0365f14bfbf9579fa1edff25bd7c37f73e43f3e5e2e35b0763a7eaa72086519df873183ad7358fe2c9efe6dade3c5ac31291a1164b47eeb5271611 + languageName: node + linkType: hard + "p-limit@npm:^1.1.0": version: 1.3.0 resolution: "p-limit@npm:1.3.0" @@ -2959,6 +5427,22 @@ __metadata: languageName: node linkType: hard +"package-manager-detector@npm:^1.6.0": + version: 1.8.0 + resolution: "package-manager-detector@npm:1.8.0" + checksum: 10/5d79b8bf3d0d3da312ec08749c74a3b7e4d4139c259fe3561538772c65ece8ff733e002c67a4324b5c505d2ac625c121b94cf3d5135e1b4e43fed5bced148763 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10/6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + languageName: node + linkType: hard + "parse-json@npm:^4.0.0": version: 4.0.0 resolution: "parse-json@npm:4.0.0" @@ -3089,7 +5573,16 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.5.26": +"playwright-core@npm:^1.62.1": + version: 1.63.0 + resolution: "playwright-core@npm:1.63.0" + bin: + playwright-core: cli.js + checksum: 10/d0f7c70786f5e08aa7553a77ba28c07427086e323ae8c4126a647debd8181966dc11d6f8fe1462f2a776ad60c95451b08f01fbee17b11e69a5bd9a2070fe75a6 + languageName: node + linkType: hard + +"postcss@npm:^8.5.26, postcss@npm:^8.5.3": version: 8.5.28 resolution: "postcss@npm:8.5.28" dependencies: @@ -3100,6 +5593,18 @@ __metadata: languageName: node linkType: hard +"preact@npm:^10.29.1": + version: 10.29.8 + resolution: "preact@npm:10.29.8" + peerDependencies: + preact-render-to-string: ">=5" + peerDependenciesMeta: + preact-render-to-string: + optional: true + checksum: 10/fa25864388dd940f48d6607c0ff0ad884265d0ed6d4b724c479ebc2e29f770a5e1786845aa30bebb0680c4809e088d455b7351d1e504b28caa62249fd833eabb + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -3140,6 +5645,16 @@ __metadata: languageName: node linkType: hard +"prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10/c52536521a4d21eff4f2f2aa4572446cad227464066365a7167e52ccf8d9839c099f9afec1aba0eed3d5a2514b3e79e0b3e7a1dc326b9acde6b75d27ed74b1a9 + languageName: node + linkType: hard + "punycode@npm:^2.1.0": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -3147,6 +5662,13 @@ __metadata: languageName: node linkType: hard +"pure-parse@npm:^1.0.3": + version: 1.0.3 + resolution: "pure-parse@npm:1.0.3" + checksum: 10/16358235032eaae864496da4baf4f763284b132e72d37f97409eced9d5ea48e5cba786fd71cb8724bb8d3b4b01fb5adfc7e029bdb0a153f8bc2c69757d73e50f + languageName: node + linkType: hard + "q@npm:^1.5.1": version: 1.5.1 resolution: "q@npm:1.5.1" @@ -3170,6 +5692,13 @@ __metadata: languageName: node linkType: hard +"queue-microtask@npm:^1.2.3": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b + languageName: node + linkType: hard + "quick-lru@npm:^4.0.1": version: 4.0.1 resolution: "quick-lru@npm:4.0.1" @@ -3177,6 +5706,121 @@ __metadata: languageName: node linkType: hard +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10/4efd1ad3d88db77c2d16588dc54c2b52fd2461e70fe5724611f38d283857094fe09040fa2c9776366803c3152cf133171b452ef717592b65631ce5dc3a2bdafc + languageName: node + linkType: hard + +"react-doctor@npm:latest": + version: 0.9.13 + resolution: "react-doctor@npm:0.9.13" + dependencies: + "@astrojs/compiler": "npm:^4.0.0" + "@sentry/node": "npm:^10.54.0" + agent-install: "npm:0.0.5" + bippy: "npm:^0.6.1" + conf: "npm:^15.1.0" + confbox: "npm:^0.2.4" + eslint-plugin-react-hooks: "npm:^7.1.1" + is-unicode-supported: "npm:^2.1.0" + jiti: "npm:^2.7.0" + magicast: "npm:^0.5.3" + oxc-parser: "npm:^0.146.0" + oxc-resolver: "npm:^11.24.2" + oxlint: "npm:>=1.79.0 <1.80.0" + oxlint-plugin-react-doctor: "npm:0.9.13" + playwright-core: "npm:^1.62.1" + prompts: "npm:^2.4.2" + typescript: "npm:>=5.0.4 <6" + yaml: "npm:^2.9.0" + yoga-layout: "npm:~3.2.1" + bin: + react-doctor: bin/react-doctor.js + checksum: 10/31b08d65a5d3b50922c168d252a3209d461011cabfec785201a6fd2d7b94f9cf7ef8a533fe6bbf7e6bfe8b34ae6ebce5155c8f99a92c23a33952547c3e406bea + languageName: node + linkType: hard + +"react-dom@npm:^18.3.1": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10/3f4b73a3aa083091173b29812b10394dd06f4ac06aff410b74702cfb3aa29d7b0ced208aab92d5272919b612e5cda21aeb1d54191848cf6e46e9e354f3541f81 + languageName: node + linkType: hard + +"react-grab@npm:latest": + version: 0.2.0 + resolution: "react-grab@npm:0.2.0" + dependencies: + "@react-grab/cli": "npm:0.2.0" + bippy: "npm:^0.6.1" + peerDependencies: + react: ">=17.0.0" + peerDependenciesMeta: + react: + optional: true + bin: + react-grab: bin/cli.js + checksum: 10/e7fb17cb6f447f05eae97b92225c97c0b4166c1390f99077dcaa64318dacb43352072406ce494dfc4c33e4e6417c84661491b297a6304ac4b6a956b81d664a67 + languageName: node + linkType: hard + +"react-refresh@npm:^0.17.0": + version: 0.17.0 + resolution: "react-refresh@npm:0.17.0" + checksum: 10/5e94f07d43bb1cfdc9b0c6e0c8c73e754005489950dcff1edb53aa8451d1d69a47b740b195c7c80fb4eb511c56a3585dc55eddd83f0097fb5e015116a1460467 + languageName: node + linkType: hard + +"react-scan@npm:^0.5.7": + version: 0.5.7 + resolution: "react-scan@npm:0.5.7" + dependencies: + "@babel/core": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" + "@preact/signals": "npm:^2.9.0" + "@rollup/pluginutils": "npm:^5.3.0" + bippy: "npm:^0.5.39" + commander: "npm:^14.0.0" + picocolors: "npm:^1.1.1" + preact: "npm:^10.29.1" + prompts: "npm:^2.4.2" + react-doctor: "npm:latest" + react-grab: "npm:latest" + unplugin: "npm:^3.0.0" + peerDependencies: + esbuild: ">=0.18.0" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + dependenciesMeta: + unplugin: + optional: true + peerDependenciesMeta: + esbuild: + optional: true + bin: + react-scan: bin/cli.js + checksum: 10/4e895603a4dffb699cfaa0a6bf7fee4aa6ddfac161f83456c64507d5b746064f8a7ddf0ab685b8ce2788a9c8112660dc1cac0738a1dd6e5a6052bb1fd3258faa + languageName: node + linkType: hard + +"react@npm:^18.3.1": + version: 18.3.1 + resolution: "react@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10/261137d3f3993eaa2368a83110466fc0e558bc2c7f7ae7ca52d94f03aac945f45146bd85e5f481044db1758a1dbb57879e2fcdd33924e2dde1bdc550ce73f7bf + languageName: node + linkType: hard + "read-pkg-up@npm:^3.0.0": version: 3.0.0 resolution: "read-pkg-up@npm:3.0.0" @@ -3264,6 +5908,30 @@ __metadata: languageName: node linkType: hard +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10/839a3a890102a658f4cb3e7b2aa13a1f80a3a976b512020c3d1efc418491c48a886b6e481ea56afc6c4cb5eef678f23b2a4e70575e7534eccadf5e30ed2e56eb + languageName: node + linkType: hard + +"require-in-the-middle@npm:^8.0.0": + version: 8.0.1 + resolution: "require-in-the-middle@npm:8.0.1" + dependencies: + debug: "npm:^4.3.5" + module-details-from-path: "npm:^1.0.3" + checksum: 10/4ce98c681489d383a0ffccb79b06df7a1dffbb31c13f3b713ae2c5a1967597a259e67612507ef69748d83d531bba7c9bb0477211771fe78c685e1d52b1a44b64 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10/91eb76ce83621eea7bbdd9b55121a5c1c4a39e54a9ce04a9ad4517f102f8b5131c2cf07622c738a6683991bf54f2ce178f5a42803ecbd527ddc5105f362cc9e3 + languageName: node + linkType: hard + "resolve@npm:^1.10.0": version: 1.22.0 resolution: "resolve@npm:1.22.0" @@ -3290,6 +5958,16 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^5.0.0": + version: 5.1.0 + resolution: "restore-cursor@npm:5.1.0" + dependencies: + onetime: "npm:^7.0.0" + signal-exit: "npm:^4.1.0" + checksum: 10/838dd54e458d89cfbc1a923b343c1b0f170a04100b4ce1733e97531842d7b440463967e521216e8ab6c6f8e89df877acc7b7f4c18ec76e99fb9bf5a60d358d2c + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -3366,20 +6044,113 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10/7eb5b48f2ed9a594a4795677d5a150faa7eb54483b2318b568dc0c4fc94092a6cce5be02c7288a0500a156282f5276d5688bce7259299568d1053b2150ef374a +"rollup@npm:^4.34.9": + version: 4.63.1 + resolution: "rollup@npm:4.63.1" + dependencies: + "@napi-rs/lzma-linux-x64-gnu": "npm:1.5.1" + "@rollup/rollup-android-arm-eabi": "npm:4.63.1" + "@rollup/rollup-android-arm64": "npm:4.63.1" + "@rollup/rollup-darwin-arm64": "npm:4.63.1" + "@rollup/rollup-darwin-x64": "npm:4.63.1" + "@rollup/rollup-freebsd-arm64": "npm:4.63.1" + "@rollup/rollup-freebsd-x64": "npm:4.63.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.63.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.63.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.63.1" + "@rollup/rollup-linux-loong64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-loong64-musl": "npm:4.63.1" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-ppc64-musl": "npm:4.63.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.63.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.63.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.63.1" + "@rollup/rollup-linux-x64-musl": "npm:4.63.1" + "@rollup/rollup-openbsd-x64": "npm:4.63.1" + "@rollup/rollup-openharmony-arm64": "npm:4.63.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.63.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.63.1" + "@rollup/rollup-win32-x64-gnu": "npm:4.63.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.63.1" + "@types/estree": "npm:1.0.9" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@napi-rs/lzma-linux-x64-gnu": + optional: true + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true + "@rollup/rollup-linux-ppc64-gnu": + optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-openbsd-x64": + optional: true + "@rollup/rollup-openharmony-arm64": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10/bee523dab27406b9bc85869e134638c275148dd79e338fea1f22c5ab96b2751d21b0a69d6130669039c7b4209189d1c3b3d3d040b5024c668a2b173f2ca16e6e languageName: node linkType: hard -"safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 languageName: node linkType: hard +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10/7eb5b48f2ed9a594a4795677d5a150faa7eb54483b2318b568dc0c4fc94092a6cce5be02c7288a0500a156282f5276d5688bce7259299568d1053b2150ef374a + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -3387,6 +6158,15 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10/e8d68b89d18d5b028223edf090092846868a765a591944760942b77ea1f69b17235f7e956696efbb62c8130ab90af7e0949bfb8eba7896335507317236966bc9 + languageName: node + linkType: hard + "semver@npm:2 || 3 || 4 || 5": version: 5.7.1 resolution: "semver@npm:5.7.1" @@ -3405,6 +6185,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10/1ef3a85bd02a760c6ef76a45b8c1ce18226de40831e02a00bad78485390b98b6ccaa31046245fc63bba4a47a6a592b6c7eedc65cc47126e60489f9cc1ce3ed7e + languageName: node + linkType: hard + "semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" @@ -3416,7 +6205,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.7.3": +"semver@npm:^7.7.2, semver@npm:^7.7.3": version: 7.8.5 resolution: "semver@npm:7.8.5" bin: @@ -3462,6 +6251,35 @@ __metadata: languageName: node linkType: hard +"signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f + languageName: node + linkType: hard + +"simple-peer@npm:^9.11.0": + version: 9.11.1 + resolution: "simple-peer@npm:9.11.1" + dependencies: + buffer: "npm:^6.0.3" + debug: "npm:^4.3.2" + err-code: "npm:^3.0.1" + get-browser-rtc: "npm:^1.1.0" + queue-microtask: "npm:^1.2.3" + randombytes: "npm:^2.1.0" + readable-stream: "npm:^3.6.0" + checksum: 10/c2280df41fbc2d989ccda00a908f45e36e1b5c5acdba6b116f242663fdc04746d01b923a03a37916d9b6647cfb41ad6f42d974bb7bfa829dbd202f1dbfc3cc28 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10/aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 + languageName: node + linkType: hard + "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -3603,6 +6421,13 @@ __metadata: languageName: node linkType: hard +"stdin-discarder@npm:^0.3.2": + version: 0.3.2 + resolution: "stdin-discarder@npm:0.3.2" + checksum: 10/63c6912146efe079fd048ecc02e5c3bf5aaa4cb268ad4e365603d845444dd3048daa45868c2690c5fe2d020ba47273c8a20df684a8c424fb4bd7f359c795c2f5 + languageName: node + linkType: hard + "string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -3614,6 +6439,16 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^8.1.0": + version: 8.2.2 + resolution: "string-width@npm:8.2.2" + dependencies: + get-east-asian-width: "npm:^1.5.0" + strip-ansi: "npm:^7.1.2" + checksum: 10/18da8c8e5247bedd8a379272b9fccebd16ec22132486344a4a5bf3bd2acf4b12fda9b2be9192eba59c5dc1484f2d36dbfb5fd5e66950fe7167fa00876078196f + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -3648,6 +6483,15 @@ __metadata: languageName: node linkType: hard +"strip-ansi@npm:^7.1.2": + version: 7.2.0 + resolution: "strip-ansi@npm:7.2.0" + dependencies: + ansi-regex: "npm:^6.2.2" + checksum: 10/96da3bc6d73cfba1218625a3d66cf7d37a69bf0920d8735b28f9eeaafcdb6c1fe8440e1ae9eb1ba0ca355dbe8702da872e105e2e939fa93e7851b3cb5dd7d316 + languageName: node + linkType: hard + "strip-bom@npm:^3.0.0": version: 3.0.0 resolution: "strip-bom@npm:3.0.0" @@ -3664,6 +6508,29 @@ __metadata: languageName: node linkType: hard +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 + languageName: node + linkType: hard + +"stubborn-fs@npm:^2.0.0": + version: 2.0.0 + resolution: "stubborn-fs@npm:2.0.0" + dependencies: + stubborn-utils: "npm:^1.0.1" + checksum: 10/6fe33bc45288d358a4522428e7de169e9db327d4c904201f1295896972a0ab81b76b7bd6286ff7b93edf43b9c4e94e2bfc04e23fac8b4cb739e486d81c40fbf1 + languageName: node + linkType: hard + +"stubborn-utils@npm:^1.0.1": + version: 1.0.2 + resolution: "stubborn-utils@npm:1.0.2" + checksum: 10/96f60f3f82602c40b3e79e7c80d82f345a5258f43f32a567f906bd7cbd4606a88b6e87d161167dc89818ee60f4b6d3c2a2c7f013141d93e0cf67eb5c0569146c + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -3673,6 +6540,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10/c8bb7afd564e3b26b50ca6ee47572c217526a1389fe018d00345856d4a9b08ffbd61fadaf283a87368d94c3dcdb8f5ffe2650a5a65863e21ad2730ca0f05210a + languageName: node + linkType: hard + "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -3680,6 +6556,13 @@ __metadata: languageName: node linkType: hard +"tagged-tag@npm:^1.0.0": + version: 1.0.0 + resolution: "tagged-tag@npm:1.0.0" + checksum: 10/e37653df3e495daa7ea7790cb161b810b00075bba2e4d6c93fb06a709e747e3ae9da11a120d0489833203926511b39e038a2affbd9d279cfb7a2f3fcccd30b5d + languageName: node + linkType: hard + "tar@npm:^6.0.2, tar@npm:^6.1.2": version: 6.1.11 resolution: "tar@npm:6.1.11" @@ -3741,7 +6624,14 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.17": +"tinyexec@npm:^1.1.2": + version: 1.3.1 + resolution: "tinyexec@npm:1.3.1" + checksum: 10/9c7a8ce2633f76c776d9ff663531c7b34d605f41909c2f97a27397e8c12bcaf721dae7680b6683232ffe7a6d465090be9926d5ffd00b5d7be9336a43b45289b1 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.17": version: 0.2.17 resolution: "tinyglobby@npm:0.2.17" dependencies: @@ -3767,6 +6657,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.4.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -3797,6 +6694,15 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^5.0.0": + version: 5.9.0 + resolution: "type-fest@npm:5.9.0" + dependencies: + tagged-tag: "npm:^1.0.0" + checksum: 10/915bee435848a8c36a01135afd239ca337df31f605da60684f053eb395846bfedd3d0c8cb6b00b14788814fb9c34ddb6e00ed1f6d06c4c2547f70475b76c1358 + languageName: node + linkType: hard + "typedarray@npm:^0.0.6": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -3819,7 +6725,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.9.3": +"typescript@npm:>=5.0.4 <6, typescript@npm:^5.9.3": version: 5.9.3 resolution: "typescript@npm:5.9.3" bin: @@ -3829,7 +6735,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.9.3#optional!builtin": +"typescript@patch:typescript@npm%3A>=5.0.4 <6#optional!builtin, typescript@patch:typescript@npm%3A^5.9.3#optional!builtin": version: 5.9.3 resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: @@ -3855,6 +6761,13 @@ __metadata: languageName: node linkType: hard +"uint8array-extras@npm:^1.5.0": + version: 1.5.0 + resolution: "uint8array-extras@npm:1.5.0" + checksum: 10/94fd56a2dda6a7445f5176f301f491814c87757d38e4b3c932299ab54d69ec504830e5d5c18ffa20cf694a69a210315be8b4a2c9952c6334da817ea2d2e1dce0 + languageName: node + linkType: hard + "unique-filename@npm:^1.1.1": version: 1.1.1 resolution: "unique-filename@npm:1.1.1" @@ -3929,6 +6842,60 @@ __metadata: languageName: node linkType: hard +"unplugin@npm:^3.0.0": + version: 3.3.0 + resolution: "unplugin@npm:3.3.0" + dependencies: + "@jridgewell/remapping": "npm:^2.3.5" + picomatch: "npm:^4.0.4" + webpack-virtual-modules: "npm:^0.6.2" + peerDependencies: + "@farmfe/core": "*" + "@rspack/core": "*" + bun-types-no-globals: "*" + esbuild: "*" + rolldown: "*" + rollup: "*" + unloader: "*" + vite: "*" + webpack: "*" + peerDependenciesMeta: + "@farmfe/core": + optional: true + "@rspack/core": + optional: true + bun-types-no-globals: + optional: true + esbuild: + optional: true + rolldown: + optional: true + rollup: + optional: true + unloader: + optional: true + vite: + optional: true + webpack: + optional: true + checksum: 10/162aa991dcc464c124bee401c30e35fb579cccdba0a7a6c0b5f8c615532e08059a256d9d33450373f4b804508a4c01bfc8bd07a2e2143e31ff51b911dbf57952 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.3.2": + version: 1.3.2 + resolution: "update-browserslist-db@npm:1.3.2" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10/ca883e9d0fca1b5bfb9d5e7d9468c5ddd1d66ea827566f474875171381ad33b84aa555c138094fb2c6297c680e06482ad8b4c1ad931e8bfab9a4cf36ea9cf006 + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -3975,6 +6942,61 @@ __metadata: languageName: node linkType: hard +"vite@npm:^6.0.5": + version: 6.4.3 + resolution: "vite@npm:6.4.3" + dependencies: + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.34.9" + tinyglobby: "npm:^0.2.13" + peerDependencies: + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10/d43ffaf4f165720bcc825c7c515e9c859bed748e0c62b248fca24ca3f949c8b4203dae7df6c613cd8e357579f1c71863d2d09cbae3b454c73b9dfc8fb07f7e8f + languageName: node + linkType: hard + "vite@npm:^8.2.2": version: 8.2.2 resolution: "vite@npm:8.2.2" @@ -4107,6 +7129,13 @@ __metadata: languageName: node linkType: hard +"when-exit@npm:^2.1.4": + version: 2.1.5 + resolution: "when-exit@npm:2.1.5" + checksum: 10/94f0ca73dcbaac51e61bcf178268e82bd5b29c3ed45fc154807893d803b220bb15e234cf18b5f392c88e87acf33f0b72dc27c265f8cfdf371121c30d49686966 + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -4171,6 +7200,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.14.2": + version: 8.21.3 + resolution: "ws@npm:8.21.3" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/8856922c26fd2d106931c16310d9a0bc2d6d37ed8771352bfa0d2a36df0ab5cb1f6528c6db8213f3333cf4ce93925e56f13604df0454cb0d4289fef922bebcdd + languageName: node + linkType: hard + "xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -4178,6 +7222,36 @@ __metadata: languageName: node linkType: hard +"y-protocols@npm:^1.0.6": + version: 1.0.7 + resolution: "y-protocols@npm:1.0.7" + dependencies: + lib0: "npm:^0.2.85" + peerDependencies: + yjs: ^13.0.0 + checksum: 10/2c30352544e7af1026051f12158c19a077cd2d4a0c598a7f69b3a0b6841225ef8d0119b4c5edb10fc7ea0e8e9ee5642b8a2082109295d3f881a300fd9080060b + languageName: node + linkType: hard + +"y-webrtc@npm:^10.3.0": + version: 10.3.0 + resolution: "y-webrtc@npm:10.3.0" + dependencies: + lib0: "npm:^0.2.42" + simple-peer: "npm:^9.11.0" + ws: "npm:^8.14.2" + y-protocols: "npm:^1.0.6" + peerDependencies: + yjs: ^13.6.8 + dependenciesMeta: + ws: + optional: true + bin: + y-webrtc-signaling: bin/server.js + checksum: 10/eff1eb7e46e3db2ccf959f8dbe2e6dcf28c6bdb976a9efa2f272f14ebf856565cc4fa1a4e57e248307bf4514d43405f1d3a3c0ffc938c528b3d94e1e706944aa + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -4185,6 +7259,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10/9af0a4329c3c6b779ac4736c69fae4190ac03029fa27c1aef4e6bcc92119b73dea6fe5db5fe881fb0ce2a0e9539a42cdf60c7c21eda04d1a0b8c082e38509efb + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -4192,6 +7273,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.8.3, yaml@npm:^2.9.0": + version: 2.9.0 + resolution: "yaml@npm:2.9.0" + bin: + yaml: bin.mjs + checksum: 10/9a95e8e08651c3d292ab6a5befeb5f57b76801caa097c75bb45c9a70ce19c1b11f57e87a6ef84a579ea070ed2c2c8ac541c88c0ae684d544d5f42c7e77d11b7b + languageName: node + linkType: hard + "yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" @@ -4214,7 +7304,7 @@ __metadata: languageName: node linkType: hard -"yjs@npm:^13.5.35": +"yjs@npm:^13.5.35, yjs@npm:^13.6.23": version: 13.6.32 resolution: "yjs@npm:13.6.32" dependencies: @@ -4229,3 +7319,33 @@ __metadata: checksum: 10/f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 languageName: node linkType: hard + +"yoctocolors@npm:^2.1.1": + version: 2.2.0 + resolution: "yoctocolors@npm:2.2.0" + checksum: 10/8b2761daad30ca3b5b717fc12d9a30aea23f8d757d355b29b6b53c3a570de236fd85b17040c5196b18573fe38a4a981f48f111efa9a29c743e0878e26137b2b1 + languageName: node + linkType: hard + +"yoga-layout@npm:~3.2.1": + version: 3.2.1 + resolution: "yoga-layout@npm:3.2.1" + checksum: 10/60fdd6cbcf7abf0ed9ed5a2391543eabcdf9054ee2f2212a79d624564d3545710b1f2a2acde092d7270dd35b6230a5bd1596521c0a270d995fec9542a7fb6737 + languageName: node + linkType: hard + +"zod-validation-error@npm:^3.5.0 || ^4.0.0": + version: 4.0.2 + resolution: "zod-validation-error@npm:4.0.2" + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + checksum: 10/5e35ca8ebb4602dcb526e122d7e9fca695c4a479bd97535f3400a732d49160f24f7213a9ed64986fc9dc3a2e8a6c4e1241ec0c4d8a4e3e69ea91a0328ded2192 + languageName: node + linkType: hard + +"zod@npm:^3.25.0 || ^4.0.0": + version: 4.6.1 + resolution: "zod@npm:4.6.1" + checksum: 10/061c51d941fea3ec43055d908e6587bdf42556228b5ccb40227f5eca3050c6c7d987f7e7de8ff3720ecf764448af323cc876cf64501f8c6fb681199273744674 + languageName: node + linkType: hard