Skip to content

Fix phantom devDependencies for pnpm compatibility - #1769

Open
MooseTheRebel wants to merge 1 commit into
thunderbird:mainfrom
MooseTheRebel:fix/issues-1753
Open

Fix phantom devDependencies for pnpm compatibility#1769
MooseTheRebel wants to merge 1 commit into
thunderbird:mainfrom
MooseTheRebel:fix/issues-1753

Conversation

@MooseTheRebel

Copy link
Copy Markdown

What changed?

Added @eslint/js and typescript-eslint as explicit devDependencies in frontend/package.json, pinned to 9.39.5 and 8.65.0 to match the already-declared eslint and @typescript-eslint/eslint-plugin/parser versions.

Regenerated frontend/package-lock.json via npm install, which also dropped a stray duplicate transitive typescript-eslint@8.61.1 entry now that the top-level dependency resolves and dedupes correctly.

Why?

The frontend/eslint.config.js configuration imports @eslint/js and typescript-eslint directly, but neither was declared in package.json. Under npm's flat node_modules, these resolved anyway because both are hoisted transitive dependencies.

This breaks outright under pnpm's strict linking (pnpm run lint fails with ERR_MODULE_NOT_FOUND), which matters as pnpm is adopted (#1746).

It's also a correctness issue independent of that migration, since it only works today by accident of npm's hoisting behavior.

Limitations and Notes

This declares the dependencies explicitly, so that if the maintainers prefer they can merge this without the full pnpm migration.

Applicable Issues

Closes #1753

Screenshots

N/A — no UI changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Phantom devDependencies in frontend/eslint.config.js break pnpm (@eslint/js, typescript-eslint)

1 participant