module.exports = {
    plugins: [
        "matrix-org",
    ],
    extends: ["plugin:matrix-org/babel"],
    env: {
        browser: true,
        node: true,
    },
    rules: {
        "no-var": ["warn"],
        "prefer-rest-params": ["warn"],
        "prefer-spread": ["warn"],
        "one-var": ["warn"],
        "padded-blocks": ["warn"],
        "no-extend-native": ["warn"],
        "camelcase": ["warn"],
        "no-multi-spaces": ["error", { "ignoreEOLComments": true }],
        "space-before-function-paren": ["error", {
            "anonymous": "never",
            "named": "never",
            "asyncArrow": "always",
        }],
        "arrow-parens": "off",
        "prefer-promise-reject-errors": "off",
        "quotes": "off",
        "indent": "off",
        "no-constant-condition": "off",
        "no-async-promise-executor": "off",
        // We use a `logger` intermediary module
        "no-console": "error",
    },
    overrides: [{
        "files": ["src/**/*.ts"],
        "extends": ["plugin:matrix-org/typescript"],
        "rules": {
            // We're okay being explicit at the moment
            "@typescript-eslint/no-empty-interface": "off",
            // While we're converting to ts we make heavy use of this
            "@typescript-eslint/no-explicit-any": "off",
            "quotes": "off",
        },
    }],
};

@@ -70,16 +70,25 @@
 tends: %5B
+%0A        
 %22plugin:
@@ -104,16 +104,22 @@
 g/babel%22
+,%0A    
 %5D,%0A    e
@@ -984,31 +984,48 @@
     
-%22
 files
-%22
 : %5B
-%22src/**/*.ts%22
+%0A            %22**/*.ts%22,%0A        
 %5D,%0A 
@@ -1035,20 +1035,31 @@
     
-%22
 extends
-%22
 : %5B
+%0A            
 %22plu
@@ -1084,16 +1084,26 @@
 escript%22
+,%0A        
 %5D,%0A     
@@ -1109,18 +1109,116 @@
     
-%22
 rules
-%22
 : %7B
+%0A            // TypeScript has its own version of this%0A            %22@babel/no-invalid-this%22: %22off%22,%0A
 %0A   
@@ -1349,61 +1349,154 @@
 // W
-hile we're converting to ts we make heavy use of this
+e disable this while we're transitioning%0A            %22@typescript-eslint/no-explicit-any%22: %22off%22,%0A            // We'd rather not do this but we do
 %0A   
@@ -1520,39 +1520,38 @@
 ript-eslint/
-no-explicit-any
+ban-ts-comment
 %22: %22off%22,%0A  
@@ -1540,32 +1540,33 @@
 omment%22: %22off%22,%0A
+%0A
             %22quo
@@ -1570,32 +1570,120 @@
 quotes%22: %22off%22,%0A
+            // We use a %60logger%60 intermediary module%0A            %22no-console%22: %22error%22,%0A
         %7D,%0A    %7D

Switch to new Babel lint config