lerna create
Create a new lerna-managed package
Install lerna for access to the lerna
CLI.
Usage
lerna create <name> [loc]
Create a new lerna-managed package
Positionals:
name The package name (including scope), which must be locally unique _and_
publicly available [string] [required]
loc A custom package location, defaulting to the first configured package
location. The location must match a configured packages directory.
[string]
Note: For more info on how Lerna package directories are configured, see https://lerna.js.org/docs/faq#how-does-lerna-detect-packages.
Command Options:
--access When using a scope, set publishConfig.access value
[choices: "public", "restricted"] [default: public]
--bin Package has an executable. Customize with --bin
<executableName> [default: <name>]
--description Package description [string]
--dependencies A list of package dependencies [array]
--es-module Initialize a transpiled ES Module
--homepage The package homepage, defaulting to a subpath of the root
pkg.homepage [string]
--keywords A list of package keywords [array]
--license The desired package license (SPDX identifier) [default: ISC]
--private Make the new package private, indicating that it
should not be published.
--registry Configure the package's publishConfig.registry [string]
--tag Configure the package's publishConfig.tag [string]
--yes Skip all prompts, accepting default values
8.0.1 (2023-12-15)
Bug Fixes
- update node-gyp usage to v10 to resolve npm warning (#3919) (f5fdcba)
- version: create correct independent tags when using --sign-git-tag (#3917) (8f7a32b)
BREAKING CHANGES
After updating we strongly recommend running lerna repair
in your project. This will migrate your lerna.json
to the latest and greatest and remove any outdated options.
As this is a major release there are a few breaking changes to be aware of, which may or may not affect your lerna repos, depending on how you are using the tool.
- node v16 support is dropped because it is end of life
When a node version becomes end of life (EOL) it means that it does not receive any updates or maintenance whatsoever, even if critical security vulnerabilities have been uncovered.
We strongly encourage all folks here to keep up with the maintenance LTS version of Node at an absolute minimum:
https://github.com/nodejs/release#release-schedule
- lerna's task runner for
lerna run
now depends on nx v17 instead of v16
lerna run
gets to benefit from all of the further performance improvements in the nx v17 task runner behind scenes.
@lerna/child-process
is no longer a separately published package
Lerna is a monorepo management tool with versioning and publishing capabilities, it is not a child process manager. There are lots of good options out there in the ecosystem to help you with managing child processes in nodejs, and it does not really make sense to treat some of lerna's implementation details around child processes as if they were a public API. The package will be officially deprecated on npm in the future. You can of course take the code and fork it and adapt it for your own purposes if you wish!
- Older packages under
@lerna/
on npm have been officially marked as deprecated
Under prior stewardship the lerna repo used to publish a very large (>65) number of packages. The vast majority of these should not form part of the public API of lerna and so they have no longer been published as packages since v6. We have now officially marked them as deprecated packages on the npm registry so that users get clear feedback that they are using packages which are no longer maintained (which they can of course fork and do whatever they want with). NOTE: We have not yet marked @lerna/child-process
as deprecated so as not to create noise for lerna v7 users until they have had chance to migrate to v8.
Features
- version: add --premajor-version-bump option to force patch bumps for non-breaking changes in premajor packages (#3876) (3b05947)
- version: use corepack for install when enabled (#3877) (a3cb7ca)