module.exports = { env: { browser: true, es6: true, }, extends: [ 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', 'prettier/@typescript-eslint', ], parserOptions: { ecmaVersion: 2018, sourceType: 'module', }, rules: { // We use have user-supplied union values that are nicer as 'any' rather // than 'unknown' since the user already knows which handler is getting called. '@typescript-eslint/no-explicit-any': 'off', // Most our functions are methods that implement an interface so their // types are automatically checked without this warning already. // Adding types to every overridden method adds useless line noise. '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-empty-interface': 'error', '@typescript-eslint/member-delimiter-style': [ 2, { multiline: { delimiter: 'none', requireLast: false, }, }, ], '@typescript-eslint/camelcase': 'off', }, }