ESLint: TypeError: this.libOptions.parse is not a function

Viewed 35000

I was getting started with Next.js on WebStorm 2022.2.1 Build #WS-222.3739.57 I created a new Next.js project with typescript enabled, and that's all,

The error is shown below:

TypeError: this.libOptions.parse is not a function

TypeError: this.libOptions.parse is not a function
    at ESLint8Plugin.<anonymous> (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:139:64)
    at step (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:44:23)
    at Object.next (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:25:53)
    at C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:19:71
    at new Promise (<anonymous>)
    at __awaiter (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:15:12)
    at ESLint8Plugin.invokeESLint (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:133:16)
    at ESLint8Plugin.<anonymous> (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:120:44)
    at step (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:44:23)
    at Object.next (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:25:53)
Process finished with exit code -1

My node.js is v16.15.1, and the eslint version is 8.23.0

This is what my devDependencies look like;

  "devDependencies": {
    "@types/node": "18.7.13",
    "@types/react": "18.0.17",
    "@types/react-dom": "18.0.6",
    "eslint": "8.23.0",
    "eslint-config-next": "12.2.5",
    "prisma": "^4.2.1",
    "typescript": "4.8.2"
  }

my .eslintrc.json,

{
  "extends": "next/core-web-vitals"
}
5 Answers

The issue is tracked at WEB-57089, it is fixed in 2022.2.2 preview build.

Issue is caused by the changes introduced in eslint@8.23 (Offending upstream commit: View in Github), downgrading ESLint to 8.22.x or earlier (with npm install eslint@8.22.0 --save-exact) should help

If you are looking for a temporary fix, you can "pin" ESLint version to 8.22.0 in your package.json set it to:

"eslint": "8.22.0"

After that update your project to get back to 8.22 instead of 8.23, i.e.

  • remove node_modules folder
  • clean package-lock.json (by removing it too)
  • run npm install

Or in one command:

rm -rf node_modules; rm package-lock.json; npm install

Let's hope this issue will be resolved soon

I was having the same issue as well with eslint + webstorm

Here is the solution

yarn add eslint@8.22.0 --save-exact

npm install eslint@8.22.0 --save-exact

I faced the same issue. This solve it.

npm install eslint@8.22.0 --save-exact

FYI: there is now an update which fixes this :)

Related