11module . exports = {
22 root : true ,
3+ env : {
4+ es6 : true ,
5+ node : true ,
6+ } ,
37 extends : [
4- 'kentcdodds' ,
8+ 'eslint:recommended' ,
9+ 'plugin:import/recommended' ,
510 'plugin:jest/recommended' ,
611 'plugin:jest-formatting/recommended' ,
712 'prettier' ,
@@ -33,6 +38,12 @@ module.exports = {
3338 } ,
3439 } ,
3540 ] ,
41+ 'import/first' : 'error' ,
42+ 'import/no-empty-named-blocks' : 'error' ,
43+ 'import/no-extraneous-dependencies' : 'error' ,
44+ 'import/no-mutable-exports' : 'error' ,
45+ 'import/no-named-default' : 'error' ,
46+ 'import/no-relative-packages' : 'warn' ,
3647 } ,
3748 overrides : [
3849 {
@@ -46,6 +57,7 @@ module.exports = {
4657 extends : [
4758 'plugin:@typescript-eslint/recommended' ,
4859 'plugin:@typescript-eslint/recommended-requiring-type-checking' ,
60+ 'plugin:import/typescript' ,
4961 ] ,
5062 rules : {
5163 '@typescript-eslint/explicit-function-return-type' : 'off' ,
@@ -54,6 +66,24 @@ module.exports = {
5466 { argsIgnorePattern : '^_' } ,
5567 ] ,
5668 '@typescript-eslint/no-use-before-define' : 'off' ,
69+
70+ // Import
71+ // Rules enabled by `import/recommended` but are better handled by
72+ // TypeScript and @typescript -eslint.
73+ 'import/default' : 'off' ,
74+ 'import/export' : 'off' ,
75+ 'import/namespace' : 'off' ,
76+ 'import/no-unresolved' : 'off' ,
77+ } ,
78+ settings : {
79+ 'import/resolver' : {
80+ node : {
81+ extensions : [ '.js' , '.ts' ] ,
82+ } ,
83+ typescript : {
84+ alwaysTryTypes : true ,
85+ } ,
86+ } ,
5787 } ,
5888 } ,
5989 ] ,
0 commit comments