From 4aaf756b4700e8ff546fa1253409d3f016403755 Mon Sep 17 00:00:00 2001 From: John Smith Date: Wed, 26 Aug 2026 01:07:01 -0400 Subject: [PATCH 001/243] chore: add lefthook git hooks and polyglot static analysis toolchain - lefthook (pnpm devDep, auto-installed via prepare script): pre-commit runs prettier + eslint --fix on staged files, ast-grep structural scan, gitleaks secret scan; pre-push runs server typecheck, per-crate clippy, golangci-lint (--new-from-rev rollout mode), knip report-only - knip.json workspace config; baseline recorded in CLAUDE.md - sgconfig.yml + starter rules (no-console-log TS/Vue, no-fmt-println Go) - backend/.golangci.yml v2 with gosec; golangci-lint job added to CI - security.yml: gitleaks history scan, cargo-audit matrix over all 7 Rust crates, weekly scheduled semgrep SARIF upload (semgrep-scheduled.yml) - root .prettierrc.json shared across the workspace - server-ci.yml: non-blocking knip report artifact job Co-Authored-By: Claude Opus 5 --- .github/workflows/security.yml | 65 ++ .github/workflows/semgrep-scheduled.yml | 27 + .github/workflows/server-ci.yml | 29 + .prettierrc.json | 5 + CLAUDE.md | 63 ++ backend/.golangci.yml | 27 + knip.json | 31 + lefthook.yml | 74 ++ package.json | 14 +- pnpm-lock.yaml | 914 +++++++++++++++++++++++- pnpm-workspace.yaml | 2 + rules/no-console-log.yml | 12 + rules/no-fmt-println.yml | 6 + scripts/clippy-changed.sh | 46 ++ sgconfig.yml | 5 + 15 files changed, 1284 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/security.yml create mode 100644 .github/workflows/semgrep-scheduled.yml create mode 100644 .prettierrc.json create mode 100644 CLAUDE.md create mode 100644 backend/.golangci.yml create mode 100644 knip.json create mode 100644 lefthook.yml create mode 100644 rules/no-console-log.yml create mode 100644 rules/no-fmt-println.yml create mode 100755 scripts/clippy-changed.sh create mode 100644 sgconfig.yml diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 000000000..cc82d0a72 --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,65 @@ +name: Security + +on: + push: + branches: [develop] + pull_request: + branches: [develop] + schedule: + # Weekly Monday 06:06 UTC — catches new advisories between PRs. + - cron: "6 6 * * 1" + workflow_dispatch: + +permissions: + contents: read + +jobs: + gitleaks: + name: Secret scan + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # full history for leak detection + - uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + cargo-audit: + name: Rust advisory audit + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + crate: + - cli + - torrential + - desktop/src-tauri + - libraries/droplet + - libraries/droplet_types + - libraries/libarchive + - libraries/native_model + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly # matches droplet-ci + - uses: taiki-e/install-action@cargo-audit + - name: Audit ${{ matrix.crate }} + run: cargo audit --file Cargo.lock + working-directory: ${{ matrix.crate }} + + golangci: + name: Go lint (backend) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # needed for --new-from-rev against origin/develop + - uses: actions/setup-go@v5 + with: + go-version-file: backend/go.work + - uses: golangci/golangci-lint-action@v8 + with: + working-directory: backend + # Rollout mode: only report issues on changed lines. Remove once the + # existing debt (2 issues in core/database.go) is cleaned up. + args: --new-from-rev=origin/develop ./core/... diff --git a/.github/workflows/semgrep-scheduled.yml b/.github/workflows/semgrep-scheduled.yml new file mode 100644 index 000000000..85f56d78e --- /dev/null +++ b/.github/workflows/semgrep-scheduled.yml @@ -0,0 +1,27 @@ +name: Semgrep (scheduled) + +# Deep security scan on a weekly schedule — deliberately not wired into git +# hooks or push/PR CI, where its runtime would be too disruptive. +on: + schedule: + - cron: "30 5 * * 1" # weekly Monday 05:30 UTC + workflow_dispatch: + +permissions: + contents: read + security-events: write + +jobs: + semgrep: + runs-on: ubuntu-latest + container: + image: semgrep/semgrep + steps: + - uses: actions/checkout@v4 + - name: Scan + run: semgrep scan --config p/default --sarif --output semgrep.sarif + - name: Upload SARIF + if: always() + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: semgrep.sarif diff --git a/.github/workflows/server-ci.yml b/.github/workflows/server-ci.yml index 99511123c..8adb66060 100644 --- a/.github/workflows/server-ci.yml +++ b/.github/workflows/server-ci.yml @@ -69,3 +69,32 @@ jobs: - name: Lint working-directory: server run: pnpm run lint + + knip: + name: Dependency & export report (non-blocking) + runs-on: ubuntu-latest + continue-on-error: true # report-only rollout phase; remove once triaged + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + + - name: Setup Node.js environment + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: "pnpm" + + - name: Install dependencies + run: pnpm install + + - name: Knip report + run: pnpm exec knip --reporter json > knip-report.json || true + + - name: Upload knip report + uses: actions/upload-artifact@v4 + with: + name: knip-report + path: knip-report.json diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 000000000..30581eb7d --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,5 @@ +{ + "jsonRecursiveSort": true, + "jsonSortOrder": "{\"/.*/\": \"lexical\"}", + "plugins": ["prettier-plugin-sort-json"] +} diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 000000000..12d76b3bc --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,63 @@ +# Drop + +Self-hosted game distribution platform. Polyglot monorepo: + +- `server/` — Nuxt 3 + Vue 3 app (TypeScript, Prisma, Tailwind, buf/protobuf) +- `backend/` — Go backend (go.work, module under `core/`) +- Rust crates: `cli/` (downpour), `torrential/`, `desktop/src-tauri/`, `libraries/{droplet,droplet_types,libarchive,native_model}` +- pnpm workspace: root + `server/`, `libraries/base/`, `sites/*`, `desktop/` + +## Quality gates — what runs when + +| Layer | When | What | +| ------------------- | ---------- | ------------------------------------------------------------------------------------- | +| Claude Code hooks | every edit | format-on-edit (advisory) | +| lefthook pre-commit | commit | prettier + eslint --fix on staged files, ast-grep scan, gitleaks | +| lefthook pre-push | push | server typecheck, clippy (changed crates), golangci-lint, knip report | +| GitHub Actions | PR/push | typecheck/lint/clippy + gitleaks history scan + cargo-audit ×7 crates + golangci-lint | +| GitHub Actions | weekly | semgrep deep scan → Code Scanning | + +Hooks are early feedback; **CI is the authority**. Never disable a hook to make a +failure go away — read the output and fix it. + +### Escape hatches + +```sh +git commit --no-verify # skip pre-commit once +git push --no-verify # skip pre-push once +LEFTHOOK=0 git commit # same via env var +``` + +## Commands + +```sh +pnpm exec lefthook run pre-commit --all-files # dry-run all pre-commit checks +pnpm exec lefthook run pre-push --all-files # dry-run all pre-push checks +pnpm exec ast-grep scan [paths] # structural lint (sgconfig.yml) +pnpm exec ast-grep scan --json # machine-readable output +pnpm exec knip --reporter compact # unused deps/exports/files report +cd backend && golangci-lint run ./core/... # Go lint (.golangci.yml in backend/) +gitleaks protect --staged # secret scan staged changes +``` + +Native binaries NOT installable via pnpm: + +- `gitleaks` — `brew install gitleaks` +- `cargo-audit` — `cargo install cargo-audit` +- `golangci-lint` — `go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest` + (must be built with the same Go version as `backend/go.work` or typechecking fails) + +## Rollout status (flip these when clean) + +- **knip**: report-only (`continue-on-error` in CI, `|| true` in hook). Baseline: + 117 unused files / 31 unused exports / 4 unused deps. Remove the escape hatches + to enforce. +- **golangci-lint**: `--new-from-rev=origin/develop` (new issues only). Baseline: + 2 legacy issues in `core/database.go`. Remove flag when count is 0. +- **ast-grep** rules: `severity: warning`. Promote per-rule to `error` after cleanup. + +## Conventions + +- Rust: nightly toolchain (matches CI); clippy with `-D warnings`. +- Formatting: Prettier config at repo root (shared by all JS/TS/Vue packages). +- Go: format with gofmt/goimports; keep modules inside `backend/` consistent with `go.work`. diff --git a/backend/.golangci.yml b/backend/.golangci.yml new file mode 100644 index 000000000..5992b48e7 --- /dev/null +++ b/backend/.golangci.yml @@ -0,0 +1,27 @@ +# golangci-lint v2 configuration. +# Run: cd backend && golangci-lint run +# CI: golangci-lint-action@v8 with --new-from-rev=origin/develop (rollout mode). +version: "2" + +run: + timeout: 5m + +linters: + default: none + enable: + - gosec # security-focused linter + - errcheck + - govet + - staticcheck + - ineffassign + - unused + exclusions: + rules: + - path: _test\.go + linters: + - gosec # test fixtures routinely trip G201/G404 etc. + +formatters: + enable: + - gofmt + - goimports diff --git a/knip.json b/knip.json new file mode 100644 index 000000000..c0c77c376 --- /dev/null +++ b/knip.json @@ -0,0 +1,31 @@ +{ + "$schema": "./node_modules/knip/schema.json", + "workspaces": { + ".": { + "entry": ["lefthook.yml"], + "ignoreDependencies": [ + "lefthook", + "knip", + "@ast-grep/cli", + "prettier", + "prettier-plugin-sort-json" + ] + }, + "desktop": {}, + "libraries/base": {}, + "server": { + "entry": [ + "app.vue", + "error.vue", + "nuxt.config.ts", + "plugins/**/*.{ts,js}", + "middleware/**/*.{ts,js}", + "layouts/**/*.vue" + ], + "ignore": [".nuxt/**", ".output/**", ".data/**", "build/**"], + "project": ["**/*.{ts,js,mjs,vue}"] + }, + "sites/docs": {}, + "sites/promo": {} + } +} diff --git a/lefthook.yml b/lefthook.yml new file mode 100644 index 000000000..c53c79373 --- /dev/null +++ b/lefthook.yml @@ -0,0 +1,74 @@ +# Lefthook git hooks for the Drop monorepo. +# Docs: https://lefthook.dev +# Escape hatches: git commit/push --no-verify, or LEFTHOOK=0 +# +# Commands with a glob that matches no staged files are skipped entirely, +# so e.g. a Markdown-only commit only runs prettier + gitleaks. + +pre-commit: + parallel: true + commands: + # Format only staged files, then re-stage them. + prettier: + glob: "*.{js,cjs,mjs,ts,tsx,vue,json,jsonc,css,scss,html,yaml,yml,md}" + exclude: + - "pnpm-lock.yaml" + - "**/generated/**" + run: pnpm exec prettier --write --ignore-unknown {staged_files} + stage_fixed: true + + # Scoped to server/ — the only package with an eslint flat config today. + # root: makes {staged_files} relative to server/, so the config resolves. + eslint: + root: server/ + glob: "server/**/*.{js,cjs,mjs,ts,tsx,vue}" + run: pnpm exec eslint --fix {staged_files} + stage_fixed: true + + # Structural lint rules (sgconfig.yml). Warnings only during rollout. + ast-grep: + glob: "*.{ts,tsx,vue,go}" + run: pnpm exec ast-grep scan {staged_files} + + # Secret scan on the diff about to be committed. Warns if the binary is + # missing locally — CI enforces this authoritatively (security.yml). + gitleaks: + run: | + if command -v gitleaks >/dev/null 2>&1; then + gitleaks protect --staged --redact --verbose + else + echo "::warning:: gitleaks not installed locally; CI enforces. Install: brew install gitleaks" + exit 0 + fi + +pre-push: + parallel: true + commands: + # Whole-project typecheck; gated on any server TS/Vue change. + typecheck: + root: server/ + glob: "server/**/*.{ts,tsx,vue}" + run: pnpm run typecheck + + # Per-crate clippy over changed crates only (-D warnings, matching droplet-ci). + # desktop/src-tauri is excluded locally (needs Tauri system libs); CI covers it. + clippy: + glob: "*.rs" + run: ./scripts/clippy-changed.sh + + # New-issues-only during rollout: backend/ has never been linted before. + # Compares against origin/develop; remove --new-from-rev once clean. + golangci-lint: + root: backend/ + glob: "backend/**/*.go" + run: | + base="$(git rev-parse --verify origin/develop 2>/dev/null || echo "")" + if [ -n "$base" ]; then + golangci-lint run --new-from-rev="$base" ./... + else + golangci-lint run ./... + fi + + # Report-only by design (rollout phase): prints findings, never fails. + knip: + run: pnpm exec knip --reporter compact || true diff --git a/package.json b/package.json index cdba65da0..ebe46540e 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,15 @@ { "name": "drop", "private": true, - "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319" -} \ No newline at end of file + "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319", + "devDependencies": { + "@ast-grep/cli": "^0.45.2", + "knip": "^6.32.2", + "lefthook": "^2.1.10", + "prettier": "^3.9.6", + "prettier-plugin-sort-json": "^4.2.0" + }, + "scripts": { + "prepare": "lefthook install" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dbd7e40cb..a9abaf75e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,7 +55,23 @@ overrides: importers: - .: {} + .: + devDependencies: + '@ast-grep/cli': + specifier: ^0.45.2 + version: 0.45.2 + knip: + specifier: ^6.32.2 + version: 6.32.2 + lefthook: + specifier: ^2.1.10 + version: 2.1.10 + prettier: + specifier: ^3.9.6 + version: 3.9.6 + prettier-plugin-sort-json: + specifier: ^4.2.0 + version: 4.2.0(prettier@3.9.6) desktop: dependencies: @@ -90,7 +106,7 @@ importers: version: 9.39.4(jiti@2.7.0) nuxt: specifier: ^3.21.10 - version: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) + version: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) typescript: specifier: ^5.7.2 version: 5.9.3 @@ -144,7 +160,7 @@ importers: version: 4.2.2(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) '@vueuse/nuxt': specifier: 13.6.0 - version: 13.6.0(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(vue@3.5.41(typescript@5.9.3)) + version: 13.6.0(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(vue@3.5.41(typescript@5.9.3)) argon2: specifier: ^0.43.0 version: 0.43.1 @@ -198,7 +214,7 @@ importers: version: 8.1.1 nuxt: specifier: ^3.21.10 - version: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) + version: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) nuxt-security: specifier: 2.2.0 version: 2.2.0(magicast@0.5.2)(rollup@4.62.4) @@ -265,7 +281,7 @@ importers: version: 4.3.0(eslint@9.39.4(jiti@2.7.0))(jsonc-eslint-parser@2.4.2)(vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0)))(yaml-eslint-parser@1.3.2) '@nuxt/eslint': specifier: ^1.3.0 - version: 1.15.2(@typescript-eslint/utils@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@vue/compiler-sfc@3.5.41)(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0))(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.1.5)(typescript@5.9.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + version: 1.15.2(@typescript-eslint/utils@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@vue/compiler-sfc@3.5.41)(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0))(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.143.0)(rolldown@1.1.5)(typescript@5.9.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) '@tailwindcss/forms': specifier: ^0.5.9 version: 0.5.11(tailwindcss@4.2.2) @@ -307,7 +323,7 @@ importers: version: 1.15.11 nitropack: specifier: ^2.13.4 - version: 2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.140.0)(rolldown@1.1.5)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + version: 2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.143.0)(rolldown@1.1.5)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) ofetch: specifier: ^1.4.1 version: 1.5.1 @@ -469,6 +485,55 @@ packages: '@ark/util@0.56.0': resolution: {integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA==} + '@ast-grep/cli-darwin-arm64@0.45.2': + resolution: {integrity: sha512-UeLO9dAyWVesDII8m545LEzooNLRmNigbv6Qo7bACkB3jYTqoVbLH96+PZFFbJcQRcabqiwOiDlxhodkCMkP5A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@ast-grep/cli-darwin-x64@0.45.2': + resolution: {integrity: sha512-Y9sUYEGx/jE/1e9bq8E11AIRDSTMj7ZCzfK862TVM2yc+jKWif+IcqPkDNX4rpz+erTxK+IsSVwoEXduB+zSPg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@ast-grep/cli-linux-arm64-gnu@0.45.2': + resolution: {integrity: sha512-hfxdLxxCcGobue++cWNf7O/VC+Ctj9FeFqgTkKUxxZbPjMawHLNvd2+uXbTimgOOZrAZqm2VsZ9CRxw8zrADIA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@ast-grep/cli-linux-x64-gnu@0.45.2': + resolution: {integrity: sha512-Fh/evRRyJaH0Dctk+JMN4o7dz0tI5Pj3XJUDlp/aAwvXnZ0kuOsAMpO4tlYYq3By0/6GbKCr2Qau1t9cx1rMVQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@ast-grep/cli-win32-arm64-msvc@0.45.2': + resolution: {integrity: sha512-wzlAX2K9255DNrHMpK9EpM+61ITYpTL14P47eZ4or2jYGUpB0bl1r7FjTC+eDXcwHLJozvu1b6f42iy0505JvA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@ast-grep/cli-win32-ia32-msvc@0.45.2': + resolution: {integrity: sha512-hgRpvkX2n8ih3Fywj6dn6ekLmKI0ytC2HdDlLvAQBDzxYzxVMpb6mydF+eR4lqPEGTSuGXmN7lsbDzRRFX7qqQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@ast-grep/cli-win32-x64-msvc@0.45.2': + resolution: {integrity: sha512-IFV/nygDDDOecuyqaaHIRwhEgVu8+42jm9UIiiZ/P9zUxDMZa34Z440FFGqqRvf4Mnm+1X0jRsNRxGyWPpzPog==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@ast-grep/cli@0.45.2': + resolution: {integrity: sha512-euUPqWTyWt6Ma9WBRCMM12UZXkdQAoUVyXFWnPXtFfIuiF3oJUhEWpzlcSaliiFcXLfzSuMu4rAhhtlGrTEaZA==} + engines: {node: '>= 12.0.0'} + hasBin: true + '@astrojs/compiler-binding-darwin-arm64@0.3.1': resolution: {integrity: sha512-IEmEF2fUIlTHtpeE/isyEGVOB14cEyh/LZOFYt6wn3jNyVpdC8aR5OZ+RzFUR/f+8ZDM1LaMwZKvoA7eMyJeFw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2811,18 +2876,36 @@ packages: cpu: [arm] os: [android] + '@oxc-parser/binding-android-arm-eabi@0.143.0': + resolution: {integrity: sha512-n9uozULWflPqBtdmI8lAabLqGKNgLVNN0ZH8HfgCwpKGNtzRzauB76jTiW/3YLkcA7N1zskpi9GdVnZuu1SAvg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxc-parser/binding-android-arm64@0.140.0': resolution: {integrity: sha512-Ia8jSvikUX6Sf+Ht+KOCUF/k1HpR0VlmqIYymubmWDebOEGtsyliHDR6JxsZ4IX3/c/GbrB1uh09aVGQv/LQmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxc-parser/binding-android-arm64@0.143.0': + resolution: {integrity: sha512-9BbdjHETk6O3zH/DDid9IgBtF0GlpLabNKN231uraXpRDSfY+iiZxTP5bk1Z63GBownVdhdINFIeddmMz4MzpQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxc-parser/binding-darwin-arm64@0.140.0': resolution: {integrity: sha512-G6VK0nK61pH0d0mBjUqSZbVxGqqO5uzeginLDQj+gOO6ObfJjXRwgkD/ol0w1INcnFeAb6YGGO7qc3ueGHaycQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxc-parser/binding-darwin-arm64@0.143.0': + resolution: {integrity: sha512-gh+6ecoHUy4/sUcolBl/1qPXKBbYNxFY0Pk0ujgQvINTMSftJY7o4yb8gOkDJPeZeB8+a+u7xTe6umoP8N5HFA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxc-parser/binding-darwin-arm64@0.70.0': resolution: {integrity: sha512-pIi7L9PnsBctS/ruW6JQVSYRJkh76PblBN46uQxpBfVsM57c1s4HGZlmGysQWbdmQTFDZW+SmH3u0JpmDLF0+A==} engines: {node: '>=14.0.0'} @@ -2835,6 +2918,12 @@ packages: cpu: [x64] os: [darwin] + '@oxc-parser/binding-darwin-x64@0.143.0': + resolution: {integrity: sha512-qd1hl2d+lXgHv/VQ/M9qm8TrMC5T4RqDBwtOnl+1D0QMjwcz+8AaB4JSg8STgeag0GP6a6L74XEGAsrTSJWNzQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxc-parser/binding-darwin-x64@0.70.0': resolution: {integrity: sha512-EbKqtOHzZR56ZFC5HHg6XrYneFAJmpLC1Z6FSgbI061Ley1atAViQg7S6Agm9wAcPpns+BeFJqXEBx/y3MKa2w==} engines: {node: '>=14.0.0'} @@ -2847,6 +2936,12 @@ packages: cpu: [x64] os: [freebsd] + '@oxc-parser/binding-freebsd-x64@0.143.0': + resolution: {integrity: sha512-M5XXcNa7aOqLPKTR41msfghKu2yQ4xWvCm11/gwU0JzOzHNk5sgW//rVEjJ+LO48+VDAMzXTSzurUVxIDKwozw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxc-parser/binding-freebsd-x64@0.70.0': resolution: {integrity: sha512-MVUaOMEUVE8q3nsWtEo589h++V5wAdqTbCRa9WY4Yuyxska4xcuJQk/kDNCx+n92saS7Luk+b20O9+VCI03c+A==} engines: {node: '>=14.0.0'} @@ -2859,6 +2954,12 @@ packages: cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm-gnueabihf@0.143.0': + resolution: {integrity: sha512-T/GXusuOkPNQhCQCSBbcU/N8j0rAypuDBl1IyFK+lyYT594XsVz80clPC/OtbSSpBGyJxj8uYEfctxVuxVYoww==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm-gnueabihf@0.70.0': resolution: {integrity: sha512-8N4JTYTgKiRHlMUDAdzKs6iEC57a8ex408VgKoLD/Fl+Un79qOti3S9sotdnWSdH/BsDQeO5NW+PKaqFBTw+hA==} engines: {node: '>=14.0.0'} @@ -2871,6 +2972,12 @@ packages: cpu: [arm] os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.143.0': + resolution: {integrity: sha512-oKu4RcBlXSqo3OC62dp6YTnQaZIurNDpCX3BnAM3+bJxt7s8J2TJKMnC0UYer1qhlRaDCg6wkTaTw+2IlsZ12w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxc-parser/binding-linux-arm-musleabihf@0.70.0': resolution: {integrity: sha512-Bsu+YvtgWuSfSDJTHMF5APZBOtvddR0GiHyrL0yaXDwaYvAL/E7XcoSK2GdmKTpw+J8nk5IlejEXlQliPo52pQ==} engines: {node: '>=14.0.0'} @@ -2884,6 +2991,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-arm64-gnu@0.143.0': + resolution: {integrity: sha512-WJBbD186AZmMGaSIhlktC+rPl8L3peCTXAh88Ih9uEvK0en2mPojGyCGYiL6mHtV1RPV3JyfJW5t6n5hh0lXhA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-arm64-gnu@0.70.0': resolution: {integrity: sha512-tDzHWKexJPHR+qSiuAFoZ1v8EgCd4ggBNbjJHkcIHsoYKnsKaT1+uE9xfW9UhI1mhv2lo1JJ9n9og2yDTGxSeA==} engines: {node: '>=14.0.0'} @@ -2898,6 +3012,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-arm64-musl@0.143.0': + resolution: {integrity: sha512-t1AcYOwEzgceadT4v5e+vaCCb0AncCA3v5AyzfBAz/tMq11qzVccXKzNHtkWdjBsgvTKwRkaUF3QvT4kot8vcQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-arm64-musl@0.70.0': resolution: {integrity: sha512-BJ+N25UWmHU624558ojSTnht3uFL00jV1c8qk1hnKf4cl6+ovFcoktRWAWSBlgLEP8tLlu8qgIhz875tMj2PkQ==} engines: {node: '>=14.0.0'} @@ -2912,6 +3033,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-ppc64-gnu@0.143.0': + resolution: {integrity: sha512-RsnO/NoD8376LMJq8JS8TwI0ieNaFRTuNe2GVJntQg6gwZNMENZsEbknHdVwjpOmxdGLGodcwaGSbAeRr5Bgjw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.140.0': resolution: {integrity: sha512-A1x+PMWZmSGaFVOx2YeNTFau8uD+QO14/vLP4GrcuvUPs3+nBkUOjy9Lus86ftHsDojjYMbvBelmKc3F7Rv08g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2919,6 +3047,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.143.0': + resolution: {integrity: sha512-48fSVfR9TZi5CASZFyv0VC6z6BCoeihFsX031mAD/oSH7d9PYsPgIqza7d9mjP7Z2KTEpTFyH6SIu0Ui6R1vdg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-riscv64-gnu@0.70.0': resolution: {integrity: sha512-nxu22nVuPA2xy1cxvBC0D5mVl0myqStOw3XBkVkDViNL01iPyuEFJd5VsM0GqsgrXvF95H/jrbMd+XWnto924g==} engines: {node: '>=14.0.0'} @@ -2933,6 +3068,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-riscv64-musl@0.143.0': + resolution: {integrity: sha512-T8CpdD+SfE01DnIOD4HpVxu0ZJOfMJ/VhCvikKfaXAxkZ+9veyLM/D2hpi7Y2hFUyPmVQO3FNZHmYzV/WlVR4g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-s390x-gnu@0.140.0': resolution: {integrity: sha512-2M1DPm/8w9I//YzFlFC9qXw+r2tJFh5CYwRlYTq2vUJQS7qoQftEDeCZ8EnN7KHtvSiXvYj8mZI5pR7DpXmcEw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2940,6 +3082,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-s390x-gnu@0.143.0': + resolution: {integrity: sha512-QLdeMsCcacenPEFsfxnBUDF1y6opyz5+fmOz9bfD5Y7fiGCMupUCuB3KTPQhNwshIG1P9fPqar9MHxuBDd4bwQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-s390x-gnu@0.70.0': resolution: {integrity: sha512-AQ6Xj97lYRxHZl94cZIHJxT5M1qkeEi+vQe+e7M2lAtjcURl8cwhZmWKSv4rt4BQRVfO3ys0bY8AgIh4eFJiqw==} engines: {node: '>=14.0.0'} @@ -2954,6 +3103,13 @@ packages: os: [linux] libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.143.0': + resolution: {integrity: sha512-659ujfqLy6k7cuH3sbzhd8b+ztSq+i6E2E9pG78Q0BmHjAExfGIdgc8cGgMdwAozDXeZFHkJ+LXYJdWsaGdgyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxc-parser/binding-linux-x64-gnu@0.70.0': resolution: {integrity: sha512-RIxaVsIxtG90CoX6/Okij8itaMrJp4SEJm1pSL0pz3hGo0yur3Il9M1mmGvOpW+avY8uHdwXIvf2qMnnTKZuoQ==} engines: {node: '>=14.0.0'} @@ -2968,6 +3124,13 @@ packages: os: [linux] libc: [musl] + '@oxc-parser/binding-linux-x64-musl@0.143.0': + resolution: {integrity: sha512-/Mw/9j4TfZcnKphPrzOE6t4MMknXadcAAuVUlDRTF/ETWB5xOgQvOJV2Mh9We/bWxZdoxaGAdc+hy4GuYwQ2yQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxc-parser/binding-linux-x64-musl@0.70.0': resolution: {integrity: sha512-B3S0G4TlZ+WLdQq4mSQtt2ZW0MAkKWc8dla17tZY86kcXvvCWwACvj7I27Z/nSlb7uJOdRZS9/r6Gw0uAARNVQ==} engines: {node: '>=14.0.0'} @@ -2981,6 +3144,12 @@ packages: cpu: [arm64] os: [openharmony] + '@oxc-parser/binding-openharmony-arm64@0.143.0': + resolution: {integrity: sha512-8rIKWR2BFuifbIK/1XB9wTaSdtuJ25dlE7ZQYDnEwj/2xH2vHsxnvIjHT3ZjSVuLLwGGlSslIG/fbOJ8TV8rTw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxc-parser/binding-wasm32-wasi@0.140.0': resolution: {integrity: sha512-vFiC1hqys+hkX1GnQkIoiTQJNiUm43Z0lO35ETKXTw0YtpW7+cN58YRRXFAQQ+TgpkIi3lrhcxdlnqz+Oi3ptQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2997,6 +3166,12 @@ packages: cpu: [arm64] os: [win32] + '@oxc-parser/binding-win32-arm64-msvc@0.143.0': + resolution: {integrity: sha512-5U9kQYMfRRI6Zq7KDxgbIP0RMnKrfn3gLepRMgJuRkPSUALTiRCk9d/uyhb4lGDjUdzwK7mBkKqhLgzBPCmLpQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxc-parser/binding-win32-arm64-msvc@0.70.0': resolution: {integrity: sha512-6k8/s78g0GQKqrxk4F0wYj32NBF9oSP6089e6BeuIRQ9l+Zh0cuI6unJeLzXNszxmlqq84xmf/tmP3MSDG43Uw==} engines: {node: '>=14.0.0'} @@ -3009,12 +3184,24 @@ packages: cpu: [ia32] os: [win32] + '@oxc-parser/binding-win32-ia32-msvc@0.143.0': + resolution: {integrity: sha512-25P7AaHk4R88Yv2XH4gToDVmh0cOu+bEURQU10CRrmvgabfRArSGAP5osmwUKeSUHj0VS50upbpbRWWW/m7mHA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.140.0': resolution: {integrity: sha512-kHbE1zWyb5OQgJA6/5P4WjiuB01sYdQwtZnSSyE58FQEXDAMnyeeq4vj7KgN75i5SlBzOs8A5MrtlD3gOlDKqQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.143.0': + resolution: {integrity: sha512-ORMh3JE1s6V7ySicdRK7vgaDQnn5o+UHg9ct989PlWHbel8O9ARrmWXM6kZjrBMtNucxNayQ8g69G0VfWzhANw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxc-parser/binding-win32-x64-msvc@0.70.0': resolution: {integrity: sha512-nd9o1QtEvupaJZ3Wn7PfsuC00n31NNRQZ5+Mui6Q0ZyDzp+obqPUSbSt7xh9Dy0c5zgtYMk8WY4n/VBJY2VvTQ==} engines: {node: '>=14.0.0'} @@ -3031,12 +3218,118 @@ packages: '@oxc-project/types@0.140.0': resolution: {integrity: sha512-h5LUOzGArYemnW1NMz/DuuQhBi96J6JL2Bk8zE4kvqxB5Sg3jxmCiH4uyOWHDkiKSt5vWlG4FIwCR/DbstcNRQ==} + '@oxc-project/types@0.143.0': + resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==} + '@oxc-project/types@0.60.0': resolution: {integrity: sha512-prhfNnb3ATFHOCv7mzKFfwLij5RzoUz6Y1n525ZhCEqfq5wreCXL+DyVoq3ShukPo7q45ZjYIdjFUgjj+WKzng==} '@oxc-project/types@0.70.0': resolution: {integrity: sha512-ngyLUpUjO3dpqygSRQDx7nMx8+BmXbWOU4oIwTJFV2MVIDG7knIZwgdwXlQWLg3C3oxg1lS7ppMtPKqKFb7wzw==} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': + resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} + cpu: [arm] + os: [android] + + '@oxc-resolver/binding-android-arm64@11.24.2': + resolution: {integrity: sha512-cl4icWaZFnLdg8m6qtnh5rBMuGbxc/ptStFHLeCNwr+2cZjkjNwQu/jYRS0CHlnPecOJMpuS5M6/BH+0J/YkEg==} + cpu: [arm64] + os: [android] + + '@oxc-resolver/binding-darwin-arm64@11.24.2': + resolution: {integrity: sha512-At29QEMF6HajbQvgY8K6OXnHD1x9rad74xBEfmCB6ZqCGsdq75aK7tOYcTbOanMy8qdIBrfL3SMr3p/lfSlb9w==} + cpu: [arm64] + os: [darwin] + + '@oxc-resolver/binding-darwin-x64@11.24.2': + resolution: {integrity: sha512-A5Kqr1EUj4oIL5CF4WRssq/o5P0Y11cwoFouMRmQ7YnC/A8V93nv1nb7aSU8HwcgmXropjLNkVTl4MN87cu28Q==} + cpu: [x64] + os: [darwin] + + '@oxc-resolver/binding-freebsd-x64@11.24.2': + resolution: {integrity: sha512-R5xkRBRRz7ceH/P5Jrc6G7FmdUdgpLYyESFAUDVTNQ9K0sGPxcp4ljiwEwEqsvNcQ4sYbMRrWcHHBCu7ksAJVw==} + cpu: [x64] + os: [freebsd] + + '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2': + resolution: {integrity: sha512-k/RuYL4L/R58IBn3wT5ma3Wh4k62bp1eYCFRWCmMsasUOqL+H6sW0VGFadEzKWXFFlz+2uIMoeMk9ySSZJHgbg==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2': + resolution: {integrity: sha512-bnHAak3ujYfH5pKk4NieFNbvYvernfoQDgwLddbZ3OtMYrem87/qjlA+u+aKG0oZcqSLGCful/6/CEA+aeAgaA==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-gnu@11.24.2': + resolution: {integrity: sha512-vDT3KHgzYp47gmtNOqL2VNhCyl5Zv643eyxm//A68J8DeUGXrvD1pZFiaT4jSfe+RInfnn1R2yVHye4enx6RnA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-arm64-musl@11.24.2': + resolution: {integrity: sha512-+kMlQvbzfyEYtu5FcjE4p+ttBLpKW4d/AsAsuE69BxV6V4twZJeIQZFfD8gh/wqglY0MkPSezWXQH0jBV13MUw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': + resolution: {integrity: sha512-shjfMhmZ3gq9fv/w7bi3PnZlgOPG+2QAOFf0BJF0EgBSIGZ6PMLN2zbGEblTUYB/NKVDRyYhE2ff3dJ1QqNPkA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': + resolution: {integrity: sha512-zGelwFR5oRo+b69k8Lrzun86DyUHzfKN6cnjbR9l7Z7NIRznOE/2ZvPa1IUKqAL2PzAXOdwkfVqNvO1H2RlpAw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': + resolution: {integrity: sha512-qxZ1SWCXJY0eyhAlP6Lmo9F2Nrtx7EkYj9oCgL8apDPCwXwCEDA2U697bbT81JIc2IrVjxO4KX6WU2N+oN9Z4w==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': + resolution: {integrity: sha512-sGCecF3cx2DFlH4t/z7ApnOnXqN48p5p5mlHDEnHTAukQa2P+qMVE4CwyWE9W+q/m3QJ7kKfGrIjax31f44oFQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-x64-gnu@11.24.2': + resolution: {integrity: sha512-k/VlMMcSzMlahb3/fENM4rTlsJ0s3fFROA0KXPBmKggqmTSaE383sl8F3KCOXPLmVsYfW6hCitMhXCEtNeZxxg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-resolver/binding-linux-x64-musl@11.24.2': + resolution: {integrity: sha512-8hbnZyNi97b/8wapYaIF9+t9GmZKBW2vunaOc3h9HGJptH7b7XpvZqOTBSm/MpTjr7H497BlgOaSfLUdhmy2bw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-resolver/binding-openharmony-arm64@11.24.2': + resolution: {integrity: sha512-MvyGik3a6pVgZ0t/kWlbmFxFLmXQJwgLsY2eYFHLpy0wGwRbfzeIGgDwQ3kXqE30z+kSXennRkCrT7TUvkptNg==} + cpu: [arm64] + os: [openharmony] + + '@oxc-resolver/binding-wasm32-wasi@11.24.2': + resolution: {integrity: sha512-vHcssMPwO08RTvj/c0iOBz90attxyG3wQJ0dTcyEQK43LRpcdLWZlV5feBhv6Isn6ahbQIzHbCgfa81+RiML0Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + resolution: {integrity: sha512-uokJqro2iBqkFvJdKQLP7d8/BUmFwESQFVmIJUQKj1Xn1a/LysJoe1vmeECLF5b3jsV8CAL5sEMJXX6SdK9Nhg==} + cpu: [arm64] + os: [win32] + + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + resolution: {integrity: sha512-UqGPmo56KDfLlfXFAFIrNflHT8tFxWGEivWg3Zeyp4Uy2NlKN1FGPr6/BxcLGG3+kZ6Wp14g5Uj+n71boqZfiw==} + cpu: [x64] + os: [win32] + '@oxc-transform/binding-android-arm-eabi@0.141.0': resolution: {integrity: sha512-FOdseb5KpV3JtkM+7TN4u3sW3aQkUSRy0bWWiKgT/qrIGqZHqzKEUpwaMybutsfwEglWBXuJgnrT9loWisPkrw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -6954,6 +7247,9 @@ packages: fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + fd-package-json@2.0.0: + resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} + fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -7100,6 +7396,11 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} + formatly@0.3.0: + resolution: {integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==} + engines: {node: '>=18.3.0'} + hasBin: true + fraction.js@5.3.4: resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} @@ -7233,6 +7534,9 @@ packages: get-tsconfig@4.14.0: resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-tsconfig@4.14.1: + resolution: {integrity: sha512-Dz/6HxkrxgNehhxLVeyv8sad9UzF2xBVeaKBQNDfJ5XiSXmp2gTR0eO0RWiT2NCKS5aGP9jjkOMggTN90qU50A==} + get-tsconfig@5.0.0-beta.4: resolution: {integrity: sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==} engines: {node: '>=20.20.0'} @@ -8195,6 +8499,11 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} + knip@6.32.2: + resolution: {integrity: sha512-WXTXbmocrw7gqm1A1TQvFN0OgJ7hUSU6E1g6SPRIzzHFogUBhXByc7cYeOFVtJ2uODg7DP4VbESYBYnfbtBYsg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + knitwork@1.3.0: resolution: {integrity: sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==} @@ -8216,6 +8525,60 @@ packages: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} + lefthook-darwin-arm64@2.1.10: + resolution: {integrity: sha512-nw+X8wRNDoUUV6WSteyKBbcLySq+fsmZt5WV/s50ZJpysmsDKJOUMln6SllNfP+60dzUahAO7REco/2633BsLg==} + cpu: [arm64] + os: [darwin] + + lefthook-darwin-x64@2.1.10: + resolution: {integrity: sha512-KQ/bHmvpkFdHMn4pZnUdTf+GuSC+aBBgBTxZT4GW+6cSf+qbErKZBhK7cH6BmILsvx43+VzEArvHYY7YOfRFOQ==} + cpu: [x64] + os: [darwin] + + lefthook-freebsd-arm64@2.1.10: + resolution: {integrity: sha512-8su6DwydP7+pv7kG0zCtjphqsw4ouOnfexRUErapy5GTxYBoUOhYz3RSHTSWNRsK6W4jva7FPUh2Lp5/PSn30w==} + cpu: [arm64] + os: [freebsd] + + lefthook-freebsd-x64@2.1.10: + resolution: {integrity: sha512-GeAJEFxko3Lk+AsnS3NleAFrpyMLFUKOlgJvPKuU0xHwVEI/z+ZoCcmuO0BX+4CS0NLbZhC/YQAvBASqDvvVdQ==} + cpu: [x64] + os: [freebsd] + + lefthook-linux-arm64@2.1.10: + resolution: {integrity: sha512-1sHTCmpTWjVMs+yKPBLRNT1kuuIr1yjietlk7rCB6wFPVOS6Ph3o2zPFH2AvW1UymHlqwyHXzBr9EtDpQ7j1mQ==} + cpu: [arm64] + os: [linux] + + lefthook-linux-x64@2.1.10: + resolution: {integrity: sha512-z/VlRB3bh6mBvW3r1rwnJ5vP8z+Krx5gJzkZ4veDXh+6FlRTx8wtd3g3fllOv/yZMxkgmL3fQoFXv05Esa7vBQ==} + cpu: [x64] + os: [linux] + + lefthook-openbsd-arm64@2.1.10: + resolution: {integrity: sha512-430zL8sSIKw5P0YXGG6PB+eAhHa06n0PXuaERaAQE4Ss3odfqwnl5Mq9hQmkEnOS1EGiQEKkd0UHv/i4PtMNIQ==} + cpu: [arm64] + os: [openbsd] + + lefthook-openbsd-x64@2.1.10: + resolution: {integrity: sha512-bgkO8PphGZVDhQgCJ524aYYPI5491pVmCiLPGjBIo1AvOSlIyw4N1Y+1C3QfqwEmechzw+Aq16SNc8pqv6UuXg==} + cpu: [x64] + os: [openbsd] + + lefthook-windows-arm64@2.1.10: + resolution: {integrity: sha512-5Q6etF0Fla2DDA4ilDySrdNgiR5+W7cJZwnZ69Je3kvWCaWm4wnkuc8FEdjp3kiL2x3ZXipdI00f5vpO8aWmog==} + cpu: [arm64] + os: [win32] + + lefthook-windows-x64@2.1.10: + resolution: {integrity: sha512-c/XH8YZtylG4XaxzqFfXluvq2LXq2W/p54Bnzn3+Z7E5X2Fk3JlFJAibulMbIt2+w8T7UI/r97ok5GqE4kGaeA==} + cpu: [x64] + os: [win32] + + lefthook@2.1.10: + resolution: {integrity: sha512-K7mM4WoqMwqfXYK11EHy+lSH1uW8XHni3Yn/bSqyerPkUPygGdf3xn18JoV5HyA06xuQL3ofGAOjG01QX9oJ4w==} + hasBin: true + levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} @@ -9223,10 +9586,17 @@ packages: resolution: {integrity: sha512-h6QFWd6lBMfjESqgQ27GjzrSDb0qbznp7VDQqp2zvgsrWut4vcchyMIzOVXvGQ2GMZgKw9RWrFNWv9WqGL0p7Q==} engines: {node: ^20.19.0 || >=22.12.0} + oxc-parser@0.143.0: + resolution: {integrity: sha512-ov0NzaDCOInknS7mP1cwKdJERt3utPW8ldjtdUXQ8Ty0GEFD08wk422vCUN0d7pST6kqtV7dxoI9w1Zi0l/9TA==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-parser@0.70.0: resolution: {integrity: sha512-YbqTuQDDIYwQF/li0VFK5uTbmHV4jWFeQQONkPdf77vz+JMiq7SusmcSVZ4hBrGM+3WyLdKH5S7spnvz4XVVzQ==} engines: {node: '>=14.0.0'} + oxc-resolver@11.24.2: + resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} + oxc-transform@0.141.0: resolution: {integrity: sha512-CrMPblXfPl57WIvGjynrUThcyEGcS3E3YUHkPYAwXYYla23gLlaIYifVFTMQsFr5uxA/2k/XMG5n6c/XsuAvaQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -9899,6 +10269,11 @@ packages: engines: {node: '>=14'} hasBin: true + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} + engines: {node: '>=14'} + hasBin: true + pretty-bytes@7.1.0: resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} engines: {node: '>=20'} @@ -11285,6 +11660,10 @@ packages: ultrahtml@1.7.0: resolution: {integrity: sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==} + unbash@4.0.10: + resolution: {integrity: sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==} + engines: {node: '>=14'} + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -11928,6 +12307,10 @@ packages: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} engines: {node: '>=10'} + walk-up-path@4.0.0: + resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} + engines: {node: 20 || >=22} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -12215,6 +12598,39 @@ snapshots: '@ark/util@0.56.0': {} + '@ast-grep/cli-darwin-arm64@0.45.2': + optional: true + + '@ast-grep/cli-darwin-x64@0.45.2': + optional: true + + '@ast-grep/cli-linux-arm64-gnu@0.45.2': + optional: true + + '@ast-grep/cli-linux-x64-gnu@0.45.2': + optional: true + + '@ast-grep/cli-win32-arm64-msvc@0.45.2': + optional: true + + '@ast-grep/cli-win32-ia32-msvc@0.45.2': + optional: true + + '@ast-grep/cli-win32-x64-msvc@0.45.2': + optional: true + + '@ast-grep/cli@0.45.2': + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + '@ast-grep/cli-darwin-arm64': 0.45.2 + '@ast-grep/cli-darwin-x64': 0.45.2 + '@ast-grep/cli-linux-arm64-gnu': 0.45.2 + '@ast-grep/cli-linux-x64-gnu': 0.45.2 + '@ast-grep/cli-win32-arm64-msvc': 0.45.2 + '@ast-grep/cli-win32-ia32-msvc': 0.45.2 + '@ast-grep/cli-win32-x64-msvc': 0.45.2 + '@astrojs/compiler-binding-darwin-arm64@0.3.1': optional: true @@ -14065,7 +14481,14 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@next/env@15.5.21': {} + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@tybys/wasm-util': 0.10.3 + optional: true + + '@next/env@15.5.21': {} '@next/eslint-plugin-next@15.4.4': dependencies: @@ -14197,9 +14620,9 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/devtools-kit@3.2.4(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': + '@nuxt/devtools-kit@3.2.4(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.143.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': dependencies: - '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))) + '@nuxt/kit': 4.5.2(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.143.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))) execa: 8.0.1 vite: 8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0) transitivePeerDependencies: @@ -14454,10 +14877,10 @@ snapshots: - supports-color - typescript - '@nuxt/eslint@1.15.2(@typescript-eslint/utils@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@vue/compiler-sfc@3.5.41)(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0))(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.1.5)(typescript@5.9.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': + '@nuxt/eslint@1.15.2(@typescript-eslint/utils@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@vue/compiler-sfc@3.5.41)(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0))(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.143.0)(rolldown@1.1.5)(typescript@5.9.3)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': dependencies: '@eslint/config-inspector': 1.5.0(eslint@9.39.4(jiti@2.7.0)) - '@nuxt/devtools-kit': 3.2.4(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + '@nuxt/devtools-kit': 3.2.4(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.143.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) '@nuxt/eslint-config': 1.15.2(@typescript-eslint/utils@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(@vue/compiler-sfc@3.5.41)(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@nuxt/eslint-plugin': 1.15.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) '@nuxt/kit': 4.4.2(magicast@0.5.2) @@ -14834,6 +15257,36 @@ snapshots: - rolldown - unplugin + '@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.2)(oxc-parser@0.143.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))': + dependencies: + c12: 3.3.4(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.7 + destr: 2.0.5 + errx: 0.1.2 + exsolve: 1.1.1 + ignore: 7.0.6 + jiti: 2.7.0 + klona: 2.0.6 + mlly: 1.8.2 + nostics: 1.2.0 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.1 + rc9: 3.0.1 + scule: 1.3.0 + tinyglobby: 0.2.17 + ufo: 1.6.4 + unctx: 3.0.0(magic-string@1.1.0)(oxc-parser@0.143.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))) + untyped: 2.0.0 + verkit: 0.3.2 + transitivePeerDependencies: + - magic-string + - magicast + - oxc-parser + - rolldown + - unplugin + '@nuxt/kit@4.5.2(magic-string@1.1.0)(magicast@0.5.4)(oxc-parser@0.140.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))': dependencies: c12: 3.3.4(magicast@0.5.4) @@ -14864,7 +15317,7 @@ snapshots: - rolldown - unplugin - '@nuxt/nitro-server@3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(ioredis@5.10.1)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': + '@nuxt/nitro-server@3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(ioredis@5.10.1)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 3.21.10(magicast@0.5.2) @@ -14882,7 +15335,7 @@ snapshots: klona: 2.0.6 mocked-exports: 0.1.1 nitropack: 2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.140.0)(rolldown@1.1.5)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) - nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) + nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) ohash: 2.0.11 pathe: 2.0.3 pkg-types: 2.3.1 @@ -14939,7 +15392,7 @@ snapshots: - webpack - xml2js - '@nuxt/nitro-server@3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(ioredis@5.10.1)(magicast@0.5.4)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': + '@nuxt/nitro-server@3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(ioredis@5.10.1)(magicast@0.5.4)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 3.21.10(magicast@0.5.4) @@ -14957,7 +15410,7 @@ snapshots: klona: 2.0.6 mocked-exports: 0.1.1 nitropack: 2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.140.0)(rolldown@1.1.5)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) - nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) + nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) ohash: 2.0.11 pathe: 2.0.3 pkg-types: 2.3.1 @@ -15040,7 +15493,7 @@ snapshots: rc9: 3.0.1 std-env: 4.2.0 - '@nuxt/vite-builder@3.21.10(@types/node@22.19.17)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0)': + '@nuxt/vite-builder@3.21.10(@types/node@22.19.17)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0)': dependencies: '@nuxt/kit': 3.21.10(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.62.4) @@ -15060,7 +15513,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) + nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) nypm: 0.6.9 ohash: 2.0.11 pathe: 2.0.3 @@ -15102,7 +15555,7 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@3.21.10(@types/node@24.13.3)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.4)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0)': + '@nuxt/vite-builder@3.21.10(@types/node@24.13.3)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.4)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0)': dependencies: '@nuxt/kit': 3.21.10(magicast@0.5.4) '@rollup/plugin-replace': 6.0.3(rollup@4.62.4) @@ -15122,7 +15575,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.2 mocked-exports: 0.1.1 - nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) + nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) nypm: 0.6.9 ohash: 2.0.11 pathe: 2.0.3 @@ -15311,84 +15764,132 @@ snapshots: '@oxc-parser/binding-android-arm-eabi@0.140.0': optional: true + '@oxc-parser/binding-android-arm-eabi@0.143.0': + optional: true + '@oxc-parser/binding-android-arm64@0.140.0': optional: true + '@oxc-parser/binding-android-arm64@0.143.0': + optional: true + '@oxc-parser/binding-darwin-arm64@0.140.0': optional: true + '@oxc-parser/binding-darwin-arm64@0.143.0': + optional: true + '@oxc-parser/binding-darwin-arm64@0.70.0': optional: true '@oxc-parser/binding-darwin-x64@0.140.0': optional: true + '@oxc-parser/binding-darwin-x64@0.143.0': + optional: true + '@oxc-parser/binding-darwin-x64@0.70.0': optional: true '@oxc-parser/binding-freebsd-x64@0.140.0': optional: true + '@oxc-parser/binding-freebsd-x64@0.143.0': + optional: true + '@oxc-parser/binding-freebsd-x64@0.70.0': optional: true '@oxc-parser/binding-linux-arm-gnueabihf@0.140.0': optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.143.0': + optional: true + '@oxc-parser/binding-linux-arm-gnueabihf@0.70.0': optional: true '@oxc-parser/binding-linux-arm-musleabihf@0.140.0': optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.143.0': + optional: true + '@oxc-parser/binding-linux-arm-musleabihf@0.70.0': optional: true '@oxc-parser/binding-linux-arm64-gnu@0.140.0': optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.143.0': + optional: true + '@oxc-parser/binding-linux-arm64-gnu@0.70.0': optional: true '@oxc-parser/binding-linux-arm64-musl@0.140.0': optional: true + '@oxc-parser/binding-linux-arm64-musl@0.143.0': + optional: true + '@oxc-parser/binding-linux-arm64-musl@0.70.0': optional: true '@oxc-parser/binding-linux-ppc64-gnu@0.140.0': optional: true + '@oxc-parser/binding-linux-ppc64-gnu@0.143.0': + optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.140.0': optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.143.0': + optional: true + '@oxc-parser/binding-linux-riscv64-gnu@0.70.0': optional: true '@oxc-parser/binding-linux-riscv64-musl@0.140.0': optional: true + '@oxc-parser/binding-linux-riscv64-musl@0.143.0': + optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.140.0': optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.143.0': + optional: true + '@oxc-parser/binding-linux-s390x-gnu@0.70.0': optional: true '@oxc-parser/binding-linux-x64-gnu@0.140.0': optional: true + '@oxc-parser/binding-linux-x64-gnu@0.143.0': + optional: true + '@oxc-parser/binding-linux-x64-gnu@0.70.0': optional: true '@oxc-parser/binding-linux-x64-musl@0.140.0': optional: true + '@oxc-parser/binding-linux-x64-musl@0.143.0': + optional: true + '@oxc-parser/binding-linux-x64-musl@0.70.0': optional: true '@oxc-parser/binding-openharmony-arm64@0.140.0': optional: true + '@oxc-parser/binding-openharmony-arm64@0.143.0': + optional: true + '@oxc-parser/binding-wasm32-wasi@0.140.0': dependencies: '@emnapi/core': 1.11.2 @@ -15404,15 +15905,24 @@ snapshots: '@oxc-parser/binding-win32-arm64-msvc@0.140.0': optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.143.0': + optional: true + '@oxc-parser/binding-win32-arm64-msvc@0.70.0': optional: true '@oxc-parser/binding-win32-ia32-msvc@0.140.0': optional: true + '@oxc-parser/binding-win32-ia32-msvc@0.143.0': + optional: true + '@oxc-parser/binding-win32-x64-msvc@0.140.0': optional: true + '@oxc-parser/binding-win32-x64-msvc@0.143.0': + optional: true + '@oxc-parser/binding-win32-x64-msvc@0.70.0': optional: true @@ -15424,10 +15934,73 @@ snapshots: '@oxc-project/types@0.140.0': {} + '@oxc-project/types@0.143.0': {} + '@oxc-project/types@0.60.0': {} '@oxc-project/types@0.70.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': + optional: true + + '@oxc-resolver/binding-android-arm64@11.24.2': + optional: true + + '@oxc-resolver/binding-darwin-arm64@11.24.2': + optional: true + + '@oxc-resolver/binding-darwin-x64@11.24.2': + optional: true + + '@oxc-resolver/binding-freebsd-x64@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-musl@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-riscv64-musl@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-s390x-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-x64-gnu@11.24.2': + optional: true + + '@oxc-resolver/binding-linux-x64-musl@11.24.2': + optional: true + + '@oxc-resolver/binding-openharmony-arm64@11.24.2': + optional: true + + '@oxc-resolver/binding-wasm32-wasi@11.24.2': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + optional: true + + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + optional: true + + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + optional: true + '@oxc-transform/binding-android-arm-eabi@0.141.0': optional: true @@ -17203,13 +17776,13 @@ snapshots: '@vueuse/metadata@13.6.0': {} - '@vueuse/nuxt@13.6.0(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(vue@3.5.41(typescript@5.9.3))': + '@vueuse/nuxt@13.6.0(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(vue@3.5.41(typescript@5.9.3))': dependencies: '@nuxt/kit': 4.4.2(magicast@0.5.2) '@vueuse/core': 13.6.0(vue@3.5.41(typescript@5.9.3)) '@vueuse/metadata': 13.6.0 local-pkg: 1.1.2 - nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) + nuxt: 3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0) vue: 3.5.41(typescript@5.9.3) transitivePeerDependencies: - magicast @@ -19092,7 +19665,7 @@ snapshots: '@typescript-eslint/parser': 8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.66.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.66.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0)) eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.7.0)) @@ -19140,7 +19713,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.66.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.66.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.3 @@ -19167,7 +19740,7 @@ snapshots: '@typescript-eslint/parser': 8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3) eslint: 9.39.4(jiti@2.7.0) eslint-import-resolver-node: 0.3.10 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.66.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.2(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.66.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)) transitivePeerDependencies: - supports-color @@ -19756,6 +20329,10 @@ snapshots: dependencies: format: 0.2.2 + fd-package-json@2.0.0: + dependencies: + walk-up-path: 4.0.0 + fd-slicer@1.1.0: dependencies: pend: 1.2.0 @@ -19901,6 +20478,10 @@ snapshots: format@0.2.2: {} + formatly@0.3.0: + dependencies: + fd-package-json: 2.0.0 + fraction.js@5.3.4: {} framer-motion@12.38.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.5(react@19.2.5))(react@19.2.5): @@ -20028,6 +20609,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.14.1: + dependencies: + resolve-pkg-maps: 1.0.0 + get-tsconfig@5.0.0-beta.4: dependencies: resolve-pkg-maps: 1.0.0 @@ -21202,6 +21787,22 @@ snapshots: klona@2.0.6: {} + knip@6.32.2: + dependencies: + fdir: 6.5.0(picomatch@4.0.5) + formatly: 0.3.0 + get-tsconfig: 4.14.1 + jiti: 2.7.0 + oxc-parser: 0.143.0 + oxc-resolver: 11.24.2 + picomatch: 4.0.5 + smol-toml: 1.8.0 + strip-json-comments: 5.0.3 + tinyglobby: 0.2.17 + unbash: 4.0.10 + yaml: 2.9.0 + zod: 4.4.3 + knitwork@1.3.0: {} language-subtag-registry@0.3.23: {} @@ -21223,6 +21824,49 @@ snapshots: dependencies: readable-stream: 2.3.8 + lefthook-darwin-arm64@2.1.10: + optional: true + + lefthook-darwin-x64@2.1.10: + optional: true + + lefthook-freebsd-arm64@2.1.10: + optional: true + + lefthook-freebsd-x64@2.1.10: + optional: true + + lefthook-linux-arm64@2.1.10: + optional: true + + lefthook-linux-x64@2.1.10: + optional: true + + lefthook-openbsd-arm64@2.1.10: + optional: true + + lefthook-openbsd-x64@2.1.10: + optional: true + + lefthook-windows-arm64@2.1.10: + optional: true + + lefthook-windows-x64@2.1.10: + optional: true + + lefthook@2.1.10: + optionalDependencies: + lefthook-darwin-arm64: 2.1.10 + lefthook-darwin-x64: 2.1.10 + lefthook-freebsd-arm64: 2.1.10 + lefthook-freebsd-x64: 2.1.10 + lefthook-linux-arm64: 2.1.10 + lefthook-linux-x64: 2.1.10 + lefthook-openbsd-arm64: 2.1.10 + lefthook-openbsd-x64: 2.1.10 + lefthook-windows-arm64: 2.1.10 + lefthook-windows-x64: 2.1.10 + levn@0.3.0: dependencies: prelude-ls: 1.1.2 @@ -22441,6 +23085,116 @@ snapshots: - vite - webpack + nitropack@2.13.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3)(oxc-parser@0.143.0)(rolldown@1.1.5)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)): + dependencies: + '@cloudflare/kv-asset-handler': 0.4.2 + '@rollup/plugin-alias': 6.0.0(rollup@4.60.3) + '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.3) + '@rollup/plugin-inject': 5.0.5(rollup@4.60.3) + '@rollup/plugin-json': 6.1.0(rollup@4.60.3) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.3) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.3) + '@rollup/plugin-terser': 1.0.0(rollup@4.60.3) + '@vercel/nft': 1.5.0(rollup@4.60.3) + archiver: 7.0.1 + c12: 3.3.4(magicast@0.5.2) + chokidar: 5.0.0 + citty: 0.2.2 + compatx: 0.2.0 + confbox: 0.2.4 + consola: 3.4.2 + cookie-es: 2.0.1 + croner: 10.0.1 + crossws: 0.3.5 + db0: 0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3) + defu: 6.1.7 + destr: 2.0.5 + dot-prop: 10.1.0 + esbuild: 0.28.0 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + exsolve: 1.0.8 + globby: 16.2.0 + gzip-size: 7.0.0 + h3: 1.15.11 + hookable: 5.5.3 + httpxy: 0.5.1 + ioredis: 5.10.1 + jiti: 2.7.0 + klona: 2.0.6 + knitwork: 1.3.0 + listhen: 1.10.0 + magic-string: 0.30.21 + magicast: 0.5.2 + mime: 4.1.0 + mlly: 1.8.2 + node-fetch-native: 1.6.7 + node-mock-http: 1.0.4 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.1 + pretty-bytes: 7.1.0 + radix3: 1.1.2 + rollup: 4.60.3 + rollup-plugin-visualizer: 7.0.1(rolldown@1.1.5)(rollup@4.60.3) + scule: 1.3.0 + semver: 7.7.4 + serve-placeholder: 2.0.2 + serve-static: 2.2.1 + source-map: 0.7.6 + std-env: 4.1.0 + ufo: 1.6.4 + ultrahtml: 1.6.0 + uncrypto: 0.1.3 + unctx: 2.5.0 + unenv: 2.0.0-rc.24 + unimport: 6.2.0(esbuild@0.28.0)(oxc-parser@0.143.0)(rolldown@1.1.5)(rollup@4.60.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + unplugin-utils: 0.3.1 + unstorage: 1.17.5(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1) + untyped: 2.0.0 + unwasm: 0.5.3 + youch: 4.1.1 + youch-core: 0.3.3 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@farmfe/core' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@rspack/core' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - bun-types-no-globals + - drizzle-orm + - encoding + - idb-keyval + - mysql2 + - oxc-parser + - react-native-b4a + - rolldown + - sqlite3 + - supports-color + - unloader + - uploadthing + - vite + - webpack + nlcst-to-string@4.0.0: dependencies: '@types/nlcst': 2.0.3 @@ -22551,16 +23305,16 @@ snapshots: - rollup - supports-color - nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0): + nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0): dependencies: '@dxup/nuxt': 0.5.6(esbuild@0.28.0)(magicast@0.5.2)(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) '@nuxt/cli': 3.37.0(@nuxt/schema@3.21.10)(@parcel/watcher@2.5.6)(cac@6.7.14)(magicast@0.5.2) '@nuxt/devtools': 3.4.1(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(magic-string@0.30.21)(oxc-parser@0.140.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@5.9.3)) '@nuxt/kit': 3.21.10(magicast@0.5.2) - '@nuxt/nitro-server': 3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(ioredis@5.10.1)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + '@nuxt/nitro-server': 3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(ioredis@5.10.1)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) '@nuxt/schema': 3.21.10 '@nuxt/telemetry': 2.8.0(@nuxt/kit@3.21.10(magicast@0.5.2)) - '@nuxt/vite-builder': 3.21.10(@types/node@22.19.17)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0) + '@nuxt/vite-builder': 3.21.10(@types/node@22.19.17)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.2)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@22.19.17)(@vue/compiler-sfc@3.5.41)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.0)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0) '@unhead/vue': 2.1.17(vue@3.5.41(typescript@5.9.3)) '@vue/shared': 3.5.41 c12: 3.3.4(magicast@0.5.2) @@ -22591,7 +23345,7 @@ snapshots: oxc-minify: 0.141.0 oxc-parser: 0.140.0 oxc-transform: 0.141.0 - oxc-walker: 1.1.1(@oxc-project/types@0.140.0)(oxc-parser@0.140.0)(rolldown@1.1.5) + oxc-walker: 1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.140.0)(rolldown@1.1.5) pathe: 2.0.3 perfect-debounce: 2.1.0 pkg-types: 2.3.1 @@ -22681,16 +23435,16 @@ snapshots: - xml2js - yaml - nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0): + nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0): dependencies: '@dxup/nuxt': 0.5.6(esbuild@0.28.1)(magicast@0.5.4)(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) '@nuxt/cli': 3.37.0(@nuxt/schema@3.21.10)(@parcel/watcher@2.5.6)(cac@7.0.0)(magicast@0.5.4) '@nuxt/devtools': 3.4.1(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(ioredis@5.10.1)(magic-string@0.30.21)(oxc-parser@0.140.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.1)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)))(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue@3.5.41(typescript@5.9.3)) '@nuxt/kit': 3.21.10(magicast@0.5.4) - '@nuxt/nitro-server': 3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(ioredis@5.10.1)(magicast@0.5.4)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + '@nuxt/nitro-server': 3.21.10(@electric-sql/pglite@0.4.1)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(ioredis@5.10.1)(magicast@0.5.4)(mysql2@3.15.3)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) '@nuxt/schema': 3.21.10 '@nuxt/telemetry': 2.8.0(@nuxt/kit@3.21.10(magicast@0.5.4)) - '@nuxt/vite-builder': 3.21.10(@types/node@24.13.3)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.4)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.140.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0) + '@nuxt/vite-builder': 3.21.10(@types/node@24.13.3)(eslint@9.39.4(jiti@2.7.0))(lightningcss@1.33.0)(magicast@0.5.4)(nuxt@3.21.10(@electric-sql/pglite@0.4.1)(@oxc-project/types@0.143.0)(@parcel/watcher@2.5.6)(@types/node@24.13.3)(@vue/compiler-sfc@3.5.41)(cac@7.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.1)(mysql2@3.15.3))(esbuild@0.28.1)(eslint@9.39.4(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.33.0)(magicast@0.5.4)(mysql2@3.15.3)(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))(vue-tsc@3.2.6(typescript@5.9.3))(yaml@2.9.0))(optionator@0.9.4)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.4))(rollup@4.62.4)(sass@1.99.0)(terser@5.47.1)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3))(vue@3.5.41(typescript@5.9.3))(yaml@2.9.0) '@unhead/vue': 2.1.17(vue@3.5.41(typescript@5.9.3)) '@vue/shared': 3.5.41 c12: 3.3.4(magicast@0.5.4) @@ -22721,7 +23475,7 @@ snapshots: oxc-minify: 0.141.0 oxc-parser: 0.140.0 oxc-transform: 0.141.0 - oxc-walker: 1.1.1(@oxc-project/types@0.140.0)(oxc-parser@0.140.0)(rolldown@1.1.5) + oxc-walker: 1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.140.0)(rolldown@1.1.5) pathe: 2.0.3 perfect-debounce: 2.1.0 pkg-types: 2.3.1 @@ -23013,6 +23767,30 @@ snapshots: '@oxc-parser/binding-win32-ia32-msvc': 0.140.0 '@oxc-parser/binding-win32-x64-msvc': 0.140.0 + oxc-parser@0.143.0: + dependencies: + '@oxc-project/types': 0.143.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.143.0 + '@oxc-parser/binding-android-arm64': 0.143.0 + '@oxc-parser/binding-darwin-arm64': 0.143.0 + '@oxc-parser/binding-darwin-x64': 0.143.0 + '@oxc-parser/binding-freebsd-x64': 0.143.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.143.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.143.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.143.0 + '@oxc-parser/binding-linux-arm64-musl': 0.143.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.143.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.143.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.143.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.143.0 + '@oxc-parser/binding-linux-x64-gnu': 0.143.0 + '@oxc-parser/binding-linux-x64-musl': 0.143.0 + '@oxc-parser/binding-openharmony-arm64': 0.143.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.143.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.143.0 + '@oxc-parser/binding-win32-x64-msvc': 0.143.0 + oxc-parser@0.70.0: dependencies: '@oxc-project/types': 0.70.0 @@ -23032,6 +23810,28 @@ snapshots: '@oxc-parser/binding-win32-arm64-msvc': 0.70.0 '@oxc-parser/binding-win32-x64-msvc': 0.70.0 + oxc-resolver@11.24.2: + optionalDependencies: + '@oxc-resolver/binding-android-arm-eabi': 11.24.2 + '@oxc-resolver/binding-android-arm64': 11.24.2 + '@oxc-resolver/binding-darwin-arm64': 11.24.2 + '@oxc-resolver/binding-darwin-x64': 11.24.2 + '@oxc-resolver/binding-freebsd-x64': 11.24.2 + '@oxc-resolver/binding-linux-arm-gnueabihf': 11.24.2 + '@oxc-resolver/binding-linux-arm-musleabihf': 11.24.2 + '@oxc-resolver/binding-linux-arm64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-arm64-musl': 11.24.2 + '@oxc-resolver/binding-linux-ppc64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-riscv64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-riscv64-musl': 11.24.2 + '@oxc-resolver/binding-linux-s390x-gnu': 11.24.2 + '@oxc-resolver/binding-linux-x64-gnu': 11.24.2 + '@oxc-resolver/binding-linux-x64-musl': 11.24.2 + '@oxc-resolver/binding-openharmony-arm64': 11.24.2 + '@oxc-resolver/binding-wasm32-wasi': 11.24.2 + '@oxc-resolver/binding-win32-arm64-msvc': 11.24.2 + '@oxc-resolver/binding-win32-x64-msvc': 11.24.2 + oxc-transform@0.141.0: optionalDependencies: '@oxc-transform/binding-android-arm-eabi': 0.141.0 @@ -23055,9 +23855,9 @@ snapshots: '@oxc-transform/binding-win32-ia32-msvc': 0.141.0 '@oxc-transform/binding-win32-x64-msvc': 0.141.0 - oxc-walker@1.1.1(@oxc-project/types@0.140.0)(oxc-parser@0.140.0)(rolldown@1.1.5): + oxc-walker@1.1.1(@oxc-project/types@0.143.0)(oxc-parser@0.140.0)(rolldown@1.1.5): optionalDependencies: - '@oxc-project/types': 0.140.0 + '@oxc-project/types': 0.143.0 oxc-parser: 0.140.0 rolldown: 1.1.5 @@ -23638,6 +24438,10 @@ snapshots: dependencies: prettier: 3.8.3 + prettier-plugin-sort-json@4.2.0(prettier@3.9.6): + dependencies: + prettier: 3.9.6 + prettier-plugin-tailwindcss@0.6.14(prettier-plugin-organize-imports@4.3.0(prettier@3.8.3)(typescript@5.9.3)(vue-tsc@3.2.6(typescript@5.9.3)))(prettier@3.8.3): dependencies: prettier: 3.8.3 @@ -23646,6 +24450,8 @@ snapshots: prettier@3.8.3: {} + prettier@3.9.6: {} + pretty-bytes@7.1.0: {} prisma@7.7.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3): @@ -25410,6 +26216,8 @@ snapshots: ultrahtml@1.7.0: {} + unbash@4.0.10: {} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -25461,6 +26269,13 @@ snapshots: rolldown: 1.1.5 unplugin: 3.3.0(esbuild@0.28.1)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.1)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + unctx@3.0.0(magic-string@1.1.0)(oxc-parser@0.143.0)(rolldown@1.1.5)(unplugin@3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0))): + optionalDependencies: + magic-string: 1.1.0 + oxc-parser: 0.143.0 + rolldown: 1.1.5 + unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + undici-types@6.21.0: {} undici-types@7.16.0: {} @@ -25587,6 +26402,35 @@ snapshots: - vite - webpack + unimport@6.2.0(esbuild@0.28.0)(oxc-parser@0.143.0)(rolldown@1.1.5)(rollup@4.60.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)): + dependencies: + acorn: 8.16.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.2 + pathe: 2.0.3 + picomatch: 4.0.5 + pkg-types: 2.3.1 + scule: 1.3.0 + strip-literal: 3.1.0 + tinyglobby: 0.2.17 + unplugin: 3.3.0(esbuild@0.28.0)(rolldown@1.1.5)(rollup@4.60.3)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)) + unplugin-utils: 0.3.1 + optionalDependencies: + oxc-parser: 0.143.0 + transitivePeerDependencies: + - '@farmfe/core' + - '@rspack/core' + - bun-types-no-globals + - esbuild + - rolldown + - rollup + - unloader + - vite + - webpack + unimport@6.4.0(esbuild@0.28.0)(oxc-parser@0.140.0)(rolldown@1.1.5)(rollup@4.62.4)(vite@8.1.5(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.7.0)(sass@1.99.0)(terser@5.47.1)(yaml@2.9.0)): dependencies: acorn: 8.18.0 @@ -26357,6 +27201,8 @@ snapshots: dependencies: xml-name-validator: 3.0.0 + walk-up-path@4.0.0: {} + web-namespaces@2.0.1: {} web-worker@1.5.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 209ed10cc..41e5beaff 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,6 +5,7 @@ packages: - "desktop/" onlyBuiltDependencies: + - "@ast-grep/cli" - "@bufbuild/buf" - "@parcel/watcher" - "@prisma/client" @@ -17,6 +18,7 @@ onlyBuiltDependencies: - unrs-resolver - contentlayer - contentlayer2 + - lefthook - protobufjs overrides: diff --git a/rules/no-console-log.yml b/rules/no-console-log.yml new file mode 100644 index 000000000..2dc0e2a3d --- /dev/null +++ b/rules/no-console-log.yml @@ -0,0 +1,12 @@ +id: no-console-log +message: Use the project logger (pino) instead of console.log +severity: warning # promote to error once codebase is clean +language: TypeScript +rule: + pattern: console.log($$$ARGS) +files: + - server/** +ignores: + - "**/*.d.ts" + - "**/*.spec.ts" + - "**/*.test.ts" diff --git a/rules/no-fmt-println.yml b/rules/no-fmt-println.yml new file mode 100644 index 000000000..3f0f53b78 --- /dev/null +++ b/rules/no-fmt-println.yml @@ -0,0 +1,6 @@ +id: no-fmt-println +message: Use a structured logger instead of fmt.Println +severity: warning +language: Go +rule: + pattern: fmt.Println($$$ARGS) diff --git a/scripts/clippy-changed.sh b/scripts/clippy-changed.sh new file mode 100755 index 000000000..55c654505 --- /dev/null +++ b/scripts/clippy-changed.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# Run `cargo clippy -D warnings` only over crates that contain changed .rs files. +# Called by lefthook pre-push. desktop/src-tauri is intentionally excluded: +# it needs Tauri system libraries that contributors on minimal setups won't have. +# CI covers it in droplet-ci.yml / torrential-ci.yml. +set -uo pipefail + +# Resolve the repo root regardless of where the hook runs. +repo_root="$(git rev-parse --show-toplevel)" +cd "$repo_root" || exit 1 + +# :colon: curls are handled by set -e semantics below. +crates=( + cli + torrential + desktop/src-tauri + libraries/droplet + libraries/droplet_types + libraries/libarchive + libraries/native_model +) + +# Accumulate changed .rs files relative to repo root. +changed_rs="$(git diff --name-only HEAD -- '*.rs' 2>/dev/null; git diff --cached --name-only -- '*.rs' 2>/dev/null)" +# Falls back to previous-branch commit when @{push} isn't resolvable. +if [ -z "$changed_rs" ]; then + upstream="$(git rev-parse --verify '@{push}' 2>/dev/null || git rev-parse --verify 'HEAD~1' 2>/dev/null || echo "")" + if [ -n "$upstream" ]; then + changed_rs="$(git diff --name-only "$upstream..HEAD" -- '*.rs' 2>/dev/null)" + fi +fi + +if [ -z "$changed_rs" ]; then + echo "clippy-changed: no .rs changes; skipping" + exit 0 +fi + +status=0 +for dir in "${crates[@]}"; do + if printf '%s\n' "$changed_rs" | grep -q "^${dir}/"; then + echo "==> cargo clippy (${dir})" + (cd "$dir" && cargo clippy --all-targets --all-features -- -D warnings) || status=1 + fi +done + +exit "$status" \ No newline at end of file diff --git a/sgconfig.yml b/sgconfig.yml new file mode 100644 index 000000000..4e9f32a39 --- /dev/null +++ b/sgconfig.yml @@ -0,0 +1,5 @@ +# ast-grep configuration. Rules live in ./rules. +# Scan: pnpm exec ast-grep scan [paths] +# Machine-readable: pnpm exec ast-grep scan --json +ruleDirs: + - rules From ab351bf800feba2e5658c9758fe3f5682a501497 Mon Sep 17 00:00:00 2001 From: John Smith Date: Wed, 26 Aug 2026 01:07:13 -0400 Subject: [PATCH 002/243] style: apply root prettier config across repo First repo-wide pass with the new shared .prettierrc.json (copied from server/): adds missing final newlines and normalizes quote style. No functional changes. Co-Authored-By: Claude Opus 5 --- .github/workflows/client-release.yml | 5 +- cli/README.md | 2 +- cli/spec.md | 3 + desktop/DEBUG.md | 2 + desktop/README.md | 2 +- desktop/build.mjs | 2 +- desktop/changelog.md | 18 +- .../components/DependencyRequiredModal.vue | 4 +- .../components/GameOptions/ProtonSelector.vue | 6 +- .../main/components/GameOptions/Updates.vue | 3 +- desktop/main/components/GameOptionsModal.vue | 4 +- desktop/main/components/Header.vue | 2 +- desktop/main/components/HeaderButton.vue | 10 +- .../components/HeaderProtonSupportWidget.vue | 5 +- desktop/main/components/HeaderUserWidget.vue | 2 +- .../main/components/InitiateAuthModule.vue | 8 +- desktop/main/components/LibrarySearch.vue | 9 +- desktop/main/components/Logo.vue | 21 +- desktop/main/components/Wordmark.vue | 27 +- desktop/main/composables/app-state.ts | 2 +- .../main/composables/current-page-engine.ts | 11 +- desktop/main/composables/game.ts | 8 +- desktop/main/composables/generateGameMeta.ts | 19 +- desktop/main/composables/state-navigation.ts | 6 +- desktop/main/error.vue | 1 - desktop/main/nuxt.config.ts | 2 +- desktop/main/pages/community.vue | 4 +- .../main/pages/error/serverunavailable.vue | 2 +- desktop/main/pages/index.vue | 4 +- desktop/main/pages/library/[id]/index.vue | 8 +- desktop/main/pages/library/index.vue | 31 +- desktop/main/pages/news.vue | 4 +- desktop/main/pages/settings/downloads.vue | 189 +- desktop/main/pages/setup/index.vue | 4 +- desktop/main/pages/setup/server.vue | 7 +- desktop/main/pnpm-lock.yaml | 7879 +++++++++++------ desktop/main/pnpm-workspace.yaml | 26 +- desktop/main/tailwind.config.js | 4 +- desktop/main/tsconfig.json | 4 +- desktop/main/types.ts | 2 +- desktop/src-tauri/capabilities/default.json | 10 +- desktop/src-tauri/tauri.conf.json | 54 +- libraries/base/components/LoadingButton.vue | 3 +- libraries/base/components/ModalTemplate.vue | 11 +- .../base/components/NotificationModal.vue | 65 +- libraries/base/composables/modal-stack.ts | 18 +- libraries/base/eslint.config.js | 4 +- libraries/droplet/README.md | 3 +- libraries/droplet_types/README.md | 3 +- libraries/libarchive/.travis.yml | 8 +- libraries/libarchive/README.md | 2 + .../workflows/build_and_test_release.yml | 10 +- .../.github/workflows/clippy_check.yml | 12 +- .../workflows/conventional_commits.yml | 4 +- .../.github/workflows/fmt_check.yml | 12 +- libraries/native_model/README.md | 53 +- .../native_model/native_model_macro/README.md | 2 +- libraries/native_model/renovate.json | 43 +- server/components/GameEditor/Version.vue | 4 +- server/composables/admin-home.ts | 15 +- server/server/internal/auth/oidc/index.ts | 3 +- server/server/internal/config/sys-conf.ts | 3 +- server/server/internal/tasks/index.ts | 3 +- sites/docs/.github/workflows/deploy.yml | 10 +- sites/docs/.vscode/launch.json | 4 +- sites/docs/LICENSE.md | 140 +- sites/docs/README.md | 2 +- sites/docs/package.json | 2 +- sites/docs/src/content.config.ts | 8 +- .../content/docs/admin/authentication/mfa.md | 8 +- sites/docs/src/content/docs/admin/index.md | 2 +- .../src/content/docs/admin/metadata/manual.md | 2 +- .../docs/src/content/docs/admin/quickstart.md | 1 + .../src/content/docs/user/install/debian.md | 1 + .../src/content/docs/user/install/fedora.md | 1 + sites/docs/tsconfig.json | 4 +- sites/promo/LICENSE.md | 312 +- sites/promo/src/app/about/page.tsx | 4 +- sites/promo/src/app/comparison/page.tsx | 15 +- sites/promo/src/app/download/page.tsx | 3 +- sites/promo/src/app/gallery/page.tsx | 1 - sites/promo/src/app/layout.tsx | 4 +- sites/promo/src/app/news/page.tsx | 6 +- sites/promo/src/app/not-found.tsx | 4 +- sites/promo/src/app/page.tsx | 4 +- sites/promo/src/app/sponsors/page.tsx | 5 +- sites/promo/src/components/footer.tsx | 13 +- sites/promo/src/components/gradient.tsx | 2 +- sites/promo/src/components/logo.tsx | 2 +- sites/promo/src/components/mdx-components.tsx | 4 +- sites/promo/src/components/news.tsx | 21 +- sites/promo/src/components/screenshot.tsx | 5 +- sites/promo/src/components/sponsors.tsx | 4 +- sites/promo/src/components/text.tsx | 2 +- sites/promo/src/styles/tailwind.css | 2 +- sites/promo/tsconfig.json | 24 +- torrential/LICENSE.md | 140 +- torrential/README.md | 3 +- torrential/docs/protocol.md | 7 +- torrential/docs/structure.md | 5 +- 100 files changed, 6105 insertions(+), 3369 deletions(-) diff --git a/.github/workflows/client-release.yml b/.github/workflows/client-release.yml index ee511a244..45d437c6b 100644 --- a/.github/workflows/client-release.yml +++ b/.github/workflows/client-release.yml @@ -51,7 +51,6 @@ jobs: node-version: lts/* cache: pnpm - - name: install Rust nightly uses: dtolnay/rust-toolchain@nightly with: @@ -61,7 +60,7 @@ jobs: - name: Rust cache uses: swatinem/rust-cache@v2 with: - workspaces: './desktop/src-tauri -> target' + workspaces: "./desktop/src-tauri -> target" - name: install dependencies (ubuntu only) if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'ubuntu-22.04-arm' # This must match the platform value defined above. @@ -137,4 +136,4 @@ jobs: releaseDraft: false prerelease: true args: ${{ matrix.args }} - projectPath: './desktop' \ No newline at end of file + projectPath: "./desktop" diff --git a/cli/README.md b/cli/README.md index 77643fd94..6f2c804d2 100644 --- a/cli/README.md +++ b/cli/README.md @@ -1,3 +1,3 @@ # CLI (`downpour`) -The cli way to access Drop. Used for admin tasks that require local access, like uploading game content. \ No newline at end of file +The cli way to access Drop. Used for admin tasks that require local access, like uploading game content. diff --git a/cli/spec.md b/cli/spec.md index e54017505..debad101d 100644 --- a/cli/spec.md +++ b/cli/spec.md @@ -1,6 +1,9 @@ # Downpour CLI spec + `downpour [command] --opts` + ## Commands: + - new - creates/initalizes a depot at the endpoint. Creates manifest.json and speedtest - connect [name] - connects to an s3 endpoint and saves the endpoint to some sort of credentials file. Name is either as provided or the hostname of the endpoint - upload - uploads game as described before. Should fail if depot isn't initialized with new from above diff --git a/desktop/DEBUG.md b/desktop/DEBUG.md index 2a4478f36..f84ed785b 100644 --- a/desktop/DEBUG.md +++ b/desktop/DEBUG.md @@ -1,6 +1,7 @@ # How to create Flamegraph Run this in `src-tauri`: + ``` WEBKIT_DISABLE_DMABUF_RENDERER=1 CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph --release ``` @@ -8,6 +9,7 @@ WEBKIT_DISABLE_DMABUF_RENDERER=1 CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegra You can leave out `WEBKIT_DISABLE_DMABUF_RENDERER=1` if you're not on NVIDIA/Linux And then run this in the root dir: + ``` yarn dev --port 1432 ``` diff --git a/desktop/README.md b/desktop/README.md index 87a26cc3b..111effa15 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -1,3 +1,3 @@ # Desktop -The official desktop client for Drop. \ No newline at end of file +The official desktop client for Drop. diff --git a/desktop/build.mjs b/desktop/build.mjs index aeb341d11..2014d024a 100644 --- a/desktop/build.mjs +++ b/desktop/build.mjs @@ -45,4 +45,4 @@ for (const view of views) { fs.cpSync(`./${view}/.output/public`, `${OUTPUT}/${view}`, { recursive: true, }); -} \ No newline at end of file +} diff --git a/desktop/changelog.md b/desktop/changelog.md index 691c4601f..bc1d9e1a1 100644 --- a/desktop/changelog.md +++ b/desktop/changelog.md @@ -1,8 +1,7 @@ - - ## Release 0.2.0-beta ### Fixes + - Re-enabled killing games #005bab2 - fixed queue manipulation and waiting for downloads #01260f0 - fix logic error in detecting dir #04368ff @@ -49,8 +48,8 @@ - update readme instructions #f0c47d8 - Adding usize to completed_contexts_lock instead of &usize #f508186 - ### Features + - Game kill tauri command #01e6162 - add debug page #02f8591 - Add signout functionality (#16) #0a0d9d6 @@ -113,9 +112,9 @@ - add note about more install dirs #f4ac1c8 - Added rolling progress window #fd30b3e - ### Other Changes -- quexeky + +- quexeky - Convert DATA_ROOT_DIR to Mutex #00b7179 - Converting DB access to a trait #01b092c - Updated changelog #022330b @@ -284,12 +283,12 @@ - initial commit #f6cd7c3 - Update .gitlab-ci.yml #fc6bab9 - _changelog generated by_ [go-conventional-commits](https://github.com/joselitofilho/go-conventional-commits) ## Release 0.1.0-beta ### Fixes + - fixed queue manipulation and waiting for downloads #01260f0 - fix logic error in detecting dir #04368ff - absolute executable invoke #17759c4 @@ -307,8 +306,8 @@ _changelog generated by_ [go-conventional-commits](https://github.com/joselitofi - fix scrollbars on edge webview #f09605a - update readme instructions #f0c47d8 - ### Features + - queue and library UIs #0a20139 - add pre-launch log to file #17f8d76 - Added option to change root directory #1aa52c0 @@ -343,9 +342,9 @@ _changelog generated by_ [go-conventional-commits](https://github.com/joselitofi - Generic function to set download state #f10d92d - Convert DownloadThreadControlFlag to AtomicBool #f25bfed - ### Other Changes -- quexeky + +- quexeky - Convert DATA_ROOT_DIR to Mutex #00b7179 - Converting DB access to a trait #01b092c - Scoping changes and removing qualifications #046ba64 @@ -459,5 +458,4 @@ _changelog generated by_ [go-conventional-commits](https://github.com/joselitofi - fixes and patches for merged changes #f6476bc - initial commit #f6cd7c3 - _changelog generated by_ [go-conventional-commits](https://github.com/joselitofilho/go-conventional-commits) diff --git a/desktop/main/components/DependencyRequiredModal.vue b/desktop/main/components/DependencyRequiredModal.vue index ab805b652..a675a83f4 100644 --- a/desktop/main/components/DependencyRequiredModal.vue +++ b/desktop/main/components/DependencyRequiredModal.vue @@ -70,10 +70,10 @@ const versionOptions = await invoke>( "fetch_game_version_options", { gameId: game.id, - } + }, ); const version = versionOptions.find( - (v) => v.versionId === model.value.versionId + (v) => v.versionId === model.value.versionId, )!; const installDirs = await invoke("fetch_download_dir_stats"); diff --git a/desktop/main/components/GameOptions/ProtonSelector.vue b/desktop/main/components/GameOptions/ProtonSelector.vue index 39806d3a4..7ca8c79b5 100644 --- a/desktop/main/components/GameOptions/ProtonSelector.vue +++ b/desktop/main/components/GameOptions/ProtonSelector.vue @@ -1,9 +1,5 @@ - + Proton override diff --git a/desktop/main/components/GameOptions/Updates.vue b/desktop/main/components/GameOptions/Updates.vue index b12ae1fc0..5830bdff1 100644 --- a/desktop/main/components/GameOptions/Updates.vue +++ b/desktop/main/components/GameOptions/Updates.vue @@ -24,13 +24,12 @@ /> - diff --git a/desktop/main/components/GameOptionsModal.vue b/desktop/main/components/GameOptionsModal.vue index 9ae4130dd..cea301d20 100644 --- a/desktop/main/components/GameOptionsModal.vue +++ b/desktop/main/components/GameOptionsModal.vue @@ -92,7 +92,9 @@ const open = defineModel(); const props = defineProps<{ gameId: string }>(); const game = await useGame(props.gameId); -const configuration: Ref = ref(game.version.value!.userConfiguration); +const configuration: Ref = ref( + game.version.value!.userConfiguration, +); const hasWindows = !!( game.version.value!.setups.find((v) => v.platform === "Windows") ?? diff --git a/desktop/main/components/Header.vue b/desktop/main/components/Header.vue index 7af7cd23e..4a9e52d0a 100644 --- a/desktop/main/components/Header.vue +++ b/desktop/main/components/Header.vue @@ -43,7 +43,7 @@ - + diff --git a/desktop/main/components/HeaderButton.vue b/desktop/main/components/HeaderButton.vue index 0811c1326..82c06051f 100644 --- a/desktop/main/components/HeaderButton.vue +++ b/desktop/main/components/HeaderButton.vue @@ -1,5 +1,7 @@ - - - - \ No newline at end of file + + + + diff --git a/desktop/main/components/HeaderProtonSupportWidget.vue b/desktop/main/components/HeaderProtonSupportWidget.vue index 59ddec44c..ab3bae86b 100644 --- a/desktop/main/components/HeaderProtonSupportWidget.vue +++ b/desktop/main/components/HeaderProtonSupportWidget.vue @@ -1,8 +1,5 @@ - + { const state = useAppState(); const profilePictureUrl: string = await useObject( - state.value?.user?.profilePictureObjectId ?? "" + state.value?.user?.profilePictureObjectId ?? "", ); const adminUrl: string = await invoke("gen_drop_url", { path: "/admin", diff --git a/desktop/main/components/InitiateAuthModule.vue b/desktop/main/components/InitiateAuthModule.vue index 4a1e290ce..1b486b1ad 100644 --- a/desktop/main/components/InitiateAuthModule.vue +++ b/desktop/main/components/InitiateAuthModule.vue @@ -39,9 +39,13 @@ :disabled="loading" class="px-3 py-1 inline-flex items-center gap-x-2 bg-zinc-700 rounded text-sm text-left font-semibold leading-7 text-white" > - Sign in with your browser + Sign in with your browser + - + Use a code → diff --git a/desktop/main/components/LibrarySearch.vue b/desktop/main/components/LibrarySearch.vue index 38f927aa4..0d7d94100 100644 --- a/desktop/main/components/LibrarySearch.vue +++ b/desktop/main/components/LibrarySearch.vue @@ -36,7 +36,10 @@ as="div" v-for="(nav, navIndex) in filteredNavigation" :key="nav.id" - :class="['first:pt-0 last:pb-0', nav.tools && !filteredNavigation[navIndex - 1].tools ? 'mt-auto' : '']" + :class="[ + 'first:pt-0 last:pb-0', + nav.tools && !filteredNavigation[navIndex - 1].tools ? 'mt-auto' : '', + ]" v-slot="{ open }" :default-open="nav.deft" > @@ -98,7 +101,9 @@ - No games in this category diff --git a/desktop/main/components/Logo.vue b/desktop/main/components/Logo.vue index 6105fd17f..8645c5be2 100644 --- a/desktop/main/components/Logo.vue +++ b/desktop/main/components/Logo.vue @@ -1,7 +1,14 @@ - - - - - \ No newline at end of file + + + + + diff --git a/desktop/main/components/Wordmark.vue b/desktop/main/components/Wordmark.vue index 4ab34fc62..783cc2a1a 100644 --- a/desktop/main/components/Wordmark.vue +++ b/desktop/main/components/Wordmark.vue @@ -1,11 +1,18 @@ - - - - - - Drop - - \ No newline at end of file + + + + + + Drop + + diff --git a/desktop/main/composables/app-state.ts b/desktop/main/composables/app-state.ts index 7ad06aba1..b47cf9cb7 100644 --- a/desktop/main/composables/app-state.ts +++ b/desktop/main/composables/app-state.ts @@ -1,3 +1,3 @@ import type { AppState } from "~/types"; -export const useAppState = () => useState("state"); \ No newline at end of file +export const useAppState = () => useState("state"); diff --git a/desktop/main/composables/current-page-engine.ts b/desktop/main/composables/current-page-engine.ts index 0990195c0..1117d73cd 100644 --- a/desktop/main/composables/current-page-engine.ts +++ b/desktop/main/composables/current-page-engine.ts @@ -2,7 +2,7 @@ import type { RouteLocationNormalized } from "vue-router"; import type { NavigationItem } from "~/types"; export const useCurrentNavigationIndex = ( - navigation: Array + navigation: Array, ) => { const router = useRouter(); const route = useRoute(); @@ -26,7 +26,10 @@ export const useCurrentNavigationIndex = ( currentNavigation.value = calculateCurrentNavIndex(to); }); - return {currentNavigation, recalculateNavigation: () => { - currentNavigation.value = calculateCurrentNavIndex(route); - }}; + return { + currentNavigation, + recalculateNavigation: () => { + currentNavigation.value = calculateCurrentNavIndex(route); + }, + }; }; diff --git a/desktop/main/composables/game.ts b/desktop/main/composables/game.ts index 93e97af2d..c212414a0 100644 --- a/desktop/main/composables/game.ts +++ b/desktop/main/composables/game.ts @@ -8,8 +8,9 @@ import type { RawGameStatus, } from "~/types"; -const gameRegistry: { [key: string]: { game: Game; version: Ref } } = - {}; +const gameRegistry: { + [key: string]: { game: Game; version: Ref }; +} = {}; const gameStatusRegistry: { [key: string]: Ref } = {}; @@ -64,8 +65,7 @@ export const useGame = async (gameId: string) => { }; export type LaunchResult = - | { result: "Success" } - | { result: "InstallRequired"; data: [string, string] }; + { result: "Success" } | { result: "InstallRequired"; data: [string, string] }; export type VersionOption = { versionId: string; diff --git a/desktop/main/composables/generateGameMeta.ts b/desktop/main/composables/generateGameMeta.ts index fdfc4b7ab..8b332e78a 100644 --- a/desktop/main/composables/generateGameMeta.ts +++ b/desktop/main/composables/generateGameMeta.ts @@ -1,9 +1,12 @@ -import { type DownloadableMetadata, DownloadableType } from '~/types' +import { type DownloadableMetadata, DownloadableType } from "~/types"; -export default function generateGameMeta(gameId: string, version: string): DownloadableMetadata { - return { - id: gameId, - version, - downloadType: DownloadableType.Game - } -} \ No newline at end of file +export default function generateGameMeta( + gameId: string, + version: string, +): DownloadableMetadata { + return { + id: gameId, + version, + downloadType: DownloadableType.Game, + }; +} diff --git a/desktop/main/composables/state-navigation.ts b/desktop/main/composables/state-navigation.ts index 738fdf59c..be879dd28 100644 --- a/desktop/main/composables/state-navigation.ts +++ b/desktop/main/composables/state-navigation.ts @@ -13,7 +13,7 @@ export function setupHooks() { listen("auth/failed", (event) => { router.push( - `/auth/failed?error=${encodeURIComponent(event.payload as string)}` + `/auth/failed?error=${encodeURIComponent(event.payload as string)}`, ); }); @@ -32,7 +32,7 @@ export function setupHooks() { ).toString()}"`, buttonText: "Close", }, - (e, c) => c() + (e, c) => c(), ); }); @@ -51,7 +51,7 @@ export function setupHooks() { await invoke("open_process_logs", { gameId: event.payload }); } c(); - } + }, ); }); diff --git a/desktop/main/error.vue b/desktop/main/error.vue index f25c9e56a..2029e7937 100644 --- a/desktop/main/error.vue +++ b/desktop/main/error.vue @@ -7,7 +7,6 @@ class="mx-auto w-full max-w-7xl px-6 pt-6 sm:pt-10 lg:col-span-2 lg:col-start-1 lg:row-start-1 lg:px-8" > - diff --git a/desktop/main/pages/error/serverunavailable.vue b/desktop/main/pages/error/serverunavailable.vue index cfbb1785e..8b645a237 100644 --- a/desktop/main/pages/error/serverunavailable.vue +++ b/desktop/main/pages/error/serverunavailable.vue @@ -22,7 +22,7 @@
Choose a game from your library to view details
+ Choose a game from your library to view details +
{{ dir }} @@ -38,12 +49,16 @@
The maximum number of concurrent download threads. Higher values may @@ -75,60 +98,93 @@
Drop will not make any external connections
- You'll need to have set up a Drop instance and created an account on it. If you're connecting to another person's instance, you'll need the url and an account. + You'll need to have set up a Drop instance and created an account on it. + If you're connecting to another person's instance, you'll need the url + and an account.
- {{ props.data.description }} -
+ {{ props.data.description }} +
{{ $t("errors.occurred") }}
{{ $t("library.admin.import.version.displayNameDesc") }}
+ {{ $t("library.admin.import.version.setupCmd") }} +
{{ $t("library.admin.import.version.setupDesc") }}
+ {{ $t("library.admin.import.version.launchCmd") }} +
{{ $t("library.admin.import.version.launchDesc") }}
+ {{ $t("type") }} +
{{ $t("library.admin.sources.typeDesc") }}
- {children} -
+ {children} +
- Join the best sellers in the business and start using Radiant to hit - your targets today. -
+ Drop is an open-source, self-hosted game library and distribution platform. + This desktop client connects to your Drop server instance to download, + manage, update, and launch your games with native Proton/Wine and emulator support. +
+ Encrypted peer-to-peer multiplayer using Drop GSE virtual mesh + orchestration. +
+ {{ currentRoom.id }} +
+ {{ + currentRoom.mesh.backend === "tailscale" + ? currentRoom.mesh.aclTag + : currentRoom.mesh.networkId + }} +
+ Create an encrypted room on the Drop server and broadcast + multiplayer sessions to friends. +
+ No active rooms found for this game. Host a room above to invite + peers! +
+ {{ room.memberCount ?? 1 }} player(s) • + {{ formatExpiresIn(room.expiresAt) }} +
{{ error }}
+ Manage installed server and client plugins, virtual mesh networks, and + addon capabilities. +
No plugins detected
+ Installed plugins will appear here automatically. +
+ {{ plugin.id }} • v{{ plugin.version }} + • by {{ plugin.author }} +
+ {{ plugin.description }} +
+ Drop is unpacking the downloaded release into your install + directory. +
+ Step {{ currentStepNumber }} of {{ totalSteps || "?" }} +
{{ logText || "Waiting for output..." }}
Setup complete
+ {{ gameName }} is ready to play. +
+ The downloaded archives are no longer needed and can be safely + removed, freeing + + {{ formatBytes(reclaimableBytes) }} + + of disk space. +
+ Reclaimed {{ formatBytes(reclaimedBytes) }} of disk space. +
+ {{ + status === "cancelled" ? "Setup cancelled" : "Setup failed" + }} +
+ {{ error }} +