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>
32 lines
659 B
JavaScript
32 lines
659 B
JavaScript
var path = require('path')
|
|
var fs = require('fs')
|
|
|
|
function defaultCheck (dir) {
|
|
return fs.existsSync(path.join(dir, 'package.json'))
|
|
}
|
|
|
|
function findRoot (start, check) {
|
|
start = start || module.parent.filename
|
|
check = check || defaultCheck
|
|
|
|
if (typeof start === 'string') {
|
|
if (start[start.length - 1] !== path.sep) {
|
|
start += path.sep
|
|
}
|
|
start = start.split(path.sep)
|
|
}
|
|
if (!start.length) {
|
|
throw new Error('package.json not found in path')
|
|
}
|
|
start.pop()
|
|
var dir = start.join(path.sep)
|
|
try {
|
|
if (check(dir)) {
|
|
return dir
|
|
}
|
|
} catch (e) {}
|
|
return findRoot(start, check)
|
|
}
|
|
|
|
module.exports = findRoot
|