mirror of
https://github.com/zotero/zotero.git
synced 2026-08-28 05:25:31 +00:00
116 lines
2.7 KiB
JavaScript
116 lines
2.7 KiB
JavaScript
import reactPlugin from "eslint-plugin-react";
|
|
import babel from "@babel/eslint-plugin";
|
|
import globals from "globals";
|
|
import babelParser from "@babel/eslint-parser";
|
|
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 [
|
|
...compat.extends("@zotero"),
|
|
|
|
{
|
|
files: ['**/*.{js,jsm,jsx,mjs}'],
|
|
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.node,
|
|
Zotero: "readonly",
|
|
ZOTERO_CONFIG: "readonly",
|
|
AddonManager: "readonly",
|
|
Cc: "readonly",
|
|
Ci: "readonly",
|
|
ChromeUtils: "readonly",
|
|
Components: "readonly",
|
|
ConcurrentCaller: "readonly",
|
|
Cr: "readonly",
|
|
ctypes: "readonly",
|
|
OS: "readonly",
|
|
MozXULElement: "readonly",
|
|
PathUtils: "readonly",
|
|
PluralForm: "readonly",
|
|
Services: "readonly",
|
|
windowUtils: "readonly",
|
|
XPCOMUtils: "readonly",
|
|
XRegExp: "readonly",
|
|
XULElement: "readonly",
|
|
XULElementBase: "readonly",
|
|
XULElementMixin: "readonly",
|
|
XULTextElement: "readonly",
|
|
Cu: "readonly",
|
|
ChromeWorker: "readonly",
|
|
Localization: "readonly",
|
|
L10nFileSource: "readonly",
|
|
L10nRegistry: "readonly",
|
|
ZoteroPane_Local: "readonly",
|
|
ZoteroPane: "readonly",
|
|
Zotero_Tabs: "readonly",
|
|
ZoteroContextPane: "readonly",
|
|
Zotero_File_Interface: "readonly",
|
|
Zotero_LocateMenu: "readonly",
|
|
IOUtils: "readonly",
|
|
NetUtil: "readonly",
|
|
FileUtils: "readonly",
|
|
globalThis: "readonly",
|
|
},
|
|
|
|
parser: babelParser,
|
|
ecmaVersion: 2022,
|
|
sourceType: "module",
|
|
|
|
parserOptions: {
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
},
|
|
|
|
plugins: {
|
|
"@babel": babel,
|
|
},
|
|
|
|
settings: {
|
|
react: {
|
|
version: "detect",
|
|
},
|
|
},
|
|
},
|
|
|
|
reactPlugin.configs.flat.recommended,
|
|
reactPlugin.configs.flat['jsx-runtime'],
|
|
|
|
{
|
|
ignores: [
|
|
"build/*",
|
|
"chrome/content/zotero/xpcom/citeproc.js",
|
|
"chrome/content/zotero/xpcom/isbn.js",
|
|
"chrome/content/zotero/xpcom/rdf/*",
|
|
"chrome/content/zotero/xpcom/xregexp/*",
|
|
"chrome/content/zotero/xpcom/translation/tlds.js",
|
|
"resource/bluebird/*",
|
|
"resource/classnames.js",
|
|
"resource/citeproc_rs*",
|
|
"resource/jspath.js",
|
|
"resource/loader.mjs",
|
|
"resource/pako.js",
|
|
"resource/PluralForm.jsm",
|
|
"resource/prop-types.js",
|
|
"resource/react*",
|
|
"resource/require.js",
|
|
"resource/SingleFile/*",
|
|
"resource/tinymce/*",
|
|
"test/resource/*",
|
|
"translators/*",
|
|
]
|
|
}
|
|
];
|