UNPKG

@alza54/eslint-config-typescript

Version:

Strict shareable config for ESLint and TypeScript that I use for my projects

42 lines (38 loc) 1.28 kB
'use strict'; module.exports = { 'extends': './base.js', 'settings': { 'import/extensions': ['.ts', '.tsx', '.d.ts', '.js', '.jsx', '.vue'], 'import/parsers': { '@typescript-eslint/parser': ['.ts', '.tsx', '.d.ts', '.vue'], }, 'import/resolver': { // See: https://www.npmjs.com/package/eslint-import-resolver-typescript 'typescript': {}, }, }, 'rules': { /* * Special rules when typescript support is active: * See: https://github.com/benmosher/eslint-plugin-import */ 'import/no-unresolved': 'error', 'import/named': 'error', 'import/no-absolute-path': 'error', 'import/no-self-import': 'error', 'import/no-cycle': 'error', 'import/no-useless-path-segments': 'error', 'import/no-unused-modules': ['error', { 'unusedExports': true, 'src': [`${process.cwd()}/*`] }], 'import/export': 'error', 'import/no-mutable-exports': 'error', 'import/exports-last': 'error', 'import/no-duplicates': 'error', 'import/newline-after-import': 'error', 'import/max-dependencies': ['error', { 'max': 15 }], 'import/no-named-default': 'error', 'import/no-anonymous-default-export': ['error', { 'allowObject': true, 'allowArrowFunction': true, }], }, };