{
    "env": {
        // TODO: "espruino": false
        // TODO: "banglejs": false
    },
    "extends": "eslint:recommended",
    "globals": {
        // Methods and Fields at https://banglejs.com/reference
        "Array": "readonly",
        "ArrayBuffer": "readonly",
        "ArrayBufferView": "readonly",
        "Bangle": "readonly",
        "BluetoothDevice": "readonly",
        "BluetoothRemoteGATTCharacteristic": "readonly",
        "BluetoothRemoteGATTServer": "readonly",
        "BluetoothRemoteGATTService": "readonly",
        "Boolean": "readonly",
        "console": "readonly",
        "DataView": "readonly",
        "Date": "readonly",
        "E": "readonly",
        "Error": "readonly",
        "Flash": "readonly",
        "Float32Array": "readonly",
        "Float64Array": "readonly",
        "fs": "readonly",
        "Function": "readonly",
        "Graphics": "readonly",
        "heatshrink": "readonly",
        "I2C": "readonly",
        "Int16Array": "readonly",
        "Int32Array": "readonly",
        "Int8Array": "readonly",
        "InternalError": "readonly",
        "JSON": "readonly",
        "Math": "readonly",
        "Modules": "readonly",
        "NRF": "readonly",
        "Number": "readonly",
        "Object": "readonly",
        "OneWire": "readonly",
        "Pin": "readonly",
        "process": "readonly",
        "Promise": "readonly",
        "ReferenceError": "readonly",
        "RegExp": "readonly",
        "Serial": "readonly",
        "SPI": "readonly",
        "Storage": "readonly",
        "StorageFile": "readonly",
        "String": "readonly",
        "SyntaxError": "readonly",
        "tensorflow": "readonly",
        "TFMicroInterpreter": "readonly",
        "TypeError": "readonly",
        "Uint16Array": "readonly",
        "Uint24Array": "readonly",
        "Uint32Array": "readonly",
        "Uint8Array": "readonly",
        "Uint8ClampedArray": "readonly",
        "Waveform": "readonly",
        // Methods and Fields at https://banglejs.com/reference
        "analogRead": "readonly",
        "analogWrite": "readonly",
        "arguments": "readonly",
        "atob": "readonly",
        "Bluetooth": "readonly",
        "BTN": "readonly",
        "BTN1": "readonly",
        "BTN2": "readonly",
        "BTN3": "readonly",
        "BTN4": "readonly",
        "BTN5": "readonly",
        "btoa": "readonly",
        "changeInterval": "readonly",
        "clearInterval": "readonly",
        "clearTimeout": "readonly",
        "clearWatch": "readonly",
        "decodeURIComponent": "readonly",
        "digitalPulse": "readonly",
        "digitalRead": "readonly",
        "digitalWrite": "readonly",
        "dump": "readonly",
        "echo": "readonly",
        "edit": "readonly",
        "encodeURIComponent": "readonly",
        "eval": "readonly",
        "getPinMode": "readonly",
        "getSerial": "readonly",
        "getTime": "readonly",
        "global": "readonly",
        "HIGH": "readonly",
        "I2C1": "readonly",
        "Infinity": "readonly",
        "isFinite": "readonly",
        "isNaN": "readonly",
        "LED": "readonly",
        "LED1": "readonly",
        "LED2": "readonly",
        "load": "readonly",
        "LoopbackA": "readonly",
        "LoopbackB": "readonly",
        "LOW": "readonly",
        "NaN": "readonly",
        "parseFloat": "readonly",
        "parseInt": "readonly",
        "peek16": "readonly",
        "peek32": "readonly",
        "peek8": "readonly",
        "pinMode": "readonly",
        "poke16": "readonly",
        "poke32": "readonly",
        "poke8": "readonly",
        "print": "readonly",
        "require": "readonly",
        "reset": "readonly",
        "save": "readonly",
        "Serial1": "readonly",
        "setBusyIndicator": "readonly",
        "setInterval": "readonly",
        "setSleepIndicator": "readonly",
        "setTime": "readonly",
        "setTimeout": "readonly",
        "setWatch": "readonly",
        "shiftOut": "readonly",
        "SPI1": "readonly",
        "Terminal": "readonly",
        "trace": "readonly",
        "VIBRATE": "readonly",
        // Aliases and not defined at https://banglejs.com/reference
        "g": "readonly",
        "WIDGETS": "readonly"
    },
    "parserOptions": {
        "ecmaVersion": 11
    },
    "rules": {
        "indent": [
            "off",
            2,
            {
                "SwitchCase": 1
            }
        ],
        "no-case-declarations": "off",
        "no-constant-condition": "off",
        "no-delete-var": "off",
        "no-empty": "off",
        "no-global-assign": "off",
        "no-inner-declarations": "off",
        "no-octal": "off",
        "no-prototype-builtins": "off",
        "no-redeclare": "off",
        "no-unreachable": "warn",
        "no-cond-assign": "warn",
        "no-useless-catch": "warn",
        // TODO: "no-undef": "warn",
        "no-undef": "off",
        "no-unused-vars": "off",
        "no-useless-escape": "off",
        "no-control-regex" : "off"
    }
}
