microsoft / microsoft/TypeScript-Website
CRITICAL: Can't start the dev server on Node 20 — flowtype ESLint plugin error
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.6k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 7
Description
Hey everyone,
I ran into an issue while setting up the project locally and wanted to
flag it as it would affect anyone trying to contribute on Node 20.
When I ran pnpm start, the dev server failed immediately with this error:
Failed to load plugin 'flowtype' declared in 'BaseConfig':
Package subpath './lib/rules/no-unused-expressions' is not defined
by "exports" in eslint-plugin-flowtype
After some digging I found that eslint-config-react-app has a dependency
on eslint-plugin-flowtype which doesn't play nicely with the version of
ESLint being used here when running on Node 20.
Node 20 is the current LTS version so this would affect a lot of people
trying to contribute for the first time.
I've put together a fix in PR #3557 if anyone wants to take a look. It's
a small override that resolves the conflict and gets the dev server running
without affecting any functionality.
My environment:
- Node: v20.20.2
- pnpm: v10.30.3
- OS: macOS (Apple Silicon / arm64)
Happy to provide any more info if needed!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing PR #3557 and the dependency configuration involved in eslint-config-react-app and eslint-plugin-flowtype. Run pnpm start on Node 20 to reproduce the plugin error; done means the dev server starts without the reported exports failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nodejs, typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100