/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution")

module.exports = {
  root: true,
  extends: ["plugin:vue/vue3-essential", "eslint:recommended", "@vue/eslint-config-typescript", "plugin:prettier/recommended"],
  parserOptions: {
    ecmaVersion: "latest"
  },
  rules: {
    "prettier/prettier": "error",
    "no-debugger": process.env.NODE_ENV == "production" ? 2 : 1,
    "no-unreachable": process.env.NODE_ENV == "production" ? 2 : 1, //return 警告不报错
    "no-undef": "off", // 没有声明的变量
    "vue/no-v-html": "off",
    "no-irregular-whitespace": "off",
    "vue/html-self-closing": [
      "error",
      {
        html: {
          void: "always",
          normal: "never",
          component: "always"
        },
        svg: "always",
        math: "always"
      }
    ],
    "vue/multi-word-component-names": "off", // 关闭驼峰命名
    quotes: ["error", "double"],
    /* ts相关 */
    "@typescript-eslint/no-empty-function": "off", // 可以为空函数
    "@typescript-eslint/explicit-module-boundary-types": "off", //函数不需要返回类型也可以
    "@typescript-eslint/no-explicit-any": "off", //可以为any
    "@typescript-eslint/no-non-null-assertion": "off", //! 非空断言
    "@typescript-eslint/no-this-alias": "off" //忽略this关键字
  }
}
