{
    "plugins": ["jsdoc"],
    "env": {
        "browser": true,
        "es2022": true
    },
    "parserOptions": {
        "ecmaVersion": 2022,
        "sourceType": "module"
    },
    "globals": {
        "marked": "readonly",
        "katex": "readonly",
        "markedKatex": "readonly",
        "Y": "readonly",
        "IndexeddbPersistence": "readonly",
        "WebrtcProvider": "readonly",
        "pyodideRunner": "readonly"
    },
    "rules": {
        "no-undef": "error",
        "no-unused-vars": ["warn", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }],
        "no-dupe-keys": "error",
        "no-duplicate-case": "error",
        "no-empty": "warn",
        "no-unreachable": "error",
        "eqeqeq": ["warn", "smart"],
        "no-var": "warn",
        "jsdoc/require-jsdoc": [
            "warn",
            {
                "require": {
                    "FunctionDeclaration": true,
                    "MethodDefinition": true,
                    "ClassDeclaration": true
                }
            }
        ],
        "jsdoc/check-param-names": "error",
        "jsdoc/require-param": "warn",
        "jsdoc/require-returns": "warn"
    }
}
