Untrack the emitted vite config, and select biome's files by extension

vite.config.js and vite.config.d.ts are tsc output of vite.config.ts, emitted
next to the source when the composite tsconfig.node.json is built. Nothing
reads them — and vite picks a vite.config.js ahead of the .ts, so the committed
copy was quietly shadowing the real config. Gitignore both.

The biome hook selected by the frontend/ prefix and passed the staged paths on,
but `bun run lint` runs in frontend/, so biome saw frontend/frontend/… and
reported an internal io error for every staged file. The script already lints
the whole tree, so stop passing filenames and let the pattern — now the
extensions biome parses — decide only whether the hook runs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CL9zvnnvcp1mvA8o7impxk
This commit is contained in:
2026-09-06 14:25:51 +02:00
co-authored by Claude Opus 5
parent a3cb9cc817
commit 8398a87ebd
4 changed files with 14 additions and 29 deletions
+6
View File
@@ -20,5 +20,11 @@ __pycache__/
/frontend/screenshots/ /frontend/screenshots/
*.tsbuildinfo *.tsbuildinfo
# Emitted next to the source when the composite tsconfig.node.json is built
# (`tsc -b`). Nothing consumes them, and vite picks a vite.config.js ahead of
# the .ts source — so a committed copy would silently shadow the real config.
/frontend/vite.config.js
/frontend/vite.config.d.ts
# Output of `make docs` (the zensical build of docs/). # Output of `make docs` (the zensical build of docs/).
/site/ /site/
+8 -2
View File
@@ -19,12 +19,18 @@ repos:
exclude: ^frontend/src/client/.* exclude: ^frontend/src/client/.*
- repo: local - repo: local
hooks: hooks:
# `bun run lint` runs in frontend/ and already points biome at the whole
# tree, so the staged paths must not be appended: they are relative to
# this repo root and would reach biome as frontend/frontend/… . The
# pattern only decides whether the hook runs at all — hence the
# extensions biome actually parses, so a text file dropped under
# frontend/ no longer triggers it.
- id: local-biome-check - id: local-biome-check
name: biome check name: biome check
entry: bun run lint entry: bun run lint
language: system language: system
types: [text] pass_filenames: false
files: ^frontend/ files: ^frontend/.*\.([cm]?[jt]sx?|jsonc?|css)$
# Font sizes come from the Tailwind scale only; see the Typography # Font sizes come from the Tailwind scale only; see the Typography
# section in the root DESIGN-GUIDELINES.md. # section in the root DESIGN-GUIDELINES.md.
-2
View File
@@ -1,2 +0,0 @@
declare const _default: import("vite").UserConfig
export default _default
-25
View File
@@ -1,25 +0,0 @@
import path from "node:path"
import tailwindcss from "@tailwindcss/vite"
import { tanstackRouter } from "@tanstack/router-plugin/vite"
import react from "@vitejs/plugin-react-swc"
import { defineConfig } from "vite"
// https://vitejs.dev/config/
export default defineConfig({
// A portal serves this bundle under a path of its own and caches one copy
// for every instance, so asset URLs have to be absolute under that
// prefix. Unset — every ordinary build — this stays "/".
base: process.env.VITE_BASE || "/",
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
plugins: [
tanstackRouter({
target: "react",
autoCodeSplitting: true,
}),
react(),
tailwindcss(),
],
})