Socket
Socket
Sign inDemoInstall

npm-run-path

Package Overview
Dependencies
1
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

npm-run-path

Get your PATH prepended with locally installed binaries

    5.3.0latest
    GitHub
    npm

Version published
Maintainers
1
Weekly downloads
59,701,428
increased by3.21%

Weekly downloads

Package description

What is npm-run-path?

The npm-run-path package is used to enhance the PATH environment variable with all the node_modules/.bin directories from the current directory up to the root. This allows you to run locally installed executables in your npm scripts without having to specify the full path to them.

What are npm-run-path's main functionalities?

Enhance PATH for local binaries

This feature allows you to get an enhanced PATH that includes paths to the locally installed npm binaries, making it easier to run them in scripts.

const npmRunPath = require('npm-run-path');

console.log(npmRunPath()); // Logs the enhanced PATH string

Get an environment object with an enhanced PATH

This feature provides an environment object similar to process.env but with the PATH property modified to include local binaries.

const npmRunPath = require('npm-run-path');

const env = npmRunPath.env();
console.log(env.PATH); // Logs the enhanced PATH within the environment object

Customize the PATH enhancement

This feature allows you to customize how the PATH is enhanced by providing options such as the current working directory and an existing PATH to modify.

const npmRunPath = require('npm-run-path');

const options = { cwd: '/some/path', path: process.env.PATH };
const env = npmRunPath.env(options);
console.log(env.PATH); // Logs the enhanced PATH based on the options provided

Other packages similar to npm-run-path

Readme

Source

npm-run-path

Get your PATH prepended with locally installed binaries

In npm run scripts you can execute locally installed binaries by name. This enables the same outside npm.

Install

npm install npm-run-path

Usage

import childProcess from 'node:child_process';
import {npmRunPath, npmRunPathEnv} from 'npm-run-path';

console.log(process.env.PATH);
//=> '/usr/local/bin'

console.log(npmRunPath());
//=> '/Users/sindresorhus/dev/foo/node_modules/.bin:/Users/sindresorhus/dev/node_modules/.bin:/Users/sindresorhus/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/bin'

// `foo` is a locally installed binary
childProcess.execFileSync('foo', {
	env: npmRunPathEnv()
});

API

npmRunPath(options?)

options: Options
Returns: string

Returns the augmented PATH string.

npmRunPathEnv(options?)

options: Options
Returns: object

Returns the augmented process.env object.

options

Type: object

cwd

Type: string | URL
Default: process.cwd()

The working directory.

execPath

Type: string | URL
Default: process.execPath

The path to the current Node.js executable.

This can be either an absolute path or a path relative to the cwd option.

addExecPath

Type: boolean
Default: true

Whether to push the current Node.js executable's directory (execPath option) to the front of PATH.

preferLocal

Type: boolean
Default: true

Whether to push the locally installed binaries' directory to the front of PATH.

path

Type: string
Default: PATH

The PATH to be appended.

Set it to an empty string to exclude the default PATH.

Only available with npmRunPath(), not npmRunPathEnv().

env

Type: object
Default: process.env

Accepts an object of environment variables, like process.env, and modifies the PATH using the correct PATH key. Use this if you're modifying the PATH for use in the child_process options.

Only available with npmRunPathEnv(), not npmRunPath().

  • npm-run-path-cli - CLI for this module
  • execa - Execute a locally installed binary

Keywords

FAQs

Last updated on 23 Feb 2024

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the 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