@@ -2,14 +2,17 @@ module.exports = {
2
2
root : true ,
3
3
parser : '@typescript-eslint/parser' ,
4
4
parserOptions : {
5
+ ecmaVersion : 'latest' ,
6
+ sourceType : 'module' ,
5
7
project : './tsconfig.json' ,
6
8
tsconfigRootDir : __dirname ,
7
9
} ,
8
10
env : {
9
11
node : true ,
10
12
mocha : true ,
13
+ es2024 : true ,
11
14
} ,
12
- plugins : [ '@typescript-eslint' , 'header ' , 'no-null ' , 'aws-toolkits' ] ,
15
+ plugins : [ '@typescript-eslint' , 'unicorn ' , 'header ' , 'aws-toolkits' ] ,
13
16
extends : [
14
17
'eslint:recommended' ,
15
18
'plugin:@typescript-eslint/eslint-recommended' ,
@@ -90,7 +93,6 @@ module.exports = {
90
93
'@typescript-eslint/no-namespace' : 'error' ,
91
94
// This is off because prettier takes care of it
92
95
'no-extra-semi' : 'off' ,
93
- 'no-null/no-null' : 'error' ,
94
96
'@typescript-eslint/no-empty-function' : 'off' ,
95
97
'@typescript-eslint/no-unused-vars' : 'off' ,
96
98
'@typescript-eslint/no-floating-promises' : 'error' , // Promises must catch errors or be awaited.
@@ -105,6 +107,39 @@ module.exports = {
105
107
// Do not check loops so while(true) works. Potentially reevalute this.
106
108
'no-constant-condition' : [ 'error' , { checkLoops : false } ] ,
107
109
'no-empty' : 'off' ,
110
+
111
+ // Rules from https://github.com/sindresorhus/eslint-plugin-unicorn
112
+ // TODO: 'unicorn/no-useless-promise-resolve-reject': 'error',
113
+ // TODO: 'unicorn/prefer-at': 'error',
114
+ // TODO: 'unicorn/prefer-event-target': 'error',
115
+ // TODO: 'unicorn/prefer-negative-index': 'error',
116
+ // TODO: 'unicorn/prefer-string-slice': 'error',
117
+ // TODO: 'unicorn/prefer-regexp-test': 'error',
118
+ // TODO: 'unicorn/prefer-ternary': 'error',
119
+ // TODO(?): 'unicorn/custom-error-definition': 'error',
120
+ // TODO(?): 'unicorn/prefer-json-parse-buffer': 'error',
121
+ // TODO: ESM modules https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-module.md
122
+ // 'unicorn/prefer-module': 'error',
123
+ 'unicorn/no-abusive-eslint-disable' : 'error' ,
124
+ 'unicorn/no-null' : 'error' ,
125
+ 'unicorn/no-unnecessary-polyfills' : 'error' ,
126
+ 'unicorn/no-useless-spread' : 'error' ,
127
+ 'unicorn/prefer-array-some' : 'error' ,
128
+ 'unicorn/prefer-blob-reading-methods' : 'error' ,
129
+ 'unicorn/prefer-code-point' : 'error' ,
130
+ 'unicorn/prefer-date-now' : 'error' ,
131
+ 'unicorn/prefer-dom-node-text-content' : 'error' ,
132
+ 'unicorn/prefer-includes' : 'error' ,
133
+ 'unicorn/prefer-keyboard-event-key' : 'error' ,
134
+ 'unicorn/prefer-modern-dom-apis' : 'error' ,
135
+ 'unicorn/prefer-modern-math-apis' : 'error' ,
136
+ 'unicorn/prefer-native-coercion-functions' : 'error' ,
137
+ // 'unicorn/prefer-node-protocol': 'error',
138
+ // 'unicorn/prefer-object-from-entries': 'error',
139
+ 'unicorn/prefer-reflect-apply' : 'error' ,
140
+ 'unicorn/prefer-string-trim-start-end' : 'error' ,
141
+ 'unicorn/prefer-type-error' : 'error' ,
142
+
108
143
'header/header' : [
109
144
'error' ,
110
145
'block' ,
0 commit comments