@webority/biome-config
v0.9.11
Published
Shared Biome lint + format policy for Webority frontend products. Extend it from a product biome.json so every repo inherits one fleet-decided ruleset, bumped by version — no per-repo drift.
Readme
@webority/biome-config
The single source of truth for Biome lint + format policy across Webority frontend
products. Extend it from a product's biome.json so every repo inherits the same
shared ruleset — and a policy change is one version bump, not an N-way copy that
drifts. Same model as the shared @webority/theme + @webority/ui-react.
Use
npm install -D --save-exact @webority/biome-config
npm install -D @biomejs/biome--save-exact is deliberate — pin @webority/* to an exact version, never ^, so a
policy change arrives when you bump it rather than on someone's next npm install.
Then a product's biome.json extends this base and adds only its own repo-specific
bits — vcs.root and files.includes:
{
"$schema": "https://biomejs.dev/schemas/2.5.5/schema.json",
"extends": ["@webority/biome-config/biome.jsonc"],
"vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true, "root": ".." },
"files": {
"ignoreUnknown": true,
"includes": ["**", "!!**/dist", "!!**/build", "!!**/node_modules", "!**/src/appsettings.Compiled.json", "!**/public/version.json"]
}
}Never set formatter.lineEnding in a product. It is lf here, for every consuming
repo, matching their .gitattributes (* text=auto eol=lf) and .editorconfig
(end_of_line = lf). This config sets useEditorconfig: false, so the value above is the
only place the line ending is stated — a local override is the deviation, and a stale one
fails every file in the repo at once, drowning any real violation (one repo's leftover
"lineEnding": "crlf" failed 198 of its 203 files; removing it left 1).
What's decided here (once, for every repo)
- Format: 4-space, width 140, double quotes, semicolons, trailing commas, LF line
endings (
useEditorconfig: false, so this file is the sole authority — see above). useExhaustiveDependencies: off— noise-by-nature on correct React effect/RHF code.noArrayIndexKey: warn— kept on (catches real dynamic-list bugs); genuine static-list exceptions get a documented per-linebiome-ignore.noConsoleoff forscripts/**+logger.js; CSS/SCSS not linted; the icon module's mixed export allowed.
Product-specific one-offs (a bespoke file that co-exports, etc.) still use a local
overrides entry or a documented inline biome-ignore in that product.
Versioning
Published from the webority-ui monorepo on each release, in lockstep with the other
@webority/* packages. Pin a version; bump to adopt policy changes deliberately.
