From ecadef904d01e7998fce9fd772ddb61958c5900a Mon Sep 17 00:00:00 2001 From: openhands Date: Tue, 8 Sep 2026 16:56:55 +0200 Subject: [PATCH] chore: remove knip, husky and lint-staged Drop the unused knip dead-code check and the husky+lint-staged pre-commit hook pipeline. All checks remain covered by the CI workflow (lint, typecheck, i18n, tests). --- .gitea/workflows/ci.yaml | 3 - .husky/pre-commit | 1 - .husky/pre-push | 2 - docs/operations/cms-error-center.md | 2 +- knip.json | 17 - package.json | 9 - pnpm-lock.yaml | 553 +--------------------------- scripts/prepare-hooks.mjs | 5 - 8 files changed, 3 insertions(+), 589 deletions(-) delete mode 100755 .husky/pre-commit delete mode 100755 .husky/pre-push delete mode 100644 knip.json delete mode 100644 scripts/prepare-hooks.mjs diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 7c7cc229..7af40b5d 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -58,9 +58,6 @@ jobs: time pnpm test --maxWorkers=2 fi - - name: Knip (unused files/exports) - run: pnpm knip - # ───────────────────────────────────────────── # Docker build & deploy # Draait op de host (self-hosted) zodat Docker diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index 5ee7abd8..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1 +0,0 @@ -pnpm exec lint-staged diff --git a/.husky/pre-push b/.husky/pre-push deleted file mode 100755 index 42267220..00000000 --- a/.husky/pre-push +++ /dev/null @@ -1,2 +0,0 @@ -pnpm typecheck -pnpm test diff --git a/docs/operations/cms-error-center.md b/docs/operations/cms-error-center.md index 71d086d2..6b3458aa 100644 --- a/docs/operations/cms-error-center.md +++ b/docs/operations/cms-error-center.md @@ -44,7 +44,7 @@ stack is diagnostic evidence, not an automatic root-cause determination. ## Dependencies `pnpm install --frozen-lockfile`, `pnpm deps:audit`, `pnpm typecheck`, `pnpm test`, -`pnpm knip`, `pnpm biome:lint`, and `pnpm build` are the verification sequence. +`pnpm biome:lint`, and `pnpm build` are the verification sequence. `pnpm analyze --output` writes a Next.js bundle analysis (not an application build). TinyMCE 8.9 is pinned in pnpm. `pnpm assets:editor` copies its runtime files and diff --git a/knip.json b/knip.json deleted file mode 100644 index 2b614c66..00000000 --- a/knip.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "https://unpkg.com/knip@6/schema.json", - "entry": [ - "src/app/**/page.{ts,tsx}", - "src/app/**/layout.{ts,tsx}", - "src/app/**/route.{ts,tsx}", - "src/app/**/{error,not-found,loading,template,default,global-error}.{ts,tsx}", - "scripts/migrate-aes-cbc-to-gcm.ts", - "scripts/build-languages-full.ts", - "scripts/translate-furnidata-full.ts", - "scripts/align-db-ids-with-furnidata.ts", - "scripts/furni-diagnose-now.ts" - ], - "project": ["src/**/*.{ts,tsx,css}", "scripts/**/*.{ts,js}"], - "ignoreDependencies": ["pino-pretty"], - "ignoreBinaries": ["sendmail"] -} diff --git a/package.json b/package.json index 3166b4ce..ed918b4e 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "lint": "biome check .", "biome:lint": "biome check .", "format": "biome format --write .", - "knip": "knip --include files,dependencies,devDependencies,unlisted,binaries", "diag:permissions": "tsx scripts/diagnose-permission-page.ts", "jobs:worker": "node --conditions=react-server --import tsx scripts/jobs-worker.ts", "test": "vitest run", @@ -31,17 +30,12 @@ "gamedata:compress": "node scripts/compress-gamedata.mjs", "hk:matrix:check": "tsx scripts/verify-housekeeping-matrix.ts", "test:housekeeping": "vitest run --coverage.enabled=false src/features/housekeeping src/lib/admin-theme-source-audit.test.ts src/lib/admin/authorization-contract.test.ts", - "prepare": "node scripts/prepare-hooks.mjs", "assets:editor": "node scripts/copy-editor-assets.mjs", "deps:audit": "pnpm audit --audit-level=high", "analyze": "next experimental-analyze", "i18n:check": "node scripts/audit-cms-translations.mjs --check", "i18n:audit": "node scripts/audit-cms-translations.mjs" }, - "lint-staged": { - "*.{js,ts,jsx,tsx,json}": "biome check --write --no-errors-on-unmatched", - "*.{ts,tsx}": "node scripts/check-admin-colors.mjs" - }, "dependencies": { "@base-ui/react": "1.8.0", "@dnd-kit/core": "6.3.1", @@ -93,9 +87,6 @@ "@types/react-dom": "19.2.7", "@vitest/coverage-v8": "5.0.0", "drizzle-kit": "0.31.10", - "husky": "9.1.7", - "knip": "6.34.0", - "lint-staged": "17.4.1", "pino-pretty": "13.1.3", "postcss": "8.5.28", "tailwindcss": "4.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 322e4f7c..b16e52e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -158,15 +158,6 @@ importers: drizzle-kit: specifier: 0.31.10 version: 0.31.10 - husky: - specifier: 9.1.7 - version: 9.1.7 - knip: - specifier: 6.34.0 - version: 6.34.0 - lint-staged: - specifier: 17.4.1 - version: 17.4.1 pino-pretty: specifier: 13.1.3 version: 13.1.3 @@ -400,18 +391,9 @@ packages: '@eloqnt/format-po@0.1.0': resolution: {integrity: sha512-odgtuICWs67GdkNqY51/d2vaIukuOdlGalKASUGkI5c4cyWOmv/WIVyk5gZyn3xr614RzwWp57s9WB40lRLlBw==} - '@emnapi/core@1.11.2': - resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} - - '@emnapi/runtime@1.11.2': - resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} - '@emnapi/runtime@1.11.3': resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@emnapi/wasi-threads@1.2.2': - resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} - '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} deprecated: 'Merged into tsx: https://tsx.hirok.io' @@ -1027,13 +1009,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@napi-rs/wasm-runtime@1.2.3': - resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==} - engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} - peerDependencies: - '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 - '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@next/env@16.3.4': resolution: {integrity: sha512-cjWZnUUa6jZq2kFaNe/ZyJdZonOZ/QoN0Zka2nz/FLOrfx14pQuM9c5RaSVkWMqgdt4ksgPAMWPyHSs/CyV48Q==} @@ -1111,237 +1086,9 @@ packages: '@otplib/uri@13.5.0': resolution: {integrity: sha512-LsL1hqTEgJHY40U2eb/Qp6OR1tKkNGwHQTrqqjIuJj0cawGWkLEmeUFK1MHzWBQ4bgy5IdeB5Et7gIDSAH/CRw==} - '@oxc-parser/binding-android-arm-eabi@0.147.0': - resolution: {integrity: sha512-fOtoGvIoirkvxQVw9J1WJPxz571XPgLsPf9uhRD+PJteUnvrJHMDmK9pw2yZEGGyismtRoEsp+JcXUdF/JDMDw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@oxc-parser/binding-android-arm64@0.147.0': - resolution: {integrity: sha512-emjQHOYJaomo4ykaXQ1EItunr/I94Nk01oqBmU4dSkKSTupIDx6OysVDf2e8Eytm77rb+4ZxzgElyWP7rcEX7A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@oxc-parser/binding-darwin-arm64@0.147.0': - resolution: {integrity: sha512-kXvBPJL7RmDPJ2mze/vXPPVQimCDtFr9OFLjf7dyhV5Dx64cgcXh9KKrA1sMWvCObvJll9CZZUO0FBlFwD0l6A==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@oxc-parser/binding-darwin-x64@0.147.0': - resolution: {integrity: sha512-mgFF8pLU6R64LbT27lSrtVRspVC/3IcZ0qyIikzmi78Y3Ik2OPnlAHHI0UEBRcC3qmNgtjaef7zkFt7/uPxIcw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@oxc-parser/binding-freebsd-x64@0.147.0': - resolution: {integrity: sha512-v38aiF11qufOTBcCAKL4skgQf0zJ4NEvRlivq7B5kHrlyvjCLjvNrMtNWDTz1SDUL6/xVsJRmLDxv2e+Cp4oWw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@oxc-parser/binding-linux-arm-gnueabihf@0.147.0': - resolution: {integrity: sha512-AeIiBbwUaP0H1+4/qGW9l5qHecS/+XA5iMuieVcGb1T+tyc2dVGspFW13BWk/XrLsiGP/CiDJTJqAPLLCzZHkw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-parser/binding-linux-arm-musleabihf@0.147.0': - resolution: {integrity: sha512-/41MKPW4RgPY4DJco0NCF0RYX3IMZaVlRNMNzvhaxRavc7tN3Txm+qllZbh0aMRs0VHdgUlbI8TcAOiTai4TKg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-parser/binding-linux-arm64-gnu@0.147.0': - resolution: {integrity: sha512-bmpw/RPhVXgZbtb3xBDuwW5s8+LvZYdqcDSX/sP2ltL77aTio3DP/B5ZTwwgoJ6Mr9vJs4RrmgEKW9XkLNUU1g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-arm64-musl@0.147.0': - resolution: {integrity: sha512-gd7VX/FDVOw6mjQcu45iIcp4QkgybgJwh3a0OFG2NxmPCj628mQWD96QGu1kK8+mZF9qK4b/gIEyC63vQoB7+Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@oxc-parser/binding-linux-ppc64-gnu@0.147.0': - resolution: {integrity: sha512-HnAzcfki7dSUNHf510Q2NmbJlz8Ys7rn8l9l588Pkx0tYe1BHLZnmELIgqizJ4WPhHGSwN8Ce+B/menVxS3odA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-riscv64-gnu@0.147.0': - resolution: {integrity: sha512-qlkOL6wT44U+fT5s/+sR6Shx0OdwvQF83JyIPZUxG/ovqZF5/7atOtjH+JPZ5/7ATQLbFBBSmghcy/+2NVB/ew==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-riscv64-musl@0.147.0': - resolution: {integrity: sha512-DlefD7L7sMXs/3hIBH23Egk0phj8kG0SA81dVGOQ3S1ekjOlmTLH2E+F2Thwfh1slKx6aH+lNc5fQYAw0GU7/g==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@oxc-parser/binding-linux-s390x-gnu@0.147.0': - resolution: {integrity: sha512-Xqpagk/031IvZ4svrk2FF01YEqM/iN3MJV3SVZadKg/CsGlDCGoREqKHXYnoV5+8SfGe/m6RM1szXFLusTu/Uw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-x64-gnu@0.147.0': - resolution: {integrity: sha512-QioQOeUbI4ATUr0S2z88uA3Cds2R3Mm5Ge7U8XNYtlTb2GJF3rWlcj70z0AJhhOlbdm0YgVjqPBldUNbFylDIg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-x64-musl@0.147.0': - resolution: {integrity: sha512-NXy1tv/OdC+pPTwf9RiCZWPK53V/Xq/2cjSnjOSyKopajdaDqMIkgtDY+jXZemp2e8px5FeWfY2L2LwhKZQovg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@oxc-parser/binding-openharmony-arm64@0.147.0': - resolution: {integrity: sha512-GpGWZ6oKz4bjCWW9Mz5pCaGPyk2Aaze6zEoaslIQqpSLtpx5pXj/ap5gUNb5Jn2LIbqWyjkGLX9yv3NMuNcBVQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@oxc-parser/binding-win32-arm64-msvc@0.147.0': - resolution: {integrity: sha512-a8mlt7CC8z7LUdCfaxhff4kCd+vSjE+NEFL0cxA8ukfuSnvAto/pWTjytW4BuVLnQGcCVdHJwcRKOfs++H+tjw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@oxc-parser/binding-win32-ia32-msvc@0.147.0': - resolution: {integrity: sha512-M5ViVDBcFLnl2632AuuWuP35zEL5oikK1jTx8r3+902VEDeSNHxFZAB6RZyfZ7MU6Oi5QTOG8MmMkIeHsudSaw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@oxc-parser/binding-win32-x64-msvc@0.147.0': - resolution: {integrity: sha512-DUaE13OwnUSlHpLZNcC/nuT10ivlWqc5EZgsfgXuAmWYw0r3nDxGeLD1zlGwYwIgVk1/ZMAxoXpV+05stvbHaA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - - '@oxc-project/types@0.147.0': - resolution: {integrity: sha512-IJ3s6ltHLp45S0bh7phkX+gJO7A1Wuz2EaqpAhb8WjqDwbzMiWKHhyyT42tskaWjEYXtHtVCPpnBJVT9+dcRLg==} - '@oxc-project/types@0.148.0': resolution: {integrity: sha512-Nm4s/jB+4FpFsPhWGEC4h7rzksesmtnMXomo6rCMcg/b8zLQuOziRgkCS1fxDCXOlJB/6Q8oABOZ/OP6RIPj9A==} - '@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] - '@panva/hkdf@1.2.1': resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==} @@ -1917,9 +1664,6 @@ packages: '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - '@tybys/wasm-util@0.10.3': - resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} - '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -2346,9 +2090,6 @@ packages: fast-sha256@1.3.0: resolution: {integrity: sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==} - fd-package-json@2.0.0: - resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -2362,11 +2103,6 @@ packages: resolution: {integrity: sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==} engines: {node: '>=20'} - formatly@0.7.0: - resolution: {integrity: sha512-7CXJtIIA0zy/u12StsYk25qVKxvdLA2ep2sTNxK3ov0mGNIIDqIvAXDSgTnAfDJFsPfWjuz0WjfYSdpvnLA5Tg==} - engines: {node: '>=18.3.0'} - hasBin: true - framer-motion@13.2.0: resolution: {integrity: sha512-9E33ebgMaO33w1nN/jEdW8z3/GO483fMi4rqbMG9rt83XgW9QLKRe4NcmJ8s+fQ3O34++UHrIQwlIWGIWTITjA==} peerDependencies: @@ -2406,11 +2142,6 @@ packages: resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} - hasBin: true - iconv-lite@0.7.3: resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} engines: {node: '>=0.10.0'} @@ -2487,11 +2218,6 @@ packages: jszip@3.10.1: resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} - knip@6.34.0: - resolution: {integrity: sha512-bbHIrnGspYwe4EBPjjx+lvkUor0F2qfKQc5BPzPI4SOAImYA+k2ueVpIcF7d/W1LEVT7XoJUPt6zELeGZhXBgA==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} @@ -2643,11 +2369,6 @@ packages: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} - lint-staged@17.4.1: - resolution: {integrity: sha512-FmJeudcalbSfg1du+JCfvi5vS6Qt08KgbfLWiHinbef+2JJwUZwAWVoaO1AcJVUTWPfk0t30PMQNwPAeCzYQ+Q==} - engines: {node: '>=22.22.1'} - hasBin: true - long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} @@ -2800,16 +2521,6 @@ packages: otplib@13.5.0: resolution: {integrity: sha512-RpcC6aq4rANX6MverMuU3pqHVLgMPO7vl6qR8ga7YzoEHlPJknJ58cSVAaf3jBYnasiQVQHXXl2mj/4pYlsVEQ==} - oxc-parser@0.147.0: - resolution: {integrity: sha512-5xaug6t7GfV3BO5Iv+xHW1rmQkDEQ3BEu3L8g3InsvWO5i8CYGc4tCZ2X985QcwWNycFJam+aOns6Nr2XAThTA==} - engines: {node: ^20.19.0 || >=22.12.0} - - oxc-resolver@11.24.2: - resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} - - package-manager-detector@1.8.0: - resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} - pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -3005,10 +2716,6 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - smol-toml@1.8.0: - resolution: {integrity: sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==} - engines: {node: '>= 18'} - sonic-boom@4.2.1: resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} @@ -3053,10 +2760,6 @@ packages: std-env@4.2.0: resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -3106,10 +2809,6 @@ packages: resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} engines: {node: '>=18'} - tinyexec@1.3.1: - resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} - engines: {node: '>=18'} - tinyglobby@0.2.17: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} @@ -3157,10 +2856,6 @@ packages: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} - unbash@4.0.11: - resolution: {integrity: sha512-FoSOKV7NEofQSkAefMVHam4ZPKYMxjAydxiV72UFEDNV/YofxjGfiZ2A9pZjdL/lRJzTjcu4PABo1JYJX8N5iQ==} - engines: {node: '>=14'} - undici-types@8.3.0: resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} @@ -3289,10 +2984,6 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - walk-up-path@4.0.0: - resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} - engines: {node: 20 || >=22} - webidl-conversions@8.0.1: resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} engines: {node: '>=20'} @@ -3505,27 +3196,11 @@ snapshots: '@eloqnt/config': 0.1.0 po-parser: 2.2.0 - '@emnapi/core@1.11.2': - dependencies: - '@emnapi/wasi-threads': 1.2.2 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.11.2': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.2': - dependencies: - tslib: 2.8.1 - optional: true - '@esbuild-kit/core-utils@3.3.2': dependencies: esbuild: 0.25.12 @@ -3859,13 +3534,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.6.0 - '@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@16.3.4': {} '@next/swc-darwin-arm64@16.3.4': @@ -3921,128 +3589,8 @@ snapshots: dependencies: '@otplib/core': 13.5.0 - '@oxc-parser/binding-android-arm-eabi@0.147.0': - optional: true - - '@oxc-parser/binding-android-arm64@0.147.0': - optional: true - - '@oxc-parser/binding-darwin-arm64@0.147.0': - optional: true - - '@oxc-parser/binding-darwin-x64@0.147.0': - optional: true - - '@oxc-parser/binding-freebsd-x64@0.147.0': - optional: true - - '@oxc-parser/binding-linux-arm-gnueabihf@0.147.0': - optional: true - - '@oxc-parser/binding-linux-arm-musleabihf@0.147.0': - optional: true - - '@oxc-parser/binding-linux-arm64-gnu@0.147.0': - optional: true - - '@oxc-parser/binding-linux-arm64-musl@0.147.0': - optional: true - - '@oxc-parser/binding-linux-ppc64-gnu@0.147.0': - optional: true - - '@oxc-parser/binding-linux-riscv64-gnu@0.147.0': - optional: true - - '@oxc-parser/binding-linux-riscv64-musl@0.147.0': - optional: true - - '@oxc-parser/binding-linux-s390x-gnu@0.147.0': - optional: true - - '@oxc-parser/binding-linux-x64-gnu@0.147.0': - optional: true - - '@oxc-parser/binding-linux-x64-musl@0.147.0': - optional: true - - '@oxc-parser/binding-openharmony-arm64@0.147.0': - optional: true - - '@oxc-parser/binding-win32-arm64-msvc@0.147.0': - optional: true - - '@oxc-parser/binding-win32-ia32-msvc@0.147.0': - optional: true - - '@oxc-parser/binding-win32-x64-msvc@0.147.0': - optional: true - - '@oxc-project/types@0.147.0': {} - '@oxc-project/types@0.148.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 - '@panva/hkdf@1.2.1': {} '@parcel/watcher-android-arm64@2.6.0': @@ -4456,11 +4004,6 @@ snapshots: '@tokenizer/token@0.3.0': {} - '@tybys/wasm-util@0.10.3': - dependencies: - tslib: 2.8.1 - optional: true - '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 @@ -4760,10 +4303,6 @@ snapshots: fast-sha256@1.3.0: {} - fd-package-json@2.0.0: - dependencies: - walk-up-path: 4.0.0 - fdir@6.5.0(picomatch@4.0.7): optionalDependencies: picomatch: 4.0.7 @@ -4777,11 +4316,6 @@ snapshots: transitivePeerDependencies: - supports-color - formatly@0.7.0: - dependencies: - fd-package-json: 2.0.0 - package-manager-detector: 1.8.0 - framer-motion@13.2.0(react-dom@19.2.8(react@19.2.8))(react@19.2.8): dependencies: motion-dom: 13.2.0 @@ -4816,8 +4350,6 @@ snapshots: transitivePeerDependencies: - '@noble/hashes' - husky@9.1.7: {} - iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 @@ -4913,22 +4445,6 @@ snapshots: readable-stream: 2.3.8 setimmediate: 1.0.5 - knip@6.34.0: - dependencies: - fdir: 6.5.0(picomatch@4.0.7) - formatly: 0.7.0 - get-tsconfig: 4.14.3 - jiti: 2.7.0 - oxc-parser: 0.147.0 - oxc-resolver: 11.24.2 - picomatch: 4.0.7 - smol-toml: 1.8.0 - strip-json-comments: 5.0.3 - tinyglobby: 0.2.17 - unbash: 4.0.11 - yaml: 2.9.0 - zod: 4.5.4 - lie@3.3.0: dependencies: immediate: 3.0.6 @@ -5031,14 +4547,6 @@ snapshots: lightningcss-win32-arm64-msvc: 1.33.0 lightningcss-win32-x64-msvc: 1.33.0 - lint-staged@17.4.1: - dependencies: - picomatch: 4.0.7 - string-argv: 0.3.2 - tinyexec: 1.3.1 - optionalDependencies: - yaml: 2.9.0 - long@5.3.2: {} lru-cache@11.5.2: {} @@ -5196,54 +4704,6 @@ snapshots: '@otplib/totp': 13.5.0 '@otplib/uri': 13.5.0 - oxc-parser@0.147.0: - dependencies: - '@oxc-project/types': 0.147.0 - optionalDependencies: - '@oxc-parser/binding-android-arm-eabi': 0.147.0 - '@oxc-parser/binding-android-arm64': 0.147.0 - '@oxc-parser/binding-darwin-arm64': 0.147.0 - '@oxc-parser/binding-darwin-x64': 0.147.0 - '@oxc-parser/binding-freebsd-x64': 0.147.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.147.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.147.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.147.0 - '@oxc-parser/binding-linux-arm64-musl': 0.147.0 - '@oxc-parser/binding-linux-ppc64-gnu': 0.147.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.147.0 - '@oxc-parser/binding-linux-riscv64-musl': 0.147.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.147.0 - '@oxc-parser/binding-linux-x64-gnu': 0.147.0 - '@oxc-parser/binding-linux-x64-musl': 0.147.0 - '@oxc-parser/binding-openharmony-arm64': 0.147.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.147.0 - '@oxc-parser/binding-win32-ia32-msvc': 0.147.0 - '@oxc-parser/binding-win32-x64-msvc': 0.147.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 - - package-manager-detector@1.8.0: {} - pako@1.0.11: {} parse5@8.0.1: @@ -5471,8 +4931,6 @@ snapshots: siginfo@2.0.0: {} - smol-toml@1.8.0: {} - sonic-boom@4.2.1: dependencies: atomic-sleep: 1.0.0 @@ -5508,8 +4966,6 @@ snapshots: std-env@4.2.0: {} - string-argv@0.3.2: {} - string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -5541,8 +4997,6 @@ snapshots: tinyexec@1.3.0: {} - tinyexec@1.3.1: {} - tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.7) @@ -5605,8 +5059,6 @@ snapshots: uint8array-extras@1.5.0: {} - unbash@4.0.11: {} - undici-types@8.3.0: {} undici@8.10.2: {} @@ -5682,8 +5134,6 @@ snapshots: dependencies: xml-name-validator: 5.0.0 - walk-up-path@4.0.0: {} - webidl-conversions@8.0.1: {} whatwg-mimetype@5.0.0: {} @@ -5717,6 +5167,7 @@ snapshots: xmlchars@2.2.0: {} - yaml@2.9.0: {} + yaml@2.9.0: + optional: true zod@4.5.4: {} diff --git a/scripts/prepare-hooks.mjs b/scripts/prepare-hooks.mjs deleted file mode 100644 index 8a7856c5..00000000 --- a/scripts/prepare-hooks.mjs +++ /dev/null @@ -1,5 +0,0 @@ -// Production builds and CI do not need Git hooks or dev-only executables. -if (process.env.NODE_ENV !== "production" && !process.env.CI) { - const { default: husky } = await import("husky"); - husky(); -}