EvgenyOrekhov / eslint-config-hardcore

The most strict (yet practical) ESLint config. 53 plugins. 1342 rules. React, Vue, Node, and pure JS/TS.
https://www.npmjs.com/package/eslint-config-hardcore
MIT License
414 stars 13 forks source link

Error from @typescript-eslint/restrict-plus-operands #764

Closed skernke closed 1 year ago

skernke commented 1 year ago

When i try to execute the linting with the latest version("eslint-config-hardcore": "39.0.3") i get this error:

eslint -c index.js "*/.{ts,js,json}" Oops! Something went wrong! :( ESLint: 8.44.0 Error: --config » eslint-config-hardcore/ts#overrides[0]: Configuration for rule "@typescript-eslint/restrict-plus-operands" is invalid: Value {"checkCompoundAssignments":true} should NOT have additional properties.

To solve this in the ts.json "@typescript-eslint/restrict-plus-operands": [ "error", { "checkCompoundAssignments": true } ],

has to be changed to:

"@typescript-eslint/restrict-plus-operands": [ "error", { "skipCompoundAssignments": true } ], That's because here it was renamed: https://github.com/typescript-eslint/typescript-eslint/pull/7027/files#diff-d55493d092b68ed80a3d5042f6153bc31def048d0ac5e9efc3987abaf075d159

EvgenyOrekhov commented 1 year ago

Not sure how your setup ended up using TypeScript ESLint v6, because eslint-config-hardcore does not support TypeScript ESLint v6 yet (npm should give a dependency conflict warning). Have to wait for https://github.com/jest-community/eslint-plugin-jest/issues/1398

voxpelli commented 1 year ago

Probably because typescript-eslint isn't specified as a peer dependency and as such the version specified by this module is not the guaranteed one to be found by eslint

Flat configs will solve this I think

EvgenyOrekhov commented 1 year ago

Should be fixed in v41.0.0