From 66248c47367bedc5a5c5caba2f4de1e614dda392 Mon Sep 17 00:00:00 2001 From: Jonathan van Rij Date: Tue, 16 Jun 2026 06:18:42 +0200 Subject: [PATCH] update --- .github/workflows/ci.yml | 20 + .gitignore | 1 + .helder/config.default.json | 26 + .helder/theme.css | 14 + .prettierrc.json | 7 + CLAUDE.md | 10 +- OVERNIGHT.md | 75 + README.md | 54 +- build/icon.png | Bin 0 -> 268144 bytes electron-builder.yml | 26 + electron.vite.config.ts | 8 +- eslint.config.js | 40 + package-lock.json | 5441 ++++++++++++++++++++++++++- package.json | 20 +- src/main/config.ts | 10 +- src/main/fs-service.ts | 101 +- src/main/git-service.ts | 20 +- src/main/index.ts | 18 +- src/main/search-service.ts | 39 +- src/preload/index.ts | 5 + src/renderer/src/App.tsx | 80 +- src/renderer/src/editor.tsx | 8 +- src/renderer/src/env.d.ts | 3 + src/renderer/src/error-boundary.tsx | 41 + src/renderer/src/fuzzy.ts | 12 + src/renderer/src/main.tsx | 9 +- src/renderer/src/overlays.tsx | 16 +- src/renderer/src/persist.ts | 37 + src/renderer/src/types.ts | 10 +- test/app-interactions.test.tsx | 89 + test/app.test.tsx | 93 + test/config.test.ts | 54 + test/diff.test.ts | 71 + test/editor-modes.test.tsx | 57 + test/fs.test.ts | 78 + test/fuzzy.test.ts | 25 + test/git.test.ts | 105 + test/highlight.test.ts | 60 + vitest.config.ts | 10 + 39 files changed, 6699 insertions(+), 94 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .helder/config.default.json create mode 100644 .helder/theme.css create mode 100644 .prettierrc.json create mode 100644 OVERNIGHT.md create mode 100644 build/icon.png create mode 100644 electron-builder.yml create mode 100644 eslint.config.js create mode 100644 src/renderer/src/error-boundary.tsx create mode 100644 src/renderer/src/fuzzy.ts create mode 100644 src/renderer/src/persist.ts create mode 100644 test/app-interactions.test.tsx create mode 100644 test/app.test.tsx create mode 100644 test/config.test.ts create mode 100644 test/diff.test.ts create mode 100644 test/editor-modes.test.tsx create mode 100644 test/fs.test.ts create mode 100644 test/fuzzy.test.ts create mode 100644 test/git.test.ts create mode 100644 test/highlight.test.ts create mode 100644 vitest.config.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..bee554a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,20 @@ +name: CI + +on: + push: + pull_request: + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + - run: npm ci + - run: npm run typecheck + - run: npm run lint + - run: npm test + - run: npm run build diff --git a/.gitignore b/.gitignore index b08cedb..3a34258 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules/ out/ dist/ +coverage/ .DS_Store *.log *.tsbuildinfo diff --git a/.helder/config.default.json b/.helder/config.default.json new file mode 100644 index 0000000..3a7da5e --- /dev/null +++ b/.helder/config.default.json @@ -0,0 +1,26 @@ +{ + "ai": { + "command": "claude", + "autoLaunch": true + }, + "editor": { + "autoSave": false, + "tabSize": 4 + }, + "git": { + "confirmDiscard": true, + "confirmStage": false, + "confirmUnstage": false, + "defaultDiffMode": "diff" + }, + "files": { + "exclude": [], + "followGitignore": true + }, + "terminal": { + "shell": null + }, + "session": { + "restoreOnLaunch": true + } +} diff --git a/.helder/theme.css b/.helder/theme.css new file mode 100644 index 0000000..8bac21d --- /dev/null +++ b/.helder/theme.css @@ -0,0 +1,14 @@ +/* Helder theme — custom CSS applied OVER the built-in dark theme. + * This file is created once and never overwritten; edit it freely. + * The code font and font size live here (not in config.json). Uncomment and + * tweak any variable below; you can also override any --token from the built-in + * theme (see the design tokens in the app's styles). */ +:root { + /* Code surfaces (editor + terminals) */ + /* --code-font: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; */ + /* --code-size: 13px; */ /* editor font size */ + /* --term-size: 12.5px; */ /* terminal font size */ + + /* Example accent override: */ + /* --accent: #4d8dff; */ +} diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..d131ee0 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,7 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "printWidth": 140, + "tabWidth": 2 +} diff --git a/CLAUDE.md b/CLAUDE.md index 1e89136..4be162b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,8 +6,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co **Phase 1 is scaffolded.** An `electron-vite` + React 18 + TypeScript app now lives at the repo root (`src/main`, `src/preload`, `src/renderer`). The prototype has been ported faithfully and renders against the **mock data** — full UI, git panel, four diff modes + Split, search, and the *simulated* terminals are all working. JetBrains Mono is bundled locally via `@fontsource/jetbrains-mono`; Prism is wired with the correct `markup-templating`→`php` load order; the renderer↔main clipboard bridge is in place (`src/preload/index.ts`). -**Phase 2 (real integrations) — essentially complete.** All over IPC through the preload bridge (`src/preload/index.ts`): -- **Filesystem** — tree, in-memory content index, `chokidar` watch (`src/main/fs-service.ts`). +**Phase 2 (real integrations) — complete; DESIGN.md fully implemented.** The app is feature-complete against the functional spec (the only intentional exception is the separate Go-to-File overlay — `⌘P` aliases the unified search instead, per the resolved decision). Editor is writable (save · autosave · dirty tabs · discard); session restore brings back open tabs/active/view modes; close-dirty prompts Save/Don't-Save/Cancel. There's a vitest suite (`npm test`, 51 tests) + ESLint + electron-builder packaging. All over IPC through the preload bridge (`src/preload/index.ts`): +- **Filesystem** — tree + in-memory content index, `chokidar` watch (`src/main/fs-service.ts`). The tree/index/search share one source of truth: `rg --files` (honors gitignore + `files.exclude`, includes dotfiles), with a recursive-walk fallback when ripgrep is unavailable. - **Git** — `simple-git`: status→A/M/D/R, the four diff views from HEAD-vs-worktree pairs, stage/unstage/commit/discard (`src/main/git-service.ts`). - **Terminals** — real PTYs via `node-pty` (`src/main/pty-service.ts`) rendered with `@xterm/xterm` (`src/renderer/src/terminals.tsx`). Agent pane is a shell that auto-launches `claude`; bottom pane is a plain shell. Pass-on-to-Agent writes bracketed paste (`\x1b[200~ … \x1b[201~`) to the agent PTY. node-pty is native — `npm run rebuild` (also a `postinstall`) rebuilds it for Electron; it's N-API so the binary is portable. @@ -45,6 +45,7 @@ A dark-only (no light mode, no theme toggle) Electron desktop code workbench for - **Renderer never touches the filesystem, git, or PTYs directly.** All FS (`fs` + `chokidar`), git (`git` / `simple-git`), search (`rg` + fuzzy), terminals (`node-pty` + `xterm.js`), and clipboard go through the main process via IPC / the preload bridge. The prototype keeps all state in the top `App` component; in the real app, lift FS/git/terminal state into main and stream over IPC. - **Prism PHP load order:** `prism-php` requires `prism-markup-templating` to be loaded **first**, or every `Prism.highlight` call throws and silently falls back to plain text. +- **Preload must be CommonJS `index.cjs`** and `main` must load `../preload/index.cjs` (see `electron.vite.config.ts` preload `rollupOptions.output`). If they mismatch (or you let it build as `.mjs`), Electron silently loads no preload, `window.helder` is undefined, and the renderer silently falls back to mock data + the "terminal not available" message. Keep the filename and the `main` path in sync. - **Pass on to Agent uses bracketed paste.** Write inserts to the agent PTY wrapped in `\x1b[200~ … \x1b[201~` so the `claude` CLI treats it as *pasted, unsubmitted* input. Insert must never submit — it lands as a new line so the user can stack several references before sending. - **The four diff view modes (Original / Updated / Diff / Split) all derive from one original-text + updated-text pair per changed file.** The prototype computes this with an LCS line diff (`buildDiff()` in `design/src/data.js`); production should prefer real `git diff` output but keep the same four derived views and the same color language everywhere: **red = removed/changed-from, green = added/changed-to**, syntax highlighting on in all modes. - **The agent pane is just a terminal running the `claude` CLI** (`ai.command`, default `claude`, auto-launched when `ai.autoLaunch` is on). The bottom pane is a normal shell PTY. The prototype's simulated agent session (`agentSeed`, `runAgent`, `bootAgent` in `terminals.jsx`) exists only to show the visual style — keep the styling, drop the fakery. @@ -92,5 +93,8 @@ Canonical source is the `:root` block in `design_handoff_helder_workbench/design - `npm run build` — type-stripped production build into `out/` (`electron-vite build`). A frontend change is not done until this succeeds. - `npm run preview` / `npm start` — run the built app (`electron-vite preview`). - `npm run typecheck` — `tsc --noEmit` over the renderer (`tsconfig.web.json`) and main/preload (`tsconfig.node.json`). The build itself uses esbuild and does NOT type-check, so run this separately to catch type errors. +- `npm test` — vitest suite in `test/` (pure logic + node-side services: diff, fuzzy, highlight, config, fs, git). `npm run test:watch` for watch mode. +- `npm run lint` — ESLint (flat config in `eslint.config.js`). `.prettierrc.json` defines formatting (not auto-applied). +- `npm run pack` — unpacked app into `dist/` (electron-builder, unsigned). `npm run dist` / `dist:mac` for distributables. App icon comes from `build/icon.png`. Native `node-pty` + `rg` are asar-unpacked so they load when packaged. -No test/lint runner is wired up yet — add and document them here when introduced. +Keep all five green (typecheck · lint · test · build, and pack when touching main/packaging) when changing code. diff --git a/OVERNIGHT.md b/OVERNIGHT.md new file mode 100644 index 0000000..25bc5da --- /dev/null +++ b/OVERNIGHT.md @@ -0,0 +1,75 @@ +# Overnight work log + +Autonomous session continuing the Helder build while you slept. Everything kept +compiling (`npm run build`), type-checking (`npm run typecheck`) and — new this +session — passing tests (`npm run test`). Git left uncommitted for you to review. + +## Plan +1. Packaging (electron-builder) +2. Automated test suite (vitest) +3. Lint + format (eslint + prettier) +4. Robustness + feature polish +5. Developer README + +## Progress + +### 1. Packaging — done +- Added `electron-builder.yml` (appId `com.blijnder.helder`, mac dmg+zip / win nsis / linux AppImage, unsigned local build). +- Scripts: `npm run pack` (`--dir`), `npm run dist`, `npm run dist:mac`. +- Made the bundled ripgrep path asar-safe (redirect to `app.asar.unpacked`). +- `asarUnpack` for `node-pty` + `@vscode/ripgrep` so the native `.node` and `rg` binary load at runtime. +- Verified: `npm run pack` produced `dist/mac-arm64/Helder.app` (245 MB) with `pty.node` + `rg` correctly unpacked. Unsigned (ad-hoc), default icon. `dist/` gitignored. + +### 2. Automated tests — done (vitest) +- Added vitest + `vitest.config.ts`; scripts `npm run test` / `test:watch`. **38 tests, all green.** +- `test/diff.test.ts` — LCS diff: no-change, single change, new/deleted file, side marks, split alignment, trailing-newline. +- `test/fuzzy.test.ts` — subsequence matcher (extracted to `src/renderer/src/fuzzy.ts`). +- `test/highlight.test.ts` — ext/lang/label/icon/escape + Prism php highlighting (confirms markup-templating load order). +- `test/config.test.ts` — `.helder` defaults regen, sparse deep-merge, theme.css not overwritten. +- `test/fs.test.ts` — tree dirs-first + ignore dirs, content index skips binaries/node_modules, read/write round-trip. +- `test/git.test.ts` — `classify` unit + real temp-repo integration (modified/untracked/staged, HEAD-vs-worktree text). + +### 3. Lint + format — done +- ESLint flat config (`eslint.config.js`): typescript-eslint recommended + react-hooks, prettier-disables, sensible ignores. `npm run lint` = **0 errors** (8 intentional exhaustive-deps warnings). +- Fixed real `no-unused-expressions` violations (short-circuit/ternary-as-statement). +- `.prettierrc.json` added (style: no-semi, single-quote, width 140). Not auto-applied to avoid churn. + +### 4. Robustness + feature polish — done +- **Fixed a real `discard` bug**: `git checkout` can't remove a new/untracked file. `discard` now reverts modified→HEAD, restores deleted, and removes new/untracked (staged or not). Covered by new git tests. +- **Close-tab guard**: confirms before closing a tab with unsaved edits (× / middle-click / ⌘W), and clears its buffer on close. Reads fresh state via refs so the ⌘W path is correct too. +- **ErrorBoundary** around the whole app — a render fault shows a dark, recoverable panel (with the message + Reload) instead of a blank window. +- **`editor.tabSize` wired** into the editable buffer (textarea + highlighted pre) and the status bar — config now visibly does something. +- **Layout persistence**: the three column widths + the terminal split fraction persist across launches via localStorage (`persist.ts`), making the README's "positions persist across launches" claim true. + +### 5. Developer docs + icon — done +- `README.md` updated from "greenfield" to the real working build: getting-started, scripts table, repository layout. +- App icon generated from Helder's spark mark → `build/icon.png` (1024²); electron-builder embeds `icon.icns` in the packaged app (verified). + +### 6. Renderer component tests + CI — done +- Added jsdom + `@testing-library/react`; the terminals (xterm) are mocked so tests stay deterministic. +- `test/app.test.tsx` — workbench renders, open changed file → diff tab, edit → dirty tab, content search returns hits. +- `test/app-interactions.test.tsx` — **Pass-on-to-Agent** emits exactly `" "` via the `agentPaste` event; **stage → commit** toasts. +- `test/editor-modes.test.tsx` — Updated mode is editable / Original is read-only; Split opens the two-pane overlay and Esc collapses it. +- **49 tests total, all green.** +- `.github/workflows/ci.yml` — runs typecheck · lint · test · build on push/PR. + +### 7. Finish to the DESIGN.md spec — done +Audited `DESIGN.md` section by section and closed every remaining behavioral gap: +- **Session restore** (`session.restoreOnLaunch`, §9) — open tabs, active tab, and per-tab view modes are restored per project (persisted in localStorage, keyed by root); splitter layout already persisted. +- **Close-dirty tab** (§5) — now a real **Save / Don't Save / Cancel** native dialog (was discard-or-cancel). `⌘S` save unchanged. +- **Unsaved indicator** (§5) — a **dot in place of the close control** (× returns on hover), matching the spec exactly (was a dot after the name). +- **New config keys, all wired**: `git.confirmStage` / `git.confirmUnstage` (default off, prompt when on), `git.defaultDiffMode` (drives the starting mode), `files.exclude` + `files.followGitignore`, `session.restoreOnLaunch`. +- **Unified file source**: `rg --files` is now the single source for the **Explorer tree + content index + search**, so **gitignore and `files.exclude` are honored consistently everywhere** (fs-walk fallback when ripgrep is absent). Dotfiles (`.env`, `.gitignore`) included via `--hidden`. +- **⌘P** aliases the unified search — no separate Go-to-File overlay, per the resolved decision (CLAUDE.md/README). +- Tests now **51** (added `buildTreeFromPaths`, gitignore-in-repo, updated dirty-tab class). + +### 8. Live-run bugfix (found by running `npm run dev`) +- **Symptom:** the real Electron window showed mock "console" data and both terminals said "not available in browser preview" — i.e. `window.helder` was undefined in the actual app, so the renderer fell back to mock mode. +- **Cause:** electron-vite built the preload as `out/preload/index.mjs`, but `main/index.ts` loaded `../preload/index.js` (wrong extension) → Electron silently loaded no preload → no bridge. +- **Fix:** build the preload as **CommonJS `index.cjs`** (loads synchronously before the page, so `contextBridge` is exposed by the time React mounts) and point `main` at `../preload/index.cjs`. Verified the built `index.cjs` exposes `helder` and main references it. **Re-run `npm run dev` to confirm the live window now loads the real project + terminals.** + +## Final state (all green) +- `npm run typecheck` ✓ · `npm run lint` ✓ (0 errors, 8 intentional warnings) · `npm test` ✓ (51) · `npm run build` ✓ · `npm run pack` ✓ (`Helder.app` with icon + unpacked native binaries) +- **DESIGN.md is now fully implemented** (the only intentional exception is the separate Go-to-File overlay, replaced by ⌘P→unified-search per the resolved decision). +- Everything left **uncommitted** for your review (laptop is read-only on git). +- The only thing not exercisable in this headless session remains the live Electron GUI — `npm run dev` to see it. diff --git a/README.md b/README.md index b08785a..f852028 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Helder is an Electron app that puts code review, git, and a live Claude Code agent side by side in one dense, IDE-style window. It opens one project per window, is dark-only by design (no light mode, no theme toggle), and is built around a single idea: make it effortless to point an AI agent at exactly the code you're looking at. -> **Status: greenfield.** This repository currently contains the design handoff only — no application code yet. The first task is to scaffold the Electron app and port the prototype. See [Getting started](#getting-started). +> **Status: working build.** The Electron app is scaffolded and everything above is implemented against the real filesystem, git, terminals, ripgrep search, and the `.helder/` config system. The editor is writable (save · autosave · discard). See [Getting started](#getting-started). --- @@ -48,19 +48,30 @@ Right-click in the editor to copy a project-relative `path:line` reference (e.g. ## Getting started -> No build tooling exists yet. This section will be filled in once the Electron + Vite toolchain is scaffolded. +Requires Node 18+ and a recent `git` on your `PATH`. -Planned implementation order: +```bash +npm install # also rebuilds node-pty for Electron (postinstall) +npm run dev # launch the app with hot reload +``` -1. Electron shell + frameless dark window; port design tokens to CSS variables; bundle JetBrains Mono. -2. Static layout: four resizable columns + title/status bars. -3. Real file tree + open files into tabs (read-only) with Prism highlighting. -4. Git panel from `git status` → staging + commit → the four diff modes + Split. -5. Search (ripgrep + fuzzy). -6. Terminals via node-pty + xterm.js; run `claude` in the agent pane. -7. Copy reference + Pass-on-to-Agent. +Helder opens **one project per window** — by default the current working directory. Open a different folder by clicking the project name in the title bar, or launch with `HELDER_PROJECT=/path/to/repo npm run dev`. The agent pane auto-runs the `claude` CLI, so it must be on your `PATH`. -To preview the design prototype now, open `design_handoff_helder_workbench/design/Helder - AI Code Workbench.html` in a browser — it's a clickable React-via-Babel mock with sample data. +### Scripts + +| Command | What it does | +|---------|--------------| +| `npm run dev` | Launch in Electron with HMR | +| `npm run build` | Production build into `out/` | +| `npm start` | Run the built app | +| `npm test` | Run the vitest suite | +| `npm run lint` | ESLint | +| `npm run typecheck` | `tsc --noEmit` (renderer + main/preload) | +| `npm run pack` | Unpacked app into `dist/` (electron-builder) | +| `npm run dist` | Distributable (`.dmg` / `.zip` / etc.) | +| `npm run rebuild` | Re-rebuild `node-pty` for Electron if a terminal shows "PTY unavailable" | + +To preview the original design prototype, open `design_handoff_helder_workbench/design/Helder - AI Code Workbench.html` in a browser — a clickable React-via-Babel mock with sample data. --- @@ -79,17 +90,20 @@ An effective setting is the value from `config.json` if present, otherwise from ## Repository layout ``` -DESIGN.md Functional/UX spec — every panel, state, and interaction -CLAUDE.md Guidance for Claude Code working in this repo -design_handoff_helder_workbench/ - README.md Technical handoff — structure, design tokens, integration mechanics - design/ - Helder - AI Code Workbench.html Clickable prototype (open in a browser) - styles.css Canonical design tokens (the :root block) - src/*.jsx Prototype components (reference only — replace mock data) +src/ + main/ Electron main process: window + IPC + services + (fs-service, git-service, pty-service, search-service, config, project) + preload/ contextIsolation bridge — the only renderer↔OS surface (window.helder) + renderer/ React UI: App, editor (4 diff modes + writable buffer), terminals (xterm), + overlays (search/menu/toasts), project store, diff/highlight/fuzzy helpers +test/ vitest suite — diff, fuzzy, highlight, config, fs, git +electron.vite.config.ts electron-builder.yml eslint.config.js vitest.config.ts +DESIGN.md Functional/UX spec — every panel, state, interaction +CLAUDE.md Guidance + current architecture for Claude Code +design_handoff_helder_workbench/ Original design handoff + clickable prototype ``` -The two handoff documents are the source of truth: **`DESIGN.md`** for *what the app does*, **`design_handoff_helder_workbench/README.md`** for *how to build it*. The prototype is a visual reference — do not ship it as-is. +`DESIGN.md` and `design_handoff_helder_workbench/README.md` remain the design source of truth; the prototype is a visual reference, not shipped. --- diff --git a/build/icon.png b/build/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd1f5a3d39755f30d7defd9a27f3ba23db86e95 GIT binary patch literal 268144 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̳gk;@CatX>+^UX?3uq+`y-mFR&%nk>>?n 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%0DMDc5VZ7?_?aJo`IQv;zAy-+udo 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࣊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 z
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.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", + "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/code-frame": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", @@ -282,6 +345,16 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/runtime": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", + "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", @@ -330,6 +403,262 @@ "node": ">=6.9.0" } }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.1.tgz", + "integrity": "sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.7.tgz", + "integrity": "sha512-CmjJFQTFQx/U/xNJhSjCQ0ilpesPmNQ8+eOUeM/+kDOVW33qsIjeOXc27vrQDdWVkf83ZSWwtg7kXSUvKDJ8cQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.2.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.5.tgz", + "integrity": "sha512-oNjBvzLq2GPZtJphCjLqXow/cHySHSgtxvKZb7OqSZ/xHgw6NWNhfad+6AB9cLeVm6eA9d/qMll3JdEHjy6M+A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@electron/asar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz", + "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@electron/asar/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@electron/asar/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/fuses/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/fuses/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@electron/get": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", @@ -352,6 +681,133 @@ "global-agent": "^3.0.0" } }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/notarize/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.3.tgz", + "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/osx-sign/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/@electron/osx-sign/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/osx-sign/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@electron/rebuild": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.0.4.tgz", @@ -373,6 +829,130 @@ "node": ">=22.12.0" } }, + "node_modules/@electron/universal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.3.tgz", + "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.3.1", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.5.tgz", + "integrity": "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/universal/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -764,6 +1344,152 @@ "node": ">=12" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@exodus/bytes": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.1.tgz", + "integrity": "sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, "node_modules/@fontsource/jetbrains-mono": { "version": "5.2.8", "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.2.8.tgz", @@ -773,6 +1499,72 @@ "url": "https://github.com/sponsors/ayuhito" } }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@isaacs/fs-minipass": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", @@ -874,6 +1666,412 @@ "node": ">= 12.13.0" } }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.133.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz", + "integrity": "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.8.0.tgz", + "integrity": "sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/utils": "^2.0.2", + "asn1js": "^3.0.10", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@peculiar/utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@peculiar/utils/-/utils-2.0.3.tgz", + "integrity": "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/webcrypto": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.7.1.tgz", + "integrity": "sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/json-schema": "^1.1.12", + "@peculiar/utils": "^2.0.2", + "tslib": "^2.8.1", + "webcrypto-core": "^1.9.2" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz", + "integrity": "sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz", + "integrity": "sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz", + "integrity": "sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz", + "integrity": "sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz", + "integrity": "sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz", + "integrity": "sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz", + "integrity": "sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz", + "integrity": "sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz", + "integrity": "sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz", + "integrity": "sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz", + "integrity": "sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz", + "integrity": "sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz", + "integrity": "sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz", + "integrity": "sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz", + "integrity": "sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -1259,6 +2457,13 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -1272,6 +2477,72 @@ "node": ">=10" } }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1330,6 +2601,41 @@ "@types/responselike": "^1.0.0" } }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", @@ -1337,6 +2643,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", @@ -1344,6 +2660,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/keyv": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", @@ -1354,6 +2677,13 @@ "@types/node": "*" } }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "20.19.43", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", @@ -1420,6 +2750,249 @@ "@types/node": "*" } }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.1.tgz", + "integrity": "sha512-ZPlVl3PB3et/59Ne0fv/sci6ZXz4T4Hp4nTJ56i/Y0gR89ARb+KphojTq6j+56E5PIezmOIOOWyY+aWQFd+IkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/type-utils": "8.61.1", + "@typescript-eslint/utils": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.61.1", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.1.tgz", + "integrity": "sha512-PJ5vePq5/ognBbrIcoC5+SHO5dfpeLPzP9FpLkzWrguoYQEeeSjlJpVwOpo1JRSTEi7dRcwNy4h4dzV70PqHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.1.tgz", + "integrity": "sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.61.1", + "@typescript-eslint/types": "^8.61.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.1.tgz", + "integrity": "sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.1.tgz", + "integrity": "sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.1.tgz", + "integrity": "sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/utils": "8.61.1", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.1.tgz", + "integrity": "sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.1.tgz", + "integrity": "sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.61.1", + "@typescript-eslint/tsconfig-utils": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/visitor-keys": "8.61.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.1.tgz", + "integrity": "sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.61.1", + "@typescript-eslint/types": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.1.tgz", + "integrity": "sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.61.1", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", @@ -1441,6 +3014,92 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, + "node_modules/@vitest/expect": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.9.tgz", + "integrity": "sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.9.tgz", + "integrity": "sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.9.tgz", + "integrity": "sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.9", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.9.tgz", + "integrity": "sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.9", + "@vitest/utils": "4.1.9", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.9.tgz", + "integrity": "sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.9.tgz", + "integrity": "sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.9", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/@vscode/ripgrep": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/@vscode/ripgrep/-/ripgrep-1.18.0.tgz", @@ -1617,6 +3276,16 @@ "win32" ] }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz", + "integrity": "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@xterm/addon-fit": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.11.0.tgz", @@ -1642,6 +3311,393 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/app-builder-lib": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.15.3.tgz", + "integrity": "sha512-2VnyWkqsP5v5XbBhL3tD5Syx8iNPBYsoU7kY4S2fz7wg8Rj/nztWKCUzGKaFRTv0Xwf3/H058CR1Kvtd/3lRow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "3.4.1", + "@electron/fuses": "^1.8.0", + "@electron/get": "^3.0.0", + "@electron/notarize": "2.5.0", + "@electron/osx-sign": "1.3.3", + "@electron/rebuild": "^4.0.4", + "@electron/universal": "2.0.3", + "@malept/flatpak-bundler": "^0.4.0", + "@noble/hashes": "^2.2.0", + "@peculiar/webcrypto": "^1.7.1", + "@types/fs-extra": "9.0.13", + "ajv": "^8.18.0", + "asn1js": "^3.0.10", + "async-exit-hook": "^2.0.1", + "builder-util": "26.15.3", + "builder-util-runtime": "9.7.0", + "chromium-pickle-js": "^0.2.0", + "ci-info": "4.3.1", + "debug": "^4.3.4", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "ejs": "^3.1.8", + "electron-publish": "26.15.3", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "isbinaryfile": "^5.0.0", + "jiti": "^2.4.2", + "js-yaml": "^4.1.0", + "json5": "^2.2.3", + "lazy-val": "^1.0.5", + "minimatch": "^10.2.5", + "pkijs": "^3.4.0", + "plist": "3.1.0", + "proper-lockfile": "^4.1.2", + "resedit": "^1.7.0", + "semver": "~7.7.3", + "tar": "^7.5.7", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0", + "unzipper": "^0.12.3", + "which": "^5.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "dmg-builder": "26.15.3", + "electron-builder-squirrel-windows": "26.15.3" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/app-builder-lib/node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/app-builder-lib/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/asn1js": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", + "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.5", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/baseline-browser-mapping": { "version": "2.10.37", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", @@ -1655,6 +3711,23 @@ "node": ">=6.0.0" } }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, "node_modules/boolean": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", @@ -1664,6 +3737,19 @@ "license": "MIT", "optional": true }, + "node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/browserslist": { "version": "4.28.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", @@ -1708,6 +3794,101 @@ "node": "*" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.15.3.tgz", + "integrity": "sha512-q2hn7Mbo2nFNkVekPiHFx6Nfo3hURmES3tfBn+k5Pqxl2RkmP3QGqZUhH/q9Pch/4G05NRhPjDlVj1O8q4Txvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "builder-util-runtime": "9.7.0", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.6", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "js-yaml": "^4.1.0", + "sanitize-filename": "^1.6.3", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.7.0.tgz", + "integrity": "sha512-g/kR520giAFYkSXTzcmF3kqQq7wi8F6N6SzeDgZrqTBN+VHdmgWOyTdD1yD7AATDId/yXLvuP34CxW46/BwCdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/builder-util/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/builder-util/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -1747,6 +3928,20 @@ "node": ">=8" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001799", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", @@ -1768,6 +3963,33 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/chokidar": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", @@ -1793,6 +4015,44 @@ "node": ">=18" } }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -1806,6 +4066,66 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1813,6 +4133,13 @@ "dev": true, "license": "MIT" }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -1828,6 +4155,20 @@ "node": ">= 8" } }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -1835,6 +4176,20 @@ "dev": true, "license": "MIT" }, + "node_modules/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -1852,6 +4207,13 @@ } } }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -1881,6 +4243,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -1929,6 +4298,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -1937,6 +4336,176 @@ "license": "MIT", "optional": true }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "node_modules/dir-compare/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-compare/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/dir-compare/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dmg-builder": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.15.3.tgz", + "integrity": "sha512-O3zJUFUYHJKgzPqioHxfxzBzlSC1eXCSr79gMSBKBP5AgjjpmrydMsMLotEg9fAJF36vdUncb+4ndRNxoPdlSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.15.3", + "builder-util": "26.15.3", + "fs-extra": "^10.1.0", + "js-yaml": "^4.1.0" + } + }, + "node_modules/dmg-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dmg-builder/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/dmg-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron": { "version": "31.7.7", "resolved": "https://registry.npmjs.org/electron/-/electron-31.7.7.tgz", @@ -1956,6 +4525,139 @@ "node": ">= 12.20.55" } }, + "node_modules/electron-builder": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.15.3.tgz", + "integrity": "sha512-a1KM5heqS3gQCZzizXEI8RjJy3QVogULPdeSknt76uLDpBIW/HDGsMg/XgP0riP6PI9COsRvFITKKGDqA8fJxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.15.3", + "builder-util": "26.15.3", + "builder-util-runtime": "9.7.0", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "dmg-builder": "26.15.3", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "simple-update-notifier": "2.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder-squirrel-windows": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.15.3.tgz", + "integrity": "sha512-Jc19XPV9y9+2bAdZPkXuVNGNIEFBq9poHC61l8Kv6FdK7DRG3+Ic0rerC0DXOaeHNz8yW0fg/JnF8GQROOF5MA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "26.15.3", + "builder-util": "26.15.3", + "electron-winstaller": "5.4.0" + } + }, + "node_modules/electron-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-publish": { + "version": "26.15.3", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.15.3.tgz", + "integrity": "sha512-g/2bn8YTavY4cuS5F+jOS7zmZbXXBV8KZ8yHKfJjFPoKtzBqrpCdNPxBd3tqdBwP7BVd0lGzf7Bk2s0KesWZ4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "aws4": "^1.13.2", + "builder-util": "26.15.3", + "builder-util-runtime": "9.7.0", + "chalk": "^4.1.2", + "form-data": "^4.0.5", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-publish/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-publish/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.5.372", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.372.tgz", @@ -1993,6 +4695,51 @@ } } }, + "node_modules/electron-winstaller": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.4.0.tgz", + "integrity": "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.21", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "@electron/windows-sign": "^1.1.2" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -2003,6 +4750,19 @@ "once": "^1.4.0" } }, + "node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -2013,13 +4773,19 @@ "node": ">=6" } }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, "license": "MIT", - "optional": true, "engines": { "node": ">= 0.4" } @@ -2030,7 +4796,42 @@ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, "license": "MIT", - "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, "engines": { "node": ">= 0.4" } @@ -2098,7 +4899,6 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", - "optional": true, "engines": { "node": ">=10" }, @@ -2106,6 +4906,241 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.5.0.tgz", + "integrity": "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "packages/*" + ], + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.2", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "minimatch": "^10.2.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "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" + } + }, + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/exponential-backoff": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", @@ -2134,6 +5169,44 @@ "@types/yauzl": "^2.9.1" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -2162,6 +5235,114 @@ } } }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/form-data": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -2177,6 +5358,13 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2192,6 +5380,16 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -2202,6 +5400,55 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -2218,6 +5465,72 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/global-agent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", @@ -2251,6 +5564,19 @@ "node": ">=10" } }, + "node_modules/globals": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", + "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globalthis": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", @@ -2275,7 +5601,6 @@ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, "license": "MIT", - "optional": true, "engines": { "node": ">= 0.4" }, @@ -2316,6 +5641,16 @@ "dev": true, "license": "ISC" }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", @@ -2330,6 +5665,111 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/http-cache-semantics": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", @@ -2337,6 +5777,20 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -2351,6 +5805,119 @@ "node": ">=10.19.0" } }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isbinaryfile": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2358,6 +5925,34 @@ "dev": true, "license": "ISC" }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2365,6 +5960,90 @@ "dev": true, "license": "MIT" }, + "node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", + "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.1.11", + "@asamuzakjp/dom-selector": "^7.1.1", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.3", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.3.5", + "parse5": "^8.0.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.25.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/jsdom/node_modules/undici": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.28.0.tgz", + "integrity": "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -2385,6 +6064,20 @@ "dev": true, "license": "MIT" }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -2426,6 +6119,311 @@ "json-buffer": "3.0.1" } }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -2459,6 +6457,16 @@ "yallist": "^3.0.2" } }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", @@ -2483,6 +6491,59 @@ "node": ">=10" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", @@ -2493,6 +6554,32 @@ "node": ">=4" } }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", @@ -2516,6 +6603,20 @@ "node": ">= 18" } }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -2541,6 +6642,13 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, "node_modules/node-abi": { "version": "4.31.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.31.0.tgz", @@ -2660,6 +6768,13 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, "node_modules/node-pty": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.1.0.tgz", @@ -2720,6 +6835,20 @@ "node": ">= 0.4" } }, + "node_modules/obug": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", + "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2730,6 +6859,24 @@ "wrappy": "1" } }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", @@ -2740,6 +6887,71 @@ "node": ">=8" } }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -2750,6 +6962,28 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pe-library": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz", + "integrity": "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -2777,6 +7011,52 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkijs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/pkijs/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, "node_modules/postcss": { "version": "8.5.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", @@ -2806,6 +7086,60 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz", + "integrity": "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -2825,6 +7159,13 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -2835,6 +7176,32 @@ "node": ">=0.4.0" } }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, "node_modules/pump": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", @@ -2846,6 +7213,36 @@ "once": "^1.3.1" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -2886,6 +7283,13 @@ "react": "^18.3.1" } }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, "node_modules/react-refresh": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", @@ -2909,6 +7313,22 @@ "read-binary-file-arch": "cli.js" } }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "node_modules/readdirp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", @@ -2922,6 +7342,44 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resedit": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/resedit/-/resedit-1.7.2.tgz", + "integrity": "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pe-library": "^0.4.1" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", @@ -2942,6 +7400,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/roarr": { "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", @@ -2961,6 +7444,47 @@ "node": ">=8.0" } }, + "node_modules/rolldown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.3.tgz", + "integrity": "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.133.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.3", + "@rolldown/binding-darwin-arm64": "1.0.3", + "@rolldown/binding-darwin-x64": "1.0.3", + "@rolldown/binding-freebsd-x64": "1.0.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.3", + "@rolldown/binding-linux-arm64-gnu": "1.0.3", + "@rolldown/binding-linux-arm64-musl": "1.0.3", + "@rolldown/binding-linux-ppc64-gnu": "1.0.3", + "@rolldown/binding-linux-s390x-gnu": "1.0.3", + "@rolldown/binding-linux-x64-gnu": "1.0.3", + "@rolldown/binding-linux-x64-musl": "1.0.3", + "@rolldown/binding-openharmony-arm64": "1.0.3", + "@rolldown/binding-wasm32-wasi": "1.0.3", + "@rolldown/binding-win32-arm64-msvc": "1.0.3", + "@rolldown/binding-win32-x64-msvc": "1.0.3" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" + }, "node_modules/rollup": { "version": "4.62.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.0.tgz", @@ -3006,6 +7530,46 @@ "fsevents": "~2.3.2" } }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.4.tgz", + "integrity": "sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==", + "dev": true, + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", @@ -3074,6 +7638,20 @@ "node": ">=8" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, "node_modules/simple-git": { "version": "3.36.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.36.0.tgz", @@ -3091,6 +7669,42 @@ "url": "https://github.com/steveukx/git-js?sponsor=1" } }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -3101,6 +7715,17 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/sprintf-js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", @@ -3109,6 +7734,68 @@ "license": "BSD-3-Clause", "optional": true }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/std-env": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -3122,6 +7809,26 @@ "node": ">= 8.0" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, "node_modules/tar": { "version": "7.5.16", "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.16.tgz", @@ -3149,6 +7856,107 @@ "node": ">=18" } }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/temp-file/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/temp-file/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/temp-file/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/tiny-async-pool": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz", + "integrity": "sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.5.0" + } + }, + "node_modules/tiny-async-pool/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { "version": "0.2.17", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", @@ -3166,6 +7974,125 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.3.tgz", + "integrity": "sha512-A3BDQBeeukYPzB4QdQ1DtdlUmp4x2OCH8n5UVhEWbyANxNep8GavottKzd1xYKFJKjUgMyPT7EzOfnBO55s8Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.4.3" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.3.tgz", + "integrity": "sha512-27ep5H9PzdBrNd5OFM/j3WCU8F3kPwM9D0BOaOf7uYfxMJfyr0K5Tjj69Gri+sZlh2WXd5buIm47NuPF29CDiw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-fest": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", @@ -3194,6 +8121,30 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.61.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.1.tgz", + "integrity": "sha512-V7PayAfJokV3pEHgN7/v03D1SpujhRfQtYLbLIiBfDDncdg4PAiRBfoS4cnCANK4jmAPncczi59QO3afiXUlNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.61.1", + "@typescript-eslint/parser": "8.61.1", + "@typescript-eslint/typescript-estree": "8.61.1", + "@typescript-eslint/utils": "8.61.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, "node_modules/undici": { "version": "6.27.0", "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz", @@ -3221,6 +8172,58 @@ "node": ">= 4.0.0" } }, + "node_modules/unzipper": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz", + "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "~3.7.2", + "duplexer2": "~0.1.4", + "fs-extra": "^11.2.0", + "graceful-fs": "^4.2.2", + "node-int64": "^0.4.0" + } + }, + "node_modules/unzipper/node_modules/fs-extra": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.5.tgz", + "integrity": "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/unzipper/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/unzipper/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", @@ -3252,6 +8255,30 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, "node_modules/vite": { "version": "5.4.21", "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", @@ -3312,6 +8339,263 @@ } } }, + "node_modules/vitest": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.9.tgz", + "integrity": "sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.9", + "@vitest/mocker": "4.1.9", + "@vitest/pretty-format": "4.1.9", + "@vitest/runner": "4.1.9", + "@vitest/snapshot": "4.1.9", + "@vitest/spy": "4.1.9", + "@vitest/utils": "4.1.9", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.9", + "@vitest/browser-preview": "4.1.9", + "@vitest/browser-webdriverio": "4.1.9", + "@vitest/coverage-istanbul": "4.1.9", + "@vitest/coverage-v8": "4.1.9", + "@vitest/ui": "4.1.9", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/vitest/node_modules/@vitest/mocker": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.9.tgz", + "integrity": "sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.9", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/vite": { + "version": "8.0.16", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.16.tgz", + "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.3", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/webcrypto-core": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.9.2.tgz", + "integrity": "sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/json-schema": "^1.1.12", + "@peculiar/utils": "^2.0.2", + "asn1js": "^3.0.10", + "tslib": "^2.8.1" + } + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -3328,6 +8612,51 @@ "node": ">= 8" } }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -3335,6 +8664,43 @@ "dev": true, "license": "ISC" }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -3342,6 +8708,35 @@ "dev": true, "license": "ISC" }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", @@ -3352,6 +8747,42 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } } } } diff --git a/package.json b/package.json index eb49a27..56d660e 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,13 @@ "preview": "electron-vite preview", "start": "electron-vite preview", "typecheck": "tsc --noEmit -p tsconfig.web.json && tsc --noEmit -p tsconfig.node.json", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint .", "rebuild": "electron-rebuild -f -w node-pty", + "pack": "npm run build && electron-builder --dir", + "dist": "npm run build && electron-builder", + "dist:mac": "npm run build && electron-builder --mac", "postinstall": "electron-rebuild -f -w node-pty" }, "dependencies": { @@ -27,15 +33,27 @@ }, "devDependencies": { "@electron/rebuild": "^4.0.4", + "@eslint/js": "^10.0.1", + "@testing-library/dom": "^10.4.1", + "@testing-library/react": "^16.3.2", "@types/prismjs": "^1.26.4", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "electron": "^31.3.0", + "electron-builder": "^26.15.3", "electron-vite": "^2.3.0", + "eslint": "^10.5.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-react-hooks": "^7.1.1", + "globals": "^17.6.0", + "jsdom": "^29.1.1", + "prettier": "^3.8.4", "react": "^18.3.1", "react-dom": "^18.3.1", "typescript": "^5.5.4", - "vite": "^5.3.5" + "typescript-eslint": "^8.61.1", + "vite": "^5.3.5", + "vitest": "^4.1.9" } } diff --git a/src/main/config.ts b/src/main/config.ts index 02b6f49..8127812 100644 --- a/src/main/config.ts +++ b/src/main/config.ts @@ -10,18 +10,24 @@ import { join } from 'node:path' * and FONT SIZE live here (as CSS vars), not in the JSON * Effective value = config.json over config.default.json, merged key by key. */ +export type DiffMode = 'original' | 'updated' | 'diff' + export interface HelderConfig { ai: { command: string; autoLaunch: boolean } editor: { autoSave: boolean; tabSize: number } - git: { confirmDiscard: boolean } + git: { confirmDiscard: boolean; confirmStage: boolean; confirmUnstage: boolean; defaultDiffMode: DiffMode } + files: { exclude: string[]; followGitignore: boolean } terminal: { shell: string | null } + session: { restoreOnLaunch: boolean } } export const DEFAULTS: HelderConfig = { ai: { command: 'claude', autoLaunch: true }, editor: { autoSave: false, tabSize: 4 }, - git: { confirmDiscard: true }, + git: { confirmDiscard: true, confirmStage: false, confirmUnstage: false, defaultDiffMode: 'diff' }, + files: { exclude: [], followGitignore: true }, terminal: { shell: null }, + session: { restoreOnLaunch: true }, } const THEME_TEMPLATE = `/* Helder theme — custom CSS applied OVER the built-in dark theme. diff --git a/src/main/fs-service.ts b/src/main/fs-service.ts index 0e5d666..e66a13f 100644 --- a/src/main/fs-service.ts +++ b/src/main/fs-service.ts @@ -1,5 +1,6 @@ import { readdir, readFile, stat, writeFile } from 'node:fs/promises' import { join, relative, sep } from 'node:path' +import { listFiles } from './search-service' export interface FileNode { name: string @@ -9,7 +10,7 @@ export interface FileNode { children?: FileNode[] } -/** Directories never walked — noise or huge, and not part of "the project". */ +/** Directories never walked by the fallback (rg already honors these as globs). */ const IGNORE_DIRS = new Set([ 'node_modules', '.git', 'out', 'dist', 'build', '.next', '.nuxt', '.cache', 'coverage', 'vendor', '.idea', '.vscode', '.helder', '.turbo', @@ -22,10 +23,62 @@ function ignored(name: string): boolean { return IGNORE_DIRS.has(name) || name === '.DS_Store' } -/** Recursive project tree, dirs first then files, alphabetical. */ +function looksBinary(buf: Buffer): boolean { + const n = Math.min(buf.length, 8000) + for (let i = 0; i < n; i++) if (buf[i] === 0) return true + return false +} + +// ---- tree from a flat path list (the rg-backed primary path) ---------------- + +function sortTree(node: FileNode): void { + if (!node.children) return + node.children.sort((a, b) => { + if (a.type !== b.type) return a.type === 'dir' ? -1 : 1 + return a.name.localeCompare(b.name) + }) + for (const c of node.children) sortTree(c) +} + +/** Build a nested tree from relative file paths (dirs first, alphabetical). */ +export function buildTreeFromPaths(rootName: string, paths: string[]): FileNode { + const root: FileNode = { name: rootName, type: 'dir', path: '', open: true, children: [] } + const dirs = new Map([['', root]]) + for (const rel of paths) { + const parts = rel.split('/').filter(Boolean) + let parentPath = '' + let parent = root + for (let i = 0; i < parts.length; i++) { + const isFile = i === parts.length - 1 + const curPath = parentPath ? `${parentPath}/${parts[i]}` : parts[i] + if (isFile) { + parent.children!.push({ name: parts[i], type: 'file', path: curPath }) + } else { + let dir = dirs.get(curPath) + if (!dir) { + dir = { name: parts[i], type: 'dir', path: curPath, open: parts.slice(0, i + 1).length <= 1, children: [] } + dirs.set(curPath, dir) + parent.children!.push(dir) + } + parent = dir + parentPath = curPath + } + } + } + sortTree(root) + return root +} + +function rootName(root: string): string { + return root.split(sep).filter(Boolean).pop() || root +} + +/** Project tree. Primary: rg file list (honors gitignore + excludes). Fallback: + * a plain recursive walk (when ripgrep is unavailable). */ export async function readTree(root: string): Promise { - const name = root.split(sep).filter(Boolean).pop() || root - return { name, type: 'dir', path: '', open: true, children: await readDir(root, root, 0) } + const paths = await listFiles(root).catch(() => [] as string[]) + if (paths.length) return buildTreeFromPaths(rootName(root), paths) + return { name: rootName(root), type: 'dir', path: '', open: true, children: await readDir(root, root, 0) } } async function readDir(abs: string, root: string, depth: number): Promise { @@ -55,12 +108,6 @@ async function readDir(abs: string, root: string, depth: number): Promise { const buf = await readFile(join(root, rel)) @@ -74,14 +121,38 @@ export async function writeProjectFile(root: string, rel: string, content: strin } /** - * Build an in-memory content index of all (small, text) files — powers content - * search and plain-file viewing without touching disk per keystroke. Capped to - * keep large repos sane. PHASE: swap content search to ripgrep when scaling up. + * In-memory content index of all (small, text) files — powers content viewing. + * Primary: read the rg file list; fallback: walk. Capped for large repos. */ export async function readAll(root: string): Promise> { + const paths = await listFiles(root).catch(() => [] as string[]) + if (paths.length) return readListed(root, paths) + return readAllWalk(root) +} + +async function readListed(root: string, paths: string[]): Promise> { const out: Record = {} let count = 0 + for (const rel of paths) { + if (count >= MAX_INDEXED_FILES) break + try { + const abs = join(root, rel) + const s = await stat(abs) + if (s.size > MAX_FILE_BYTES) continue + const buf = await readFile(abs) + if (looksBinary(buf)) continue + out[rel] = buf.toString('utf8') + count++ + } catch { + /* skip unreadable */ + } + } + return out +} +async function readAllWalk(root: string): Promise> { + const out: Record = {} + let count = 0 async function walk(abs: string): Promise { if (count >= MAX_INDEXED_FILES) return let entries: import('node:fs').Dirent[] @@ -102,8 +173,7 @@ export async function readAll(root: string): Promise> { if (s.size > MAX_FILE_BYTES) continue const buf = await readFile(childAbs) if (looksBinary(buf)) continue - const rel = relative(root, childAbs).split(sep).join('/') - out[rel] = buf.toString('utf8') + out[relative(root, childAbs).split(sep).join('/')] = buf.toString('utf8') count++ } catch { /* skip unreadable */ @@ -111,7 +181,6 @@ export async function readAll(root: string): Promise> { } } } - await walk(root) return out } diff --git a/src/main/git-service.ts b/src/main/git-service.ts index c1572a1..1888a99 100644 --- a/src/main/git-service.ts +++ b/src/main/git-service.ts @@ -1,4 +1,4 @@ -import { readFile } from 'node:fs/promises' +import { readFile, rm } from 'node:fs/promises' import { join } from 'node:path' import { simpleGit, type SimpleGit } from 'simple-git' @@ -22,7 +22,7 @@ function git(root: string): SimpleGit { } /** Map a porcelain code pair to our display letter + staged flag. */ -function classify(index: string, working: string): { letter: GitStatusLetter; staged: boolean } { +export function classify(index: string, working: string): { letter: GitStatusLetter; staged: boolean } { const staged = index !== ' ' && index !== '?' const code = staged ? index : working let letter: GitStatusLetter @@ -103,6 +103,20 @@ export async function commit(root: string, message: string): Promise { await git(root).commit(message) } +/** + * Discard working-tree changes for each path: + * - exists in HEAD → restore index + worktree to the last commit + * - not in HEAD → a new file (staged or untracked): unstage + delete from disk + */ export async function discard(root: string, paths: string[]): Promise { - await git(root).checkout(['--', ...paths]) + const g = git(root) + for (const p of paths) { + const inHead = await g.raw(['cat-file', '-e', `HEAD:${p}`]).then(() => true).catch(() => false) + if (inHead) { + await g.checkout(['HEAD', '--', p]) + } else { + try { await g.raw(['reset', '-q', 'HEAD', '--', p]) } catch { /* no HEAD / not staged */ } + await rm(join(root, p), { force: true }) + } + } } diff --git a/src/main/index.ts b/src/main/index.ts index a70015b..64c937b 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,5 +1,5 @@ import { join, sep } from 'node:path' -import { app, shell, BrowserWindow, ipcMain } from 'electron' +import { app, dialog, shell, BrowserWindow, ipcMain } from 'electron' import { watch, type FSWatcher } from 'chokidar' import { getName, getRoot, openDialog } from './project' import { readAll, readProjectFile, readTree, writeProjectFile } from './fs-service' @@ -84,6 +84,20 @@ function registerIpc(): void { ipcMain.handle('search:content', (_e, query: string) => searchContent(getRoot(), query)) ipcMain.handle('search:files', () => listFiles(getRoot())) + + ipcMain.handle('dialog:unsavedClose', async (e, path: string) => { + const win = BrowserWindow.fromWebContents(e.sender) + const opts: Electron.MessageBoxOptions = { + type: 'warning', + buttons: ['Save', "Don't Save", 'Cancel'], + defaultId: 0, + cancelId: 2, + message: `Save changes to ${path}?`, + detail: 'Your changes will be lost if you don’t save them.', + } + const { response } = win ? await dialog.showMessageBox(win, opts) : await dialog.showMessageBox(opts) + return response === 0 ? 'save' : response === 1 ? 'discard' : 'cancel' + }) } function createWindow(): void { @@ -97,7 +111,7 @@ function createWindow(): void { titleBarStyle: isMac ? 'hiddenInset' : 'default', trafficLightPosition: isMac ? { x: 14, y: 12 } : undefined, webPreferences: { - preload: join(__dirname, '../preload/index.js'), + preload: join(__dirname, '../preload/index.cjs'), contextIsolation: true, nodeIntegration: false, sandbox: false, diff --git a/src/main/search-service.ts b/src/main/search-service.ts index f0ffd51..bf5e7f9 100644 --- a/src/main/search-service.ts +++ b/src/main/search-service.ts @@ -1,14 +1,20 @@ import { createRequire } from 'node:module' import { spawn } from 'node:child_process' import { relative, sep } from 'node:path' +import { getConfig } from './config' -/** Content search via ripgrep; file-name list via `rg --files`. Substring - * (fixed-string), smart-case — matching the prototype's search semantics. */ +/** ripgrep is the single source of "what files are in the project": it powers + * content search, the file-name list, AND the Explorer tree / content index + * (via fs-service) — so gitignore + files.exclude are honored everywhere the + * same way. Substring (fixed-string), smart-case search. */ const require = createRequire(import.meta.url) let rgPath: string | null = null try { rgPath = (require('@vscode/ripgrep') as { rgPath: string }).rgPath + // When packaged the binary is unpacked from the asar; rgPath still points + // inside app.asar, so redirect it. No-op in dev (path has no app.asar). + if (rgPath) rgPath = rgPath.replace(/\bapp\.asar\b/, 'app.asar.unpacked') } catch (e) { console.error('[helder] @vscode/ripgrep unavailable:', (e as Error).message) } @@ -16,12 +22,29 @@ try { export interface ContentHit { no: number; ln: string; ix: number } export interface ContentGroup { path: string; hits: ContentHit[] } -const IGNORE_GLOBS = ['node_modules', '.git', 'out', 'dist', 'build', '.cache', 'vendor', 'coverage', '.helder'] - .flatMap((d) => ['--glob', `!${d}`]) +/** Always-excluded heavy/noise dirs, on top of gitignore + user excludes. */ +const BASE_IGNORE = [ + 'node_modules', '.git', 'out', 'dist', 'build', '.cache', + 'vendor', 'coverage', '.helder', '.next', '.nuxt', '.turbo', '.idea', '.vscode', +] const MAX_FILES = 400 const MAX_LINE = 1000 +export function rgAvailable(): boolean { + return !!rgPath +} + +/** Glob/ignore args derived from config (files.exclude, files.followGitignore). */ +function ignoreArgs(): string[] { + const cfg = getConfig() + const args: string[] = [] + for (const d of BASE_IGNORE) args.push('--glob', `!${d}`) + for (const g of cfg.files.exclude) if (g) args.push('--glob', `!${g}`) + if (!cfg.files.followGitignore) args.push('--no-ignore') + return args +} + function toRel(root: string, p: string): string { return relative(root, p).split(sep).join('/') } @@ -30,9 +53,9 @@ export function searchContent(root: string, query: string): Promise { if (!rgPath || query.trim().length < 2) return resolve([]) const child = spawn(rgPath, [ - '--json', '--fixed-strings', '--smart-case', + '--json', '--fixed-strings', '--smart-case', '--hidden', '--max-count', '50', '--max-columns', '2000', - ...IGNORE_GLOBS, '-e', query, '--', root, + ...ignoreArgs(), '-e', query, '--', root, ]) const order: string[] = [] const groups = new Map() @@ -65,10 +88,12 @@ export function searchContent(root: string, query: string): Promise { return new Promise((resolve) => { if (!rgPath) return resolve([]) - const child = spawn(rgPath, ['--files', ...IGNORE_GLOBS, '--', root]) + const child = spawn(rgPath, ['--files', '--hidden', ...ignoreArgs(), '--', root]) let buf = '' const out: string[] = [] let done = false diff --git a/src/preload/index.ts b/src/preload/index.ts index 96df782..2ad4289 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -61,6 +61,11 @@ const api = { files: (): Promise => ipcRenderer.invoke('search:files'), }, + dialog: { + unsavedClose: (path: string): Promise<'save' | 'discard' | 'cancel'> => + ipcRenderer.invoke('dialog:unsavedClose', path), + }, + /** Subscribe to "the project changed on disk" pings. Returns an unsubscribe. */ onProjectChanged: (cb: () => void): (() => void) => { const handler = (): void => cb() diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index e66c67d..1f98cdf 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -10,6 +10,7 @@ import { ContextMenu, PassPopup, SearchModal, Toasts } from './overlays' import type { Menu, Toast } from './overlays' import type { FileNode, GitStatus } from './types' import { useProject, useProjectActions } from './project' +import { loadJson, loadNum, saveJson, saveNum } from './persist' const NO_COMMITTED = new Set() @@ -36,8 +37,9 @@ function Splitter({ orientation = 'v', onDelta }: { orientation?: 'v' | 'h'; onD } function RightColumn({ width }: { width: number }): React.ReactElement { - const [topFrac, setTopFrac] = useState(0.52) + const [topFrac, setTopFrac] = useState(() => loadNum('helder.topFrac', 0.52)) const ref = useRef(null) + useEffect(() => saveNum('helder.topFrac', topFrac), [topFrac]) function delta(_dx: number, dy: number): void { const h = ref.current ? ref.current.clientHeight : 600 setTopFrac((f) => Math.max(0.18, Math.min(0.82, (f * h + dy) / h))) @@ -94,6 +96,7 @@ export function App(): React.ReactElement { // Editable buffers: path → current text (absent = clean, showing on-disk content). const [buffers, setBuffers] = useState>({}) const buffersRef = useRef(buffers); buffersRef.current = buffers + const projRef = useRef(proj); projRef.current = proj const saveTimer = useRef | null>(null) function diskText(path: string): string { return proj.files[path] ?? '' } @@ -127,9 +130,12 @@ export function App(): React.ReactElement { toast('Discarded changes', path) } - const [gitW, setGitW] = useState(232) - const [treeW, setTreeW] = useState(244) - const [rightW, setRightW] = useState(444) + const [gitW, setGitW] = useState(() => loadNum('helder.gitW', 232)) + const [treeW, setTreeW] = useState(() => loadNum('helder.treeW', 244)) + const [rightW, setRightW] = useState(() => loadNum('helder.rightW', 444)) + useEffect(() => saveNum('helder.gitW', gitW), [gitW]) + useEffect(() => saveNum('helder.treeW', treeW), [treeW]) + useEffect(() => saveNum('helder.rightW', rightW), [rightW]) // Seed explorer expansion from the tree's `open` flags once per opened project. const seededRoot = useRef(undefined) @@ -140,6 +146,26 @@ export function App(): React.ReactElement { } }, [proj.tree, proj.root]) + // Session restore (session.restoreOnLaunch): bring back the open tabs, active + // tab and per-tab view modes for this project, then keep them persisted. + const sessionRoot = useRef(undefined) + useEffect(() => { + if (!proj.ready || sessionRoot.current === proj.root) return + sessionRoot.current = proj.root + if (!proj.config.session.restoreOnLaunch) return + const saved = loadJson<{ tabs: string[]; active: string | null; tabMode: Record } | null>(`helder.session:${proj.root}`, null) + if (saved && Array.isArray(saved.tabs)) { + setTabs(saved.tabs.map((p) => ({ path: p }))) + setActive(saved.active ?? null) + setTabMode(saved.tabMode ?? {}) + } + }, [proj.ready, proj.root, proj.config.session.restoreOnLaunch]) + + useEffect(() => { + if (sessionRoot.current !== proj.root || !proj.config.session.restoreOnLaunch) return + saveJson(`helder.session:${proj.root}`, { tabs: tabs.map((t) => t.path), active, tabMode }) + }, [tabs, active, tabMode, proj.root, proj.config.session.restoreOnLaunch]) + function toast(title: string, ref?: string): void { const id = lid() setToasts((t) => [...t, { id, title, ref }]) @@ -158,7 +184,7 @@ export function App(): React.ReactElement { } const toggleDir = useCallback((p: string) => { - setOpenDirs((s) => { const n = new Set(s); n.has(p) ? n.delete(p) : n.add(p); return n }) + setOpenDirs((s) => { const n = new Set(s); if (n.has(p)) n.delete(p); else n.add(p); return n }) }, []) function reveal(path: string): void { @@ -174,12 +200,22 @@ export function App(): React.ReactElement { setCommitMsg('') } + const defaultMode: Mode = proj.config.git.defaultDiffMode + function stageGuarded(p: string): void { + if (proj.config.git.confirmStage && !window.confirm(`Stage ${p}?`)) return + actions.stage(p) + } + function unstageGuarded(p: string): void { + if (proj.config.git.confirmUnstage && !window.confirm(`Unstage ${p}?`)) return + actions.unstage(p) + } + function openFile(path: string, opts: { diff?: boolean; line?: number } = {}): void { const changed = !!proj.diffs[path] actions.ensureFile(path) setTabs((t) => t.some((x) => x.path === path) ? t : [...t, { path }]) setActive(path) - setTabMode((m) => ({ ...m, [path]: opts.diff && changed ? 'diff' : (m[path] || (changed ? 'diff' : 'code')) })) + setTabMode((m) => ({ ...m, [path]: opts.diff && changed ? defaultMode : (m[path] || (changed ? defaultMode : 'code')) })) reveal(path) if (opts.line) { // show the current/updated file so line numbers map to search hits @@ -194,7 +230,8 @@ export function App(): React.ReactElement { } } - function closeTab(path: string): void { + function removeTab(path: string): void { + setBuffers((b) => { if (b[path] == null) return b; const n = { ...b }; delete n[path]; return n }) setTabs((t) => { const ix = t.findIndex((x) => x.path === path) const next = t.filter((x) => x.path !== path) @@ -206,6 +243,20 @@ export function App(): React.ReactElement { }) } + async function closeTab(path: string): Promise { + const buf = buffersRef.current[path] + const dirtyNow = buf != null && buf !== (projRef.current.files[path] ?? '') + if (dirtyNow) { + const bridge = window.helder + const choice = bridge + ? await bridge.dialog.unsavedClose(path) + : (window.confirm(`Discard unsaved changes to ${path}?`) ? 'discard' : 'cancel') + if (choice === 'cancel') return + if (choice === 'save') writeToDisk(path, buf as string) + } + removeTab(path) + } + // ---- context menus ---- function openMenu(e: React.MouseEvent, target: ContextTarget): void { e.preventDefault(); e.stopPropagation() @@ -234,8 +285,8 @@ export function App(): React.ReactElement { if (target.kind === 'git') { const isStaged = proj.staged.has(target.path) items.push(isStaged - ? { icon: Icon.minus(), label: 'Unstage changes', onClick: () => actions.unstage(target.path) } - : { icon: Icon.plus(), label: 'Stage changes', onClick: () => actions.stage(target.path) }) + ? { icon: Icon.minus(), label: 'Unstage changes', onClick: () => unstageGuarded(target.path) } + : { icon: Icon.plus(), label: 'Stage changes', onClick: () => stageGuarded(target.path) }) items.push({ icon: Icon.diff(), label: 'Open diff', onClick: () => openFile(target.path, { diff: true }) }) items.push({ icon: Icon.discard(), label: 'Discard changes', onClick: () => doDiscard(target.path) }) } @@ -250,7 +301,8 @@ export function App(): React.ReactElement { useEffect(() => { function onKey(e: KeyboardEvent): void { const meta = e.metaKey || e.ctrlKey - if (meta && e.key.toLowerCase() === 'f') { e.preventDefault(); setOverlay('search') } + // ⌘F and ⌘P both open the unified search (it covers file names too). + if (meta && (e.key.toLowerCase() === 'f' || e.key.toLowerCase() === 'p')) { e.preventDefault(); setOverlay('search') } else if (meta && e.key.toLowerCase() === 's') { e.preventDefault(); saveActive() } else if (meta && e.key.toLowerCase() === 'w') { e.preventDefault(); if (active) closeTab(active) } else if (e.key === 'Escape') { if (splitFor) setSplitFor(null); else { setOverlay(null); setMenu(null) } } @@ -263,10 +315,10 @@ export function App(): React.ReactElement { const MODE_WORD: Record = { original: 'Original', updated: 'Updated', diff: 'Diff' } const resolvedTabs = tabs.map((t) => { const changed = !!proj.diffs[t.path] - const m = tabMode[t.path] || (changed ? 'diff' : 'code') + const m = tabMode[t.path] || (changed ? defaultMode : 'code') return { ...t, changed, modeLabel: splitFor === t.path ? 'split' : MODE_LABEL[m], dirty: isDirty(t.path) } }) - const mode: Mode = (active && tabMode[active]) || (active && proj.diffs[active] ? 'diff' : 'code') + const mode: Mode = (active && tabMode[active]) || (active && proj.diffs[active] ? defaultMode : 'code') const totals = proj.changes.reduce((a, c) => ({ add: a.add + c.add, del: a.del + c.del }), { add: 0, del: 0 }) const activeLang = active ? HL.langLabel(active) : '' @@ -298,7 +350,7 @@ export function App(): React.ReactElement {
setGitW((w) => clamp(w + dx, 160, 460))} /> @@ -332,7 +384,7 @@ export function App(): React.ReactElement {
+{totals.add} −{totals.del}
{active &&
{selection && selection.path === active && selection.start !== selection.end ? `${selection.end - selection.start + 1} lines selected` : `Ln ${curLine}, Col ${curCol}`}
} - {active &&
Spaces: 4
} + {active &&
Spaces: {proj.config.editor.tabSize}
} {active &&
UTF-8
} {active &&
{activeLang}
} {active && proj.diffs[active] &&
{splitFor === active ? 'Split' : (MODE_WORD[mode] || '')}
} diff --git a/src/renderer/src/editor.tsx b/src/renderer/src/editor.tsx index 87310ae..8adde65 100644 --- a/src/renderer/src/editor.tsx +++ b/src/renderer/src/editor.tsx @@ -29,6 +29,7 @@ function CodeEditor({ path, text, lang, onChange, onContext }: { }): React.ReactElement { const scrollRef = useRef(null) const gutterRef = useRef(null) + const tabSize = useProject().config.editor.tabSize const html = useMemo(() => HL.hlText(text, lang), [text, lang]) const count = useMemo(() => text.split('\n').length, [text]) @@ -68,12 +69,12 @@ function CodeEditor({ path, text, lang, onChange, onContext }: {