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>
60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
var cp = require('child_process');
|
|
var parse = require('./lib/parse');
|
|
var enoent = require('./lib/enoent');
|
|
|
|
var cpSpawnSync = cp.spawnSync;
|
|
|
|
function spawn(command, args, options) {
|
|
var parsed;
|
|
var spawned;
|
|
|
|
// Parse the arguments
|
|
parsed = parse(command, args, options);
|
|
|
|
// Spawn the child process
|
|
spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
|
|
|
|
// Hook into child process "exit" event to emit an error if the command
|
|
// does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
|
|
enoent.hookChildProcess(spawned, parsed);
|
|
|
|
return spawned;
|
|
}
|
|
|
|
function spawnSync(command, args, options) {
|
|
var parsed;
|
|
var result;
|
|
|
|
if (!cpSpawnSync) {
|
|
try {
|
|
cpSpawnSync = require('spawn-sync'); // eslint-disable-line global-require
|
|
} catch (ex) {
|
|
throw new Error(
|
|
'In order to use spawnSync on node 0.10 or older, you must ' +
|
|
'install spawn-sync:\n\n' +
|
|
' npm install spawn-sync --save'
|
|
);
|
|
}
|
|
}
|
|
|
|
// Parse the arguments
|
|
parsed = parse(command, args, options);
|
|
|
|
// Spawn the child process
|
|
result = cpSpawnSync(parsed.command, parsed.args, parsed.options);
|
|
|
|
// Analyze if the command does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16
|
|
result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
|
|
|
|
return result;
|
|
}
|
|
|
|
module.exports = spawn;
|
|
module.exports.spawn = spawn;
|
|
module.exports.sync = spawnSync;
|
|
|
|
module.exports._parse = parse;
|
|
module.exports._enoent = enoent;
|