Fix dependencies, create config packages, and implement depcheck --fix-errors#3948
Merged
Fix dependencies, create config packages, and implement depcheck --fix-errors#3948
Conversation
…sic and new jsx runtimes (#3947) * rework jsx helpers for both new and old runtimes * implement both new and old render patterns for classic and jsx-runtimes * Change files * move package README.md files to be next to the source code * update documentation * Change files * prettier format updates to documentation * tweak documentation just a bit
…sic and new jsx runtimes (#3947) * rework jsx helpers for both new and old runtimes * implement both new and old render patterns for classic and jsx-runtimes * Change files * move package README.md files to be next to the source code * update documentation * Change files * prettier format updates to documentation * tweak documentation just a bit
Saadnajmi
reviewed
Aug 1, 2025
apps/fluent-tester/src/TestComponents/PersonaCoin/CustomizeUsage.mobile.tsx
Show resolved
Hide resolved
Saadnajmi
reviewed
Aug 1, 2025
Saadnajmi
reviewed
Aug 4, 2025
Saadnajmi
reviewed
Aug 4, 2025
Saadnajmi
reviewed
Aug 4, 2025
Saadnajmi
reviewed
Aug 4, 2025
Saadnajmi
reviewed
Aug 4, 2025
Contributor
Author
|
Note that I have reverted the pnpm mode changes for now, though the dependency cleanup, dedicated config packages and everything else is still valuable and needed for the next jsx change. The issue with pnpm mode was related to the e2e test packages not working right. I started to work through the configuration but it requires a bit more understanding. |
Saadnajmi
reviewed
Aug 5, 2025
Collaborator
Saadnajmi
left a comment
There was a problem hiding this comment.
Probably change title / commit message since we aren't moving to pnpm
Saadnajmi
approved these changes
Aug 5, 2025
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
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.
Platforms Impacted
Description of changes
The repo had a large number of missing or incorrect dependencies, some of which were being hidden by the ignore list in depcheck, others being hidden by the use of the old-style node_modules layout in yarn. Because of this we often have to inject dependencies in OMR to make things work correctly.
This change includes a few key pieces:
More comprehensive
depcheckcommandThe previous use of depcheck had a large list of ignored packages that were hiding a number of issues. For various issues I had run into the issue of needing to manually make changes to large number of packages to fix things, to address this I got rid of the special casing in depcheck and adding fix capabilities.
scripts/src/preinstallthis is where various tools pull common versions.--verboseoption that will show ignored errors--fix-errorsoption that will automatically fix errors if it can. For packages that it can't determine the version it will fail.--fix-warningsoption that will fix warnings. Use this with caution as it will flag some devDependencies that are actually needed.--dry-runoption that will show what the fix mechanisms will do without making changes.The fix can be run from root by executing
yarn workspaces foreach --all --no-private run depcheck --fix-errors. The no-private option is needed for now as it will fail on the root.Dedicated packages for jest and babel configurations
This helps isolate the dependencies required for those packages so they aren't all jammed together in scripts. These were created under
packages/configsand I will move the eslint config package there as a separate change and likely eventually create a separate tsconfig package as well. These are all private packages just used within the repo.Got rid of codegen as part of the build-step
This was unnecessary as it will be done either way as part of metro bundling as it is handled by the metro babel transforms.
Switched to pnpm mode
Once fixing depcheck and doing the other work this was mainly tweaking dependency declarations to be correct.
Verification