Files
formipay/node_modules/spawnd/dist/index.js
dwindown e8fbfb14c1 fix: prevent asset conflicts between React and Grid.js versions
Add coexistence checks to all enqueue methods to prevent loading
both React and Grid.js assets simultaneously.

Changes:
- ReactAdmin.php: Only enqueue React assets when ?react=1
- Init.php: Skip Grid.js when React active on admin pages
- Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0
- Customer.php, Product.php, License.php: Add coexistence checks

Now the toggle between Classic and React versions works correctly.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 17:02:14 +07:00

38 lines
1.1 KiB
JavaScript

'use strict';
var node_child_process = require('node:child_process');
var node_util = require('node:util');
var treeKill = require('tree-kill');
var signalExit = require('signal-exit');
const pTreeKill = node_util.promisify(treeKill);
const spawnd = (command, options)=>{
const proc = node_child_process.spawn(command, options);
const cleanExit = (code = 1)=>{
if (proc && proc.pid) {
treeKill(proc.pid, ()=>process.exit(code));
} else {
process.exit(code);
}
};
const cleanExit1 = ()=>cleanExit(1);
proc.stderr.pipe(process.stderr);
proc.on("exit", cleanExit);
proc.on("error", cleanExit1);
const offExit = signalExit.onExit((code)=>{
cleanExit(typeof code === "number" ? code : 1);
});
proc.destroy = async ()=>{
offExit();
proc.removeListener("exit", cleanExit);
proc.removeListener("error", cleanExit1);
if (typeof proc.pid === "number") {
await pTreeKill(proc.pid).catch(()=>{
/* ignore error */ });
}
};
return proc;
};
exports.spawnd = spawnd;