.eslintrc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. {
  2. "root": true,
  3. "extends": "@ljharb",
  4. "env": {
  5. "browser": true,
  6. "node": true,
  7. },
  8. "parserOptions": {
  9. "ecmaVersion": 5,
  10. "allowReserved": false,
  11. },
  12. "rules": {
  13. "array-bracket-spacing": "off",
  14. "complexity": "off",
  15. "func-style": ["error", "declaration"],
  16. "max-lines-per-function": "off",
  17. "max-statements-per-line": [2, { "max": 2 }],
  18. "max-statements": "warn",
  19. "multiline-comment-style": "off",
  20. "no-negated-condition": "off",
  21. "no-param-reassign": "warn",
  22. "no-underscore-dangle": "warn",
  23. "object-curly-newline": "off",
  24. "sort-keys": "off",
  25. },
  26. "ignorePatterns": [
  27. "syntax-error.*",
  28. ],
  29. "overrides": [
  30. {
  31. "files": ["*.mjs", "test/import/package_type/*.js"],
  32. "extends": "@ljharb/eslint-config/esm",
  33. },
  34. {
  35. "files": ["bin/**"],
  36. "rules": {
  37. "global-require": "off",
  38. "no-process-exit": "off",
  39. "quote-props": ["error", "as-needed", {
  40. "keywords": false,
  41. }],
  42. },
  43. },
  44. {
  45. "files": ["bin/import-or-require.js"],
  46. "parserOptions": {
  47. "ecmaVersion": 2020,
  48. },
  49. },
  50. {
  51. "files": ["index.js"],
  52. "rules": {
  53. "no-param-reassign": "warn",
  54. },
  55. },
  56. {
  57. "files": ["lib/results.js"],
  58. "rules": {
  59. "no-cond-assign": "warn",
  60. "no-param-reassign": "warn",
  61. "no-plusplus": "warn",
  62. },
  63. },
  64. {
  65. "files": ["lib/test.js"],
  66. "rules": {
  67. "eqeqeq": "warn",
  68. "func-name-matching": "off",
  69. "max-params": "off",
  70. "no-continue": "off",
  71. "no-invalid-this": "off",
  72. "no-param-reassign": "warn",
  73. "no-plusplus": "warn",
  74. "no-multi-assign": "off",
  75. "no-restricted-syntax": "off",
  76. "operator-linebreak": ["error", "before"],
  77. },
  78. },
  79. {
  80. "files": ["test/async-await/*"],
  81. "parserOptions": {
  82. "ecmaVersion": 2017,
  83. },
  84. },
  85. {
  86. "files": ["example/**", "test/**"],
  87. "globals": {
  88. "g": false,
  89. },
  90. "rules": {
  91. "no-new-func": "off",
  92. },
  93. },
  94. {
  95. "files": ["example/**"],
  96. "rules": {
  97. "array-bracket-newline": "off",
  98. "global-require": "off",
  99. "no-console": "off",
  100. },
  101. },
  102. {
  103. "files": ["test/**"],
  104. "rules": {
  105. "dot-notation": [2, {
  106. "allowKeywords": true,
  107. "allowPattern": "throws"
  108. }],
  109. "func-style": "off",
  110. "id-length": "off",
  111. "max-len": "off",
  112. "max-lines-per-function": "off",
  113. "no-plusplus": "off",
  114. "no-throw-literal": "off",
  115. },
  116. },
  117. {
  118. "files": ["test/*/**"],
  119. "rules": {
  120. "camelcase": "off",
  121. },
  122. },
  123. {
  124. "files": ["lib/default_stream.js"],
  125. "rules": {
  126. "no-use-before-define": "warn",
  127. },
  128. },
  129. {
  130. "files": ["lib/test.js"],
  131. "rules": {
  132. "max-lines": "off",
  133. },
  134. },
  135. ],
  136. }