From ca9f7d5d01de729c848370ef030dc78ceb9c677b Mon Sep 17 00:00:00 2001 From: Artem Derevnjuk Date: Mon, 15 Apr 2024 14:46:52 +0400 Subject: [PATCH] fix spawn EINVAL error fixes #83 --- index.js | 28 ++++++++++++++++------------ package.json | 3 +-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/index.js b/index.js index ca9829a..ba1d35a 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,4 @@ -var proc = require('child_process') -var execspawn = require('execspawn') +var childProcess = require('child_process') var os = require('os') var path = require('path') var fs = require('fs') @@ -19,7 +18,7 @@ function prebuildify (opts, cb) { strip: process.env.PREBUILD_STRIP === '1', stripBin: process.env.PREBUILD_STRIP_BIN || 'strip', nodeGyp: process.env.PREBUILD_NODE_GYP || npmbin('node-gyp'), - shell: process.env.PREBUILD_SHELL || shell(), + shell: process.env.PREBUILD_SHELL || true, cwd: '.', targets: [] }, opts) @@ -179,11 +178,12 @@ function copySharedLibs (builds, folder, opts, cb) { function run (cmd, opts, cb) { if (!cmd) return cb() - var child = execspawn(cmd, { + var child = childProcess.spawn(cmd, [], { cwd: opts.cwd, env: opts.env, - stdio: 'inherit', - shell: opts.shell + stdio: opts.quiet ? 'ignore' : 'inherit', + shell: opts.shell, + windowsHide: true }) child.on('exit', function (code) { @@ -227,9 +227,11 @@ function build (target, runtime, opts, cb) { } mkdirp(cache, function () { - var child = proc.spawn(opts.nodeGyp, args, { + var child = childProcess.spawn(opts.nodeGyp, args, { cwd: opts.cwd, env: opts.env, + shell: opts.shell, + windowsHide: true, stdio: opts.quiet ? 'ignore' : 'inherit' }) @@ -266,7 +268,13 @@ function strip (file, opts, cb) { if (!opts.strip || (platform !== 'darwin' && platform !== 'linux')) return cb() var args = platform === 'darwin' ? [file, '-Sx'] : [file, '--strip-all'] - var child = proc.spawn(opts.stripBin, args, { stdio: 'ignore' }) + var child = childProcess.spawn(opts.stripBin, args, { + stdio: 'ignore', + cwd: opts.cwd, + env: opts.env, + shell: opts.shell, + windowsHide: true + }) child.on('exit', function (code) { if (code) return cb(spawnError(opts.stripBin, code)) @@ -299,10 +307,6 @@ function npmbin (name) { return os.platform() === 'win32' ? name + '.cmd' : name } -function shell () { - return os.platform() === 'android' ? 'sh' : undefined -} - function resolveTargets (targets, all, napi, electronCompat) { targets = targets.map(function (v) { if (typeof v === 'object' && v !== null) return v diff --git a/package.json b/package.json index 116c70b..8660c13 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,10 @@ "description": "Create and package prebuilds for native modules", "main": "index.js", "dependencies": { - "execspawn": "^1.0.1", + "minimist": "^1.2.5", "mkdirp-classic": "^0.5.3", "node-abi": "^3.3.0", "npm-run-path": "^3.1.0", - "minimist": "^1.2.5", "pump": "^3.0.0", "tar-fs": "^2.1.0" },