Update to eslint v8

  • Plugin compatibility with eslint v8:
    • eslint-plugin-jest (PR)
    • eslint-plugin-jsdoc
    • eslint-plugin-node
    • eslint-plugin-sonarjs
  • CLIEngine class has been removed
    • Move to ESLint class, lintText function (which is now async), change option configFile to overrideConfigFile. Returns an array of results instead of a results object, so need to adjust (per the docs only ever one value, returns an array for commonality with other lint functions).
    • Will need this or this until Jest fixes this.
  • New rules added to eslint:recommended: no-unsafe-optional-chaining
Edited by Aaron Goldenthal