-
Notifications
You must be signed in to change notification settings - Fork 169
Fix dependencies, create config packages, and implement depcheck --fix-errors #3948
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
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
apps/fluent-tester/src/TestComponents/PersonaCoin/CustomizeUsage.mobile.tsx
Show resolved
Hide resolved
|
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. |
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.
Probably change title / commit message since we aren't moving to pnpm
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