Avoid dynamic require of the native package (2nd attempt) #204
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.
This is a PR against the v0.5 branch
This is a second attempt at #200, which was reverted due to a regression in esbuild (#201).
This is an attempted fix/mitigation for vercel/next.js#82881 (comment)
Apparently esbuild requires try/catch blocks to make failing non-dynamic
require
s throw a runtime instead of at build time. #201This new implementation more closely matches the pattern used on the
main
branch:libsql-js/index.js
Lines 31 to 311 in 31bed66
I tested this against the minimal repro at https://github.com/RomanHotsiy/libsql-bug-repro
I can't get the code built by esbuild that repro to run (
node dist/index.js
):mjs
tocjs
to get node to run it*.node
file has to be handled somehow, which the repro doesn't doHowever that repro now builds cleanly (
npm run build
), which is all I think it's really intended to show.