v2.0.0-rc.5 (2017-05-22)
This is the last release candidate.
We need to fix #789 before we can release v2.0.0
. All contributions are appreciated!
π₯ Breaking Change
-
#807 Change exit codes for
updated
andpublish
. (@koddsson)It is now possible to run
lerna publish
in CI unconditionally, only publishing when changes are actually detected, and never failing when it decides to not publish anything.Previously:
lerna publish
when there are no updates to publish would throw an errorlerna updated
when there are no updates wouldexit 0
, making it ineffective as a chained filter (e.g.,lerna updated && lerna publish
)
Now:
lerna publish
when there are no updates is a no-op, exiting successfully with a helpful log messagelerna updated
when there are no updates will exit non-zero (but not throw an error), enabling it to be an effective filter
π Enhancement
-
#726 Add --only-updated option to exec and run subcommands. (@jameslnewell)
When executing a script or command, only run the script or command on packages that have been updated since the last release. A package is considered "updated" using the same rules as
lerna updated
.lerna exec --only-updated -- ls -la lerna run --only-updated test
-
#795 Add --parallel flag to
lerna exec
. (@evocateur)With this flag,
lerna exec
will run the command in all filtered packages
in parallel, completely ignoring concurrency and topological sorting.# transpile modules in all packages as changes occur lerna exec -- babel src -d lib -w # transpile watched modules only in package-foo lerna exec --scope package-foo -- babel src -d lib -w
It is advised to constrain the scope of the command when running with this
flag, as spawning dozens of subprocesses may be harmful to your shell's
equanimity (or maximum file descriptor limit, for example). YMMV -
#796 Add --parallel flag to
lerna run
. (@evocateur)This allows simpler invocation of
watch
scripts, with the caveat that concurrency and topological sorting are completely ignored. This is generally the intention when callinglerna run watch
and other similar script targets, hence the additional flag.# the following commands are equivalent lerna run watch --concurrency=1000 --stream lerna run watch --parallel
Package filtering (
--scope
and--ignore
) is still available when this new flag is being used, and it is advised to narrow the scope of parallel execution when you have more than a dozen packages or so (YMMV). -
#803 Skip git repo check by default in Commands which do not rely on git. (@noherczeg)
-
#824 Add json output to
ls
andupdated
commands. (@ricky)When run with
--json
,lerna updated
andlerna ls
will return an array of objects in the following format:[ { "name": "package", "version": "1.0.0", "private": false } ]
-
#829 Prefix piped streams with rotating colors. (@evocateur)
π Bug Fix
- #798 Disable progress bars when running in CI or non-interactive shell. (@evocateur)
- #799 Do not ignore explicit
node_modules
in package paths. (@evocateur) - #815 Support GPG signing of git tags. (@alethea)
- #828 Switch to
fs-extra
. (@evocateur) - #831 Make
pkg
argument optional forlerna diff
. (@evocateur)
π Internal
- #827, #830 Upgrade dependencies. (@evocateur)