Socket
Socket
Sign inDemoInstall

@aw-web-design/lerna-run

Package Overview
Dependencies
436
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @aw-web-design/lerna-run

Lerna-Lite Run command will help to run npm script in each package workspace that contains that script


Version published
Maintainers
1
Created

Readme

Source

License: MIT TypeScript npm npm Actions Status

@aw-web-design/lerna-run

(lerna run) - Run command CLI 🏃

Optional package extracted from Lerna run command that will give us the ability to run npm script in each package of the workspace that contains that script.

This package was added mainly because NPM Workspaces don't yet support running NPM scripts in parallel and in topological order (they do have this RFC, so perhaps someday this package would become irrelevant :)).

Internal Dependencies

Installation

# install globally
npm install -g @aw-web-design/lerna-run

# then use it (see usage below)
lerna run <script>

# OR use npx
npx lerna run <script>

Usage

$ lerna run <script> -- [..args]  # runs npm run my-script in all packages that have it
$ lerna run test
$ lerna run build

# watch all packages and transpile on change, streaming prefixed output
$ lerna run --parallel watch

Run an npm script in each package of the workspace that contains that script. A double-dash (--) is necessary to pass dashed arguments to the script execution.

Options

lerna run accepts all filter flags.

$ lerna run --scope my-component test

--npm-client <client>

Must be an executable that knows how to run npm lifecycle scripts. The default --npm-client is npm.

$ lerna run build --npm-client=yarn

May also be configured in lerna.json:

{
  "command": {
    "run": {
      "npmClient": "yarn"
    }
  }
}

--run-dry-run

Displays the process command that would be performed without actually executing it. This could be helpful for troubleshooting.

$ lerna run watch --run-dry-run

--stream

Stream output from child processes immediately, prefixed with the originating package name. This allows output from different packages to be interleaved.

$ lerna run watch --stream

--parallel

Similar to --stream, but completely disregards concurrency and topological sorting, running a given command or script immediately in all matching packages with prefixed streaming output. This is the preferred flag for long-running processes such as npm run watch run over many packages.

$ lerna run watch --parallel

Note: It is advised to constrain the scope of this command when using the --parallel flag, as spawning dozens of subprocesses may be harmful to your shell's equanimity (or maximum file descriptor limit, for example). YMMV

--no-bail

# Run an npm script in all packages that contain it, ignoring non-zero (error) exit codes
$ lerna run --no-bail test

By default, lerna run will exit with an error if any script run returns a non-zero exit code. Pass --no-bail to disable this behavior, running the script in all packages that contain it regardless of exit code.

--no-prefix

Disable package name prefixing when output is streaming (--stream or --parallel). This option can be useful when piping results to other processes, such as editor plugins.

--profile

Profiles the script executions and produces a performance profile which can be analyzed using DevTools in a Chromium-based browser (direct url: devtools://devtools/bundled/devtools_app.html). The profile shows a timeline of the script executions where each execution is assigned to an open slot. The number of slots is determined by the --concurrency option and the number of open slots is determined by --concurrency minus the number of ongoing operations. The end result is a visualization of the parallel execution of your scripts.

The default location of the performance profile output is at the root of your project.

$ lerna run build --profile

Note: Lerna-Lite will only profile when topological sorting is enabled (i.e. without --parallel and --no-sort).

--profile-location <location>

You can provide a custom location for the performance profile output. The path provided will be resolved relative to the current working directory.

$ lerna run build --profile --profile-location=logs/profile/

FAQs

Last updated on 07 Apr 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc