Skip to content

build-tools v0.13.0

Compare
Choose a tag to compare
@tylerbutler tylerbutler released this 22 Mar 20:12
· 6332 commits to main since this release
3f87129

The 0.13 build-tools release includes a new command, flub exec, and various bug fixes. These release notes
cover the major changes in this release.

✨ Features

flub exec runs shell commands in the context of repo projects

PR #14635

The flub exec command can be used to execute shell commands in the context of packages or release groups in the repo.

The following example runs pnpm -r remove @rushstack/eslint-config on all independent packages and all release group root packages:

flub exec --all --releaseGroupRoots "pnpm -r remove @rushstack/eslint-config"

check policy has a setting to ignore single-package pnpm workspaces

PR #14656

pnpm does not support nesting packages under a workspace that is not managed by the workspace. That is, if there's a pnpm-workspace.yaml file anywhere in the parent hierarchy, pnpm doesn't install the package individually like one might expect.

Because we have the client release group at the root of the repo, there's a pnpm-workspace.yaml file in the hierarchy for our independent packages as well. We put a workspace file in each independent package so pnpm treats the project as a one-package workspace.

However, for check policy, we need to be able to treat these single-package workspaces differently. In particular we
don't want to enforce the preinstall script that we use in release group roots. There is now a setting that contains a list of packages that are single-package workspaces.

🐛 Bug fixes

This list only includes notable bug fixes. See the changelog for a full list of fixes in this release.

check policy now uses the correct indentation when editing package.json files

PR #14481

Previously the indentation was changed to spaces when check policy was run. This has been corrected.