Skip to content
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

Use pnpm in build-tools instead of npm #12236

Merged
merged 79 commits into from
Nov 22, 2022

Conversation

tylerbutler
Copy link
Member

@tylerbutler tylerbutler commented Oct 4, 2022

This experimental PR switches the build-tools release group to use pnpm instead of npm to install and manage dependencies.

I made fluid-build changes in #12874 to keep it working when some release groups use pnpm and other release groups use npm. With these changes you can run fluid-build --install and it will install using pnpm for those release groups that use it, and npm elsewhere.

What about the client release group?

The client release group is currently at the root, so we can't use this approach as-is. However, we've been planning to reorganize the client anyway, so this PR assume we will move the client into its own folder under the root, at which point we can use pnpm on all release groups.

Summary of changes

  • Added some missing devDeps that pnpm's strictness exposed.
  • Removed unneeded node types in tsconfig.
  • Update root prettier configs to use import sort plugin.
  • Updated scripts in release groups' root package.json to remove excess --.

@github-actions github-actions bot added the base: main PRs targeted against main branch label Oct 4, 2022
@github-actions github-actions bot added the area: build Build related issues label Oct 4, 2022
@msfluid-bot
Copy link
Collaborator

msfluid-bot commented Nov 8, 2022

Could not find a usable baseline build with search starting at CI ed6edfb

Generated by 🚫 dangerJS against 1efb64b

tylerbutler added a commit that referenced this pull request Nov 11, 2022
This has been broken out of PR #12236.

This change enables fluid-build to use pnpm or yarn to install a release
group's dependencies instead of npm. pnpm will only be used if there is
a pnpm-workspace.yaml file in the root of the release group. yarn will
only be used if there is a yarn.lock file in the root of the release
group/package. Otherwise npm will be used.

This change also includes some lint related changes that were uncovered by
pnpm.
@tylerbutler tylerbutler merged commit 45302e4 into microsoft:main Nov 22, 2022
@tylerbutler tylerbutler deleted the build-tools/pnpm branch November 22, 2022 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: build Build related issues base: main PRs targeted against main branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants