80 lines
2.3 KiB
JavaScript
80 lines
2.3 KiB
JavaScript
|
|
import pluginVue from "eslint-plugin-vue"
|
||
|
|
import {
|
||
|
|
defineConfigWithVueTs,
|
||
|
|
vueTsConfigs,
|
||
|
|
} from "@vue/eslint-config-typescript"
|
||
|
|
import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"
|
||
|
|
import globals from "globals"
|
||
|
|
|
||
|
|
export default defineConfigWithVueTs(
|
||
|
|
{
|
||
|
|
ignores: [
|
||
|
|
"static/**",
|
||
|
|
"src/helpers/backend/graphql.ts",
|
||
|
|
"**/*.d.ts",
|
||
|
|
"types/**",
|
||
|
|
"dist/**",
|
||
|
|
"node_modules/**",
|
||
|
|
],
|
||
|
|
},
|
||
|
|
pluginVue.configs["flat/recommended"],
|
||
|
|
vueTsConfigs.recommended,
|
||
|
|
eslintPluginPrettierRecommended,
|
||
|
|
{
|
||
|
|
files: ["**/*.ts", "**/*.js", "**/*.vue"],
|
||
|
|
linterOptions: {
|
||
|
|
reportUnusedDisableDirectives: false,
|
||
|
|
},
|
||
|
|
languageOptions: {
|
||
|
|
sourceType: "module",
|
||
|
|
ecmaVersion: "latest",
|
||
|
|
globals: {
|
||
|
|
...globals.browser,
|
||
|
|
...globals.node,
|
||
|
|
},
|
||
|
|
parserOptions: {
|
||
|
|
requireConfigFile: false,
|
||
|
|
ecmaFeatures: {
|
||
|
|
jsx: false,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
rules: {
|
||
|
|
semi: [2, "never"],
|
||
|
|
"import/named": "off",
|
||
|
|
"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-unused-expressions": "off",
|
||
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
||
|
|
"@typescript-eslint/no-explicit-any": "off",
|
||
|
|
"@typescript-eslint/no-unsafe-function-type": "off",
|
||
|
|
"import/default": "off",
|
||
|
|
"no-undef": "off",
|
||
|
|
"no-restricted-globals": [
|
||
|
|
"error",
|
||
|
|
{
|
||
|
|
name: "localStorage",
|
||
|
|
message:
|
||
|
|
"Do not use 'localStorage' directly. Please use the PersistenceService",
|
||
|
|
},
|
||
|
|
],
|
||
|
|
"no-restricted-syntax": [
|
||
|
|
"error",
|
||
|
|
{
|
||
|
|
selector: "CallExpression[callee.object.property.name='localStorage']",
|
||
|
|
message:
|
||
|
|
"Do not use 'localStorage' directly. Please use the PersistenceService",
|
||
|
|
},
|
||
|
|
],
|
||
|
|
},
|
||
|
|
}
|
||
|
|
)
|