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>
33 lines
1.6 KiB
JavaScript
33 lines
1.6 KiB
JavaScript
import { __read, __spread } from "tslib";
|
|
import * as fs from 'fs';
|
|
import * as path from 'path';
|
|
/**
|
|
* Recursively read the contents of a directory.
|
|
*
|
|
* @param targetDir Absolute or relative path of the directory to scan. All returned paths will be relative to this
|
|
* directory.
|
|
* @returns Array holding all relative paths
|
|
*/
|
|
export function deepReadDirSync(targetDir) {
|
|
var targetDirAbsPath = path.resolve(targetDir);
|
|
if (!fs.existsSync(targetDirAbsPath)) {
|
|
throw new Error("Cannot read contents of " + targetDirAbsPath + ". Directory does not exist.");
|
|
}
|
|
if (!fs.statSync(targetDirAbsPath).isDirectory()) {
|
|
throw new Error("Cannot read contents of " + targetDirAbsPath + ", because it is not a directory.");
|
|
}
|
|
// This does the same thing as its containing function, `deepReadDirSync` (except that - purely for convenience - it
|
|
// deals in absolute paths rather than relative ones). We need this to be separate from the outer function to preserve
|
|
// the difference between `targetDirAbsPath` and `currentDirAbsPath`.
|
|
var deepReadCurrentDir = function (currentDirAbsPath) {
|
|
return fs.readdirSync(currentDirAbsPath).reduce(function (absPaths, itemName) {
|
|
var itemAbsPath = path.join(currentDirAbsPath, itemName);
|
|
if (fs.statSync(itemAbsPath).isDirectory()) {
|
|
return __spread(absPaths, deepReadCurrentDir(itemAbsPath));
|
|
}
|
|
return __spread(absPaths, [itemAbsPath]);
|
|
}, []);
|
|
};
|
|
return deepReadCurrentDir(targetDirAbsPath).map(function (absPath) { return path.relative(targetDirAbsPath, absPath); });
|
|
}
|
|
//# sourceMappingURL=utils.js.map
|