const path = require('path'); module.exports = { env: { es6: true, node: true, }, extends: ['airbnb-base'], globals: { Atomics: 'readonly', SharedArrayBuffer: 'readonly', }, parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 2018, sourceType: 'module', }, settings: { 'import/resolver': { node: { paths: [path.resolve(__dirname)], extensions: ['.js', '.jsx', '.ts', '.tsx'], }, }, }, plugins: ['@typescript-eslint'], rules: { 'no-console': 0, '@typescript-eslint/explicit-function-return-type': ['error'], // note you must disable the base rule as it can report incorrect errors 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': [ 'error', { vars: 'all', args: 'after-used', ignoreRestSiblings: false, }, ], 'lines-between-class-members': 0, 'no-plusplus': 0, 'max-len': ['warn', 120], 'no-restricted-syntax': 0, 'generator-star-spacing': 0, 'object-curly-newline': [ 'warn', { // ObjectExpression: { // multiline: true, // minProperties: 1, // consistent: true, // }, // ObjectPattern: { // multiline: true, // minProperties: 2, // consistent: true, // }, ImportDeclaration: 'never', ExportDeclaration: 'never', }, ], }, };