mirror of
https://github.com/louislam/uptime-kuma.git
synced 2026-01-24 15:43:53 +08:00
112 lines
3.4 KiB
JavaScript
112 lines
3.4 KiB
JavaScript
module.exports = {
|
|
ignorePatterns: ["test/*.js", "server/modules/*", "src/util.js"],
|
|
root: true,
|
|
env: {
|
|
browser: true,
|
|
commonjs: true,
|
|
es2020: true,
|
|
node: true,
|
|
},
|
|
extends: [
|
|
"eslint:recommended",
|
|
"plugin:vue/vue3-recommended",
|
|
"plugin:jsdoc/recommended-error",
|
|
"prettier", // Disables ESLint formatting rules that conflict with Prettier
|
|
],
|
|
parser: "vue-eslint-parser",
|
|
parserOptions: {
|
|
parser: "@typescript-eslint/parser",
|
|
sourceType: "module",
|
|
requireConfigFile: false,
|
|
},
|
|
plugins: ["jsdoc", "@typescript-eslint"],
|
|
rules: {
|
|
yoda: "error",
|
|
eqeqeq: ["warn", "smart"],
|
|
camelcase: [
|
|
"warn",
|
|
{
|
|
properties: "never",
|
|
ignoreImports: true,
|
|
},
|
|
],
|
|
"no-unused-vars": [
|
|
"warn",
|
|
{
|
|
args: "none",
|
|
},
|
|
],
|
|
"vue/max-attributes-per-line": "off",
|
|
"vue/singleline-html-element-content-newline": "off",
|
|
"vue/html-self-closing": "off",
|
|
"vue/require-component-is": "off", // not allow is="style" https://github.com/vuejs/eslint-plugin-vue/issues/462#issuecomment-430234675
|
|
"vue/attribute-hyphenation": "off", // This change noNL to "no-n-l" unexpectedly
|
|
"vue/multi-word-component-names": "off",
|
|
curly: "error",
|
|
"no-var": "error",
|
|
"no-throw-literal": "error",
|
|
"no-constant-condition": [
|
|
"error",
|
|
{
|
|
checkLoops: false,
|
|
},
|
|
],
|
|
//"no-console": "warn",
|
|
"no-extra-boolean-cast": "off",
|
|
"no-unneeded-ternary": "error",
|
|
//"prefer-template": "error",
|
|
"no-empty": [
|
|
"error",
|
|
{
|
|
allowEmptyCatch: true,
|
|
},
|
|
],
|
|
"no-control-regex": "off",
|
|
"one-var": ["error", "never"],
|
|
"max-statements-per-line": ["error", { max: 1 }],
|
|
"jsdoc/check-tag-names": [
|
|
"error",
|
|
{
|
|
definedTags: ["link"],
|
|
},
|
|
],
|
|
"jsdoc/no-undefined-types": "off",
|
|
"jsdoc/no-defaults": ["error", { noOptionalParamNames: true }],
|
|
"jsdoc/require-throws": "warn",
|
|
"jsdoc/require-jsdoc": [
|
|
"error",
|
|
{
|
|
require: {
|
|
FunctionDeclaration: true,
|
|
MethodDefinition: true,
|
|
},
|
|
},
|
|
],
|
|
"jsdoc/no-blank-block-descriptions": "error",
|
|
"jsdoc/require-returns-description": "warn",
|
|
"jsdoc/require-returns-check": ["error", { reportMissingReturnForUndefinedTypes: false }],
|
|
"jsdoc/require-returns": [
|
|
"warn",
|
|
{
|
|
forceRequireReturn: true,
|
|
forceReturnsWithAsync: true,
|
|
},
|
|
],
|
|
"jsdoc/require-param-type": "warn",
|
|
"jsdoc/require-param-description": "warn",
|
|
},
|
|
overrides: [
|
|
// Override for TypeScript
|
|
{
|
|
files: ["**/*.ts"],
|
|
extends: ["plugin:@typescript-eslint/recommended"],
|
|
rules: {
|
|
"jsdoc/require-returns-type": "off",
|
|
"jsdoc/require-param-type": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"prefer-const": "off",
|
|
},
|
|
},
|
|
],
|
|
};
|