synopkg
Version:
Consistent dependency versions in large JavaScript Monorepos
22 lines (18 loc) • 626 B
JavaScript
const { spawnSync } = require('node:child_process');
const args = process.argv.slice(2);
const arch = process.arch;
const [os, extension] = ['win32', 'cygwin'].includes(process.platform) ? ['windows', '.exe'] : [process.platform, ''];
const optionalDep = `synopkg-${os}-${arch}`;
const pkgSpecifier = `${optionalDep}/bin/synopkg${extension}`;
const pathToBinary = require.resolve(pkgSpecifier);
process.exit(
spawnSync(pathToBinary, args, {
cwd: process.cwd(),
stdio: ['ignore', 'inherit', 'inherit'],
env: {
...process.env,
RUST_BACKTRACE: 'full',
},
}).status || 0,
);