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
cross-env
cross-env is a package that allows you to set environment variables across platforms. It's similar to npm-run-path in that it helps with environment configuration for npm scripts, but it focuses on cross-platform compatibility rather than enhancing the PATH variable.
env-cmd
env-cmd is a package that allows you to execute commands using an environment from an env file. It is similar to npm-run-path in that it manipulates the environment for running scripts, but it does so by reading environment variables from files rather than modifying the PATH.
path-key
path-key is a simple package that returns the environment variable name for the PATH, which is platform-specific. It is related to npm-run-path in the sense that it deals with the PATH environment variable, but it does not enhance or modify the PATH itself.
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 --save npm-run-path
Usage
const childProcess = require('child_process');
const npmRunPath = require('npm-run-path');
console.log(process.env.PATH);
console.log(npmRunPath());
childProcess.execFileSync('foo', {
env: {
PATH: npmRunPath()
}
});
API
npmRunPath([options])
options
cwd
Type: string
Default: process.cwd()
Working directory.
path
Type: string
Default: PATH
PATH to be appended.
Set it to an empty string to exclude the default PATH.
Related
License
MIT © Sindre Sorhus