monorepo-utils icon indicating copy to clipboard operation
monorepo-utils copied to clipboard

A collection of utilities for monorepo/lerna. Tools for TypeScript project references etc..

monorepo-utils Actions Status: test

This repository is utilities for monorepo. Also, this repository is a monorepo.

Packages

@monorepo-utils/package-utils

Collect package file path in the monorepo.

Supports following package manager's workspaces.

  • Lerna(lerna.json)
  • Yarn's workspaces
  • npm v7+'s workspaces

@monorepo-utils/workspaces-to-typescript-project-references

This tool convert lerna/npm workspaces/yarn workspaces to TypeScript's Project References.

You can keep package dependencies synchronized between lerna/npm/yarn workspaces and TypeScript.

@monorepo-utils/collect-changelog

@monorepo-utils/collect-changelog get change from each package's CHANGELOG.md. It help to collect changelog in lerna's Independent mode.

Deprecated Packages

Deprecated @monorepo-utils/publish

@monorepo-utils/publish help npm publish.

This script split lerna publish(lerna 2) into versioning and publishing.

:warning: Notes:

lerna 3 support lerna version and lerna publish. You should use lerna 3 directly.

Release Flow

Following command release changed packaged and created release note to Releases.

$ GH_TOKEN="${YOUR_GITHUB_TOKEN}" npm run versionup -- --create-release=github && npm run release --yes