{
    "env": {
        "browser": true,
        "es6": true,
        "cypress/globals": true,
        "node": true
    },
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaVersion": "latest"
    },
    "plugins": ["react", "cypress", "@typescript-eslint"],
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended",
        "plugin:i18n-json/recommended",
        "plugin:@typescript-eslint/recommended"
    ],
    "settings": {
        "react": {
            "createClass": "createReactClass", // Regex for Component Factory to use,
            "pragma": "React",  // Pragma to use, default to "React"
            "fragment": "Fragment",  // Fragment to use (may be a property of <pragma>), default to "Fragment"
            "version": "detect" // React version. "detect" automatically picks the version you have installed.
        }
    },
    "rules": {
        "comma-dangle": 0,
        "react/jsx-uses-vars": 1,
        "react/display-name": 1,
        "react/prop-types": 0,
        "no-unused-vars": "warn",
        "no-console": 1,
        "no-unexpected-multiline": "warn",
        "cypress/no-assigning-return-values": "error",
        "cypress/no-unnecessary-waiting": "error",
        "i18n-json/identical-keys": [
            2,
            {
                "filePath": {
                    "admin.json": "../../../../src/admin/translations/languages/en.admin.json",
                    "feedback.json": "../../../../src/feedback/translations/languages/en.feedback.json",
                    "root.json": "../../../../src/root/translations/languages/en.root.json"
                }
            }
        ],
        "i18n-json/valid-message-syntax": [
            2,
            {
                "syntax": "non-empty-string"
            }
        ],
        "i18n-json/sorted-keys": [
            0
        ]
    },
    "overrides": [
        {
            "files": [
                "src/*.*"
            ],
            "excludedFiles": "*.spec.ts"
        }
    ]
}
