build(build-tools): migrate fluid-build to use build-infrastructure for repo layout#26878
Closed
tylerbutler wants to merge 2 commits into
Closed
build(build-tools): migrate fluid-build to use build-infrastructure for repo layout#26878tylerbutler wants to merge 2 commits into
tylerbutler wants to merge 2 commits into
Conversation
…or repo layout Replace fluid-build's internal FluidRepo/MonoRepo/Package classes with build-infrastructure's BuildProject/IReleaseGroup/IPackage for repo layout discovery. Add a new `flub build` oclif command in build-cli as a thin wrapper around the build engine. Key changes: - FluidRepoBuild composes BuildProject instead of extending FluidRepo - FluidBuildPackage wraps IPackage with build-specific state (matched, etc.) - Local structural types in buildInfraTypes.ts for CJS/ESM interop - New `flub build` command in build-cli with all fluid-build flags - Deprecated FluidRepo/MonoRepo/Package exports preserved for backward compat
Contributor
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (811 lines, 13 files), I've queued these reviewers:
How this works
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Migrates
fluid-buildfrom its internalFluidRepo/MonoRepo/Packageclasses (all marked@deprecated) to use@fluid-tools/build-infrastructure'sBuildProject/IReleaseGroup/IPackagefor repo layout discovery. Also adds a newflub buildoclif command in build-cli as a thin wrapper around the build engine.Architecture:
FluidRepoBuildnow composes aBuildProject(vialoadBuildProject) instead of extendingFluidRepoFluidBuildPackagewrapsIPackagewith build-specific state (matched,getLockFilePath, etc.)buildInfraTypes.tssolve CJS/ESM interop (build-infrastructure is ESM-only, build-tools emits CJS)FluidRepo,MonoRepo,Packageexports are preserved for backward compatibilityNew
flub buildcommand:fluid-buildflags mapped to oclif flagsFluidRepoBuildenginefluid-buildbinary continues to work during transitionReviewer Guidance
The review process is outlined on this wiki page.
optionssingleton fromoptions.tsis still used by the build engine. Theflub buildcommand populates it viaObject.assignbefore calling the engine. A future PR should thread options throughBuildContextinstead.flub buildcommand has a minor cosmetic issue where positional package args may appear in the task name log line.fluid-buildandflub buildboth produce identical build results. All 137 existing tests pass.