biome.json 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. {
  2. "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
  3. "vcs": {
  4. "enabled": true,
  5. "clientKind": "git",
  6. "useIgnoreFile": true,
  7. "defaultBranch": "master"
  8. },
  9. "organizeImports": {
  10. "enabled": false
  11. },
  12. "linter": {
  13. "enabled": true,
  14. "rules": {
  15. "recommended": false,
  16. "a11y": {
  17. "noBlankTarget": "error"
  18. },
  19. "correctness": {
  20. "noUnreachable": "error",
  21. "useHookAtTopLevel": "error",
  22. "useIsNan": "error"
  23. },
  24. "complexity": {
  25. "useFlatMap": "error"
  26. },
  27. "nursery": {
  28. "noDuplicateJsonKeys": "error",
  29. "noNodejsModules": "error",
  30. "useExportType": "error",
  31. "useImportType": "error"
  32. },
  33. "suspicious": {
  34. "noDebugger": "error",
  35. "noDoubleEquals": "error",
  36. "noDuplicateJsxProps": "error",
  37. "noDuplicateObjectKeys": "error",
  38. "noDuplicateParameters": "error",
  39. "noDuplicateCase": "error",
  40. "noRedeclare": "error",
  41. "useIsArray": "error"
  42. }
  43. }
  44. },
  45. "files": {
  46. "ignoreUnknown": true,
  47. "ignore": [
  48. "**/*/trace.json",
  49. "static/app/data/world.json",
  50. "**/*.sourcemap.js",
  51. "**/*.min.js",
  52. "fixtures"
  53. ]
  54. },
  55. "formatter": {
  56. "enabled": true,
  57. "formatWithErrors": true,
  58. "indentStyle": "space",
  59. "indentWidth": 2,
  60. "lineEnding": "lf",
  61. "ignore": ["tests/**/*.json"]
  62. },
  63. "javascript": {
  64. "formatter": {
  65. "enabled": true,
  66. "lineWidth": 90,
  67. "quoteStyle": "single",
  68. "jsxQuoteStyle": "double",
  69. "quoteProperties": "asNeeded",
  70. "trailingComma": "es5",
  71. "semicolons": "always",
  72. "arrowParentheses": "asNeeded",
  73. "bracketSpacing": false,
  74. "bracketSameLine": false
  75. }
  76. },
  77. "json": {
  78. "formatter": {
  79. "enabled": true
  80. },
  81. "parser": {
  82. "allowComments": true,
  83. "allowTrailingCommas": true
  84. }
  85. },
  86. "overrides": [
  87. {
  88. "include": [
  89. "api-docs/*.ts",
  90. "build-utils/*.ts",
  91. "config/webpack.chartcuterie.config.ts",
  92. "scripts",
  93. "tests/js/sentry-test/loadFixtures.ts",
  94. "tests/js/jest-pegjs-transform.js",
  95. "tests/js/setup.ts",
  96. "tests/js/test-balancer/index.js",
  97. "*.config.ts"
  98. ],
  99. "linter": {
  100. "rules": {
  101. "nursery": {
  102. "noNodejsModules": "off"
  103. }
  104. }
  105. }
  106. }
  107. ]
  108. }