chore: move biome config to biome.jsonc and baseline existing violations

biome.json is strict JSON; the jsonc extension allows the annotations
on the baseline entries. Rules that currently fail are downgraded to
warn with a note against issue #421 — restore each to error as its
occurrences are fixed. files.experimentalScannerIgnores keeps the
scanner out of .worktrees/ so a local worktree's own config can't
conflict with the root one.

Also fixes the handful of auto-fixable errors (unused imports in docs/
and landing/, @ts-expect-error over @ts-ignore). bun run lint is now
green: 0 errors, 96 warnings visible as debt.
This commit is contained in:
Jamie Pine
2026-07-26 23:16:30 -07:00
parent b434db22f6
commit 02fa924b42
6 changed files with 26 additions and 12 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>voicebox</title> <title>voicebox</title>
<script> <script>
(function () { (() => {
try { try {
var theme = 'system'; var theme = 'system';
var raw = localStorage.getItem('voicebox-ui'); var raw = localStorage.getItem('voicebox-ui');
+25 -3
View File
@@ -5,6 +5,11 @@
"clientKind": "git", "clientKind": "git",
"useIgnoreFile": true "useIgnoreFile": true
}, },
"files": {
// Local git worktrees carry their own root biome.json; keep the scanner
// out so they don't conflict with this one.
"experimentalScannerIgnores": [".worktrees"]
},
"formatter": { "formatter": {
"enabled": true, "enabled": true,
"indentStyle": "space", "indentStyle": "space",
@@ -16,18 +21,35 @@
"rules": { "rules": {
"recommended": true, "recommended": true,
"a11y": { "a11y": {
"useButtonType": "warn" "useButtonType": "warn",
// Baseline (issue #421): interactive-div patterns in the dictation
// pill and chord picker.
"noStaticElementInteractions": "warn",
"useFocusableInteractive": "warn",
"useSemanticElements": "warn",
"useAriaPropsSupportedByRole": "warn",
"useKeyWithClickEvents": "warn",
"noLabelWithoutControl": "warn",
"useAriaPropsForRole": "warn"
}, },
"correctness": { "correctness": {
"noUnusedVariables": "warn", "noUnusedVariables": "warn",
"noUnusedImports": "error", "noUnusedImports": "error",
"useExhaustiveDependencies": "warn", "useExhaustiveDependencies": "warn",
"useHookAtTopLevel": "error" "useHookAtTopLevel": "error",
// Existing-violation baseline (issue #421); restore to error as
// occurrences are fixed. Counts as of 2026-07-26.
"noInnerDeclarations": "warn"
}, },
"suspicious": { "suspicious": {
"noDoubleEquals": "error", "noDoubleEquals": "error",
"noExplicitAny": "warn", "noExplicitAny": "warn",
"noUnknownAtRules": "off" "noUnknownAtRules": "off",
// Baseline (issue #421): 16 array-index keys, 2 iterable-callback
// returns, 1 then-property.
"noArrayIndexKey": "warn",
"useIterableCallbackReturn": "warn",
"noThenProperty": "warn"
}, },
"style": { "style": {
"useFilenamingConvention": "off", "useFilenamingConvention": "off",
-1
View File
@@ -3,7 +3,6 @@ import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/page
import type { Metadata } from 'next'; import type { Metadata } from 'next';
import { notFound } from 'next/navigation'; import { notFound } from 'next/navigation';
import { MarkdownCopyButton, ViewOptionsPopover } from '@/components/ai/page-actions'; import { MarkdownCopyButton, ViewOptionsPopover } from '@/components/ai/page-actions';
import { APIPage } from '@/components/api-page';
import { getPageImage, source } from '@/lib/source'; import { getPageImage, source } from '@/lib/source';
import { getMDXComponents } from '@/mdx-components'; import { getMDXComponents } from '@/mdx-components';
-5
View File
@@ -1,10 +1,7 @@
import { import {
ArrowUpRight,
Check, Check,
Cloud, Cloud,
Flame,
Heart, Heart,
Lock,
Rocket, Rocket,
ShieldCheck, ShieldCheck,
} from "lucide-react"; } from "lucide-react";
@@ -14,8 +11,6 @@ import {Navbar} from "@/components/Navbar";
import {TokenSection} from "@/components/TokenSection"; import {TokenSection} from "@/components/TokenSection";
import {TokenStatsSection} from "@/components/TokenStats"; import {TokenStatsSection} from "@/components/TokenStats";
import { import {
TOKEN_PROOFS,
TOKEN_SOLSCAN_URL,
TOKEN_TICKER, TOKEN_TICKER,
} from "@/lib/constants"; } from "@/lib/constants";
@@ -6,7 +6,6 @@ import {
Languages, Languages,
type LucideIcon, type LucideIcon,
MessageSquare, MessageSquare,
Mic2,
SlidersHorizontal, SlidersHorizontal,
Sparkles, Sparkles,
Volume2, Volume2,
-1
View File
@@ -9,7 +9,6 @@
// for price — nothing is asserted that can't be verified on Solscan. // for price — nothing is asserted that can't be verified on Solscan.
import { import {
TOKEN_BURN_ADDRESS,
TOKEN_CONTRACT_ADDRESS, TOKEN_CONTRACT_ADDRESS,
TOKEN_CREATOR_ADDRESS, TOKEN_CREATOR_ADDRESS,
TOKEN_DEV_WALLETS, TOKEN_DEV_WALLETS,