# @lerna-lite/core

> Lerna-Lite core implementation module

Latest version **5.6.2** (published 2026-09-25) · MIT license · 0 weekly downloads

## Install

```sh
npm install @lerna-lite/core
pnpm add @lerna-lite/core
yarn add @lerna-lite/core
bun add @lerna-lite/core
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 5.6.2 |
| Published | 2026-09-25 |
| First published | 2022-02-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM |
| Node | ^22.17.0 \|\| >=24.0.0 |
| Dependencies | 15 |
| Unpacked size | 319.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 566 |
| Author | Ghislain B. |
| Maintainers | ghiscoding |

## Links

- npm: https://www.npmjs.com/package/@lerna-lite/core
- Repository: https://github.com/lerna-lite/lerna-lite
- Issues: https://github.com/lerna-lite/lerna-lite/issues
- Funding: https://ko-fi.com/ghiscoding
- npm.io page: https://npm.io/package/@lerna-lite/core

## Dependencies (15)

- [yaml](https://npm.io/package/yaml.md) ^2.9.1
- [json5](https://npm.io/package/json5.md) ^2.2.3
- [verkit](https://npm.io/package/verkit.md) ^0.5.0
- [ci-info](https://npm.io/package/ci-info.md) ^4.4.0
- [tinyexec](https://npm.io/package/tinyexec.md) ^1.3.1
- [lilconfig](https://npm.io/package/lilconfig.md) ^3.1.3
- [zeptomatch](https://npm.io/package/zeptomatch.md) ^2.1.0
- [@inquirer/input](https://npm.io/package/@inquirer/input.md) ^5.1.6
- [npm-package-arg](https://npm.io/package/npm-package-arg.md) ^13.0.2
- [write-json-file](https://npm.io/package/write-json-file.md) ^7.0.0
- [@inquirer/expand](https://npm.io/package/@inquirer/expand.md) ^5.1.5
- [@inquirer/select](https://npm.io/package/@inquirer/select.md) ^5.2.5
- [write-file-atomic](https://npm.io/package/write-file-atomic.md) ^7.0.1
- [@lerna-lite/npmlog](https://npm.io/package/@lerna-lite/npmlog.md) 5.4.1
- [@npmcli/run-script](https://npm.io/package/@npmcli/run-script.md) ^10.0.4

## Recent versions

- 5.6.2 (latest) — 2026-09-25
- 5.6.1 — 2026-08-21
- 5.6.0 — 2026-08-17
- 5.5.0 — 2026-08-10
- 5.4.2 — 2026-07-24
- 5.4.1 — 2026-07-13
- 5.4.0 — 2026-07-02
- 5.3.0 — 2026-06-04
- 5.2.2 — 2026-05-25
- 5.2.1 — 2026-05-01
- 5.2.0 — 2026-04-24
- 5.1.0 — 2026-04-20
- 5.0.0 — 2026-04-02
- 4.11.5 — 2026-03-14
- 4.11.4 — 2026-03-07
- … 111 more at https://npm.io/package/@lerna-lite/core/versions

## README

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![npm](https://img.shields.io/npm/dy/@lerna-lite/core?color=forest)](https://www.npmjs.com/package/@lerna-lite/core)
[![npm](https://img.shields.io/npm/v/@lerna-lite/core.svg?logo=npm&logoColor=fff&label=npm)](https://www.npmjs.com/package/@lerna-lite/core)

## Lerna-Lite Core

#### @lerna-lite/core

The Lerna-Lite core & utils, basically the shared code used by all commands.

### Installation

Follow the instruction provided in the main [README](https://github.com/lerna-lite/lerna-lite#installation) page.


> Options for lerna sub-commands that need filtering

## Options

### `--scope <glob>`

Include only packages with names matching the given glob.

```sh
$ lerna exec --scope my-component -- ls -la
$ lerna run --scope "toolbar-*" test
$ lerna run --scope package-1 --scope "*-2" lint
```

**Note:** For certain globs, it may be necessary to quote the option argument to avoid premature shell expansion.

### **Running with `npx`**

When running `lerna` with `npx`, it is necessary to use an explicit "=" when passing glob arguments. This is to prevent `npx` from prematurely expanding the arguments.

For example:

```sh
$ npx lerna run --scope="toolbar-*" test
$ npx lerna run --scope="package-{1,2,5}" test
```

### `--ignore <glob>`

Exclude packages with names matching the given glob.

```sh
$ lerna exec --ignore "package-{1,2,5}"  -- ls -la
$ lerna run --ignore package-1 test
$ lerna run --ignore "package-@(1|2)" --ignore package-3 lint
```

More examples of filtering can be found [here](https://github.com/lerna/lerna/blob/c0a750e0f482c16dda2f922f235861283efbe94d/commands/list/__tests__/list-command.test.js#L305-L356).

### `--no-private`

Exclude private packages. They are included by default.

### `--since [ref]`

Only include packages that have been changed since the specified `ref`. If no ref is passed, it defaults to the most-recent tag.

```sh
# List the contents of packages that have changed since the latest tag
$ lerna exec --since -- ls -la

# Run the tests for all packages that have changed since `main`
$ lerna run test --since main

# List all packages that have changed since `some-branch`
$ lerna ls --since some-branch
```

_This can be particularly useful when used in CI, if you can obtain the target branch a PR will be going into, because you can use that as the `ref` to the `--since` option. This works well for PRs going into the default branch as well as feature branches._

### `--exclude-dependents`

Exclude all transitive dependents when running a command with `--since`, overriding the default "changed" algorithm.

This flag has no effect without `--since`, and will throw an error in that case.

### `--include-dependents`

Include all transitive dependents when running a command regardless of `--scope`, `--ignore`, or `--since`.

```sh
# example with lerna watch
$ lerna watch --scope=my-package-1 --include-dependents -- lerna run build --stream --scope=\$LERNA_PACKAGE_NAME --include-dependents
```

### `--include-dependencies`

Include all transitive dependencies when running a command regardless of `--scope`, `--ignore`, or `--since`.

Used in combination with any command that accepts `--scope` (`ls`, `run`, `exec`, `watch`).
Ensures that all dependencies (and dev dependencies) of any scoped packages (either through `--scope` or `--ignore`) are operated on as well.

> Note: This will override the `--scope` and `--ignore` flags.

This is useful for situations where you want to "set up" a single package that relies on other packages being set up.

```sh
# example with lerna watch, watch only package "package-4" and its dependencies and run the test script for the package that changed
$ lerna watch --scope="package-4" --include-dependencies -- lerna run test --scope=\$LERNA_PACKAGE_NAME
```


### `--include-merged-tags`

```sh
$ lerna exec --since --include-merged-tags -- ls -la
```

Include tags from merged branches when running a command with `--since`. This is only useful if you do a lot of publishing from feature branches, which is not generally recommended.

---
_Source: https://npm.io/package/@lerna-lite/core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
