mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
6673d131fe
This commit changes our linter/formatter to biome (https://biomejs.dev/) Causing our prehook to run almost instantly, and our "yarn lint" task to run in sub 100ms. Some trade-offs: * Biome isn't quite as well established as ESLint * Are we ready to install a different vscode plugin (the biome plugin) instead of the prettier plugin The configuration set for biome also has a set of recommended rules, this is turned on by default, in order to get to something that was mergeable I have turned off a couple the rules we seemed to violate the most, that we also explicitly told eslint to ignore.
97 lines
2.0 KiB
JSON
97 lines
2.0 KiB
JSON
{
|
|
"$schema": "https://biomejs.dev/schemas/1.2.2/schema.json",
|
|
"linter": {
|
|
"enabled": true,
|
|
"rules": {
|
|
"recommended": true,
|
|
"performance": {
|
|
"noDelete": "off"
|
|
},
|
|
"correctness": {
|
|
"noUnsafeOptionalChaining": "off"
|
|
},
|
|
"complexity": {
|
|
"noBannedTypes": "off",
|
|
"noUselessConstructor": "off",
|
|
"useOptionalChain": "warn",
|
|
"noStaticOnlyClass": "off"
|
|
},
|
|
"style": {
|
|
"noNonNullAssertion": "off",
|
|
"noInferrableTypes": "off",
|
|
"noUnusedTemplateLiteral": "off",
|
|
"useSingleVarDeclarator": "off"
|
|
},
|
|
"suspicious": {
|
|
"noExplicitAny": "off",
|
|
"noExtraNonNullAssertion": "off",
|
|
"noRedeclare": "off"
|
|
}
|
|
},
|
|
"ignore": [
|
|
"node_modules",
|
|
"docker",
|
|
"bundle.js",
|
|
"website/blog",
|
|
"website/build",
|
|
"website/core",
|
|
"website/docs",
|
|
"website/i18n/*.js",
|
|
"website/pages",
|
|
"website/translated_docs",
|
|
"website",
|
|
"setupJest.js",
|
|
"frontend",
|
|
"dist",
|
|
"src/migrations/*.js",
|
|
"src/test/examples/*.json",
|
|
"website/**/*.js",
|
|
"coverage"
|
|
]
|
|
},
|
|
"organizeImports": {
|
|
"enabled": false
|
|
},
|
|
"formatter": {
|
|
"indentStyle": "space",
|
|
"ignore": [
|
|
"node_modules",
|
|
"docker",
|
|
"bundle.js",
|
|
"website/blog",
|
|
"website/build",
|
|
"website/core",
|
|
"website/docs",
|
|
"website/i18n/*.js",
|
|
"website/pages",
|
|
"website/translated_docs",
|
|
"website",
|
|
"setupJest.js",
|
|
"frontend",
|
|
"dist",
|
|
"src/migrations/*.js",
|
|
"src/migrations/*.json",
|
|
"src/test/examples/*.json",
|
|
"website/**/*.js",
|
|
"coverage",
|
|
".eslintrc",
|
|
".eslintignore",
|
|
"package.json"
|
|
],
|
|
"indentSize": 4
|
|
},
|
|
"javascript": {
|
|
"formatter": {
|
|
"semicolons": "always",
|
|
"quoteStyle": "single",
|
|
"jsxQuoteStyle": "single",
|
|
"indentSize": 4
|
|
}
|
|
},
|
|
"json": {
|
|
"formatter": {
|
|
"indentSize": 2
|
|
}
|
|
}
|
|
}
|