|
1 | 1 | { |
2 | 2 | "$schema": "./node_modules/oxlint/configuration_schema.json", |
3 | 3 | "plugins": ["import", "typescript", "unicorn", "jest"], |
| 4 | + "options": { |
| 5 | + "typeAware": true |
| 6 | + }, |
4 | 7 | "categories": { |
5 | 8 | "correctness": "error" |
6 | 9 | }, |
|
69 | 72 | "jest/valid-title": "off", |
70 | 73 | "jest/valid-describe-callback": "warn", |
71 | 74 | "jest/no-conditional-expect": "warn", |
72 | | - "jest/no-export": "warn" |
| 75 | + "jest/no-export": "warn", |
| 76 | + |
| 77 | + "@typescript-eslint/no-floating-promises": "error", |
| 78 | + "@typescript-eslint/await-thenable": "error", |
| 79 | + "@typescript-eslint/no-for-in-array": "error", |
| 80 | + "@typescript-eslint/no-implied-eval": "error", |
| 81 | + "@typescript-eslint/no-unnecessary-type-assertion": "error", |
| 82 | + "@typescript-eslint/restrict-plus-operands": "error", |
| 83 | + "@typescript-eslint/restrict-template-expressions": "error", |
| 84 | + "@typescript-eslint/unbound-method": "error", |
| 85 | + "@typescript-eslint/no-base-to-string": "error", |
| 86 | + "@typescript-eslint/only-throw-error": "error", |
| 87 | + "@typescript-eslint/prefer-promise-reject-errors": "error", |
| 88 | + "@typescript-eslint/no-duplicate-type-constituents": "error", |
| 89 | + "@typescript-eslint/no-redundant-type-constituents": "error", |
| 90 | + "@typescript-eslint/consistent-type-imports": "off", |
| 91 | + "@typescript-eslint/require-await": "off", |
| 92 | + "@typescript-eslint/no-misused-promises": "off", |
| 93 | + "@typescript-eslint/no-unsafe-argument": "off", |
| 94 | + "@typescript-eslint/no-unsafe-assignment": "off", |
| 95 | + "@typescript-eslint/no-unsafe-call": "off", |
| 96 | + "@typescript-eslint/no-unsafe-enum-comparison": "off", |
| 97 | + "@typescript-eslint/no-unsafe-member-access": "off", |
| 98 | + "@typescript-eslint/no-unsafe-return": "off", |
| 99 | + "@typescript-eslint/require-array-sort-compare": "off", |
| 100 | + "@typescript-eslint/no-misused-spread": "off" |
73 | 101 | }, |
74 | 102 | "globals": { |
75 | 103 | "AudioWorkletGlobalScope": "readonly", |
|
107 | 135 | "no-console": "off" |
108 | 136 | } |
109 | 137 | }, |
| 138 | + { |
| 139 | + "files": ["**/scripts/**", "typescript/infra/src/**/*.ts"], |
| 140 | + "rules": { |
| 141 | + "@typescript-eslint/no-floating-promises": "off" |
| 142 | + } |
| 143 | + }, |
110 | 144 | { |
111 | 145 | "files": [ |
112 | 146 | "typescript/sdk/src/**/*.ts", |
|
194 | 228 | "import/no-nodejs-modules": "off", |
195 | 229 | "no-restricted-imports": "off" |
196 | 230 | } |
| 231 | + }, |
| 232 | + { |
| 233 | + "files": [ |
| 234 | + "typescript/aleo-sdk/src/**/*.ts", |
| 235 | + "typescript/ccip-server/src/**/*.ts", |
| 236 | + "typescript/cli/src/**/*.ts", |
| 237 | + "typescript/cosmos-sdk/src/**/*.ts", |
| 238 | + "typescript/github-proxy/**/*.ts", |
| 239 | + "typescript/helloworld/src/**/*.ts", |
| 240 | + "typescript/http-registry-server/**/*.ts", |
| 241 | + "typescript/infra/**/*.ts", |
| 242 | + "typescript/radix-sdk/src/**/*.ts", |
| 243 | + "typescript/rebalancer/src/**/*.ts", |
| 244 | + "typescript/rebalancer-sim/src/**/*.ts", |
| 245 | + "typescript/sdk/src/**/*.ts", |
| 246 | + "typescript/svm-sdk/src/**/*.ts", |
| 247 | + "typescript/tron-sdk/src/**/*.ts", |
| 248 | + "typescript/utils/src/**/*.ts", |
| 249 | + "typescript/widgets/src/**/*.{ts,tsx}", |
| 250 | + "starknet/**/*.ts" |
| 251 | + ], |
| 252 | + "rules": { |
| 253 | + "@typescript-eslint/await-thenable": "off", |
| 254 | + "@typescript-eslint/no-base-to-string": "off", |
| 255 | + "@typescript-eslint/no-duplicate-type-constituents": "off", |
| 256 | + "@typescript-eslint/no-redundant-type-constituents": "off", |
| 257 | + "@typescript-eslint/no-unnecessary-type-assertion": "off", |
| 258 | + "@typescript-eslint/restrict-template-expressions": "off", |
| 259 | + "@typescript-eslint/unbound-method": "off" |
| 260 | + } |
| 261 | + }, |
| 262 | + { |
| 263 | + "files": ["typescript/relayer/src/**/*.ts"], |
| 264 | + "rules": { |
| 265 | + "@typescript-eslint/no-base-to-string": "off", |
| 266 | + "@typescript-eslint/restrict-template-expressions": "off" |
| 267 | + } |
| 268 | + }, |
| 269 | + { |
| 270 | + "files": [ |
| 271 | + "typescript/cli/**/*.ts", |
| 272 | + "typescript/svm-sdk/src/**/*.ts", |
| 273 | + "typescript/cosmos-sdk/src/**/*.ts", |
| 274 | + "typescript/aleo-sdk/src/**/*.ts" |
| 275 | + ], |
| 276 | + "rules": { |
| 277 | + "@typescript-eslint/consistent-type-imports": [ |
| 278 | + "error", |
| 279 | + { |
| 280 | + "prefer": "type-imports", |
| 281 | + "fixStyle": "inline-type-imports" |
| 282 | + } |
| 283 | + ] |
| 284 | + } |
| 285 | + }, |
| 286 | + { |
| 287 | + "files": ["typescript/widgets/src/**/*.{ts,tsx}"], |
| 288 | + "plugins": ["react"], |
| 289 | + "rules": { |
| 290 | + "react/rules-of-hooks": "error", |
| 291 | + "react/jsx-key": "error", |
| 292 | + "react/jsx-no-duplicate-props": "error", |
| 293 | + "react/jsx-no-undef": "error", |
| 294 | + "react/no-children-prop": "error", |
| 295 | + "react/no-danger-with-children": "error", |
| 296 | + "react/no-direct-mutation-state": "error", |
| 297 | + "react/no-find-dom-node": "error", |
| 298 | + "react/no-is-mounted": "error", |
| 299 | + "react/no-render-return-value": "error", |
| 300 | + "react/no-string-refs": "error", |
| 301 | + "react/no-unescaped-entities": "error", |
| 302 | + "react/no-unknown-property": "error", |
| 303 | + "react/require-render-return": "error", |
| 304 | + "react/exhaustive-deps": "warn", |
| 305 | + "react/display-name": "warn", |
| 306 | + "react/jsx-no-target-blank": "warn", |
| 307 | + "react/jsx-no-comment-textnodes": "warn", |
| 308 | + "react/react-in-jsx-scope": "off" |
| 309 | + } |
197 | 310 | } |
198 | 311 | ] |
199 | 312 | } |
0 commit comments