-
Notifications
You must be signed in to change notification settings - Fork 32
chore: 🤖 hoist esbuild to consolidate ember-source dependencies
#3052
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
Open
hashicc
wants to merge
2
commits into
main
Choose a base branch
from
hoist-esbuild
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+113
−330
Conversation
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
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ember-source dependencies
hashicc
commented
Nov 6, 2025
| ember-simple-auth: | ||
| specifier: ^6.1.0 | ||
| version: 6.1.0(@babel/[email protected])(@ember/[email protected](@babel/[email protected])(@glint/[email protected]))(@glint/[email protected])([email protected](@glimmer/[email protected])(@glint/[email protected])([email protected])([email protected]))([email protected]) | ||
| version: 6.1.0(@babel/[email protected])(@ember/[email protected](@babel/[email protected])(@glint/[email protected]))(@glint/[email protected])([email protected](@glimmer/[email protected])(@glint/[email protected])([email protected])([email protected]([email protected])))([email protected]) |
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.
This is another way of seeing how the installation key in node_modules/.pnpm is affected with esbuild now being included universally where ember-source is used
71e0307 to
e597b53
Compare
e597b53 to
6aec729
Compare
6aec729 to
9c2559a
Compare
9c2559a to
0b8ffab
Compare
This addresses an eslint error but also is more explicit with the api addon using esbuild directly
0b8ffab to
b6d58ca
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
This PR is to address an Embroider + Vite build error. The tooling reports the following issue of finding two different
ember-sourceresolutions:pnpminstalls dependencies in its store atnode_modules/.pnpm.Currently, looking in the
node_modules/.pnpmonmainafter a freshpnpm installresults in this set upember-sourcewith 2 "installations":The only difference between these two
ember-sourceinstallation sources isesbuildbeing included. pnpm should try to dedupe them by default. The example in the documentation is specifically around this scenario: webpack + esbuild. All the versions in the key forember-source,@glimmer/component,@glint/template,rsvp,webpackare the same so I believe this should be deduped. The documentation mentions only version mismatches should prevent this dedupe.This webpack + esbuild scenario arrises from the
apiaddon package which has both webpack + esbuild:webpackhas a dependency onterser-webpack-pluginwhich has an optional peer dependency onesbuildember-sourcedepends onember-auto-importwhich depends onbabel-loaderwhich depends onwebpackIf you remove the esbuild from
apiaddon, removenode_modulesand runpnpm install, you'll see just oneember-sourceentry (the end goal):While this fixes the issue of just one
ember-sourceinstallation it means thatesbuildisn't available for theapidependency which is needed for our worker builds. Another solution to consolidate theember-sourceinstallation is to includeesbuildanywhere we havewebpack. This can be done by going to every package and including it explicitly or by hoisting it to the workspace root and then it's available to every workspace implicitly. This results in a singleember-sourceentry:As to why the dedupe isn't working, there may be a bug? Based on that issue, the workaround is what I've done in this PR:
This PR installs
esbuildat the root of the workspace and we get a single version ofember-source. If this bug gets fixed we can rely on deduping and remove the workspace-level installation ofesbuild.How to Test
One
ember-sourceinstallationember-sourceentriesFrom boundary-ui root
See that there are two entries starting with
ember-source, one withesbuildand one withoutember-sourceentryFrom boundary-ui root
See that there is one entry starting with
ember-source, it includesesbuildesbuildis still workingThe builds should work, and this includes the workers. This should be covered by CI and the vercel builds
Checklist
- [ ] I have added before and after screenshots for UI changes- [ ] I have added JSON response output for API changes- [ ] I have commented on my code, particularly in hard-to-understand areas- [ ] I have added tests that prove my fix is effective or that my feature works- [ ] I have addeda11y-testslabel to run a11y audit tests if neededPCI review checklist
Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.