Temporarily disable ESM engine resolution when using the standalone binary #525
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.
Marp CLI is using Vercel's pkg to build standalone binaries. However, it still cannot use ESM resolution via
import()
. Marp CLI v3.0.0 has supported ESM engine, but the standalone binary has been reported failing execution when trying to resolve an integrated Marp Core viaimport()
due to lacked ESM support of pkg.Not only pkg, alternative ways to make a binary also not supported ESM for now: nexe, the single executable application (Node.js 20))
So we currently have to disable ESM resolution in the binary packaged by pkg, and must revert to the same way as v2 (using
import-from
). If tried to resolve ESM in the standalone binary, Marp CLI fails with outputting more clear error message.Close #524 for now.
ToDo