2.8 KiB
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?)
Returns the augmented PATH string.
options
Type: object
cwd
Type: string | URL
Default: process.cwd()
The working directory.
path
Type: string
Default: PATH
The PATH to be appended.
Set it to an empty string to exclude the default PATH.
execPath
Type: string
Default: process.execPath
The path to the current Node.js executable. Its directory is pushed to the front of PATH.
This can be either an absolute path or a path relative to the cwd
option.
npmRunPathEnv(options?)
Returns the augmented process.env
object.
options
Type: object
cwd
Type: string | URL
Default: process.cwd()
The working directory.
env
Type: object
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.
execPath
Type: string
Default: process.execPath
The path to the Node.js executable to use in child processes if that is different from the current one. Its directory is pushed to the front of PATH.
This can be either an absolute path or a path relative to the cwd
option.
Related
- npm-run-path-cli - CLI for this module
- execa - Execute a locally installed binary
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.