You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
workspace-tools had been used by some of the key monorepo scripts & tools that manage some of the large Microsoft JS projects. This library really came from merging tooling from these repos: backfill, beachball, just-scripts, and lage.
Problems of v0.x
The library has these characteristics & problems:
the library is a LOOSELY defined set of functions surrounding getting workspace information and related git operations
the additions to the library are mainly static functions, not classes
some functions attempt to do caching but without standard ways to invalidate cache
ALL functions are synchronous 👎🏼
packageInfos and workspaces are loosely used between different functions as the "state" to be passed between functions - these are not used consistently
Proposal
Goals
API surface should be designed ahead of time before implementation
No external dependencies (lockfiles implementation, etc. should be implemented JUST enough to gather the information needed)
Prefer library calls over spawning processes
Asynchronous and Synchronous API surface
Leverage NAPI if it makes the operation fast
Split repo into monorepo to clearly delineate different aspects of workspace-tools - e.g. git, lockfile, filtering (Split workspace-tools package #229)
The text was updated successfully, but these errors were encountered:
Overview
workspace-tools
had been used by some of the key monorepo scripts & tools that manage some of the large Microsoft JS projects. This library really came from merging tooling from these repos:backfill
,beachball
,just-scripts
, andlage
.Problems of v0.x
The library has these characteristics & problems:
packageInfos
andworkspaces
are loosely used between different functions as the "state" to be passed between functions - these are not used consistentlyProposal
Goals
workspace-tools
- e.g. git, lockfile, filtering (Split workspace-tools package #229)The text was updated successfully, but these errors were encountered: