{
    "env": {
        "node": true,
        "es6": true
    },
    "parserOptions": {
        "sourceType": "module"
    },
    "globals": {
        "$": false,
        "_": false,
        "jQuery": false,
        "Spinner": false,
        "Handlebars": false,
        "XDate": false,
        "zxcvbn": false,
        "LazyLoad": false,
        "Dropbox": false,
        "SockJS": false,
        "marked": false,
        "md5": false,
        "moment": false,
        "i18n": false,
        "DynamicText": false,
        "LightboxCanvas": false,
        "bridge": false,
        "page_params": false,
        "attachments_ui": false,
        "csrf_token": false,
        "typeahead_helper": false,
        "pygments_data": false,
        "popovers": false,
        "server_events": false,
        "server_events_dispatch": false,
        "message_scroll": false,
        "ui": false,
        "ui_report": false,
        "night_mode": false,
        "ui_util": false,
        "lightbox": false,
        "input_pill": false,
        "user_pill": false,
        "compose_pm_pill": false,
        "stream_color": false,
        "people": false,
        "user_groups": false,
        "navigate": false,
        "toMarkdown": false,
        "settings_account": false,
        "settings_display": false,
        "settings_notifications": false,
        "settings_muting": false,
        "settings_lab": false,
        "settings_bots": false,
        "settings_sections": false,
        "settings_emoji": false,
        "settings_org": false,
        "settings_ui": false,
        "settings_users": false,
        "settings_streams": false,
        "settings_filters": false,
        "settings_invites": false,
        "settings_user_groups": false,
        "settings": false,
        "resize": false,
        "loading": false,
        "typing": false,
        "typing_events": false,
        "typing_data": false,
        "typing_status": false,
        "sent_messages": false,
        "transmit": false,
        "compose": false,
        "compose_actions": false,
        "compose_state": false,
        "compose_fade": false,
        "overlays": false,
        "stream_create": false,
        "stream_edit": false,
        "subs": false,
        "stream_muting": false,
        "stream_events": false,
        "timerender": false,
        "message_live_update": false,
        "message_edit": false,
        "reload": false,
        "composebox_typeahead": false,
        "search": false,
        "topic_list": false,
        "topic_generator": false,
        "gear_menu": false,
        "hashchange": false,
        "hash_util": false,
        "FetchStatus": false,
        "message_list": false,
        "Filter": false,
        "flatpickr": false,
        "pointer": false,
        "util": false,
        "MessageListView": false,
        "blueslip": false,
        "rows": false,
        "WinChan": false,
        "muting_ui": false,
        "Socket": false,
        "channel": false,
        "components": false,
        "message_viewport": false,
        "upload_widget": false,
        "avatar": false,
        "realm_icon": false,
        "feature_flags": false,
        "search_suggestion": false,
        "notifications": false,
        "message_flags": false,
        "bot_data": false,
        "top_left_corner": false,
        "stream_sort": false,
        "stream_list": false,
        "stream_popover": false,
        "narrow_state": false,
        "narrow": false,
        "admin_sections": false,
        "admin": false,
        "stream_data": false,
        "topic_data": false,
        "list_util": false,
        "muting": false,
        "Dict": false,
        "unread": false,
        "alert_words_ui": false,
        "message_store": false,
        "message_util": false,
        "message_events": false,
        "message_fetch": false,
        "favicon": false,
        "condense": false,
        "list_render": false,
        "floating_recipient_bar": false,
        "tab_bar": false,
        "emoji": false,
        "presence": false,
        "activity": false,
        "invite": false,
        "colorspace": false,
        "reactions": false,
        "tutorial": false,
        "templates": false,
        "alert_words": false,
        "fenced_code": false,
        "markdown": false,
        "echo": false,
        "localstorage": false,
        "localStorage": false,
        "current_msg_list": true,
        "home_msg_list": false,
        "pm_list": false,
        "pm_conversations": false,
        "recent_senders": false,
        "unread_ui": false,
        "unread_ops": false,
        "upload": false,
        "user_events": false,
        "Plotly": false,
        "emoji_codes": false,
        "drafts": false,
        "katex": false,
        "Clipboard": false,
        "emoji_picker": false,
        "hotspots": false,
        "compose_ui": false,
        "common": false,
        "panels": false
    },
    "plugins": [
        "eslint-plugin-empty-returns"
    ],
    "rules": {
        "array-callback-return": "error",
        "array-bracket-spacing": "error",
        "arrow-spacing": [ "error", { "before": true, "after": true } ],
        "block-scoped-var": 2,
        "brace-style": [ "error", "1tbs", { "allowSingleLine": true } ],
        "camelcase": 0,
        "comma-dangle": [ "error",
            {
                "arrays": "always-multiline",
                "objects": "always-multiline",
                "imports": "always-multiline",
                "exports": "always-multiline",
                "functions": "never"
            }
        ],
        "complexity": [ 0, 4 ],
        "curly": 2,
        "dot-notation": [ "error", { "allowKeywords": true } ],
        "empty-returns/main": "error",
        "eol-last": [ "error", "always" ],
        "eqeqeq": 2,
        "func-style": [ "off", "expression" ],
        "guard-for-in": 2,
        "keyword-spacing": [ "error",
            {
                "before": true,
                "after": true,
                "overrides": {
                    "return": { "after": true },
                    "throw": { "after": true },
                    "case": { "after": true }
                }
            }
        ],
        "max-depth": [ 0, 4 ],
        "max-len": [ "error", 100, 2,
            {
                "ignoreUrls": true,
                "ignoreComments": false,
                "ignoreRegExpLiterals": true,
                "ignoreStrings": true,
                "ignoreTemplateLiterals": true
            }
        ],
        "max-params": [ 0, 3 ],
        "max-statements": [ 0, 10 ],
        "new-cap": [ "error",
            {
                "newIsCap": true,
                "capIsNew": false
            }
        ],
        "new-parens": 2,
        "newline-per-chained-call": 0,
        "no-alert": 2,
        "no-array-constructor": "error",
        "no-bitwise": 2,
        "no-caller": 2,
        "no-case-declarations": "error",
        "no-catch-shadow": 2,
        "no-console": 0,
        "no-const-assign": "error",
        "no-control-regex": 2,
        "no-debugger": 2,
        "no-delete-var": 2,
        "no-div-regex": 2,
        "no-dupe-class-members": "error",
        "no-dupe-keys": 2,
        "no-duplicate-imports": "error",
        "no-else-return": 2,
        "no-empty": 2,
        "no-empty-character-class": 2,
        "no-eq-null": 2,
        "no-eval": 2,
        "no-ex-assign": 2,
        "no-extra-parens": [ "error", "functions" ],
        "no-extra-semi": 2,
        "no-fallthrough": 2,
        "no-floating-decimal": 2,
        "no-func-assign": 2,
        "no-implied-eval": 2,
        "no-iterator": "error",
        "no-label-var": 2,
        "no-labels": 2,
        "no-loop-func": 2,
        "no-mixed-requires": [ 0, false ],
        "no-multi-str": 2,
        "no-native-reassign": 2,
        "no-nested-ternary": 0,
        "no-new-func": "error",
        "no-new-object": 2,
        "no-new-wrappers": 2,
        "no-obj-calls": 2,
        "no-octal": 2,
        "no-octal-escape": 2,
        "no-param-reassign": 0,
        "no-plusplus": 2,
        "no-proto": 2,
        "no-redeclare": 2,
        "no-regex-spaces": 2,
        "no-restricted-syntax": 0,
        "no-return-assign": 2,
        "no-script-url": 2,
        "no-self-compare": 2,
        "no-shadow": 0,
        "no-sync": 2,
        "no-ternary": 0,
        "no-undef": "error",
        "no-undef-init": 2,
        "no-underscore-dangle": 0,
        "no-unneeded-ternary": [ "error", { "defaultAssignment": false } ],
        "no-unreachable": 2,
        "no-unused-expressions": 2,
        "no-unused-vars": [ "error",
            {
                "vars": "local",
                "args": "after-used",
                "varsIgnorePattern": "print_elapsed_time|check_duplicate_ids"
            }
        ],
        "no-use-before-define": 2,
        "no-useless-constructor": "error",
        // The Zulip codebase complies partially with the "no-useless-escape"
        // rule; only regex expressions haven't been updated yet.
        // Updated regex expressions are currently being tested in casper
        // files and will decide about a potential future enforcement of this rule.
        "no-useless-escape": 0,
        "no-whitespace-before-property": 0,
        "no-with": 2,
        "one-var": [ "error", "never" ],
        "padded-blocks": 0,
        "prefer-const": [ "error",
            {
                "destructuring": "any",
                "ignoreReadBeforeAssign": true
            }
        ],
        "quote-props": [ "error", "as-needed",
            {
                "keywords": false,
                "unnecessary": true,
                "numbers": false
            }
        ],
        "quotes": [ 0, "single" ],
        "radix": 2,
        "semi": 2,
        "space-before-blocks": 2,
        "space-before-function-paren": [ "error",
            {
                "anonymous": "always",
                "named": "never",
                "asyncArrow": "always"
            }
        ],
        "space-in-parens": 2,
        "space-infix-ops": 0,
        "spaced-comment": 0,
        "strict": 0,
        "template-curly-spacing": "error",
        "unnecessary-strict": 0,
        "use-isnan": 2,
        "valid-typeof": [ "error", { "requireStringLiterals": true } ],
        "wrap-iife": [ "error", "outside", { "functionPrototypeMethods": false } ],
        "wrap-regex": 0,
        "yoda": 2
    }
}
