Files
v10/biome.json
T
Rahim d562279df1 chore(skin): park constrained-JSX skin migration under __old__
The in-flight compiler skin migration refactored the shared Tailwind token
modules from main's function API (`root = (isShadowDOM) => cn(...)`, flat
exports) into a string-aggregate API (`video`/`audio` nested objects) that
the constrained-JSX skins consume. Since then, main built 16 runtime skin
files on the function API — including the new live-video / live-audio
presets — which the new token shape cannot satisfy without porting.

Rather than regress main's skins or break the build, park the authored
migration sources (constrained-JSX skins + refactored token layer +
tailwind.css) under packages/skins/__old__, a sibling of src/ that sits
outside the package tsconfig include, tsdown globs, and (via biome ignore)
linting. Main remains the source of truth for live skins.

The full migration snapshot (build wiring, generated React skins/CSS, core
manifests, icons generate config, html/react edits) is preserved in the
git tag backup/pre-rebase-2b2bbfad. The audit and port backlog live in
.claude/plans/compiler-rebase-audit.md.
2026-06-17 17:13:40 -07:00

168 lines
3.5 KiB
JSON

{
"$schema": "https://biomejs.dev/schemas/2.4.6/schema.json",
"html": {
"experimentalFullSupportEnabled": false
},
"assist": {
"actions": {
"source": {
"organizeImports": "on",
"useSortedProperties": "on"
}
}
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 120
},
"javascript": {
"formatter": {
"quoteStyle": "single",
"semicolons": "always",
"trailingCommas": "es5",
"bracketSpacing": true,
"arrowParentheses": "always"
}
},
"json": {
"formatter": {
"indentWidth": 2
}
},
"css": {
"parser": {
"tailwindDirectives": true
}
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"style": {
"noNamespace": "off",
"noNonNullAssertion": "off"
},
"suspicious": {
"noExplicitAny": "off",
"noConfusingVoidType": "off",
"useIterableCallbackReturn": "off",
"noAssignInExpressions": "off",
"noDocumentCookie": "off",
"noThenProperty": "off"
},
"security": {
"noDangerouslySetInnerHtml": "off"
},
"complexity": {
"noUselessFragments": "warn",
"noArguments": "off"
},
"correctness": {
"noUnknownProperty": {
"options": {
"ignore": ["corner-shape"]
}
},
"noUnusedVariables": "warn",
"noUnusedImports": "warn",
"noUnusedFunctionParameters": "off",
"useExhaustiveDependencies": {
"level": "warn",
"options": {
"hooks": [
{
"name": "useForceRender",
"stableResult": true
},
{
"name": "useLatestRef",
"stableResult": true
}
]
}
}
},
"a11y": {
"noSvgWithoutTitle": "warn"
}
}
},
"overrides": [
{
"includes": ["site/src/**", "!site/src/utils/twMerge.ts"],
"linter": {
"rules": {
"style": {
"noRestrictedImports": {
"level": "error",
"options": {
"paths": {
"tailwind-merge": "Use '@/utils/twMerge' instead — it's configured for our custom theme."
}
}
}
}
}
}
},
{
"includes": ["packages/element/**"],
"linter": {
"rules": {
"complexity": {
"noThisInStatic": "off"
}
}
}
},
{
"includes": ["**/*.astro"],
"linter": {
"rules": {
"correctness": {
"noUnusedVariables": "off",
"noUnusedImports": "off"
},
"style": {
"useConst": "off",
"useImportType": "off"
}
}
}
},
{
"includes": ["build/plugins/tests/**"],
"linter": {
"rules": {
"suspicious": {
"noTemplateCurlyInString": "off"
}
}
}
}
],
"files": {
"includes": [
"**",
"!**/.astro",
"!**/.netlify",
"!**/.pnpm-store",
"!**/.vercel",
"!**/.turbo",
"!**/.next",
"!**/.opencode",
"!**/.github",
"!**/build/AGENTS.md",
"!**/build/agents",
"!**/dist",
"!**/examples",
"!**/__old__",
"!**/packages/html/cdn",
"!**/styles/vjs.css",
"!**/packages/*/types"
]
}
}