chore: switch code formatter from Prettier to Biome (#4223)

Replace Prettier with Biome for formatting JS/TS/JSX/CSS/JSON. The CI
format check drops from ~23s to ~0.4s.

- Unify config into a single root biome.json (formatter + linter); the
  former apps/readest-app/biome.json was linter-only
- Mirror the old .prettierrc.json style: 100 line width, 2-space indent,
  LF, single quotes, trailing commas
- Enable the CSS tailwindDirectives parser for @apply in globals.css
- Convert // prettier-ignore comments to // biome-ignore format:
- Root scripts and lint-staged now run biome; apps/readest-app lint runs
  `biome lint` (lint-only) so formatting stays a separate CI step
- Drop prettier + prettier-plugin-tailwindcss dependencies

Markdown/YAML are no longer format-checked (Biome does not format them)
and Tailwind class sorting is no longer enforced.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Huang Xin
2026-05-19 14:13:36 +08:00
committed by GitHub
parent 05da6bdf43
commit fe41c42ec5
19 changed files with 199 additions and 243 deletions
+1 -1
View File
@@ -112,7 +112,7 @@ export const flattenContributors = (
: formatLanguageMap(contributors?.name);
};
// prettier-ignore
// biome-ignore format: keep the language codes compact on a single line
const LASTNAME_AUTHOR_SORT_LANGS = [ 'ar', 'bo', 'de', 'en', 'es', 'fr', 'hi', 'it', 'nl', 'pl', 'pt', 'ru', 'th', 'tr', 'uk' ];
const formatAuthorName = (name: string, lastNameFirst: boolean) => {
+1 -1
View File
@@ -3,7 +3,7 @@
*/
// ISO 639-1 language codes (2-letter codes)
// prettier-ignore
// biome-ignore format: keep the ISO codes grouped by first letter
const ISO_639_1_CODES = new Set([
'aa', 'ab', 'ae', 'af', 'ak', 'am', 'an', 'ar', 'as', 'av', 'ay', 'az',
'ba', 'be', 'bg', 'bh', 'bi', 'bm', 'bn', 'bo', 'br', 'bs',