chore: do not use platform: "node"
defaults
#77
Merged
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.
The
platform
config assumes a CommonJS world when set to the"node"
value. Any of the implied defaults can be overridden (as already done withformat: esm
), but I changed theplatform
value to"neutral"
to indicate that (along with these changes) we're no longer relying on any default value from the"node"
setting.Ran the tests locally after new build outputs & everything seems to be fine. Also checked most build output contents manually – most of them appear to be unchanged, but there are some improvements. Using
cli-parser
as an example here:Before
This is all boilerplate stuff that esbuild injects to import & expose CommonJS dependencies as if they were written in ESM format. It's ~30 lines of helper logic that's entirely unneeded because
mri
has a 'module' entry that can be used.In the new build, the
mri
dependency is inlined directly w/o any boilerplate helpers.This happens in a couple other modules too