Skip to content

Commit e03551e

Browse files
committed
feat: migrate from ESLint/Prettier to Biome for faster linting and formatting
- Add Biome as a modern, fast alternative to ESLint + Prettier - Configure Biome to match existing code style (spaces, semicolons, single quotes) - Update npm scripts to use Biome commands (format, lint, lint:fix) - Remove ESLint and Prettier dependencies and config files - Configure Biome to ignore proto/, mocha/, and config files - Disable style rules that would require massive code changes - Keep only essential linting rules for code quality Performance: 10-100x faster (202 files in 33ms vs several seconds) BREAKING CHANGE: ESLint and Prettier are no longer used. Use 'npm run lint' and 'npm run format' with Biome instead.
1 parent 849f01c commit e03551e

File tree

5 files changed

+238
-1374
lines changed

5 files changed

+238
-1374
lines changed

.eslintrc.js

Lines changed: 0 additions & 70 deletions
This file was deleted.

.prettierrc.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

biome.json

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
3+
"vcs": {
4+
"enabled": true,
5+
"clientKind": "git",
6+
"useIgnoreFile": true
7+
},
8+
"files": {
9+
"ignoreUnknown": false,
10+
"ignore": [
11+
"**/lib",
12+
"**/node_modules",
13+
"./coverage/",
14+
"./docgen/",
15+
"./v1/",
16+
"./v2/",
17+
"./logger/",
18+
"./dist/",
19+
"./spec/fixtures",
20+
"./scripts/**/*.js",
21+
"./protos/**/*",
22+
"./mocha/",
23+
"package.json",
24+
"package-lock.json",
25+
"tsconfig.json",
26+
"tslint.json"
27+
]
28+
},
29+
"formatter": {
30+
"enabled": true,
31+
"formatWithErrors": false,
32+
"indentStyle": "space",
33+
"indentWidth": 2,
34+
"lineEnding": "lf",
35+
"lineWidth": 100,
36+
"attributePosition": "auto",
37+
"bracketSpacing": true
38+
},
39+
"organizeImports": {
40+
"enabled": false
41+
},
42+
"linter": {
43+
"enabled": true,
44+
"rules": {
45+
"recommended": true,
46+
"complexity": {
47+
"noForEach": "off",
48+
"useArrowFunction": "off",
49+
"useLiteralKeys": "off",
50+
"noUselessLoneBlockStatements": "off",
51+
"useOptionalChain": "off"
52+
},
53+
"correctness": {
54+
"noInnerDeclarations": "off",
55+
"noUnusedVariables": "off",
56+
"noSwitchDeclarations": "off"
57+
},
58+
"style": {
59+
"all": false
60+
},
61+
"performance": {
62+
"noDelete": "off"
63+
},
64+
"suspicious": {
65+
"noExplicitAny": "off",
66+
"noImplicitAnyLet": "off",
67+
"noDoubleEquals": "off",
68+
"noAssignInExpressions": "off",
69+
"noConfusingVoidType": "off",
70+
"noRedeclare": "off",
71+
"noPrototypeBuiltins": "off",
72+
"useDefaultSwitchClauseLast": "off",
73+
"noExportsInTest": "off",
74+
"noShadowRestrictedNames": "off",
75+
"noThenProperty": "off",
76+
"noGlobalIsNan": "off"
77+
}
78+
}
79+
},
80+
"javascript": {
81+
"formatter": {
82+
"quoteStyle": "single",
83+
"semicolons": "always",
84+
"trailingCommas": "all",
85+
"arrowParentheses": "always"
86+
}
87+
}
88+
}

0 commit comments

Comments
 (0)