yarn-changed-workspaces

2.0.11 • Public • Published

yarn-changed-workspaces

A small utility tool to be used in CI/CD pipelines along with git to trigger dependent libraries' workflows in a monorepo pattern.

CI Coverage Status

Install

yarn global add yarn-changed-workspaces

CLI

yarn-changed-workspaces --help

Node.js

./package.json

{
  "workspaces": ["packages/*"]
}
const getChangedWorkspaces = require("yarn-changed-workspaces");

(async () => {
  const workspaces = await getChangedWorkspaces({
    branch: "master",
    projectRoot: process.cwd(),
  });
  console.log("changes", workspaces);
})();

Control scope of change

./package.json

{
  "private": true,
  "workspaces": ["packages/*"]
}

./packages/app/package.json

{
  "name": "@team/ui",
  "version": "1.0.0",
  "workspace": { "files": ["!**/*.(test|spec).(j|t)s(x)?"] }
}

Limitation

git is the core diffing tool. This library will not work if you use a different distributed version-control system for tracking changes in source code during software development

Package Sidebar

Install

npm i yarn-changed-workspaces

Weekly Downloads

148

Version

2.0.11

License

MIT

Unpacked Size

24.6 kB

Total Files

26

Last publish

Collaborators

  • crabicode