This document is meant to serve as a rudimentary introduction to the set up and use of Yarn Workspaces in
In this documentation, references to
src/platform are meant to indicate the repository directory vets-website/tree/main/src/platform; similarly,
src/applications indicates vets-website/tree/main/src/applications
What is a workspace
Yarn Workspaces is a feature that allows users to install dependencies from multiple
package.jsonfiles in subfolders of a single root
package.jsonfile, all in one go. Yarn can also create symlinks between Workspaces that depend on each other, which will ensure the consistency and correctness of all directories.
Put simply, a workspace is a package of managed code.
A directory denoted via a valid
A valid workspace at the root of
A worktree maintainer’s function is to ensure the health of the overall worktree, perform the initial set up of workspaces, consult with workspace maintainers, and deal with any issues stemming from the use of workspaces that affect the repo globally.
A workspace maintainer’s function the maintenance (not set up) of the workspace(s) specifically corresponding to their team's projects. This may entail tasks such as: managing dependencies, managing their apps entries in the
Users can be categorized into two types: worktree maintainers and workspace maintainers.
The Release Tools team serves as the worktree maintainers. They, exclusively, define, set up and trouble shoot issues with the worktree. Release Tools sets up new workspaces for eligible teams. Release Tools also assists in maintaining workspaces within
Workspace maintainers are members of app teams (VFS or Platform) that maintain the pre-existing workspaces corresponding to their own team's projects.
Release Tools has set up the existing child directories of
src/platform as workspaces. As such, all Platform teams can be considered workspace maintainers by default.
Please consult the Workspace Maintenance: Overview.
If you are part of Release Tools you should familiarize yourself with both the Workspace Maintenance: Overview and the Worktree and Workspace Setup Guide.
Help and feedback
Create an issue ticket to suggest changes to this page