@lerna-lite/init
(lerna init
) - Init command 🛠️
Create/initialize a new Lerna-Lite repo or upgrade an existing repo to the current version of Lerna-Lite CLI
Installation
npm install @lerna-lite/cli -D -W
lerna init
npx lerna init
Usage
$ lerna init
Create/initialize a new Lerna-Lite repo or upgrade an existing repo to the current version of Lerna-Lite.
Lerna assumes the repo has already been initialized with git init
.
When run, this command will:
- Add
lerna
as a devDependency
in package.json
if it doesn't already exist. - Creates
lerna.json
config file to store the version
number and also add a packages
property (unless you have --use-workspaces)
- for more info and full details about the
lerna.json
file, you can read the lerna.json Wiki.
Example output on a new git repo:
$ lerna init
lerna info version v1.3.0
lerna info Updating package.json
lerna info Creating lerna.json
lerna success Initialized Lerna files
lerna.json
{
"version": "0.0.0",
"packages": ["packages/*"]
}
Options
--independent
$ lerna init --independent
This flag tells Lerna-Lite to use independent versioning mode.
--exact
$ lerna init --exact
By default, lerna init
will use a caret range when adding or updating
the local version of lerna
, just like npm install --save-dev lerna
.
To retain the lerna
of "exact" comparison, pass this flag.
It will configure lerna.json
to enforce exact match for all subsequent executions.
{
"command": {
"init": {
"exact": true
}
},
"version": "0.0.0"
}
--use-workspaces
$ lerna init --use-workspaces
This flag tells Lerna-Lite to add a workspaces
property in the project root package.json
instead of the default lerna.json
file, which is the workspace setup that Yarn/NPM now use
Note: pnpm users should not use this flag, they should simply use the default which is to have packages
in lerna.json
file (as shown in default usage lerna.json
config).
lerna.json
{
"version": "0.0.0"
}
package.json
(project root)
{
"name": "monorepo",
"devDependencies": {
"@lerna-lite/cli": "^1.0.0"
},
"workspaces": ["packages/*"]
}