@loopback/monorepo
v0.6.0
Published
A set of scripts to maintain a lerna monorepo
Downloads
627
Keywords
Readme
@loopback/monorepo
This module contains a set of common scripts to maintain a lerna monorepo.
script-util
: common utility functions forlerna
check-package-locks
: check ifpackage-lock.json
files has local packages.rebuild-package-locks
: rebuildpackage-lock.json
files for all packages or packages matching given scopes.run-lerna
: runlerna
command withLERNA_ROOT_PATH
environment variable set to the root path of the monorepoconfig-lerna-scopes
: return a list of scope names for conventional commits.update-package-deps
: update package dependencies to match versions of local packages.update-package-json
: updatepackage.json
files for all packages based on metadata from the rootpackage.json
for the monorepoupdate-ts-project-refs
: updatetsconfig.json
with TypeScript project references based on the dependency graph.
Basic use
To use @loopback/monorepo
for your lerna monorepo, run the following command
to add @loopback/monorepo
as a dev dependency to the root project.
npm i @loopback/monorepo --save-dev
The following commands are exposed by @loopback/monorepo
.
lb-run-lerna
: runlerna
command withLERNA_ROOT_PATH
environment variable set to the root path of the monorepolb-check-package-locks
: check ifpackage-lock.json
files has local packages.lb-rebuild-package-locks
: rebuildpackage-lock.json
files for all packages or packages matching given scopes.lb-update-package-deps
: update package dependencies to match versions of local packages.lb-update-package-json
: updatepackage.json
files for all packages based on metadata from the rootpackage.json
for the monorepo.lb-update-ts-project-refs
: updatetsconfig.json
with TypeScript project references based on the dependency graph.
These commands can be invoked using npx
:
npx lb-update-ts-project-refs
npx lb-rebuild-package-locks
The --dry-run
option can be used to preview changes without applying them.
npx lb-update-ts-project-refs --dry-run
To access such scripts programmatically:
const {
checkPackageLocks,
configLernaScopes,
runLerna,
updatePackageDeps,
updatePackageJson,
updateTsProjectRefs,
getPackages,
loadLernaRepo,
runMain,
} = require('@loopback/monorepo');
Contributions
Tests
run npm test
from the root folder.
Contributors
See all contributors.
License
MIT