.eslintrc.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. module.exports = {
  2. root: true,
  3. parser: "@typescript-eslint/parser",
  4. parserOptions: {
  5. ecmaVersion: 2018,
  6. sourceType: "module",
  7. ecmaFeatures: {
  8. modules: true,
  9. },
  10. },
  11. plugins: ["@typescript-eslint", "node", "prettier"],
  12. extends: [
  13. "eslint:recommended",
  14. "plugin:@typescript-eslint/recommended",
  15. "plugin:node/recommended",
  16. "plugin:prettier/recommended",
  17. ],
  18. settings: {
  19. node: {
  20. tryExtensions: [".js", ".json", ".node", ".ts"],
  21. },
  22. },
  23. rules: {
  24. "prettier/prettier": "error",
  25. "@typescript-eslint/consistent-type-assertions": [
  26. "warn",
  27. {
  28. assertionStyle: "angle-bracket",
  29. },
  30. ],
  31. "@typescript-eslint/ban-ts-comment": "off",
  32. "@typescript-eslint/no-var-requires": "off",
  33. "@typescript-eslint/no-explicit-any": "off",
  34. "node/no-unpublished-import": "off",
  35. "node/no-unpublished-require": "off",
  36. "node/no-unsupported-features/es-syntax": "off",
  37. "node/exports-style": ["error", "module.exports"],
  38. "node/file-extension-in-import": ["error", "never"],
  39. "node/prefer-global/buffer": ["error", "always"],
  40. "node/prefer-global/console": ["error", "always"],
  41. "node/prefer-global/process": ["error", "always"],
  42. "node/prefer-global/url-search-params": ["error", "always"],
  43. "node/prefer-global/url": ["error", "always"],
  44. "node/prefer-promises/dns": "error",
  45. "node/prefer-promises/fs": "error",
  46. },
  47. };