touhou-tagger
Version:
从 THBWiki 自动填写东方 Project CD 曲目信息.
229 lines (228 loc) • 8.68 kB
JSON
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["typescript", "import", "node"],
"ignorePatterns": ["dist/", "node_modules/", "test-files/", "patches/"],
"categories": {
"correctness": "error"
},
"rules": {
"array-callback-return": "error",
"block-scoped-var": "error",
"curly": ["error", "all"],
"default-case": ["error", { "commentPattern": "^no default$" }],
"default-case-last": "error",
"default-param-last": "error",
"eqeqeq": ["error", "always", { "null": "ignore" }],
"func-names": "warn",
"grouped-accessor-pairs": "error",
"guard-for-in": "error",
"import/export": "error",
"import/first": "error",
"import/named": "error",
"import/newline-after-import": "error",
"import/no-absolute-path": "error",
"import/no-amd": "error",
"import/no-cycle": [
"error",
{ "ignoreExternal": false, "allowUnsafeDynamicCyclicDependency": false }
],
"import/no-default-export": "error",
"import/no-duplicates": "error",
"import/no-dynamic-require": "error",
"import/no-mutable-exports": "error",
"import/no-named-as-default": "error",
"import/no-named-as-default-member": "error",
"import/no-named-default": "error",
"import/no-self-import": "error",
"import/no-webpack-loader-syntax": "error",
"new-cap": [
"error",
{
"newIsCap": true,
"newIsCapExceptions": [],
"capIsNew": false,
"capIsNewExceptions": ["Immutable.Map", "Immutable.Set", "Immutable.List"],
"properties": true
}
],
"no-array-constructor": "error",
"no-async-promise-executor": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-case-declarations": "error",
"no-class-assign": "error",
"no-compare-neg-zero": "error",
"no-cond-assign": ["error", "always"],
"no-constant-condition": "warn",
"no-control-regex": "error",
"no-debugger": "error",
"no-delete-var": "error",
"no-dupe-else-if": "error",
"no-duplicate-case": "error",
"no-else-return": ["error", { "allowElseIf": false }],
"no-empty": "error",
"no-empty-character-class": "error",
"no-empty-function": ["error", { "allow": ["constructors"] }],
"no-empty-pattern": "error",
"no-ex-assign": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-extra-boolean-cast": "error",
"no-extra-label": "error",
"no-fallthrough": "error",
"no-global-assign": ["error", { "exceptions": [] }],
"no-implied-eval": "error",
"no-inner-declarations": "error",
"no-invalid-regexp": "error",
"no-irregular-whitespace": "error",
"no-iterator": "error",
"no-label-var": "error",
"no-labels": ["error", { "allowLoop": false, "allowSwitch": false }],
"no-lone-blocks": "error",
"no-lonely-if": "error",
"no-loop-func": "error",
"no-loss-of-precision": "error",
"no-misleading-character-class": "error",
"no-multi-assign": "error",
"no-multi-str": "error",
"no-new": "error",
"no-new-func": "error",
"no-new-wrappers": "error",
"no-nonoctal-decimal-escape": "error",
"no-plusplus": ["error", { "allowForLoopAfterthoughts": true }],
"no-promise-executor-return": "error",
"no-proto": "error",
"no-prototype-builtins": "error",
"no-redeclare": "error",
"no-regex-spaces": "error",
"no-restricted-exports": ["error", { "restrictedNamedExports": ["default", "then"] }],
"no-restricted-properties": [
"error",
{ "object": "arguments", "property": "callee", "message": "arguments.callee is deprecated" },
{
"object": "global",
"property": "isFinite",
"message": "Please use Number.isFinite instead"
},
{ "object": "self", "property": "isFinite", "message": "Please use Number.isFinite instead" },
{
"object": "window",
"property": "isFinite",
"message": "Please use Number.isFinite instead"
},
{ "object": "global", "property": "isNaN", "message": "Please use Number.isNaN instead" },
{ "object": "self", "property": "isNaN", "message": "Please use Number.isNaN instead" },
{ "object": "window", "property": "isNaN", "message": "Please use Number.isNaN instead" },
{ "property": "__defineGetter__", "message": "Please use Object.defineProperty instead." },
{ "property": "__defineSetter__", "message": "Please use Object.defineProperty instead." },
{
"object": "Math",
"property": "pow",
"message": "Use the exponentiation operator (**) instead."
}
],
"no-self-assign": ["error", { "props": true }],
"no-self-compare": "error",
"no-sequences": "error",
"no-shadow": ["error", { "builtinGlobals": false }],
"no-shadow-restricted-names": "error",
"no-sparse-arrays": "error",
"no-template-curly-in-string": "error",
"no-throw-literal": "error",
"no-unneeded-ternary": ["error", { "defaultAssignment": false }],
"no-unsafe-finally": "error",
"no-unsafe-optional-chaining": ["error", { "disallowArithmeticOperators": true }],
"no-unused-labels": "error",
"no-unused-vars": ["error", { "ignoreRestSiblings": true }],
"no-use-before-define": "error",
"no-useless-backreference": "error",
"no-useless-catch": "error",
"no-useless-computed-key": "error",
"no-useless-concat": "error",
"no-useless-escape": "error",
"no-useless-rename": [
"error",
{ "ignoreDestructuring": false, "ignoreImport": false, "ignoreExport": false }
],
"no-useless-return": "error",
"no-var": "error",
"no-void": "error",
"no-with": "error",
"node/global-require": "error",
"node/no-new-require": "error",
"node/no-path-concat": "error",
"object-shorthand": ["error", "always", { "ignoreConstructors": false, "avoidQuotes": true }],
"operator-assignment": ["error", "always"],
"prefer-arrow-callback": ["error", { "allowNamedFunctions": false, "allowUnboundThis": true }],
"prefer-const": ["error", { "destructuring": "any", "ignoreReadBeforeAssign": true }],
"prefer-destructuring": [
"error",
{
"VariableDeclarator": { "array": false, "object": true },
"AssignmentExpression": { "array": false, "object": false }
}
],
"prefer-exponentiation-operator": "error",
"prefer-numeric-literals": "error",
"prefer-object-spread": "error",
"prefer-promise-reject-errors": ["error", { "allowEmptyReject": true }],
"prefer-regex-literals": ["error", { "disallowRedundantWrapping": true }],
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "error",
"require-yield": "error",
"symbol-description": "error",
"typescript/ban-ts-comment": "error",
"typescript/ban-types": "error",
"typescript/consistent-return": "error",
"typescript/dot-notation": ["error", { "allowKeywords": true, "allowPattern": "" }],
"typescript/no-duplicate-enum-values": "error",
"typescript/no-extra-non-null-assertion": "error",
"typescript/no-floating-promises": "off",
"typescript/no-misused-new": "error",
"typescript/no-namespace": "error",
"typescript/no-non-null-asserted-optional-chain": "error",
"typescript/no-this-alias": "error",
"typescript/no-unnecessary-type-constraint": "error",
"typescript/no-unsafe-declaration-merging": "error",
"typescript/no-useless-default-assignment": "off",
"typescript/no-var-requires": "error",
"typescript/prefer-as-const": "error",
"typescript/return-await": "error",
"typescript/triple-slash-reference": "error",
"unicode-bom": ["error", "never"],
"use-isnan": "error",
"valid-typeof": ["error", { "requireStringLiterals": true }],
"vars-on-top": "error",
"yoda": "error"
},
"overrides": [
{
"files": [
"shims.d.ts",
"webpack.*.ts",
"vite.*.ts",
"vite-env.d.ts",
"tailwind.config.*",
"postcss.*.{js,cjs}",
"esbuild.{js,mjs}",
"vitest.config.*"
],
"rules": {
"import/no-default-export": "off"
}
},
{
"files": ["*.d.*.ts"],
"rules": {
"import/no-default-export": "off"
}
},
{
"files": ["*.{js,cjs}"],
"rules": {
"node/global-require": "off"
}
}
]
}