django-debug-toolbar icon indicating copy to clipboard operation
django-debug-toolbar copied to clipboard

pre-commit hook broken by recent eslint changes

Open living180 opened this issue 11 months ago • 7 comments

When developing against the main branch of DjDT, I can no longer commit changes to JS files due to a failure in pre-commit. If I force a pre-commit run on the tip of main without any changes, I get the following output:

% pre-commit run eslint --files debug_toolbar/static/debug_toolbar/js/toolbar.js
eslint...................................................................Failed
- hook id: eslint
- exit code: 2

Oops! Something went wrong! :(

ESLint: 9.0.0-beta.0

Error: Cannot find module '@eslint/js'
Require stack:
- /home/dharding/code/opensource/django-debug-toolbar/eslint.config.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/home/dharding/code/opensource/django-debug-toolbar/eslint.config.js:1:12)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:356:17)

If I revert the recent eslint changes from 38d2eea5f8b57f70a4b5bdebd6bdeae8c395d822, pre-commit works without any problems.

living180 avatar Mar 10 '24 14:03 living180

I can't seem to reproduce this unfortunately. What version of node and npm are you using?

tim-schilling avatar Mar 10 '24 18:03 tim-schilling

I'm using the versions from the stable branch of Gentoo Linux:

% node --version
v20.11.0

% npm --version
10.2.4

Gentoo has multiple other versions of nodejs available that I could try if you think that would make a difference.

living180 avatar Mar 11 '24 16:03 living180

Something interesting for me. When I restarted my pre-commit environment I see this in my logs:

[INFO] Initializing environment for https://github.com/pre-commit/mirrors-eslint:[email protected],@eslint/[email protected],globals.

Maybe 9.0.0-beta.0 was yanked?

tim-schilling avatar Mar 12 '24 21:03 tim-schilling

Nope, it's still there.

tim-schilling avatar Mar 12 '24 21:03 tim-schilling

I downgraded to the oldest version of nodejs available in Gentoo:

% node --version
v18.17.1

% npm --version
9.6.7

then ran pre-commit clean and still had the same issue.

living180 avatar Mar 17 '24 12:03 living180

Perhaps merge #1900 to see if the release candidate fixes things?

  • #1900

git commit --no-verify can be a workaround.

cclauss avatar Mar 30 '24 05:03 cclauss