12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /* eslint-env node */
- require("@rushstack/eslint-patch/modern-module-resolution")
- module.exports = {
- root: true,
- env: {
- browser: true,
- node: true,
- jest: true,
- },
- parserOptions: {
- sourceType: "module",
- requireConfigFile: false,
- },
- extends: [
- "@vue/typescript/recommended",
- "plugin:vue/vue3-recommended",
- "plugin:prettier/recommended",
- ],
- ignorePatterns: [
- "static/**/*",
- "./helpers/backend/graphql.ts",
- "**/*.d.ts",
- "types/**/*",
- ],
- plugins: ["vue", "prettier"],
- // add your custom rules here
- rules: {
- semi: [2, "never"],
- "import/named": "off", // because, named import issue with typescript see: https://github.com/typescript-eslint/typescript-eslint/issues/154
- "no-console": "off",
- "no-debugger": process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn",
- "prettier/prettier":
- process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn",
- "vue/multi-word-component-names": "off",
- "vue/no-side-effects-in-computed-properties": "off",
- "import/no-named-as-default": "off",
- "import/no-named-as-default-member": "off",
- "@typescript-eslint/no-unused-vars":
- process.env.HOPP_LINT_FOR_PROD === "true" ? "error" : "warn",
- "@typescript-eslint/no-non-null-assertion": "off",
- "@typescript-eslint/no-explicit-any": "off",
- "import/default": "off",
- "no-undef": "off",
- // localStorage block
- "no-restricted-globals": [
- "error",
- {
- name: "localStorage",
- message:
- "Do not use 'localStorage' directly. Please use localpersistence.ts functions or stores",
- },
- ],
- // window.localStorage block
- "no-restricted-syntax": [
- "error",
- {
- selector: "CallExpression[callee.object.property.name='localStorage']",
- message:
- "Do not use 'localStorage' directly. Please use localpersistence.ts functions or stores",
- },
- ],
- },
- }
|