This folder contains packages used for building and managing the contents of Fluid Framework repositories and implementing the Fluid Framework release process.
A build and release tool for the Fluid Framework GitHub repositories. flub is intended to replace the existing fluid build-tools, primarily by reusing existing build-tools functionality and wrapping it in a more consistent, maintainable CLI using oclif.
This package contains both CLI tools and supporting code. This is the home of all the "classic" Fluid build tools, like policy-check, fluid-bump-version, etc.
Note: Don't add new CLI commands to this package. Instead, add a new command to the build-cli
package and import the
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.
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.
There are many ways to contribute to Fluid.
- Participate in Q&A in our GitHub Discussions.
- Submit bugs and help us verify fixes as they are checked in.
- Review the source code changes.
- Contribute bug fixes.
Detailed instructions for working in the repo can be found in the Wiki.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services. Use of these trademarks or logos must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Not finding what you're looking for in this README? Check out fluidframework.com.
Still not finding what you're looking for? Please file an issue.
Thank you!
This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
Use of these trademarks or logos must follow Microsoft's Trademark & Brand Guidelines.
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.