mirror of https://github.com/rspamd/rspamd.git
Rapid spam filtering system
https://rspamd.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.7 KiB
96 lines
3.7 KiB
import globals from "globals";
|
|
import js from "@eslint/js";
|
|
import stylistic from "@stylistic/eslint-plugin";
|
|
|
|
export default [
|
|
js.configs.all,
|
|
stylistic.configs["all-flat"],
|
|
{ignores: ["interface/js/lib/"]},
|
|
{
|
|
languageOptions: {
|
|
ecmaVersion: 2016,
|
|
globals: {
|
|
...globals.browser,
|
|
define: false,
|
|
},
|
|
parserOptions: {
|
|
ecmaVersion: 2020,
|
|
},
|
|
sourceType: "script",
|
|
},
|
|
plugins: {
|
|
"@stylistic": stylistic,
|
|
},
|
|
rules: {
|
|
"@stylistic/array-bracket-newline": ["error", "consistent"],
|
|
"@stylistic/array-element-newline": "off",
|
|
"@stylistic/brace-style": ["error", "1tbs", {allowSingleLine: true}],
|
|
"@stylistic/comma-dangle": ["error", "only-multiline"],
|
|
"@stylistic/dot-location": ["error", "property"],
|
|
"@stylistic/function-call-argument-newline": "off",
|
|
"@stylistic/function-paren-newline": "off",
|
|
"@stylistic/indent-binary-ops": "off",
|
|
"@stylistic/max-len": ["error", {code: 128}],
|
|
"@stylistic/max-statements-per-line": ["error", {max: 2}],
|
|
"@stylistic/multiline-comment-style": "off",
|
|
"@stylistic/multiline-ternary": ["error", "always-multiline"],
|
|
"@stylistic/newline-per-chained-call": ["error", {ignoreChainWithDepth: 5}],
|
|
"@stylistic/no-extra-parens": ["error", "functions"],
|
|
"@stylistic/object-property-newline": ["error", {allowAllPropertiesOnSameLine: true}],
|
|
"@stylistic/padded-blocks": ["error", "never"],
|
|
"@stylistic/quote-props": ["error", "consistent-as-needed"],
|
|
"@stylistic/quotes": ["error", "double", {avoidEscape: true}],
|
|
"@stylistic/semi": ["error", "always"],
|
|
"@stylistic/space-before-function-paren": ["error", {
|
|
anonymous: "always",
|
|
named: "never",
|
|
}],
|
|
|
|
"camelcase": "off",
|
|
"capitalized-comments": "off",
|
|
"curly": ["error", "multi-line"],
|
|
"func-names": "off",
|
|
"func-style": ["error", "declaration"],
|
|
"id-length": ["error", {min: 1}],
|
|
"line-comment-position": "off",
|
|
"logical-assignment-operators": ["error", "never"],
|
|
"max-lines": "off",
|
|
"max-lines-per-function": "off",
|
|
"max-params": ["warn", 6],
|
|
"max-statements": ["warn", 55],
|
|
"multiline-comment-style": "off",
|
|
"no-continue": "off",
|
|
"no-inline-comments": "off",
|
|
"no-invalid-this": "off",
|
|
"no-magic-numbers": "off",
|
|
"no-negated-condition": "off",
|
|
"no-plusplus": "off",
|
|
"no-ternary": "off",
|
|
"no-unused-vars": ["error", {caughtErrors: "none"}],
|
|
"object-shorthand": "off",
|
|
"one-var": ["error", {initialized: "never"}],
|
|
"prefer-named-capture-group": "off",
|
|
"prefer-object-has-own": "off",
|
|
"prefer-spread": "off",
|
|
"prefer-template": "off",
|
|
"require-unicode-regexp": "off",
|
|
"sort-keys": "off",
|
|
},
|
|
},
|
|
{
|
|
files: ["**/*.mjs"],
|
|
languageOptions: {ecmaVersion: 2020, sourceType: "module"},
|
|
rules: {
|
|
"sort-keys": "error",
|
|
},
|
|
},
|
|
{
|
|
// Playwright E2E tests
|
|
files: ["test/playwright/tests/*.mjs"],
|
|
rules: {
|
|
"no-await-in-loop": "off", // Playwright operations in loops are often sequential and not independent
|
|
"no-empty-pattern": ["error", {allowObjectPatternsAsParameters: true}],
|
|
"sort-keys": ["error", "asc", {minKeys: 4}]
|
|
},
|
|
},
|
|
];
|