docs(build-tools): Add info about testing build-tools against client (#22682)

Adds some info to the build-tools README about how to test local
build-tools changes against client using pnpm overrides.

---------

Co-authored-by: Alex Villarreal <716334+alexvy86@users.noreply.github.com>
This commit is contained in:
Tyler Butler 2024-09-30 16:08:15 -07:00 коммит произвёл GitHub
Родитель 20b6410315
Коммит 5163b54ae8
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
1 изменённых файлов: 23 добавлений и 0 удалений

Просмотреть файл

@ -22,6 +22,29 @@ functionality you need from this package.
This package contains APIs and a CLI for working with semantic versioning version strings and ranges, especially those
using [Fluid-specific version schemes.](./packages/version-tools/README.md#version-schemes)
## Testing build-tools changes in the client release group
It is very useful to test changes in build-tools against the client release group because the test coverage of
build-tools is limited, and manually testing locally with the client will expose obvious things like broken incremental
builds, etc.
The easiest way to test build-tools in client is to use pnpm overrides. You can use the following command from the root of the repo to update the
root package.json and lockfile to link to the local version of build-tools:
```
npm pkg set pnpm.overrides.@fluidframework/build-tools=link:./build-tools/packages/build-tools pnpm.overrides.@fluid-tools/build-cli=link:./build-tools/packages/build-cli
pnpm i --no-frozen-lockfile
```
Once done, when you run `pnpm build` from the root, it will invoke the local in-repo versions of flub and fluid-build.
> [!TIP]
> Note that if you make changes to build-tools, you'll need to rebuild build-tools for those changes to take effect in
> the client release group.
You cannot merge in this state, but it allows you to test changes locally, including applying the results of new repo
policies, re-generating type tests with updated code, etc.
<!-- AUTO-GENERATED-CONTENT:START (README_FOOTER) -->
<!-- prettier-ignore-start -->