diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..8b5c25e --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,103 @@ +# Per ADR-0015 (CI/CD on Gitea Actions). +# Thin YAML — orchestration lives in package.json scripts (ci:check, +# ci:audit, ci:commits, ci:perf) and Nx targets. Any change to gate +# behaviour belongs in those scripts, not in this file. + +name: CI + +on: + pull_request: + branches: [main] + push: + branches: [main] + +jobs: + check: + runs-on: [self-hosted, on-prem] + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: nrwl/nx-set-shas@v4 + - uses: pnpm/action-setup@v3 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - run: pnpm install --frozen-lockfile + - run: pnpm ci:check + + scan: + runs-on: [self-hosted, on-prem] + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v3 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - run: pnpm install --frozen-lockfile + - run: pnpm ci:audit + # Dependency vulnerability scan (binary tool, invoked via official + # action — Trivy is a Go binary, not an npm package, so it cannot + # live in package.json scripts as cleanly as audit/lint do). + - uses: aquasecurity/trivy-action@master + with: + scan-type: fs + ignore-unfixed: true + skip-dirs: node_modules + exit-code: '1' + severity: 'CRITICAL,HIGH' + # Secret scan, same reasoning (gitleaks is a Go binary). + - uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + commits: + if: github.event_name == 'pull_request' + runs-on: [self-hosted, on-prem] + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: pnpm/action-setup@v3 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - run: pnpm install --frozen-lockfile + - run: COMMIT_LINT_FROM=origin/main pnpm ci:commits + + perf: + runs-on: [self-hosted, on-prem] + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v3 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - run: pnpm install --frozen-lockfile + - run: pnpm ci:perf + - uses: actions/upload-artifact@v4 + if: always() + with: + name: lighthouseci-report + path: .lighthouseci/ + retention-days: 30 + + a11y: + runs-on: [self-hosted, on-prem] + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v3 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - run: pnpm install --frozen-lockfile + # Placeholder until the e2e a11y suite (axe-core via Playwright, + # per ADR-0016) is wired with the first real screens. The job + # exists so branch protection can require it from day one - it + # currently no-ops with a clear message. + - run: echo "a11y gate placeholder - axe-core via Playwright wires up with the first real screens (ADR-0016)." diff --git a/.gitea/workflows/security-scheduled.yml b/.gitea/workflows/security-scheduled.yml new file mode 100644 index 0000000..7790c8c --- /dev/null +++ b/.gitea/workflows/security-scheduled.yml @@ -0,0 +1,56 @@ +# Per ADR-0015 (CI/CD on Gitea Actions). Weekly full-tree security +# scans plus a Lighthouse run against the production environment when +# its URL is configured. Complements the per-PR ci.yml workflow with +# broader / longer-running checks that don't fit the per-PR budget. + +name: Security and perf — scheduled + +on: + schedule: + # Mondays, 04:00 UTC — outside business hours; before the week starts. + - cron: '0 4 * * 1' + workflow_dispatch: + +jobs: + full-tree-scan: + runs-on: [self-hosted, on-prem] + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v3 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - run: pnpm install --frozen-lockfile + - run: pnpm audit + # Full-tree Trivy (no skip-dirs, no severity filter — the per-PR + # gate filters by severity for speed; this run wants the full + # surface for the security feed). + - uses: aquasecurity/trivy-action@master + with: + scan-type: fs + ignore-unfixed: true + - uses: gitleaks/gitleaks-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + lighthouse-prod: + # Skipped silently if the prod URL hasn't been configured yet. + if: vars.LHCI_PROD_URL != '' + runs-on: [self-hosted, on-prem] + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v3 + - uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - run: pnpm install --frozen-lockfile + - run: pnpm exec lhci collect --url=${{ vars.LHCI_PROD_URL }} --numberOfRuns=3 + - run: pnpm exec lhci assert --config=./lighthouserc.js + - uses: actions/upload-artifact@v4 + if: always() + with: + name: lighthouseci-prod-report + path: .lighthouseci/ + retention-days: 90 diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..a45fd52 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 diff --git a/lighthouserc.js b/lighthouserc.js new file mode 100644 index 0000000..9d44732 --- /dev/null +++ b/lighthouserc.js @@ -0,0 +1,50 @@ +/** + * Lighthouse CI configuration — per ADR-0017 (Performance budgets). + * + * Thresholds match the Google "Good" Core Web Vitals values plus the + * Lighthouse Performance score floor we set as the project bar. + * + * Critical-routes list grows as features land. v1 only checks the + * static-served portal-shell bundle (which today shows the Nx Welcome + * placeholder); meaningful per-route assertions land alongside the + * features that introduce those routes. + */ +module.exports = { + ci: { + collect: { + // Serve the production bundle statically (no BFF needed for v1 + // measurements). When real auth / routes exist, the URL list + // expands to the critical-routes list documented in ADR-0017. + startServerCommand: 'pnpm nx run portal-shell:serve-static', + startServerReadyPattern: 'Available on:', + url: ['http://localhost:4200/'], + numberOfRuns: 3, + settings: { + // Slow-4G profile so scores are stable across CI runners and + // comparable to industry public benchmarks. + preset: 'desktop', + }, + }, + assert: { + assertions: { + // Core Web Vitals (Google "Good"), per ADR-0017 + 'largest-contentful-paint': ['error', { maxNumericValue: 2500 }], + 'cumulative-layout-shift': ['error', { maxNumericValue: 0.1 }], + 'total-blocking-time': ['error', { maxNumericValue: 200 }], + 'server-response-time': ['error', { maxNumericValue: 800 }], + // Aggregate score — our gate is "Performance >= 90" + 'categories:performance': ['error', { minScore: 0.9 }], + // a11y is enforced by the dedicated a11y gate (axe-core, + // ADR-0016) — keep Lighthouse a11y as a soft signal here. + 'categories:accessibility': ['warn', { minScore: 0.9 }], + // Best practices and SEO are advisory in this gate. + 'categories:best-practices': ['warn', { minScore: 0.9 }], + 'categories:seo': 'off', + }, + }, + upload: { + target: 'filesystem', + outputDir: './.lighthouseci', + }, + }, +}; diff --git a/package.json b/package.json index e15fc6c..93525f0 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,11 @@ "version": "0.0.0", "license": "MIT", "scripts": { - "prepare": "husky" + "prepare": "husky", + "ci:check": "pnpm exec nx affected -t format:check lint test build", + "ci:audit": "pnpm audit --audit-level=moderate", + "ci:commits": "pnpm exec commitlint --from ${COMMIT_LINT_FROM:-origin/main} --to HEAD --verbose", + "ci:perf": "pnpm exec nx build portal-shell --configuration=production && pnpm exec lhci autorun --config=./lighthouserc.js" }, "private": true, "lint-staged": { @@ -23,6 +27,7 @@ "@commitlint/cli": "^20.5.3", "@commitlint/config-conventional": "^20.5.3", "@eslint/js": "^9.8.0", + "@lhci/cli": "^0.15.1", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "^11.0.0", "@nx/angular": "^22.7.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abe6121..11566ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -89,6 +89,9 @@ importers: '@eslint/js': specifier: ^9.8.0 version: 9.39.4 + '@lhci/cli': + specifier: ^0.15.1 + version: 0.15.1(encoding@0.1.13) '@nestjs/schematics': specifier: ^11.0.0 version: 11.1.0(chokidar@5.0.0)(prettier@3.8.3)(typescript@5.9.3) @@ -2306,6 +2309,36 @@ packages: '@noble/hashes': optional: true + '@formatjs/ecma402-abstract@2.3.6': + resolution: + { + integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==, + } + + '@formatjs/fast-memoize@2.2.7': + resolution: + { + integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==, + } + + '@formatjs/icu-messageformat-parser@2.11.4': + resolution: + { + integrity: sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==, + } + + '@formatjs/icu-skeleton-parser@1.8.16': + resolution: + { + integrity: sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==, + } + + '@formatjs/intl-localematcher@0.6.2': + resolution: + { + integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==, + } + '@gar/promise-retry@1.0.3': resolution: { @@ -2960,6 +2993,19 @@ packages: integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==, } + '@lhci/cli@0.15.1': + resolution: + { + integrity: sha512-yhC0oXnXqGHYy1xl4D8YqaydMZ/khFAnXGY/o2m/J3PqPa/D0nj3V6TLoH02oVMFeEF2AQim7UbmdXMiXx2tOw==, + } + hasBin: true + + '@lhci/utils@0.15.1': + resolution: + { + integrity: sha512-WclJnUQJeOMY271JSuaOjCv/aA0pgvuHZS29NFNdIeI14id8eiFsjith85EGKYhljgoQhJ2SiW4PsVfFiakNNw==, + } + '@listr2/prompt-adapter-inquirer@3.0.5': resolution: { @@ -4301,6 +4347,12 @@ packages: } engines: { node: '>= 10.0.0' } + '@paulirish/trace_engine@0.0.53': + resolution: + { + integrity: sha512-PUl/vlfo08Oj804VI5nDPeSk9vyslnBlVzDDwFt8SUVxY8+KdGMkra/vrXjEEHe8gb7+RqVTfOIlGw0nyrEelA==, + } + '@peculiar/asn1-cms@2.6.1': resolution: { @@ -4503,6 +4555,14 @@ packages: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 + '@puppeteer/browsers@2.13.0': + resolution: + { + integrity: sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==, + } + engines: { node: '>=18' } + hasBin: true + '@radix-ui/primitive@1.1.3': resolution: { @@ -5238,6 +5298,48 @@ packages: yarn: '>= 1.13.0', } + '@sentry-internal/tracing@7.120.4': + resolution: + { + integrity: sha512-Fz5+4XCg3akeoFK+K7g+d7HqGMjmnLoY2eJlpONJmaeT9pXY7yfUyXKZMmMajdE2LxxKJgQ2YKvSCaGVamTjHw==, + } + engines: { node: '>=8' } + + '@sentry/core@7.120.4': + resolution: + { + integrity: sha512-TXu3Q5kKiq8db9OXGkWyXUbIxMMuttB5vJ031yolOl5T/B69JRyAoKuojLBjRv1XX583gS1rSSoX8YXX7ATFGA==, + } + engines: { node: '>=8' } + + '@sentry/integrations@7.120.4': + resolution: + { + integrity: sha512-kkBTLk053XlhDCg7OkBQTIMF4puqFibeRO3E3YiVc4PGLnocXMaVpOSCkMqAc1k1kZ09UgGi8DxfQhnFEjUkpA==, + } + engines: { node: '>=8' } + + '@sentry/node@7.120.4': + resolution: + { + integrity: sha512-qq3wZAXXj2SRWhqErnGCSJKUhPSlZ+RGnCZjhfjHpP49KNpcd9YdPTIUsFMgeyjdh6Ew6aVCv23g1hTP0CHpYw==, + } + engines: { node: '>=8' } + + '@sentry/types@7.120.4': + resolution: + { + integrity: sha512-cUq2hSSe6/qrU6oZsEP4InMI5VVdD86aypE+ENrQ6eZEVLTCYm1w6XhW1NvIu3UuWh7gZec4a9J7AFpYxki88Q==, + } + engines: { node: '>=8' } + + '@sentry/utils@7.120.4': + resolution: + { + integrity: sha512-zCKpyDIWKHwtervNK2ZlaK8mMV7gVUijAgFeJStH+CU/imcdquizV3pFLlSQYRswG+Lbyd6CT/LGRh3IbtkCFw==, + } + engines: { node: '>=8' } + '@sigstore/bundle@4.0.0': resolution: { @@ -5617,6 +5719,12 @@ packages: integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==, } + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: + { + integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==, + } + '@ts-morph/common@0.22.0': resolution: { @@ -5931,6 +6039,12 @@ packages: integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==, } + '@types/yauzl@2.10.3': + resolution: + { + integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==, + } + '@typescript-eslint/eslint-plugin@8.59.1': resolution: { @@ -6575,6 +6689,13 @@ packages: } engines: { node: '>=6' } + ansi-escapes@3.2.0: + resolution: + { + integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==, + } + engines: { node: '>=4' } + ansi-escapes@4.3.2: resolution: { @@ -6597,6 +6718,20 @@ packages: engines: { '0': node >= 0.8.0 } hasBin: true + ansi-regex@3.0.1: + resolution: + { + integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==, + } + engines: { node: '>=4' } + + ansi-regex@4.1.1: + resolution: + { + integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==, + } + engines: { node: '>=6' } + ansi-regex@5.0.1: resolution: { @@ -6611,6 +6746,13 @@ packages: } engines: { node: '>=12' } + ansi-styles@3.2.1: + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, + } + engines: { node: '>=4' } + ansi-styles@4.3.0: resolution: { @@ -6702,6 +6844,13 @@ packages: } engines: { node: '>=12' } + ast-types@0.13.4: + resolution: + { + integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==, + } + engines: { node: '>=4' } + ast-v8-to-istanbul@1.0.0: resolution: { @@ -6737,6 +6886,13 @@ packages: } engines: { node: '>= 6.0.0' } + axe-core@4.11.4: + resolution: + { + integrity: sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA==, + } + engines: { node: '>=4' } + axios@1.15.0: resolution: { @@ -6750,6 +6906,17 @@ packages: } engines: { node: '>= 0.4' } + b4a@1.8.0: + resolution: + { + integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==, + } + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + babel-jest@30.3.0: resolution: { @@ -6872,6 +7039,65 @@ packages: } engines: { node: 20 || >=22 } + bare-events@2.8.2: + resolution: + { + integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==, + } + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + + bare-fs@4.7.1: + resolution: + { + integrity: sha512-WDRsyVN52eAx/lBamKD6uyw8H4228h/x0sGGGegOamM2cd7Pag88GfMQalobXI+HaEUxpCkbKQUDOQqt9wawRw==, + } + engines: { bare: '>=1.16.0' } + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + + bare-os@3.9.0: + resolution: + { + integrity: sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==, + } + engines: { bare: '>=1.14.0' } + + bare-path@3.0.0: + resolution: + { + integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==, + } + + bare-stream@2.13.1: + resolution: + { + integrity: sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==, + } + peerDependencies: + bare-abort-controller: '*' + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + bare-buffer: + optional: true + bare-events: + optional: true + + bare-url@2.4.2: + resolution: + { + integrity: sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==, + } + base64-js@1.5.1: resolution: { @@ -6893,6 +7119,13 @@ packages: } engines: { node: '>= 0.8' } + basic-ftp@5.3.1: + resolution: + { + integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==, + } + engines: { node: '>=10.0.0' } + batch@0.6.1: resolution: { @@ -7010,6 +7243,12 @@ packages: integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, } + buffer-crc32@0.2.13: + resolution: + { + integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, + } + buffer-from@1.1.2: resolution: { @@ -7122,6 +7361,13 @@ packages: } engines: { node: '>=18' } + chalk@2.4.2: + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, + } + engines: { node: '>=4' } + chalk@4.1.2: resolution: { @@ -7143,6 +7389,12 @@ packages: } engines: { node: '>=10' } + chardet@0.7.0: + resolution: + { + integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, + } + chardet@2.1.1: resolution: { @@ -7184,6 +7436,20 @@ packages: } engines: { node: '>=18' } + chrome-launcher@0.13.4: + resolution: + { + integrity: sha512-nnzXiDbGKjDSK6t2I+35OAPBy5Pw/39bgkb/ZAFwMhwJbdYBp6aH+vW28ZgtjdU890Q7D+3wN/tB8N66q5Gi2A==, + } + + chrome-launcher@1.2.1: + resolution: + { + integrity: sha512-qmFR5PLMzHyuNJHwOloHPAHhbaNglkfeV/xDtt5b7xiFFyU1I+AZZX0PYseMuhenJSSirgxELYIbswcoc+5H4A==, + } + engines: { node: '>=12.13.0' } + hasBin: true + chrome-trace-event@1.0.4: resolution: { @@ -7191,6 +7457,14 @@ packages: } engines: { node: '>=6.0' } + chromium-bidi@14.0.0: + resolution: + { + integrity: sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==, + } + peerDependencies: + devtools-protocol: '*' + ci-info@4.4.0: resolution: { @@ -7216,6 +7490,13 @@ packages: integrity: sha512-LqoS80HBBSCVhz/3KloUly0ovokxpdOLR++Al3J3+dHXWt9sTKlKd4eYtoxhxyUjoe5+UcIM+5k9MIxyBWnRTw==, } + cli-cursor@2.1.0: + resolution: + { + integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==, + } + engines: { node: '>=4' } + cli-cursor@3.1.0: resolution: { @@ -7251,6 +7532,12 @@ packages: } engines: { node: '>=20' } + cli-width@2.2.1: + resolution: + { + integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==, + } + cli-width@4.1.0: resolution: { @@ -7258,6 +7545,12 @@ packages: } engines: { node: '>= 12' } + cliui@6.0.0: + resolution: + { + integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==, + } + cliui@8.0.1: resolution: { @@ -7305,6 +7598,12 @@ packages: integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==, } + color-convert@1.9.3: + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, + } + color-convert@2.0.1: resolution: { @@ -7312,6 +7611,12 @@ packages: } engines: { node: '>=7.0.0' } + color-name@1.1.3: + resolution: + { + integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, + } + color-name@1.1.4: resolution: { @@ -7423,6 +7728,13 @@ packages: integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==, } + configstore@5.0.1: + resolution: + { + integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==, + } + engines: { node: '>=8' } + confusing-browser-globals@1.0.11: resolution: { @@ -7621,6 +7933,19 @@ packages: } engines: { node: '>= 8' } + crypto-random-string@2.0.0: + resolution: + { + integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==, + } + engines: { node: '>=8' } + + csp_evaluator@1.1.5: + resolution: + { + integrity: sha512-EL/iN9etCTzw/fBnp0/uj0f5BOOGvZut2mzsiiBZ/FdT6gFQCKRO/tmcKOxn5drWZ2Ndm/xBb1SI4zwWbGtmIw==, + } + css-declaration-sorter@7.4.0: resolution: { @@ -7768,6 +8093,13 @@ packages: integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==, } + data-uri-to-buffer@6.0.2: + resolution: + { + integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==, + } + engines: { node: '>= 14' } + data-urls@6.0.1: resolution: { @@ -7810,6 +8142,13 @@ packages: supports-color: optional: true + decamelize@1.2.0: + resolution: + { + integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, + } + engines: { node: '>=0.10.0' } + decimal.js@10.6.0: resolution: { @@ -7887,6 +8226,13 @@ packages: integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==, } + degenerator@5.0.1: + resolution: + { + integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==, + } + engines: { node: '>= 14' } + delayed-stream@1.0.0: resolution: { @@ -7956,6 +8302,18 @@ packages: engines: { node: '>= 4.0.0' } hasBin: true + devtools-protocol@0.0.1467305: + resolution: + { + integrity: sha512-LxwMLqBoPPGpMdRL4NkLFRNy3QLp6Uqa7GNp1v6JaBheop2QrB9Q7q0A/q/CYYP9sBfZdHOyszVx4gc9zyk7ow==, + } + + devtools-protocol@0.0.1595872: + resolution: + { + integrity: sha512-kRfgp8vWVjBu/fbYCiVFiOqsCk3CrMKEo3WbgGT2NXK2dG7vawWPBljixajVgGK9II8rDO9G0oD0zLt3I1daRg==, + } + diff@4.0.4: resolution: { @@ -8298,6 +8656,14 @@ packages: } engines: { node: '>=10' } + escodegen@2.1.0: + resolution: + { + integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==, + } + engines: { node: '>=6.0' } + hasBin: true + eslint-config-prettier@10.1.8: resolution: { @@ -8457,6 +8823,12 @@ packages: integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==, } + events-universal@1.0.1: + resolution: + { + integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==, + } + events@3.3.0: resolution: { @@ -8548,6 +8920,21 @@ packages: integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==, } + external-editor@3.1.0: + resolution: + { + integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, + } + engines: { node: '>=4' } + + extract-zip@2.0.1: + resolution: + { + integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==, + } + engines: { node: '>= 10.17.0' } + hasBin: true + fast-check@3.23.2: resolution: { @@ -8561,6 +8948,12 @@ packages: integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, } + fast-fifo@1.3.2: + resolution: + { + integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==, + } + fast-glob@3.3.3: resolution: { @@ -8618,6 +9011,12 @@ packages: integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, } + fd-slicer@1.1.0: + resolution: + { + integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, + } + fdir@6.5.0: resolution: { @@ -8636,6 +9035,13 @@ packages: integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==, } + figures@2.0.0: + resolution: + { + integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==, + } + engines: { node: '>=4' } + figures@3.2.0: resolution: { @@ -8911,6 +9317,13 @@ packages: } engines: { node: '>= 0.4' } + get-stream@5.2.0: + resolution: + { + integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, + } + engines: { node: '>=8' } + get-stream@6.0.1: resolution: { @@ -8924,6 +9337,13 @@ packages: integrity: sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==, } + get-uri@6.0.5: + resolution: + { + integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==, + } + engines: { node: '>= 14' } + giget@3.2.0: resolution: { @@ -9077,6 +9497,13 @@ packages: integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==, } + has-flag@3.0.0: + resolution: + { + integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, + } + engines: { node: '>=4' } + has-flag@4.0.0: resolution: { @@ -9198,6 +9625,13 @@ packages: } engines: { node: '>= 0.8' } + http-link-header@1.1.3: + resolution: + { + integrity: sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==, + } + engines: { node: '>=6.0.0' } + http-parser-js@0.5.10: resolution: { @@ -9352,6 +9786,18 @@ packages: engines: { node: '>=0.10.0' } hasBin: true + image-ssim@0.2.0: + resolution: + { + integrity: sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg==, + } + + immediate@3.0.6: + resolution: + { + integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==, + } + immutable@5.1.5: resolution: { @@ -9412,6 +9858,13 @@ packages: } engines: { node: ^20.17.0 || >=22.9.0 } + inquirer@6.5.2: + resolution: + { + integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==, + } + engines: { node: '>=6.0.0' } + interpret@3.1.1: resolution: { @@ -9419,6 +9872,12 @@ packages: } engines: { node: '>=10.13.0' } + intl-messageformat@10.7.18: + resolution: + { + integrity: sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==, + } + ip-address@10.1.0: resolution: { @@ -9497,6 +9956,13 @@ packages: } engines: { node: '>=0.10.0' } + is-fullwidth-code-point@2.0.0: + resolution: + { + integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==, + } + engines: { node: '>=4' } + is-fullwidth-code-point@3.0.0: resolution: { @@ -9621,6 +10087,12 @@ packages: } engines: { node: '>=8' } + is-typedarray@1.0.0: + resolution: + { + integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==, + } + is-unicode-supported@0.1.0: resolution: { @@ -9701,6 +10173,12 @@ packages: } engines: { node: '>=0.10.0' } + isomorphic-fetch@3.0.0: + resolution: + { + integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==, + } + isomorphic-ws@5.0.0: resolution: { @@ -9987,6 +10465,19 @@ packages: integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==, } + jpeg-js@0.4.4: + resolution: + { + integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==, + } + + js-library-detector@6.7.0: + resolution: + { + integrity: sha512-c80Qupofp43y4cJ7+8TTDN/AsDwLi5oOm/plBrWI+iQt485vKXCco+yVmOwEgdo9VOdsYTuV0UlTeetVPTriXA==, + } + engines: { node: '>=12' } + js-tokens@10.0.0: resolution: { @@ -10148,6 +10639,12 @@ packages: integrity: sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==, } + legacy-javascript@0.0.1: + resolution: + { + integrity: sha512-lPyntS4/aS7jpuvOlitZDFifBCb4W8L/3QU0PLbUTUj+zYah8rfVjYic88yG7ZKTxhS5h9iz7duT8oUXKszLhg==, + } + less-loader@12.3.2: resolution: { @@ -10203,6 +10700,38 @@ packages: webpack: optional: true + lie@3.1.1: + resolution: + { + integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==, + } + + lighthouse-logger@1.2.0: + resolution: + { + integrity: sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw==, + } + + lighthouse-logger@2.0.2: + resolution: + { + integrity: sha512-vWl2+u5jgOQuZR55Z1WM0XDdrJT6mzMP8zHUct7xTlWhuQs+eV0g+QL0RQdFjT54zVmbhLCP8vIVpy1wGn/gCg==, + } + + lighthouse-stack-packs@1.12.2: + resolution: + { + integrity: sha512-Ug8feS/A+92TMTCK6yHYLwaFMuelK/hAKRMdldYkMNwv+d9PtWxjXEg6rwKtsUXTADajhdrhXyuNCJ5/sfmPFw==, + } + + lighthouse@12.6.1: + resolution: + { + integrity: sha512-85WDkjcXAVdlFem9Y6SSxqoKiz/89UsDZhLpeLJIsJ4LlHxw047XTZhlFJmjYCB7K5S1erSBAf5cYLcfyNbH3A==, + } + engines: { node: '>=18.20' } + hasBin: true + lightningcss-android-arm64@1.32.0: resolution: { @@ -10376,6 +10905,12 @@ packages: } engines: { node: '>=8.9.0' } + localforage@1.10.0: + resolution: + { + integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==, + } + locate-path@5.0.0: resolution: { @@ -10397,6 +10932,12 @@ packages: } engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + lodash-es@4.18.1: + resolution: + { + integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==, + } + lodash.debounce@4.0.8: resolution: { @@ -10421,6 +10962,12 @@ packages: integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==, } + lodash@4.18.1: + resolution: + { + integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==, + } + log-symbols@4.1.0: resolution: { @@ -10454,6 +11001,12 @@ packages: integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==, } + lookup-closest-locale@6.2.0: + resolution: + { + integrity: sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==, + } + lru-cache@10.4.3: resolution: { @@ -10473,6 +11026,13 @@ packages: integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, } + lru-cache@7.18.3: + resolution: + { + integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, + } + engines: { node: '>=12' } + lru.min@1.1.4: resolution: { @@ -10518,6 +11078,13 @@ packages: } engines: { node: '>=6' } + make-dir@3.1.0: + resolution: + { + integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, + } + engines: { node: '>=8' } + make-dir@4.0.0: resolution: { @@ -10544,6 +11111,12 @@ packages: integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, } + marky@1.3.0: + resolution: + { + integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==, + } + math-intrinsics@1.1.0: resolution: { @@ -10625,6 +11198,12 @@ packages: } engines: { node: '>= 8' } + metaviewport-parser@0.3.0: + resolution: + { + integrity: sha512-EoYJ8xfjQ6kpe9VbVHvZTZHiOl4HL1Z18CrZ+qahvLXT7ZO4YTC2JMyt5FaUp9JJp6J4Ybb/z7IsCXZt86/QkQ==, + } + methods@1.1.2: resolution: { @@ -10675,6 +11254,13 @@ packages: engines: { node: '>=4' } hasBin: true + mimic-fn@1.2.0: + resolution: + { + integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==, + } + engines: { node: '>=4' } + mimic-fn@2.1.0: resolution: { @@ -10786,6 +11372,19 @@ packages: } engines: { node: '>= 18' } + mitt@3.0.1: + resolution: + { + integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==, + } + + mkdirp@0.5.6: + resolution: + { + integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, + } + hasBin: true + mkdirp@3.0.1: resolution: { @@ -10846,6 +11445,12 @@ packages: } hasBin: true + mute-stream@0.0.7: + resolution: + { + integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==, + } + mute-stream@2.0.0: resolution: { @@ -10934,6 +11539,13 @@ packages: '@prisma/client': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 prisma: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + netmask@2.1.1: + resolution: + { + integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==, + } + engines: { node: '>= 0.4.0' } + node-abort-controller@3.1.1: resolution: { @@ -11164,6 +11776,13 @@ packages: integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, } + onetime@2.0.1: + resolution: + { + integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==, + } + engines: { node: '>=4' } + onetime@5.1.2: resolution: { @@ -11185,6 +11804,13 @@ packages: } engines: { node: '>=18' } + open@7.4.2: + resolution: + { + integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==, + } + engines: { node: '>=8' } + open@8.4.2: resolution: { @@ -11233,6 +11859,13 @@ packages: integrity: sha512-QkCdPooczexPLiXIrbVOPYkR3VO3T6v2OyKRkR1Xbhpy7/LAVXwahnRCgRp78Oe/Ehf0C/HATAxfSr6eA1oX+w==, } + os-tmpdir@1.0.2: + resolution: + { + integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, + } + engines: { node: '>=0.10.0' } + oxc-resolver@11.19.1: resolution: { @@ -11302,6 +11935,20 @@ packages: } engines: { node: '>=6' } + pac-proxy-agent@7.2.0: + resolution: + { + integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==, + } + engines: { node: '>= 14' } + + pac-resolver@7.0.1: + resolution: + { + integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==, + } + engines: { node: '>= 14' } + package-json-from-dist@1.0.1: resolution: { @@ -11323,6 +11970,12 @@ packages: } engines: { node: '>=6' } + parse-cache-control@1.0.1: + resolution: + { + integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==, + } + parse-json@5.2.0: resolution: { @@ -11454,6 +12107,12 @@ packages: integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, } + pend@1.2.0: + resolution: + { + integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, + } + perfect-debounce@2.1.0: resolution: { @@ -11969,6 +12628,13 @@ packages: integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, } + progress@2.0.3: + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, + } + engines: { node: '>=0.4.0' } + promise-retry@2.0.1: resolution: { @@ -11989,6 +12655,19 @@ packages: } engines: { node: '>= 0.10' } + proxy-agent@6.5.0: + resolution: + { + integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==, + } + engines: { node: '>= 14' } + + proxy-from-env@1.1.0: + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } + proxy-from-env@2.1.0: resolution: { @@ -12002,6 +12681,12 @@ packages: integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, } + pump@3.0.4: + resolution: + { + integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==, + } + punycode@2.3.1: resolution: { @@ -12009,6 +12694,13 @@ packages: } engines: { node: '>=6' } + puppeteer-core@24.42.0: + resolution: + { + integrity: sha512-T4zXokk/izH01fYPhyyev1A4piWiOKrYq7CUFpdoYQxmOnXoV6YjUabmfIjCYkNspSoAXIxRid3Tw+Vg0fthYg==, + } + engines: { node: '>=18' } + pure-rand@6.1.0: resolution: { @@ -12221,6 +12913,12 @@ packages: } engines: { node: '>=0.10.0' } + require-main-filename@2.0.0: + resolution: + { + integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==, + } + requires-port@1.0.0: resolution: { @@ -12277,6 +12975,13 @@ packages: } hasBin: true + restore-cursor@2.0.0: + resolution: + { + integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==, + } + engines: { node: '>=4' } + restore-cursor@3.1.0: resolution: { @@ -12318,6 +13023,29 @@ packages: integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==, } + rimraf@2.7.1: + resolution: + { + integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==, + } + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + robots-parser@3.0.1: + resolution: + { + integrity: sha512-s+pyvQeIKIZ0dx5iJiQk1tPLJAWln39+MI5jtM8wnyws+G5azk+dMnMX0qfbqNetKKNgcWWOdi0sfm+FbQbgdQ==, + } + engines: { node: '>=10.0.0' } + rolldown@1.0.0-rc.17: resolution: { @@ -12356,6 +13084,13 @@ packages: } engines: { node: '>=18' } + run-async@2.4.1: + resolution: + { + integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==, + } + engines: { node: '>=0.12.0' } + run-parallel@1.2.0: resolution: { @@ -12758,6 +13493,12 @@ packages: } engines: { node: '>= 18' } + set-blocking@2.0.0: + resolution: + { + integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, + } + setprototypeof@1.2.0: resolution: { @@ -13020,6 +13761,13 @@ packages: } engines: { node: '>=6.0.0' } + speedline-core@1.4.3: + resolution: + { + integrity: sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog==, + } + engines: { node: '>=8.0' } + sprintf-js@1.0.3: resolution: { @@ -13099,6 +13847,12 @@ packages: } engines: { node: '>=10.0.0' } + streamx@2.25.0: + resolution: + { + integrity: sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==, + } + string-argv@0.3.2: resolution: { @@ -13113,6 +13867,13 @@ packages: } engines: { node: '>=10' } + string-width@2.1.1: + resolution: + { + integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==, + } + engines: { node: '>=4' } + string-width@4.2.3: resolution: { @@ -13153,6 +13914,20 @@ packages: integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, } + strip-ansi@4.0.0: + resolution: + { + integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==, + } + engines: { node: '>=4' } + + strip-ansi@5.2.0: + resolution: + { + integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==, + } + engines: { node: '>=6' } + strip-ansi@6.0.1: resolution: { @@ -13220,6 +13995,13 @@ packages: peerDependencies: postcss: ^8.5.10 + supports-color@5.5.0: + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, + } + engines: { node: '>=4' } + supports-color@7.2.0: resolution: { @@ -13296,6 +14078,12 @@ packages: } engines: { node: '>=6' } + tar-fs@3.1.2: + resolution: + { + integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==, + } + tar-stream@2.2.0: resolution: { @@ -13303,6 +14091,12 @@ packages: } engines: { node: '>=6' } + tar-stream@3.2.0: + resolution: + { + integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==, + } + tar@7.5.13: resolution: { @@ -13316,6 +14110,12 @@ packages: integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==, } + teex@1.0.1: + resolution: + { + integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==, + } + terser-webpack-plugin@5.5.0: resolution: { @@ -13350,6 +14150,12 @@ packages: } engines: { node: '>=8' } + text-decoder@1.2.7: + resolution: + { + integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==, + } + thingies@2.6.0: resolution: { @@ -13359,6 +14165,24 @@ packages: peerDependencies: tslib: ^2 + third-party-web@0.26.7: + resolution: + { + integrity: sha512-buUzX4sXC4efFX6xg2bw6/eZsCUh8qQwSavC4D9HpONMFlRbcHhD8Je5qwYdCpViR6q0qla2wPP+t91a2vgolg==, + } + + third-party-web@0.29.0: + resolution: + { + integrity: sha512-nBDSJw5B7Sl1YfsATG2XkW5qgUPODbJhXw++BKygi9w6O/NKS98/uY/nR/DxDq2axEjL6halHW1v+jhm/j1DBQ==, + } + + through@2.3.8: + resolution: + { + integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, + } + thunky@1.1.0: resolution: { @@ -13399,12 +14223,24 @@ packages: } engines: { node: '>=14.0.0' } + tldts-core@6.1.86: + resolution: + { + integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==, + } + tldts-core@7.0.29: resolution: { integrity: sha512-W99NuU7b1DcG3uJ3v9k9VztCH3WialNbBkBft5wCs8V8mexu0XQqaZEYb9l9RNNzK8+3EJ9PKWB0/RUtTQ/o+Q==, } + tldts-icann@6.1.86: + resolution: + { + integrity: sha512-NFxmRT2lAEMcCOBgeZ0NuM0zsK/xgmNajnY6n4S1mwAKocft2s2ise1O3nQxrH3c+uY6hgHUV9GGNVp7tUE4Sg==, + } + tldts@7.0.29: resolution: { @@ -13412,6 +14248,20 @@ packages: } hasBin: true + tmp@0.0.33: + resolution: + { + integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, + } + engines: { node: '>=0.6.0' } + + tmp@0.1.0: + resolution: + { + integrity: sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==, + } + engines: { node: '>=6' } + tmp@0.2.4: resolution: { @@ -13668,6 +14518,18 @@ packages: integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==, } + typed-query-selector@2.12.2: + resolution: + { + integrity: sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==, + } + + typedarray-to-buffer@3.1.5: + resolution: + { + integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==, + } + typedarray@0.0.6: resolution: { @@ -13776,6 +14638,13 @@ packages: } engines: { node: '>= 0.8.0' } + unique-string@2.0.0: + resolution: + { + integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==, + } + engines: { node: '>=8' } + universalify@2.0.1: resolution: { @@ -14067,6 +14936,12 @@ packages: integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==, } + webdriver-bidi-protocol@0.4.1: + resolution: + { + integrity: sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==, + } + webidl-conversions@3.0.1: resolution: { @@ -14197,6 +15072,12 @@ packages: engines: { node: '>=12' } deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + whatwg-fetch@3.6.20: + resolution: + { + integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==, + } + whatwg-mimetype@4.0.0: resolution: { @@ -14224,6 +15105,12 @@ packages: integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, } + which-module@2.0.1: + resolution: + { + integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==, + } + which@1.3.1: resolution: { @@ -14308,6 +15195,12 @@ packages: integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, } + write-file-atomic@3.0.3: + resolution: + { + integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==, + } + write-file-atomic@5.0.1: resolution: { @@ -14315,6 +15208,21 @@ packages: } engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + ws@7.5.10: + resolution: + { + integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==, + } + engines: { node: '>=8.3.0' } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.18.0: resolution: { @@ -14352,6 +15260,13 @@ packages: } engines: { node: '>=18' } + xdg-basedir@4.0.0: + resolution: + { + integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==, + } + engines: { node: '>=8' } + xml-name-validator@5.0.0: resolution: { @@ -14365,6 +15280,12 @@ packages: integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==, } + y18n@4.0.3: + resolution: + { + integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, + } + y18n@5.0.8: resolution: { @@ -14414,6 +15335,19 @@ packages: engines: { node: '>= 14.6' } hasBin: true + yargs-parser@13.1.2: + resolution: + { + integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==, + } + + yargs-parser@18.1.3: + resolution: + { + integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==, + } + engines: { node: '>=6' } + yargs-parser@21.1.1: resolution: { @@ -14428,6 +15362,13 @@ packages: } engines: { node: ^20.19.0 || ^22.12.0 || >=23 } + yargs@15.4.1: + resolution: + { + integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==, + } + engines: { node: '>=8' } + yargs@17.7.2: resolution: { @@ -14442,6 +15383,12 @@ packages: } engines: { node: ^20.19.0 || ^22.12.0 || >=23 } + yauzl@2.10.0: + resolution: + { + integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, + } + yn@3.1.1: resolution: { @@ -14491,6 +15438,12 @@ packages: peerDependencies: zod: ^3.25.28 || ^4 + zod@3.25.76: + resolution: + { + integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==, + } + zod@4.3.6: resolution: { @@ -16005,6 +16958,32 @@ snapshots: '@exodus/bytes@1.15.0': {} + '@formatjs/ecma402-abstract@2.3.6': + dependencies: + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/intl-localematcher': 0.6.2 + decimal.js: 10.6.0 + tslib: 2.8.1 + + '@formatjs/fast-memoize@2.2.7': + dependencies: + tslib: 2.8.1 + + '@formatjs/icu-messageformat-parser@2.11.4': + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/icu-skeleton-parser': 1.8.16 + tslib: 2.8.1 + + '@formatjs/icu-skeleton-parser@1.8.16': + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + tslib: 2.8.1 + + '@formatjs/intl-localematcher@0.6.2': + dependencies: + tslib: 2.8.1 + '@gar/promise-retry@1.0.3': {} '@harperfast/extended-iterable@1.0.3': @@ -16521,6 +17500,48 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} + '@lhci/cli@0.15.1(encoding@0.1.13)': + dependencies: + '@lhci/utils': 0.15.1(encoding@0.1.13) + chrome-launcher: 0.13.4 + compression: 1.8.1 + debug: 4.4.3 + express: 4.22.1 + inquirer: 6.5.2 + isomorphic-fetch: 3.0.0(encoding@0.1.13) + lighthouse: 12.6.1 + lighthouse-logger: 1.2.0 + open: 7.4.2 + proxy-agent: 6.5.0 + tmp: 0.1.0 + uuid: 8.3.2 + yargs: 15.4.1 + yargs-parser: 13.1.2 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - encoding + - react-native-b4a + - supports-color + - utf-8-validate + + '@lhci/utils@0.15.1(encoding@0.1.13)': + dependencies: + debug: 4.4.3 + isomorphic-fetch: 3.0.0(encoding@0.1.13) + js-yaml: 3.14.2 + lighthouse: 12.6.1 + tree-kill: 1.2.2 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - encoding + - react-native-b4a + - supports-color + - utf-8-validate + '@listr2/prompt-adapter-inquirer@3.0.5(@inquirer/prompts@7.10.1(@types/node@20.19.9))(@types/node@20.19.9)(listr2@9.0.5)': dependencies: '@inquirer/prompts': 7.10.1(@types/node@20.19.9) @@ -17873,6 +18894,11 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.6 optional: true + '@paulirish/trace_engine@0.0.53': + dependencies: + legacy-javascript: 0.0.1 + third-party-web: 0.29.0 + '@peculiar/asn1-cms@2.6.1': dependencies: '@peculiar/asn1-schema': 2.6.0 @@ -18066,6 +19092,21 @@ snapshots: transitivePeerDependencies: - '@types/react-dom' + '@puppeteer/browsers@2.13.0': + dependencies: + debug: 4.4.3 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.5.0 + semver: 7.7.4 + tar-fs: 3.1.2 + yargs: 17.7.2 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + - supports-color + '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.5)': @@ -18407,6 +19448,38 @@ snapshots: transitivePeerDependencies: - chokidar + '@sentry-internal/tracing@7.120.4': + dependencies: + '@sentry/core': 7.120.4 + '@sentry/types': 7.120.4 + '@sentry/utils': 7.120.4 + + '@sentry/core@7.120.4': + dependencies: + '@sentry/types': 7.120.4 + '@sentry/utils': 7.120.4 + + '@sentry/integrations@7.120.4': + dependencies: + '@sentry/core': 7.120.4 + '@sentry/types': 7.120.4 + '@sentry/utils': 7.120.4 + localforage: 1.10.0 + + '@sentry/node@7.120.4': + dependencies: + '@sentry-internal/tracing': 7.120.4 + '@sentry/core': 7.120.4 + '@sentry/integrations': 7.120.4 + '@sentry/types': 7.120.4 + '@sentry/utils': 7.120.4 + + '@sentry/types@7.120.4': {} + + '@sentry/utils@7.120.4': + dependencies: + '@sentry/types': 7.120.4 + '@sigstore/bundle@4.0.0': dependencies: '@sigstore/protobuf-specs': 0.5.1 @@ -18619,6 +19692,8 @@ snapshots: '@tokenizer/token@0.3.0': {} + '@tootallnate/quickjs-emscripten@0.23.0': {} + '@ts-morph/common@0.22.0': dependencies: fast-glob: 3.3.3 @@ -18812,6 +19887,11 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 20.19.9 + optional: true + '@typescript-eslint/eslint-plugin@8.59.1(@typescript-eslint/parser@8.59.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -19258,6 +20338,8 @@ snapshots: ansi-colors@4.1.3: {} + ansi-escapes@3.2.0: {} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -19268,10 +20350,18 @@ snapshots: ansi-html-community@0.0.8: {} + ansi-regex@3.0.1: {} + + ansi-regex@4.1.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -19311,6 +20401,10 @@ snapshots: assertion-error@2.0.1: {} + ast-types@0.13.4: + dependencies: + tslib: 2.8.1 + ast-v8-to-istanbul@1.0.0: dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -19332,6 +20426,8 @@ snapshots: aws-ssl-profiles@1.1.2: {} + axe-core@4.11.4: {} + axios@1.15.0: dependencies: follow-redirects: 1.15.11(debug@4.4.3) @@ -19342,6 +20438,8 @@ snapshots: axobject-query@4.1.0: {} + b4a@1.8.0: {} + babel-jest@30.3.0(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0 @@ -19459,6 +20557,38 @@ snapshots: balanced-match@4.0.3: {} + bare-events@2.8.2: {} + + bare-fs@4.7.1: + dependencies: + bare-events: 2.8.2 + bare-path: 3.0.0 + bare-stream: 2.13.1(bare-events@2.8.2) + bare-url: 2.4.2 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + bare-os@3.9.0: {} + + bare-path@3.0.0: + dependencies: + bare-os: 3.9.0 + + bare-stream@2.13.1(bare-events@2.8.2): + dependencies: + streamx: 2.25.0 + teex: 1.0.1 + optionalDependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - react-native-b4a + + bare-url@2.4.2: + dependencies: + bare-path: 3.0.0 + base64-js@1.5.1: {} baseline-browser-mapping@2.10.24: {} @@ -19467,6 +20597,8 @@ snapshots: dependencies: safe-buffer: 5.1.2 + basic-ftp@5.3.1: {} + batch@0.6.1: {} beasties@0.4.1: @@ -19568,6 +20700,8 @@ snapshots: dependencies: node-int64: 0.4.0 + buffer-crc32@0.2.13: {} + buffer-from@1.1.2: {} buffer@5.7.1: @@ -19644,6 +20778,12 @@ snapshots: chai@6.2.2: {} + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -19653,6 +20793,8 @@ snapshots: char-regex@1.0.2: {} + chardet@0.7.0: {} + chardet@2.1.1: {} chart.js@4.5.1: @@ -19681,8 +20823,34 @@ snapshots: chownr@3.0.0: {} + chrome-launcher@0.13.4: + dependencies: + '@types/node': 20.19.9 + escape-string-regexp: 1.0.5 + is-wsl: 2.2.0 + lighthouse-logger: 1.2.0 + mkdirp: 0.5.6 + rimraf: 3.0.2 + transitivePeerDependencies: + - supports-color + + chrome-launcher@1.2.1: + dependencies: + '@types/node': 20.19.9 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 2.0.2 + transitivePeerDependencies: + - supports-color + chrome-trace-event@1.0.4: {} + chromium-bidi@14.0.0(devtools-protocol@0.0.1595872): + dependencies: + devtools-protocol: 0.0.1595872 + mitt: 3.0.1 + zod: 3.25.76 + ci-info@4.4.0: {} cjs-module-lexer@2.2.0: {} @@ -19695,6 +20863,10 @@ snapshots: libphonenumber-js: 1.12.42 validator: 13.15.35 + cli-cursor@2.1.0: + dependencies: + restore-cursor: 2.0.0 + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -19712,8 +20884,16 @@ snapshots: slice-ansi: 8.0.0 string-width: 8.2.1 + cli-width@2.2.1: {} + cli-width@4.1.0: {} + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -19740,10 +20920,16 @@ snapshots: collect-v8-coverage@1.0.3: {} + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + color-convert@2.0.1: dependencies: color-name: 1.1.4 + color-name@1.1.3: {} + color-name@1.1.4: {} colorette@2.0.20: {} @@ -19781,7 +20967,7 @@ snapshots: compressible@2.0.18: dependencies: - mime-db: 1.52.0 + mime-db: 1.54.0 compression@1.8.1: dependencies: @@ -19806,6 +20992,15 @@ snapshots: confbox@0.2.4: {} + configstore@5.0.1: + dependencies: + dot-prop: 5.3.0 + graceful-fs: 4.2.11 + make-dir: 3.1.0 + unique-string: 2.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 4.0.0 + confusing-browser-globals@1.0.11: {} connect-history-api-fallback@2.0.0: {} @@ -19914,6 +21109,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crypto-random-string@2.0.0: {} + + csp_evaluator@1.1.5: {} + css-declaration-sorter@7.4.0(postcss@8.5.12): dependencies: postcss: 8.5.12 @@ -20034,6 +21233,8 @@ snapshots: csstype@3.2.3: {} + data-uri-to-buffer@6.0.2: {} + data-urls@6.0.1: dependencies: whatwg-mimetype: 5.0.0 @@ -20051,6 +21252,8 @@ snapshots: dependencies: ms: 2.1.3 + decamelize@1.2.0: {} + decimal.js@10.6.0: {} dedent@1.7.2(babel-plugin-macros@3.1.0): @@ -20080,6 +21283,12 @@ snapshots: defu@6.1.7: {} + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + delayed-stream@1.0.0: {} denque@2.1.0: {} @@ -20105,6 +21314,10 @@ snapshots: transitivePeerDependencies: - supports-color + devtools-protocol@0.0.1467305: {} + + devtools-protocol@0.0.1595872: {} + diff@4.0.4: {} dns-packet@5.6.1: @@ -20280,6 +21493,14 @@ snapshots: escape-string-regexp@4.0.0: {} + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + eslint-config-prettier@10.1.8(eslint@9.39.4(jiti@2.6.1)): dependencies: eslint: 9.39.4(jiti@2.6.1) @@ -20391,6 +21612,12 @@ snapshots: eventemitter3@5.0.4: {} + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + events@3.3.0: {} eventsource-parser@3.0.8: {} @@ -20506,12 +21733,30 @@ snapshots: exsolve@1.0.8: {} + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + extract-zip@2.0.1: + dependencies: + debug: 4.4.3 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + fast-check@3.23.2: dependencies: pure-rand: 6.1.0 fast-deep-equal@3.1.3: {} + fast-fifo@1.3.2: {} + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -20542,12 +21787,20 @@ snapshots: dependencies: bser: 2.1.1 + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: picomatch: 4.0.4 fflate@0.8.2: {} + figures@2.0.0: + dependencies: + escape-string-regexp: 1.0.5 + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -20727,10 +21980,22 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + get-stream@5.2.0: + dependencies: + pump: 3.0.4 + get-stream@6.0.1: {} get-them-args@1.3.2: {} + get-uri@6.0.5: + dependencies: + basic-ftp: 5.3.1 + data-uri-to-buffer: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + giget@3.2.0: {} git-raw-commits@5.0.1(conventional-commits-parser@6.4.0): @@ -20826,6 +22091,8 @@ snapshots: harmony-reflect@1.6.2: {} + has-flag@3.0.0: {} + has-flag@4.0.0: {} has-symbols@1.1.0: {} @@ -20900,6 +22167,8 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 + http-link-header@1.1.3: {} + http-parser-js@0.5.10: {} http-proxy-agent@7.0.2: @@ -21007,6 +22276,10 @@ snapshots: image-size@0.5.5: optional: true + image-ssim@0.2.0: {} + + immediate@3.0.6: {} + immutable@5.1.5: {} import-fresh@3.3.1: @@ -21034,8 +22307,31 @@ snapshots: ini@6.0.0: {} + inquirer@6.5.2: + dependencies: + ansi-escapes: 3.2.0 + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-width: 2.2.1 + external-editor: 3.1.0 + figures: 2.0.0 + lodash: 4.18.1 + mute-stream: 0.0.7 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 2.1.1 + strip-ansi: 5.2.0 + through: 2.3.8 + interpret@3.1.1: {} + intl-messageformat@10.7.18: + dependencies: + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/icu-messageformat-parser': 2.11.4 + tslib: 2.8.1 + ip-address@10.1.0: {} ip-address@10.1.1: {} @@ -21062,6 +22358,8 @@ snapshots: is-extglob@2.1.1: {} + is-fullwidth-code-point@2.0.0: {} + is-fullwidth-code-point@3.0.0: {} is-fullwidth-code-point@5.1.0: @@ -21106,6 +22404,8 @@ snapshots: is-stream@2.0.1: {} + is-typedarray@1.0.0: {} + is-unicode-supported@0.1.0: {} is-unicode-supported@2.1.0: {} @@ -21138,6 +22438,13 @@ snapshots: isobject@3.0.1: {} + isomorphic-fetch@3.0.0(encoding@0.1.13): + dependencies: + node-fetch: 2.7.0(encoding@0.1.13) + whatwg-fetch: 3.6.20 + transitivePeerDependencies: + - encoding + isomorphic-ws@5.0.0(ws@8.18.0): dependencies: ws: 8.18.0 @@ -21504,6 +22811,10 @@ snapshots: jose@6.2.3: {} + jpeg-js@0.4.4: {} + + js-library-detector@6.7.0: {} + js-tokens@10.0.0: {} js-tokens@4.0.0: {} @@ -21600,6 +22911,8 @@ snapshots: picocolors: 1.1.1 shell-quote: 1.8.3 + legacy-javascript@0.0.1: {} + less-loader@12.3.2(@rspack/core@1.6.8(@swc/helpers@0.5.18))(less@4.5.1)(webpack@5.106.2): dependencies: less: 4.5.1 @@ -21636,6 +22949,64 @@ snapshots: optionalDependencies: webpack: 5.106.2(@swc/core@1.15.8(@swc/helpers@0.5.18))(esbuild@0.27.3)(webpack-cli@5.1.4(webpack@5.106.2)) + lie@3.1.1: + dependencies: + immediate: 3.0.6 + + lighthouse-logger@1.2.0: + dependencies: + debug: 2.6.9 + marky: 1.3.0 + transitivePeerDependencies: + - supports-color + + lighthouse-logger@2.0.2: + dependencies: + debug: 4.4.3 + marky: 1.3.0 + transitivePeerDependencies: + - supports-color + + lighthouse-stack-packs@1.12.2: {} + + lighthouse@12.6.1: + dependencies: + '@paulirish/trace_engine': 0.0.53 + '@sentry/node': 7.120.4 + axe-core: 4.11.4 + chrome-launcher: 1.2.1 + configstore: 5.0.1 + csp_evaluator: 1.1.5 + devtools-protocol: 0.0.1467305 + enquirer: 2.3.6 + http-link-header: 1.1.3 + intl-messageformat: 10.7.18 + jpeg-js: 0.4.4 + js-library-detector: 6.7.0 + lighthouse-logger: 2.0.2 + lighthouse-stack-packs: 1.12.2 + lodash-es: 4.18.1 + lookup-closest-locale: 6.2.0 + metaviewport-parser: 0.3.0 + open: 8.4.2 + parse-cache-control: 1.0.1 + puppeteer-core: 24.42.0 + robots-parser: 3.0.1 + semver: 5.7.2 + speedline-core: 1.4.3 + third-party-web: 0.26.7 + tldts-icann: 6.1.86 + ws: 7.5.10 + yargs: 17.7.2 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - utf-8-validate + lightningcss-android-arm64@1.32.0: optional: true @@ -21737,6 +23108,10 @@ snapshots: emojis-list: 3.0.0 json5: 2.2.3 + localforage@1.10.0: + dependencies: + lie: 3.1.1 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -21749,6 +23124,8 @@ snapshots: dependencies: p-locate: 6.0.0 + lodash-es@4.18.1: {} + lodash.debounce@4.0.8: {} lodash.memoize@4.1.2: {} @@ -21757,6 +23134,8 @@ snapshots: lodash.uniq@4.5.0: {} + lodash@4.18.1: {} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 @@ -21779,6 +23158,8 @@ snapshots: long@5.3.2: {} + lookup-closest-locale@6.2.0: {} + lru-cache@10.4.3: {} lru-cache@11.3.5: {} @@ -21787,6 +23168,8 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@7.18.3: {} + lru.min@1.1.4: {} luxon@3.7.2: {} @@ -21815,6 +23198,10 @@ snapshots: semver: 5.7.2 optional: true + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + make-dir@4.0.0: dependencies: semver: 7.7.4 @@ -21842,6 +23229,8 @@ snapshots: dependencies: tmpl: 1.0.5 + marky@1.3.0: {} + math-intrinsics@1.1.0: {} mdn-data@2.0.28: {} @@ -21883,6 +23272,8 @@ snapshots: merge2@1.4.1: {} + metaviewport-parser@0.3.0: {} + methods@1.1.2: {} micromatch@4.0.8: @@ -21904,6 +23295,8 @@ snapshots: mime@1.6.0: {} + mimic-fn@1.2.0: {} + mimic-fn@2.1.0: {} mimic-function@5.0.1: {} @@ -21963,6 +23356,12 @@ snapshots: dependencies: minipass: 7.1.3 + mitt@3.0.1: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mkdirp@3.0.1: {} mrmime@2.0.1: {} @@ -22002,6 +23401,8 @@ snapshots: dns-packet: 5.6.1 thunky: 1.1.0 + mute-stream@0.0.7: {} + mute-stream@2.0.0: {} mysql2@3.15.3: @@ -22051,6 +23452,8 @@ snapshots: transitivePeerDependencies: - chokidar + netmask@2.1.1: {} + node-abort-controller@3.1.1: {} node-addon-api@6.1.0: @@ -22427,6 +23830,10 @@ snapshots: dependencies: wrappy: 1.0.2 + onetime@2.0.1: + dependencies: + mimic-fn: 1.2.0 + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 @@ -22442,6 +23849,11 @@ snapshots: is-inside-container: 1.0.0 wsl-utils: 0.1.0 + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -22496,6 +23908,8 @@ snapshots: ordered-binary@1.6.1: optional: true + os-tmpdir@1.0.2: {} + oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): optionalDependencies: '@oxc-resolver/binding-android-arm-eabi': 11.19.1 @@ -22556,6 +23970,24 @@ snapshots: p-try@2.2.0: {} + pac-proxy-agent@7.2.0: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.4 + debug: 4.4.3 + get-uri: 6.0.5 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + pac-resolver@7.0.1: + dependencies: + degenerator: 5.0.1 + netmask: 2.1.1 + package-json-from-dist@1.0.1: {} pacote@21.3.1: @@ -22584,6 +24016,8 @@ snapshots: dependencies: callsites: 3.1.0 + parse-cache-control@1.0.1: {} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.29.0 @@ -22643,6 +24077,8 @@ snapshots: pathe@2.0.3: {} + pend@1.2.0: {} + perfect-debounce@2.1.0: {} picocolors@1.1.1: {} @@ -22947,6 +24383,8 @@ snapshots: process-nextick-args@2.0.1: {} + progress@2.0.3: {} + promise-retry@2.0.1: dependencies: err-code: 2.0.3 @@ -22963,13 +24401,50 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 + proxy-agent@6.5.0: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 7.18.3 + pac-proxy-agent: 7.2.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + proxy-from-env@1.1.0: {} + proxy-from-env@2.1.0: {} prr@1.0.1: optional: true + pump@3.0.4: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + punycode@2.3.1: {} + puppeteer-core@24.42.0: + dependencies: + '@puppeteer/browsers': 2.13.0 + chromium-bidi: 14.0.0(devtools-protocol@0.0.1595872) + debug: 4.4.3 + devtools-protocol: 0.0.1595872 + typed-query-selector: 2.12.2 + webdriver-bidi-protocol: 0.4.1 + ws: 8.20.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - utf-8-validate + pure-rand@6.1.0: {} pure-rand@7.0.1: {} @@ -23085,6 +24560,8 @@ snapshots: require-from-string@2.0.2: {} + require-main-filename@2.0.0: {} + requires-port@1.0.0: {} resolve-cwd@3.0.0: @@ -23115,6 +24592,11 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + restore-cursor@2.0.0: + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -23133,6 +24615,16 @@ snapshots: rfdc@1.4.1: {} + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + robots-parser@3.0.1: {} + rolldown@1.0.0-rc.17: dependencies: '@oxc-project/types': 0.127.0 @@ -23219,6 +24711,8 @@ snapshots: run-applescript@7.1.0: {} + run-async@2.4.1: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -23395,8 +24889,7 @@ snapshots: '@peculiar/x509': 1.14.3 pkijs: 3.4.0 - semver@5.7.2: - optional: true + semver@5.7.2: {} semver@6.3.1: {} @@ -23472,6 +24965,8 @@ snapshots: transitivePeerDependencies: - supports-color + set-blocking@2.0.0: {} + setprototypeof@1.2.0: {} shallow-clone@3.0.1: @@ -23639,6 +25134,12 @@ snapshots: transitivePeerDependencies: - supports-color + speedline-core@1.4.3: + dependencies: + '@types/node': 20.19.9 + image-ssim: 0.2.0 + jpeg-js: 0.4.4 + sprintf-js@1.0.3: {} sqlstring@2.3.3: {} @@ -23667,6 +25168,15 @@ snapshots: streamsearch@1.1.0: {} + streamx@2.25.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.7 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + string-argv@0.3.2: {} string-length@4.0.2: @@ -23674,6 +25184,11 @@ snapshots: char-regex: 1.0.2 strip-ansi: 6.0.1 + string-width@2.1.1: + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -23705,6 +25220,14 @@ snapshots: dependencies: safe-buffer: 5.2.1 + strip-ansi@4.0.0: + dependencies: + ansi-regex: 3.0.1 + + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -23735,6 +25258,10 @@ snapshots: postcss: 8.5.12 postcss-selector-parser: 7.1.1 + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -23773,6 +25300,18 @@ snapshots: tapable@2.3.3: {} + tar-fs@3.1.2: + dependencies: + pump: 3.0.4 + tar-stream: 3.2.0 + optionalDependencies: + bare-fs: 4.7.1 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + tar-stream@2.2.0: dependencies: bl: 4.1.0 @@ -23781,6 +25320,17 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + tar-stream@3.2.0: + dependencies: + b4a: 1.8.0 + bare-fs: 4.7.1 + fast-fifo: 1.3.2 + streamx: 2.25.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + tar@7.5.13: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -23796,6 +25346,13 @@ snapshots: transitivePeerDependencies: - supports-color + teex@1.0.1: + dependencies: + streamx: 2.25.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + terser-webpack-plugin@5.5.0(@swc/core@1.15.8(@swc/helpers@0.5.18))(esbuild@0.27.3)(webpack@5.106.2): dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -23820,10 +25377,22 @@ snapshots: glob: 7.2.3 minimatch: 3.1.5 + text-decoder@1.2.7: + dependencies: + b4a: 1.8.0 + transitivePeerDependencies: + - react-native-b4a + thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 + third-party-web@0.26.7: {} + + third-party-web@0.29.0: {} + + through@2.3.8: {} + thunky@1.1.0: {} tinybench@2.9.0: {} @@ -23842,12 +25411,26 @@ snapshots: tinyrainbow@3.1.0: {} + tldts-core@6.1.86: {} + tldts-core@7.0.29: {} + tldts-icann@6.1.86: + dependencies: + tldts-core: 6.1.86 + tldts@7.0.29: dependencies: tldts-core: 7.0.29 + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmp@0.1.0: + dependencies: + rimraf: 2.7.1 + tmp@0.2.4: {} tmpl@1.0.5: {} @@ -24008,6 +25591,12 @@ snapshots: typed-assert@1.0.9: {} + typed-query-selector@2.12.2: {} + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + typedarray@0.0.6: {} typescript-eslint@8.59.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3): @@ -24055,6 +25644,10 @@ snapshots: dependencies: qs: 6.15.1 + unique-string@2.0.0: + dependencies: + crypto-random-string: 2.0.0 + universalify@2.0.1: {} unpipe@1.0.0: {} @@ -24214,6 +25807,8 @@ snapshots: weak-lru-cache@1.2.2: optional: true + webdriver-bidi-protocol@0.4.1: {} + webidl-conversions@3.0.1: {} webidl-conversions@8.0.1: {} @@ -24348,6 +25943,8 @@ snapshots: dependencies: iconv-lite: 0.6.3 + whatwg-fetch@3.6.20: {} + whatwg-mimetype@4.0.0: {} whatwg-mimetype@5.0.0: {} @@ -24362,6 +25959,8 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + which-module@2.0.1: {} + which@1.3.1: dependencies: isexe: 2.0.0 @@ -24411,11 +26010,20 @@ snapshots: wrappy@1.0.2: {} + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + write-file-atomic@5.0.1: dependencies: imurmurhash: 0.1.4 signal-exit: 4.1.0 + ws@7.5.10: {} + ws@8.18.0: {} ws@8.20.0: {} @@ -24424,10 +26032,14 @@ snapshots: dependencies: is-wsl: 3.1.1 + xdg-basedir@4.0.0: {} + xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} + y18n@4.0.3: {} + y18n@5.0.8: {} yallist@3.1.1: {} @@ -24442,10 +26054,34 @@ snapshots: yaml@2.8.3: {} + yargs-parser@13.1.2: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + yargs-parser@21.1.1: {} yargs-parser@22.0.0: {} + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + yargs@17.7.2: dependencies: cliui: 8.0.1 @@ -24465,6 +26101,11 @@ snapshots: y18n: 5.0.8 yargs-parser: 22.0.0 + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + yn@3.1.1: {} yocto-queue@0.1.0: {} @@ -24484,4 +26125,6 @@ snapshots: dependencies: zod: 4.3.6 + zod@3.25.76: {} + zod@4.3.6: {}