You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict'; const path = require('path'); const pathKey = require('path-key');
const npmRunPath = options => { options = { cwd: process.cwd(), path: process.env[pathKey()], execPath: process.execPath, ...options };
let previous; let cwdPath = path.resolve(options.cwd); const result = [];
while (previous !== cwdPath) { result.push(path.join(cwdPath, 'node_modules/.bin')); previous = cwdPath; cwdPath = path.resolve(cwdPath, '..'); }
// Ensure the running `node` binary is used
const execPathDir = path.resolve(options.cwd, options.execPath, '..'); result.push(execPathDir);
return result.concat(options.path).join(path.delimiter); };
module.exports = npmRunPath; // TODO: Remove this for the next major release
module.exports.default = npmRunPath;
module.exports.env = options => { options = { env: process.env, ...options };
const env = {...options.env}; const path = pathKey({env});
options.path = env[path]; env[path] = module.exports(options);
return env; };
|