Files
formipay/node_modules/find-parent-dir/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

46 lines
1.0 KiB
JavaScript

'use strict';
var path = require('path')
, fs = require('fs')
, exists = fs.exists || path.exists
, existsSync = fs.existsSync || path.existsSync
;
function splitPath(path) {
var parts = path.split(/(\/|\\)/);
if (!parts.length) return parts;
// when path starts with a slash, the first part is empty string
return !parts[0].length ? parts.slice(1) : parts;
}
exports = module.exports = function (currentFullPath, clue, cb) {
function testDir(parts) {
if (parts.length === 0) return cb(null, null);
var p = parts.join('');
exists(path.join(p, clue), function (itdoes) {
if (itdoes) return cb(null, p);
testDir(parts.slice(0, -1));
});
}
testDir(splitPath(currentFullPath));
}
exports.sync = function (currentFullPath, clue) {
function testDir(parts) {
if (parts.length === 0) return null;
var p = parts.join('');
var itdoes = existsSync(path.join(p, clue));
return itdoes ? p : testDir(parts.slice(0, -1));
}
return testDir(splitPath(currentFullPath));
}