.eslintrc.json 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. {
  2. "env": {
  3. "browser": true,
  4. "es6": true,
  5. "node": true
  6. },
  7. "ignorePatterns": [
  8. "*.min.*",
  9. "webpack.config.js",
  10. "BetterYTM.user.js"
  11. ],
  12. "extends": [
  13. "eslint:recommended",
  14. "plugin:@typescript-eslint/recommended"
  15. ],
  16. "globals": {
  17. "Atomics": "readonly",
  18. "SharedArrayBuffer": "readonly",
  19. "GM": "readonly"
  20. },
  21. "parser": "@typescript-eslint/parser",
  22. "parserOptions": {
  23. "ecmaVersion": "latest"
  24. },
  25. "plugins": [
  26. "@typescript-eslint"
  27. ],
  28. "rules": {
  29. "no-unreachable": "off",
  30. "quotes": [ "error", "double" ],
  31. "semi": [ "error", "always" ],
  32. "eol-last": [ "error", "always" ],
  33. "no-async-promise-executor": "off",
  34. "indent": ["error", 2, { "ignoredNodes": ["VariableDeclaration[declarations.length=0]"] }],
  35. "@typescript-eslint/no-non-null-assertion": "off",
  36. "@typescript-eslint/no-unused-vars": ["warn", { "ignoreRestSiblings": true, "argsIgnorePattern": "^_" }],
  37. "@typescript-eslint/ban-ts-comment": "off",
  38. "comma-dangle": ["error", "only-multiline"],
  39. "no-misleading-character-class": "off"
  40. },
  41. "overrides": [
  42. {
  43. "files": ["**.js"],
  44. "rules": {
  45. "@typescript-eslint/no-var-requires": "off"
  46. }
  47. }
  48. ]
  49. }