97d9e2a109
* lint for 'vue-demi' imports * fix invalid imports
68 lines
2.1 KiB
JavaScript
68 lines
2.1 KiB
JavaScript
module.exports = {
|
|
root: true,
|
|
settings: {
|
|
"import/ignore": ["@vueuse*"],
|
|
},
|
|
env: {
|
|
browser: true,
|
|
node: true,
|
|
},
|
|
parser: "vue-eslint-parser",
|
|
parserOptions: {
|
|
parser: "@typescript-eslint/parser",
|
|
requireConfigFile: false,
|
|
tsConfigRootDir: __dirname,
|
|
project: ["./tsconfig.json"],
|
|
extraFileExtensions: [".vue"],
|
|
},
|
|
extends: [
|
|
"@nuxtjs/eslint-config-typescript",
|
|
"plugin:nuxt/recommended",
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
|
// "plugin:prettier/recommended",
|
|
"prettier",
|
|
],
|
|
// Re-add once we use nuxt bridge
|
|
// See https://v3.nuxtjs.org/getting-started/bridge#update-nuxtconfig
|
|
ignorePatterns: ["nuxt.config.js"],
|
|
plugins: ["prettier"],
|
|
// add your custom rules here
|
|
rules: {
|
|
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
|
|
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
|
|
quotes: ["error", "double"],
|
|
"vue/component-name-in-template-casing": ["error", "PascalCase"],
|
|
camelcase: 0,
|
|
"vue/singleline-html-element-content-newline": "off",
|
|
"vue/multiline-html-element-content-newline": "off",
|
|
"vue/no-mutating-props": "off",
|
|
"vue/no-v-text-v-html-on-component": "warn",
|
|
"vue/no-v-for-template-key-on-child": "off",
|
|
"vue/valid-v-slot": [
|
|
"error",
|
|
{
|
|
allowModifiers: true,
|
|
},
|
|
],
|
|
"@typescript-eslint/ban-ts-comment": [
|
|
"error",
|
|
{
|
|
"ts-ignore": "allow-with-description",
|
|
},
|
|
],
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{ paths: ["@vue/reactivity", "@vue/runtime-dom", "@vue/composition-api", "vue-demi"] },
|
|
],
|
|
|
|
// TODO Gradually activate all rules
|
|
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"@typescript-eslint/no-unsafe-call": "off",
|
|
"@typescript-eslint/no-floating-promises": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
},
|
|
};
|