fix: override tsx
dependency to known fixed version (broken on Node v18.19.0+)
#606
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Attempting to follow the Contribution Guide and run:
on a new clone of the project on Node v18.19.0+ will result in the following error message (after some logs):
Research
Looking into this:
@freben
(thanks, Fredrik!),tsx
GitHub issues and found this issue mentioning the same changelog,@privatenumber
(thanks, Hiroki!), saying the issue is fixed in v4.6.1 oftsx
.The cause (error trace)
This
tsx
issue is indeed the cause in this repo.pnpm run build
runspnpm -r --filter=\"./packages/**/*\" run build
, which runs the build scripts in all packages inpackages/**/*
build
script inpackages/devtools
includesesno scripts/prepare.ts
esno
is a thin wrapper aroundtsx
,esno
includestsx
in itspackage.json
, but as^4.1.0
, which can (and does) resolve to versions earlier than the fixed v4.6.1The solution
This PR simply adds a PNPM override of
^v4.6.1
for thetsx
package.Additional comments
It would be nice if the authors of
esno
fixed the issue in theirpackage.json
, but they don't seem to be open to this as they have disabled issues on theesno
repo and have told people to open issues in thetsx
repo instead.