{
    "env": {
        "browser": true,
        "es2021": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended"
    ],
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": 12
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "indent": [
            "error",
            4
        ],
        "linebreak-style": [
            "error",
            "unix"
        ],
        "quotes": [
            "error",
            "double",
            { "allowTemplateLiterals": true }
        ],
        "semi": [
            "error",
            "always"
        ],
        "comma-dangle": [
            "error",
            "always-multiline"
        ],
        "no-var": "error",
        "space-before-blocks": "error",
        "comma-spacing": [
            "error", { "before": false, "after": true }
        ],
        "no-trailing-spaces": "error",
        "keyword-spacing": "error",
        "no-multiple-empty-lines": [
            "error", { "max": 1 }
        ],
        "object-curly-spacing": [
            "error", "always"
        ],
        "key-spacing": [
            "error", { "beforeColon": false, "afterColon": true }
        ]
    },
    "settings": {
        "react": {
            "version": "detect"
        }
    },
    "globals": {
        "Card": "readonly",
        "OptionsMenu": "readonly",
        "ReadmePage": "readonly",
        "SortBox": "readonly",
        "TopBarContent": "readonly",

        "react": "readonly",
        "reactDOM": "readonly",
        "Spicetify": "readonly",
        "useEffect": "readonly",
        "useState": "readonly",

        "LOCALSTORAGE_KEYS": "writable",
        "ALL_TABS": "readonly",
        "CONFIG": "writable",
        "gridUpdateTabs": "writable",
        "gridUpdatePostsVisual": "writable",
        "openConfig": "writable",
        "openReloadModal": "writable",
        "openAddSnippetModal": "writable",
        "sortConfig": "writable",

        "hexToRGB": "readonly",
        "parseIni": "readonly",
        "initializeSnippets": "writable",
        "getLocalStorageDataFromKey": "writable",
        "processAuthors": "readonly",
        "generateSchemesOptions": "readonly",
        "getBlacklist": "readonly",
        "fetchCssSnippets": "readonly",
        "resetMarketplace": "readonly",

        "LoadingIcon": "readonly",
        "LoadMoreIcon": "readonly",
        "DOWNLOAD_ICON": "readonly",
        "SETTINGS_ICON": "readonly",
        "TRASH_ICON": "readonly"
    }
}
