mirror of
https://github.com/novnc/noVNC.git
synced 2025-04-18 23:44:01 +03:00
103 lines
3.6 KiB
JavaScript
103 lines
3.6 KiB
JavaScript
import globals from "globals";
|
|
import js from "@eslint/js";
|
|
|
|
export default [
|
|
js.configs.recommended,
|
|
{
|
|
languageOptions: {
|
|
ecmaVersion: 2022,
|
|
sourceType: "module",
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.es2022,
|
|
}
|
|
},
|
|
ignores: ["**/xtscancodes.js"],
|
|
rules: {
|
|
// Unsafe or confusing stuff that we forbid
|
|
|
|
"no-unused-vars": ["error", { "vars": "all",
|
|
"args": "none",
|
|
"ignoreRestSiblings": true,
|
|
"caughtErrors": "none" }],
|
|
"no-constant-condition": ["error", { "checkLoops": false }],
|
|
"no-var": "error",
|
|
"no-useless-constructor": "error",
|
|
"object-shorthand": ["error", "methods", { "avoidQuotes": true }],
|
|
"prefer-arrow-callback": "error",
|
|
"arrow-body-style": ["error", "as-needed", { "requireReturnForObjectLiteral": false } ],
|
|
"arrow-parens": ["error", "as-needed", { "requireForBlockBody": true }],
|
|
"arrow-spacing": ["error"],
|
|
"no-confusing-arrow": ["error", { "allowParens": true }],
|
|
|
|
// Enforced coding style
|
|
|
|
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
|
|
"indent": ["error", 4, { "SwitchCase": 1,
|
|
"VariableDeclarator": "first",
|
|
"FunctionDeclaration": { "parameters": "first" },
|
|
"FunctionExpression": { "parameters": "first" },
|
|
"CallExpression": { "arguments": "first" },
|
|
"ArrayExpression": "first",
|
|
"ObjectExpression": "first",
|
|
"ImportDeclaration": "first",
|
|
"ignoreComments": true }],
|
|
"comma-spacing": ["error"],
|
|
"comma-style": ["error"],
|
|
"curly": ["error", "multi-line"],
|
|
"func-call-spacing": ["error"],
|
|
"func-names": ["error"],
|
|
"func-style": ["error", "declaration", { "allowArrowFunctions": true }],
|
|
"key-spacing": ["error"],
|
|
"keyword-spacing": ["error"],
|
|
"no-trailing-spaces": ["error"],
|
|
"semi": ["error"],
|
|
"space-before-blocks": ["error"],
|
|
"space-before-function-paren": ["error", { "anonymous": "always",
|
|
"named": "never",
|
|
"asyncArrow": "always" }],
|
|
"switch-colon-spacing": ["error"],
|
|
"camelcase": ["error", { "allow": ["^XK_", "^XF86XK_"] }],
|
|
"no-console": ["error"],
|
|
}
|
|
},
|
|
{
|
|
files: ["po/po2js", "po/xgettext-html"],
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.node,
|
|
}
|
|
},
|
|
rules: {
|
|
"no-console": 0,
|
|
},
|
|
},
|
|
{
|
|
files: ["tests/*"],
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.node,
|
|
...globals.mocha,
|
|
sinon: false,
|
|
expect: false,
|
|
}
|
|
},
|
|
rules: {
|
|
"prefer-arrow-callback": 0,
|
|
// Too many anonymous callbacks
|
|
"func-names": "off",
|
|
},
|
|
},
|
|
{
|
|
files: ["utils/*"],
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.node,
|
|
}
|
|
},
|
|
rules: {
|
|
"no-console": 0,
|
|
},
|
|
},
|
|
];
|