Skip to content

Update yarn to the latest stable version and add dynamic-extensions plugin #3924

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 5 commits into from
Jul 7, 2025

Conversation

JasonVMo
Copy link
Contributor

@JasonVMo JasonVMo commented Jul 3, 2025

Platforms Impacted

  • build only change

Description of changes

This is another engineering system change. I updated yarn's version to 4.9.2 which is the latest stable version. It has some performance fixes that Danny put in and has the latest features.

I also added the @rnx-kit/yarn-dynamic-extensions plugin which can push dependencies to all the packages in the repo. See dynamic.extensions.mjs for the starting configuration.

Note that while this plugin will add things as dependencies, that simply ensures the node_modules are configured and the packages are available within the package scope. Because they are not added to the package.json itself it doesn't actually cause a change in the dependency graph, it is simply a way of adding/updating dev dependencies without having to change every package.json in the project.

@JasonVMo JasonVMo requested a review from a team as a code owner July 3, 2025 18:02
@JasonVMo JasonVMo enabled auto-merge (squash) July 3, 2025 18:02
@Saadnajmi
Copy link
Collaborator

Could we separate the yarn update from the dynamic dependency update? The latter looks like it'd have more effect, and I'm not sure what it's for from just this PR, but the yarn update we should probably just take.

@JasonVMo
Copy link
Contributor Author

JasonVMo commented Jul 3, 2025

Could we separate the yarn update from the dynamic dependency update? The latter looks like it'd have more effect, and I'm not sure what it's for from just this PR, but the yarn update we should probably just take.

As per the discussion we had just now, the yarn bump + plugin gives me an escape valve to push common dev dependencies to the packages without having to create a lot of churn, which was what motivated this change. This is also something we are using in rnx-kit, and something whos usage is planned in OMR. The depcheck pass will ensure dependencies are directly declared.

One other note. Because eslint is not included in the devDependencies (the version is being picked up from just) it is not actually being applied to the packages. So the impact of the change is to make typescript and just-scripts available in the packages in the repo.

@rurikoaraki
Copy link
Collaborator

Btw the tester_deps package will need a similar change

@JasonVMo JasonVMo merged commit 49dd266 into main Jul 7, 2025
11 checks passed
@JasonVMo JasonVMo deleted the user/jasonvmo/bump-yarn branch July 8, 2025 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants