-
Notifications
You must be signed in to change notification settings - Fork 37
chore: lighter prod dependencies #649
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
base: master
Are you sure you want to change the base?
Conversation
Thanks for the pull request, @regisb! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. Where can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
This is ready for review. FYI @bradenmacdonald This builds on another pull request you opened some time ago: #566 |
We move development dependencies to devDependencies, such that `npm install --omit=dev` becomes faster and more lightweight. In the case of frontend-app-profile, this changes shaves off a few hundred MB of disk space. Note the move of @babel/preset-typescript from devDependencies to dependencies: this fixes MFE build with yarn, which was previously failing: git clone https://github.com/openedx/frontend-app-profile/ cd frontend-app-profile yarn install npm run build Was resulting in the following error: ERROR in ./src/index.jsx Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find package '@babel/preset-typescript' imported from node_modules/@openedx/frontend-build/config/babel-virtual-resolve-base.js This is because yarn does not install devDependencies of package dependencies, as opposed to npm.
@regisb Awesome :) |
Note: apparently this is more contentious than I thought - see the discussion at openedx/frontend-platform#787 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #649 +/- ##
=============================
=============================
☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Thanks for reviewing @UsamaSadiq! It looks like this PR is ready to be merged? |
Yes, this should be good to merge. |
I'd like to bring in @brian-smith-tcril and @adamstankiewicz in the conversation here to get their approval, and confirm that the changes here match the decision that was made in this other PR. |
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.
If we go down this path it would need to land as a breaking change. MFEs currently rely on frontend-build
having these direct dependencies.
The pattern proposed in openedx/frontend-platform#790 makes more sense to me. With that we can keep frontend-build
's dependencies as-is, but treat frontend-build
itself as a dev dependency.
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.
Marking this as "change requested" until we decide if we want to go the "frontend-build
as dev dependency route" or this route (and the commit message is updated so semantic release knows it is a breaking change)
Sounds good, just let me know what you decide and I'll update the PR accordingly. |
We move development dependencies to devDependencies, such that
npm install --omit=dev
becomes faster and more lightweight. In the case of frontend-app-profile, this changes shaves off a few hundred MB of disk space.Note the move of @babel/preset-typescript from devDependencies to
dependencies: this fixes MFE build with yarn, which was previously
failing:
Was resulting in the following error:
This is because yarn does not install devDependencies of package
dependencies, as opposed to npm.