mirror of
https://github.com/keepassxreboot/keepassxc-browser.git
synced 2026-03-11 08:54:43 +00:00
216 lines
7.9 KiB
JavaScript
216 lines
7.9 KiB
JavaScript
import { defineConfig, globalIgnores } from "eslint/config";
|
|
import globals from "globals";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import js from "@eslint/js";
|
|
import { FlatCompat } from "@eslint/eslintrc";
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
const compat = new FlatCompat({
|
|
baseDirectory: __dirname,
|
|
recommendedConfig: js.configs.recommended,
|
|
allConfig: js.configs.all
|
|
});
|
|
|
|
export default defineConfig([globalIgnores(["**/*.min.js"]), {
|
|
extends: compat.extends("eslint:recommended"),
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.jquery,
|
|
...globals.webextensions,
|
|
_called: "readonly",
|
|
acceptedOTPFields: "readonly",
|
|
assertInputFields: "readonly",
|
|
assertPasswordChangeFields: "readonly",
|
|
assertRegex: "readonly",
|
|
assertSearchField: "readonly",
|
|
assertSearchForm: "readonly",
|
|
assertTOTPField: "readonly",
|
|
AssociatedAction: "readonly",
|
|
AuthenticatorAssertionResponse: "readonly",
|
|
AuthenticatorAttestationResponse: "readonly",
|
|
Autocomplete: "readonly",
|
|
BannerPosition: "readonly",
|
|
BLUE_BUTTON: "readonly",
|
|
bootstrap: "readonly",
|
|
browser: "readonly",
|
|
browserAction: "readonly",
|
|
CHECK_UPDATE_NEVER: "readonly",
|
|
CHECK_UPDATE_ONE_MONTH: "readonly",
|
|
CHECK_UPDATE_ONE_WEEK: "readonly",
|
|
CHECK_UPDATE_THREE_DAYS: "readonly",
|
|
cloneInto: "readonly",
|
|
compareVersion: "readonly",
|
|
createResult: "readonly",
|
|
createStylesheet: "readonly",
|
|
DatabaseState: "readonly",
|
|
debugLogMessage: "readonly",
|
|
DEFINED_CUSTOM_FIELDS: "readonly",
|
|
elementsOverlap: "readonly",
|
|
EXTENSION_NAME: "readonly",
|
|
getCurrentTab: "readonly",
|
|
getIconClass: "readonly",
|
|
getLoginData: "readonly",
|
|
getTopLevelDomainFromUrl: "readonly",
|
|
GRAY_BUTTON_CLASS: "readonly",
|
|
GREEN_BUTTON: "readonly",
|
|
httpAuth: "readonly",
|
|
Icon: "readonly",
|
|
IGNORE_AUTOSUBMIT: "readonly",
|
|
IGNORE_FULL: "readonly",
|
|
IGNORE_NORMAL: "readonly",
|
|
IGNORE_NOTHING: "readonly",
|
|
IGNORE_PASSKEYS: "readonly",
|
|
importScripts: "readonly",
|
|
IMPROVED_DETECTION_PREDEFINED_SITELIST: "readonly",
|
|
initColorTheme: "readonly",
|
|
isEdge: "readonly",
|
|
isElementInside: "readonly",
|
|
isFirefox: "readonly",
|
|
isIframeAllowed: "readonly",
|
|
isSafari: "readonly",
|
|
keepass: "readonly",
|
|
keepassClient: "readonly",
|
|
kpActions: "readonly",
|
|
kpErrors: "readonly",
|
|
kpxc: "readonly",
|
|
kpxcAssert: "readonly",
|
|
kpxcBanner: "readonly",
|
|
kpxcCustomLoginFieldsBanner: "readonly",
|
|
kpxcEvent: "readonly",
|
|
kpxcFields: "readonly",
|
|
kpxcFill: "readonly",
|
|
kpxcForm: "readonly",
|
|
kpxcIcons: "readonly",
|
|
kpxcObserverHelper: "readonly",
|
|
kpxcPasswordGenerator: "readonly",
|
|
kpxcPasswordIcons: "readonly",
|
|
kpxcSites: "readonly",
|
|
kpxcTOTPAutocomplete: "readonly",
|
|
kpxcTOTPIcons: "readonly",
|
|
kpxcUI: "readonly",
|
|
kpxcUserAutocomplete: "readonly",
|
|
kpxcUsernameIcons: "readonly",
|
|
logDebug: "readonly",
|
|
logError: "readonly",
|
|
kpxcPasskeysUtils: "readonly",
|
|
ManualFill: "readonly",
|
|
matchesWithNodeName: "readonly",
|
|
MAX_AUTOCOMPLETE_NAME_LEN: "readonly",
|
|
MAX_OPACITY: "readonly",
|
|
MAX_TOTP_INPUT_LENGTH: "readonly",
|
|
menuContexts: "readonly",
|
|
MIN_INPUT_FIELD_OFFSET_WIDTH: "readonly",
|
|
MIN_INPUT_FIELD_WIDTH_PX: "readonly",
|
|
MIN_OPACITY: "readonly",
|
|
MIN_TOTP_INPUT_LENGTH: "readonly",
|
|
module: "readonly",
|
|
nacl: "readonly",
|
|
OBSERVER_OPTIONS: "readonly",
|
|
ORANGE_BUTTON: "readonly",
|
|
page: "readonly",
|
|
Pixels: "readonly",
|
|
PublicKeyCredential: "readonly",
|
|
PREDEFINED_SITELIST: "readonly",
|
|
RED_BUTTON: "readonly",
|
|
retrieveColorScheme: "readonly",
|
|
sendMessage: "readonly",
|
|
showNotification: "readonly",
|
|
siteMatch: "readonly",
|
|
SitePreferences: "readonly",
|
|
slashNeededForUrl: "readonly",
|
|
SORT_BY_GROUP_AND_TITLE: "readonly",
|
|
SORT_BY_GROUP_AND_USERNAME: "readonly",
|
|
SORT_BY_MATCHING_CREDENTIALS_SETTING: "readonly",
|
|
SORT_BY_RELEVANT_ENTRY: "readonly",
|
|
SORT_BY_TITLE: "readonly",
|
|
SORT_BY_USERNAME: "readonly",
|
|
statusResponse: "readonly",
|
|
Tests: "readonly",
|
|
tr: "readonly",
|
|
trimURL: "readonly",
|
|
updateDefaultPasswordManager: "readonly",
|
|
},
|
|
ecmaVersion: 13,
|
|
sourceType: "script",
|
|
},
|
|
rules: {
|
|
"array-bracket-spacing": ["error", "always"],
|
|
"arrow-body-style": "warn",
|
|
"arrow-parens": "off",
|
|
"arrow-spacing": "warn",
|
|
"block-scoped-var": "off",
|
|
"brace-style": ["warn", "1tbs"],
|
|
"camelcase": "warn",
|
|
"class-methods-use-this": "off",
|
|
"comma-dangle": "off",
|
|
"computed-property-spacing": ["error", "never"],
|
|
"consistent-return": "off",
|
|
"dot-notation": "off",
|
|
"eqeqeq": "error",
|
|
"func-names": "off",
|
|
"function-paren-newline": "off",
|
|
"guard-for-in": "off",
|
|
"implicit-arrow-linebreak": "off",
|
|
"indent": ["error", 4],
|
|
"linebreak-style": ["error", "unix"],
|
|
"lines-around-comment": "off",
|
|
"max-len": "off",
|
|
"no-alert": "error",
|
|
"no-await-in-loop": "off",
|
|
"no-bitwise": "off",
|
|
"no-console": "off",
|
|
"no-continue": "off",
|
|
"no-control-regex": "off",
|
|
"no-else-return": "off",
|
|
"no-empty-function": ["error", {
|
|
"allow": ["arrowFunctions", "methods", "asyncMethods"],
|
|
}],
|
|
"no-extend-native": "off",
|
|
"no-global-assign": "off",
|
|
"no-lonely-if": "off",
|
|
"no-loop-func": "off",
|
|
"no-mixed-operators": "off",
|
|
"no-mixed-spaces-and-tabs": ["error", "smart-tabs"],
|
|
"no-multi-spaces": "warn",
|
|
"no-param-reassign": "off",
|
|
"no-plusplus": "off",
|
|
"no-prototype-builtins": "off",
|
|
"no-redeclare": "off",
|
|
"no-restricted-globals": "off",
|
|
"no-restricted-syntax": "off",
|
|
"no-return-await": "off",
|
|
"no-tabs": "warn",
|
|
"no-underscore-dangle": "off",
|
|
"no-unused-vars": ["warn", {
|
|
"args": "none",
|
|
"caughtErrorsIgnorePattern": "^_",
|
|
"varsIgnorePattern": "[A-Z_]+|tr|[$]",
|
|
}],
|
|
"no-use-before-define": "off",
|
|
"no-useless-escape": "off",
|
|
"no-useless-return": "off",
|
|
"no-var": "error",
|
|
"object-curly-spacing": ["warn", "always"],
|
|
"object-shorthand": "off",
|
|
"operator-linebreak": "off",
|
|
"prefer-arrow-callback": "off",
|
|
"prefer-const": "warn",
|
|
"prefer-destructuring": "off",
|
|
"prefer-template": "off",
|
|
"quote-props": "off",
|
|
"quotes": ["error", "single", {
|
|
"avoidEscape": true,
|
|
}],
|
|
"semi": ["error", "always"],
|
|
"space-before-blocks": "warn",
|
|
"space-before-function-paren": "off",
|
|
"space-in-parens": ["error", "never"],
|
|
"space-unary-ops": "off",
|
|
"spaced-comment": "off",
|
|
"strict": "off",
|
|
"vars-on-top": "off",
|
|
},
|
|
}]);
|