.eslintrc.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. module.exports = {
  2. root: true,
  3. env: {
  4. browser: true,
  5. node: true,
  6. jest: true,
  7. },
  8. parserOptions: {
  9. sourceType: "module",
  10. requireConfigFile: false,
  11. },
  12. extends: [
  13. "@nuxtjs",
  14. "@nuxtjs/eslint-config-typescript",
  15. "prettier/prettier",
  16. "eslint:recommended",
  17. "plugin:vue/recommended",
  18. "plugin:prettier/recommended",
  19. "plugin:nuxt/recommended",
  20. ],
  21. ignorePatterns: [
  22. "helpers/backend/graphql.ts"
  23. ],
  24. plugins: ["vue", "prettier"],
  25. // add your custom rules here
  26. rules: {
  27. semi: [2, "never"],
  28. "import/named": "off", // because, named import issue with typescript see: https://github.com/typescript-eslint/typescript-eslint/issues/154
  29. "no-console": process.env.NODE_ENV === "production" ? "error" : "off",
  30. "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
  31. "vue/max-attributes-per-line": "off",
  32. "vue/component-name-in-template-casing": ["error", "PascalCase"],
  33. "vue/html-self-closing": [
  34. "error",
  35. {
  36. html: {
  37. normal: "never",
  38. void: "always",
  39. },
  40. },
  41. ],
  42. "vue/singleline-html-element-content-newline": "off",
  43. "vue/multiline-html-element-content-newline": "off",
  44. "vue/require-default-prop": "warn",
  45. "vue/require-prop-types": "warn",
  46. "prettier/prettier": ["warn", { semi: false }],
  47. "import/no-named-as-default": "off",
  48. "no-undef": "off",
  49. // localStorage block
  50. "no-restricted-globals": [
  51. "error",
  52. {
  53. name: "localStorage",
  54. message:
  55. "Do not use 'localStorage' directly. Please use localpersistence.ts functions or stores",
  56. },
  57. ],
  58. // window.localStorage block
  59. "no-restricted-syntax": [
  60. "error",
  61. {
  62. selector: "CallExpression[callee.object.property.name='localStorage']",
  63. message:
  64. "Do not use 'localStorage' directly. Please use localpersistence.ts functions or stores",
  65. },
  66. ],
  67. },
  68. globals: {
  69. $nuxt: true,
  70. },
  71. }