UNPKG

install-module-linked

Version:
24 lines (23 loc) 813 B
import spawn from 'cross-spawn-cb'; import { bind } from 'node-version-call-local'; import path from 'path'; import url from 'url'; const __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url)); const major = +process.versions.node.split('.')[0]; const workerPath = path.join(__dirname, '..', '..', 'cjs', 'lib', 'install.js'); function run(specifier, dest, callback) { spawn('npm', [ 'install', specifier ], { cwd: dest }, (err)=>{ err ? callback(err) : callback(undefined, path.join(dest, ...specifier.split('/'))); }); } const worker = major > 0 ? run : bind('>0.12', workerPath, { callbacks: true }); export default function install(specifier, dest, callback) { worker(specifier, dest, callback); }