-
Notifications
You must be signed in to change notification settings - Fork 231
[builders] Switch Vercel Build Output API from CJS to ESM #1562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 6 commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
27d04d7
[builders] Switch Vercel Build Output API from CJS to ESM
VaguelySerious ab40104
Fix ESM bundling: add createRequire banner and update standalone paths
VaguelySerious 94d3923
merge: resolve conflicts with main
VaguelySerious 9115bff
debug: log webhook error details in 404 response
VaguelySerious faa27f5
debug: add detailed logging for webhook isWebhook check failure
VaguelySerious ee4b766
fix: don't encrypt hook metadata so webhook handler can read it
VaguelySerious ae1c1f9
debug: add error body logging to webhook handler and test
VaguelySerious 151ce33
debug: log encryption key availability details in webhook handler
VaguelySerious 7f18f3c
fix: update encryption capability minVersion after v5 version reset
VaguelySerious 3e873ab
revert: remove debug logging from webhook handler and test
VaguelySerious 1548616
fix: update capabilities test for new encryption minVersion
VaguelySerious 21a2d06
revert: keep encrypting hook metadata in suspension handler
VaguelySerious 2a01a03
fix: sync package versions to 5.0.0-beta.0 and revert capabilities ch…
VaguelySerious cc1ce42
Merge branch 'main' into peter/esm-builders
VaguelySerious File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| "@workflow/builders": patch | ||
| "@workflow/cli": patch | ||
| --- | ||
|
|
||
| Switch Vercel Build Output API and standalone builder output from CJS to ESM. Step bundles, workflow bundles, and webhook bundles now emit ESM format by default, preserving native `import.meta.url` support and eliminating the need for CJS polyfills. Fully-bundled ESM output includes a `createRequire` banner to support CJS dependencies that use `require()` for Node.js builtins. The intermediate workflow bundle (which runs inside `vm.runInContext`) remains CJS as required by the VM execution model. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non-blocking: The
var require = __createRequire(import.meta.url)declaration shadows any ambientrequirein the scope. In ESM,requireisn't defined anyway so there's nothing to shadow. But if esbuild's CJS shim emits its ownvar require = ...later in the bundle, there could be a double declaration. In practice esbuild doesn't do this forformat: 'esm'(it uses__requireinternally), so it's fine. Just noting for awareness.