<commit_before>{
    "env": {
        "es2020": true,
        "node": true
    },
    "extends": ["eslint:recommended", "plugin:import/errors", "plugin:import/warnings", "prettier"],
    "parser": "@babel/eslint-parser",
    "parserOptions": {
        "warnOnUnsupportedTypeScriptVersion": false,
        "sourceType": "unambiguous"
    },
    "plugins": ["eslint-plugin-empty-returns"],
    "rules": {
        "array-callback-return": "error",
        "arrow-body-style": "error",
        "block-scoped-var": "error",
        "curly": "error",
        "dot-notation": "error",
        "empty-returns/main": "error",
        "eqeqeq": "error",
        "guard-for-in": "error",
        "import/first": "error",
        "import/newline-after-import": "error",
        "import/no-unresolved": "error",
        "import/order": [
            "error",
            {
                "alphabetize": {"order": "asc"},
                "newlines-between": "always"
            }
        ],
        "import/unambiguous": "error",
        "new-cap": [
            "error",
            {
                "capIsNew": false
            }
        ],
        "no-alert": "error",
        "no-array-constructor": "error",
        "no-bitwise": "error",
        "no-caller": "error",
        "no-catch-shadow": "error",
        "no-constant-condition": ["error", {"checkLoops": false}],
        "no-div-regex": "error",
        "no-duplicate-imports": "error",
        "no-else-return": "error",
        "no-eq-null": "error",
        "no-eval": "error",
        "no-implied-eval": "error",
        "no-inner-declarations": "off",
        "no-iterator": "error",
        "no-label-var": "error",
        "no-labels": "error",
        "no-loop-func": "error",
        "no-multi-str": "error",
        "no-native-reassign": "error",
        "no-new-func": "error",
        "no-new-object": "error",
        "no-new-wrappers": "error",
        "no-octal-escape": "error",
        "no-plusplus": "error",
        "no-proto": "error",
        "no-return-assign": "error",
        "no-script-url": "error",
        "no-self-compare": "error",
        "no-sync": "error",
        "no-undef-init": "error",
        "no-unneeded-ternary": ["error", {"defaultAssignment": false}],
        "no-unused-expressions": "error",
        "no-unused-vars": [
            "error",
            {
                "vars": "local",
                "varsIgnorePattern": "print_elapsed_time|check_duplicate_ids"
            }
        ],
        "no-use-before-define": "error",
        "no-useless-constructor": "error",
        "no-var": "error",
        "object-shorthand": "error",
        "one-var": ["error", "never"],
        "prefer-arrow-callback": "error",
        "prefer-const": [
            "error",
            {
                "ignoreReadBeforeAssign": true
            }
        ],
        "radix": "error",
        "spaced-comment": "off",
        "strict": "error",
        "valid-typeof": ["error", {"requireStringLiterals": true}],
        "yoda": "error"
    },
    "overrides": [
        {
            "files": ["frontend_tests/**", "static/js/**"],
            "globals": {
                "$": false,
                "FetchStatus": false,
                "Filter": false,
                "LightboxCanvas": false,
                "ListCursor": false,
                "MessageListData": false,
                "MessageListView": false,
                "UserSearch": false,
                "activity": false,
                "admin": false,
                "alert_words": false,
                "alert_words_ui": false,
                "attachments_ui": false,
                "avatar": false,
                "billing": false,
                "blueslip": false,
                "bot_data": false,
                "bridge": false,
                "buddy_data": false,
                "buddy_list": false,
                "channel": false,
                "click_handlers": false,
                "color_data": false,
                "colorspace": false,
                "common": false,
                "components": false,
                "compose": false,
                "compose_actions": false,
                "compose_fade": false,
                "compose_pm_pill": false,
                "compose_state": false,
                "compose_ui": false,
                "composebox_typeahead": false,
                "condense": false,
                "confirm_dialog": false,
                "copy_and_paste": false,
                "csrf_token": false,
                "current_msg_list": true,
                "drafts": false,
                "dropdown_list_widget": false,
                "echo": false,
                "emoji_picker": false,
                "favicon": false,
                "feature_flags": false,
                "feedback_widget": false,
                "flatpickr": false,
                "floating_recipient_bar": false,
                "gear_menu": false,
                "hash_util": false,
                "hashchange": false,
                "helpers": false,
                "history": false,
                "home_msg_list": false,
                "hotspots": false,
                "i18n": false,
                "info_overlay": false,
                "input_pill": false,
                "invite": false,
                "jQuery": false,
                "keydown_util": false,
                "lightbox": false,
                "list_render": false,
                "list_util": false,
                "loading": false,
                "localStorage": false,
                "local_message": false,
                "localstorage": false,
                "location": false,
                "markdown": false,
                "message_edit": false,
                "message_edit_history": false,
                "message_events": false,
                "message_fetch": false,
                "message_flags": false,
                "message_list": false,
                "message_live_update": false,
                "message_scroll": false,
                "message_store": false,
                "message_util": false,
                "message_viewport": false,
                "muting": false,
                "muting_ui": false,
                "narrow": false,
                "narrow_state": false,
                "navigate": false,
                "night_mode": false,
                "notifications": false,
                "overlays": false,
                "padded_widget": false,
                "page_params": false,
                "panels": false,
                "pill_typeahead": false,
                "people": false,
                "pm_conversations": false,
                "pm_list": false,
                "pm_list_dom": false,
                "pointer": false,
                "popovers": false,
                "presence": false,
                "reactions": false,
                "realm_icon": false,
                "realm_logo": false,
                "realm_night_logo": false,
                "recent_senders": false,
                "recent_topics": false,
                "reload": false,
                "reload_state": false,
                "reminder": false,
                "resize": false,
                "rows": false,
                "rtl": false,
                "run_test": false,
                "schema": false,
                "scroll_bar": false,
                "scroll_util": false,
                "search": false,
                "search_pill": false,
                "search_pill_widget": false,
                "search_suggestion": false,
                "search_util": false,
                "sent_messages": false,
                "server_events": false,
                "server_events_dispatch": false,
                "settings": false,
                "settings_account": false,
                "settings_bots": false,
                "settings_display": false,
                "settings_emoji": false,
                "settings_exports": false,
                "settings_linkifiers": false,
                "settings_invites": false,
                "settings_muting": false,
                "settings_notifications": false,
                "settings_org": false,
                "settings_panel_menu": false,
                "settings_profile_fields": false,
                "settings_sections": false,
                "settings_streams": false,
                "settings_toggle": false,
                "settings_ui": false,
                "settings_user_groups": false,
                "settings_users": false,
                "spoilers": false,
                "starred_messages": false,
                "stream_color": false,
                "stream_create": false,
                "stream_data": false,
                "stream_edit": false,
                "stream_events": false,
                "stream_topic_history": false,
                "stream_list": false,
                "stream_muting": false,
                "stream_pill": false,
                "stream_popover": false,
                "stream_sort": false,
                "stream_ui_updates": false,
                "StripeCheckout": false,
                "submessage": false,
                "subs": false,
                "message_view_header": false,
                "templates": false,
                "tictactoe_widget": false,
                "timerender": false,
                "todo_widget": false,
                "top_left_corner": false,
                "topic_generator": false,
                "topic_list": false,
                "topic_zoom": false,
                "transmit": false,
                "tutorial": false,
                "typeahead_helper": false,
                "typing": false,
                "typing_data": false,
                "typing_events": false,
                "ui": false,
                "ui_init": false,
                "ui_report": false,
                "ui_util": false,
                "unread": false,
                "unread_ops": false,
                "unread_ui": false,
                "upgrade": false,
                "upload": false,
                "upload_widget": false,
                "user_events": false,
                "user_groups": false,
                "user_pill": false,
                "user_status": false,
                "user_status_ui": false,
                "poll_widget": false,
                "vdom": false,
                "widgetize": false,
                "zcommand": false,
                "zform": false,
                "zxcvbn": false
            }
        },
        {
            "files": ["**/*.ts"],
            "extends": [
                "plugin:@typescript-eslint/recommended",
                "plugin:import/typescript",
                "prettier/@typescript-eslint"
            ],
            "parserOptions": {
                "project": "tsconfig.json"
            },
            "rules": {
                // Disable base rule to avoid conflict
                "empty-returns/main": "off",
                "no-unused-vars": "off",
                "no-useless-constructor": "off",

                "@typescript-eslint/array-type": "error",
                "@typescript-eslint/await-thenable": "error",
                "@typescript-eslint/consistent-type-assertions": "error",
                "@typescript-eslint/explicit-function-return-type": [
                    "error",
                    {"allowExpressions": true}
                ],
                "@typescript-eslint/member-ordering": "error",
                "@typescript-eslint/no-explicit-any": "off",
                "@typescript-eslint/no-extraneous-class": "error",
                "@typescript-eslint/no-non-null-assertion": "off",
                "@typescript-eslint/no-parameter-properties": "error",
                "@typescript-eslint/no-unnecessary-qualifier": "error",
                "@typescript-eslint/no-unnecessary-type-assertion": "error",
                "@typescript-eslint/no-unused-vars": ["error", {"varsIgnorePattern": "^_"}],
                "@typescript-eslint/no-use-before-define": "error",
                "@typescript-eslint/no-useless-constructor": "error",
                "@typescript-eslint/prefer-includes": "error",
                "@typescript-eslint/prefer-regexp-exec": "error",
                "@typescript-eslint/prefer-string-starts-ends-with": "error",
                "@typescript-eslint/promise-function-async": "error",
                "@typescript-eslint/unified-signatures": "error"
            }
        },
        {
            "files": ["**/*.d.ts"],
            "rules": {
                "import/unambiguous": "off"
            }
        },
        {
            "files": ["frontend_tests/**"],
            "globals": {
                "assert": false,
                "document": false,
                "set_global": false,
                "window": false,
                "with_field": false,
                "zrequire": false
            },
            "rules": {
                "no-sync": "off"
            }
        },
        {
            "files": ["tools/debug-require.js"],
            "env": {
                "browser": true,
                "es2020": false
            },
            "rules": {
                // Don’t require ES features that PhantomJS doesn’t support
                // TODO: Toggle these settings now that we don't use PhantomJS
                "no-var": "off",
                "object-shorthand": "off",
                "prefer-arrow-callback": "off"
            }
        },
        {
            "files": ["static/**"],
            "env": {
                "browser": true,
                "commonjs": true,
                "node": false
            },
            "rules": {
                "no-console": "error"
            },
            "settings": {
                "import/resolver": "webpack"
            }
        },
        {
            "files": ["static/shared/**"],
            "env": {
                "browser": false,
                "commonjs": false,
                "shared-node-browser": true
            },
            "rules": {
                "import/no-restricted-paths": [
                    "error",
                    {
                        "zones": [
                            {
                                "target": "./static/shared",
                                "from": ".",
                                "except": ["./node_modules", "./static/shared"]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}
<commit_msg>eslint: Forbid .js and .ts extensions on imports.<commit_after>{
    "env": {
        "es2020": true,
        "node": true
    },
    "extends": ["eslint:recommended", "plugin:import/errors", "plugin:import/warnings", "prettier"],
    "parser": "@babel/eslint-parser",
    "parserOptions": {
        "warnOnUnsupportedTypeScriptVersion": false,
        "sourceType": "unambiguous"
    },
    "plugins": ["eslint-plugin-empty-returns"],
    "rules": {
        "array-callback-return": "error",
        "arrow-body-style": "error",
        "block-scoped-var": "error",
        "curly": "error",
        "dot-notation": "error",
        "empty-returns/main": "error",
        "eqeqeq": "error",
        "guard-for-in": "error",
        "import/extensions": "error",
        "import/first": "error",
        "import/newline-after-import": "error",
        "import/no-unresolved": "error",
        "import/order": [
            "error",
            {
                "alphabetize": {"order": "asc"},
                "newlines-between": "always"
            }
        ],
        "import/unambiguous": "error",
        "new-cap": [
            "error",
            {
                "capIsNew": false
            }
        ],
        "no-alert": "error",
        "no-array-constructor": "error",
        "no-bitwise": "error",
        "no-caller": "error",
        "no-catch-shadow": "error",
        "no-constant-condition": ["error", {"checkLoops": false}],
        "no-div-regex": "error",
        "no-duplicate-imports": "error",
        "no-else-return": "error",
        "no-eq-null": "error",
        "no-eval": "error",
        "no-implied-eval": "error",
        "no-inner-declarations": "off",
        "no-iterator": "error",
        "no-label-var": "error",
        "no-labels": "error",
        "no-loop-func": "error",
        "no-multi-str": "error",
        "no-native-reassign": "error",
        "no-new-func": "error",
        "no-new-object": "error",
        "no-new-wrappers": "error",
        "no-octal-escape": "error",
        "no-plusplus": "error",
        "no-proto": "error",
        "no-return-assign": "error",
        "no-script-url": "error",
        "no-self-compare": "error",
        "no-sync": "error",
        "no-undef-init": "error",
        "no-unneeded-ternary": ["error", {"defaultAssignment": false}],
        "no-unused-expressions": "error",
        "no-unused-vars": [
            "error",
            {
                "vars": "local",
                "varsIgnorePattern": "print_elapsed_time|check_duplicate_ids"
            }
        ],
        "no-use-before-define": "error",
        "no-useless-constructor": "error",
        "no-var": "error",
        "object-shorthand": "error",
        "one-var": ["error", "never"],
        "prefer-arrow-callback": "error",
        "prefer-const": [
            "error",
            {
                "ignoreReadBeforeAssign": true
            }
        ],
        "radix": "error",
        "spaced-comment": "off",
        "strict": "error",
        "valid-typeof": ["error", {"requireStringLiterals": true}],
        "yoda": "error"
    },
    "overrides": [
        {
            "files": ["frontend_tests/**", "static/js/**"],
            "globals": {
                "$": false,
                "FetchStatus": false,
                "Filter": false,
                "LightboxCanvas": false,
                "ListCursor": false,
                "MessageListData": false,
                "MessageListView": false,
                "UserSearch": false,
                "activity": false,
                "admin": false,
                "alert_words": false,
                "alert_words_ui": false,
                "attachments_ui": false,
                "avatar": false,
                "billing": false,
                "blueslip": false,
                "bot_data": false,
                "bridge": false,
                "buddy_data": false,
                "buddy_list": false,
                "channel": false,
                "click_handlers": false,
                "color_data": false,
                "colorspace": false,
                "common": false,
                "components": false,
                "compose": false,
                "compose_actions": false,
                "compose_fade": false,
                "compose_pm_pill": false,
                "compose_state": false,
                "compose_ui": false,
                "composebox_typeahead": false,
                "condense": false,
                "confirm_dialog": false,
                "copy_and_paste": false,
                "csrf_token": false,
                "current_msg_list": true,
                "drafts": false,
                "dropdown_list_widget": false,
                "echo": false,
                "emoji_picker": false,
                "favicon": false,
                "feature_flags": false,
                "feedback_widget": false,
                "flatpickr": false,
                "floating_recipient_bar": false,
                "gear_menu": false,
                "hash_util": false,
                "hashchange": false,
                "helpers": false,
                "history": false,
                "home_msg_list": false,
                "hotspots": false,
                "i18n": false,
                "info_overlay": false,
                "input_pill": false,
                "invite": false,
                "jQuery": false,
                "keydown_util": false,
                "lightbox": false,
                "list_render": false,
                "list_util": false,
                "loading": false,
                "localStorage": false,
                "local_message": false,
                "localstorage": false,
                "location": false,
                "markdown": false,
                "message_edit": false,
                "message_edit_history": false,
                "message_events": false,
                "message_fetch": false,
                "message_flags": false,
                "message_list": false,
                "message_live_update": false,
                "message_scroll": false,
                "message_store": false,
                "message_util": false,
                "message_viewport": false,
                "muting": false,
                "muting_ui": false,
                "narrow": false,
                "narrow_state": false,
                "navigate": false,
                "night_mode": false,
                "notifications": false,
                "overlays": false,
                "padded_widget": false,
                "page_params": false,
                "panels": false,
                "pill_typeahead": false,
                "people": false,
                "pm_conversations": false,
                "pm_list": false,
                "pm_list_dom": false,
                "pointer": false,
                "popovers": false,
                "presence": false,
                "reactions": false,
                "realm_icon": false,
                "realm_logo": false,
                "realm_night_logo": false,
                "recent_senders": false,
                "recent_topics": false,
                "reload": false,
                "reload_state": false,
                "reminder": false,
                "resize": false,
                "rows": false,
                "rtl": false,
                "run_test": false,
                "schema": false,
                "scroll_bar": false,
                "scroll_util": false,
                "search": false,
                "search_pill": false,
                "search_pill_widget": false,
                "search_suggestion": false,
                "search_util": false,
                "sent_messages": false,
                "server_events": false,
                "server_events_dispatch": false,
                "settings": false,
                "settings_account": false,
                "settings_bots": false,
                "settings_display": false,
                "settings_emoji": false,
                "settings_exports": false,
                "settings_linkifiers": false,
                "settings_invites": false,
                "settings_muting": false,
                "settings_notifications": false,
                "settings_org": false,
                "settings_panel_menu": false,
                "settings_profile_fields": false,
                "settings_sections": false,
                "settings_streams": false,
                "settings_toggle": false,
                "settings_ui": false,
                "settings_user_groups": false,
                "settings_users": false,
                "spoilers": false,
                "starred_messages": false,
                "stream_color": false,
                "stream_create": false,
                "stream_data": false,
                "stream_edit": false,
                "stream_events": false,
                "stream_topic_history": false,
                "stream_list": false,
                "stream_muting": false,
                "stream_pill": false,
                "stream_popover": false,
                "stream_sort": false,
                "stream_ui_updates": false,
                "StripeCheckout": false,
                "submessage": false,
                "subs": false,
                "message_view_header": false,
                "templates": false,
                "tictactoe_widget": false,
                "timerender": false,
                "todo_widget": false,
                "top_left_corner": false,
                "topic_generator": false,
                "topic_list": false,
                "topic_zoom": false,
                "transmit": false,
                "tutorial": false,
                "typeahead_helper": false,
                "typing": false,
                "typing_data": false,
                "typing_events": false,
                "ui": false,
                "ui_init": false,
                "ui_report": false,
                "ui_util": false,
                "unread": false,
                "unread_ops": false,
                "unread_ui": false,
                "upgrade": false,
                "upload": false,
                "upload_widget": false,
                "user_events": false,
                "user_groups": false,
                "user_pill": false,
                "user_status": false,
                "user_status_ui": false,
                "poll_widget": false,
                "vdom": false,
                "widgetize": false,
                "zcommand": false,
                "zform": false,
                "zxcvbn": false
            }
        },
        {
            "files": ["**/*.ts"],
            "extends": [
                "plugin:@typescript-eslint/recommended",
                "plugin:import/typescript",
                "prettier/@typescript-eslint"
            ],
            "parserOptions": {
                "project": "tsconfig.json"
            },
            "rules": {
                // Disable base rule to avoid conflict
                "empty-returns/main": "off",
                "no-unused-vars": "off",
                "no-useless-constructor": "off",

                "@typescript-eslint/array-type": "error",
                "@typescript-eslint/await-thenable": "error",
                "@typescript-eslint/consistent-type-assertions": "error",
                "@typescript-eslint/explicit-function-return-type": [
                    "error",
                    {"allowExpressions": true}
                ],
                "@typescript-eslint/member-ordering": "error",
                "@typescript-eslint/no-explicit-any": "off",
                "@typescript-eslint/no-extraneous-class": "error",
                "@typescript-eslint/no-non-null-assertion": "off",
                "@typescript-eslint/no-parameter-properties": "error",
                "@typescript-eslint/no-unnecessary-qualifier": "error",
                "@typescript-eslint/no-unnecessary-type-assertion": "error",
                "@typescript-eslint/no-unused-vars": ["error", {"varsIgnorePattern": "^_"}],
                "@typescript-eslint/no-use-before-define": "error",
                "@typescript-eslint/no-useless-constructor": "error",
                "@typescript-eslint/prefer-includes": "error",
                "@typescript-eslint/prefer-regexp-exec": "error",
                "@typescript-eslint/prefer-string-starts-ends-with": "error",
                "@typescript-eslint/promise-function-async": "error",
                "@typescript-eslint/unified-signatures": "error"
            }
        },
        {
            "files": ["**/*.d.ts"],
            "rules": {
                "import/unambiguous": "off"
            }
        },
        {
            "files": ["frontend_tests/**"],
            "globals": {
                "assert": false,
                "document": false,
                "set_global": false,
                "window": false,
                "with_field": false,
                "zrequire": false
            },
            "rules": {
                "no-sync": "off"
            }
        },
        {
            "files": ["tools/debug-require.js"],
            "env": {
                "browser": true,
                "es2020": false
            },
            "rules": {
                // Don’t require ES features that PhantomJS doesn’t support
                // TODO: Toggle these settings now that we don't use PhantomJS
                "no-var": "off",
                "object-shorthand": "off",
                "prefer-arrow-callback": "off"
            }
        },
        {
            "files": ["static/**"],
            "env": {
                "browser": true,
                "commonjs": true,
                "node": false
            },
            "rules": {
                "no-console": "error"
            },
            "settings": {
                "import/resolver": "webpack"
            }
        },
        {
            "files": ["static/shared/**"],
            "env": {
                "browser": false,
                "commonjs": false,
                "shared-node-browser": true
            },
            "rules": {
                "import/no-restricted-paths": [
                    "error",
                    {
                        "zones": [
                            {
                                "target": "./static/shared",
                                "from": ".",
                                "except": ["./node_modules", "./static/shared"]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

{'fraction_non_alphanumeric': 0.13757064070266223, 'fraction_numerical': 0.0006808742425274052, 'mean_word_length': 1.2086466165413534, 'pattern_counts': {'":': 695, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5471908', 'n_tokens_mistral': 8201, 'n_tokens_neox': 7646, 'n_words': 1419}