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>
90 lines
3.2 KiB
JavaScript
90 lines
3.2 KiB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var tslib_1 = require("tslib");
|
|
var hub_1 = require("@sentry/hub");
|
|
var types_1 = require("@sentry/types");
|
|
var utils_1 = require("@sentry/utils");
|
|
var stack_parser_1 = require("./stack-parser");
|
|
/**
|
|
* Extracts stack frames from the error.stack string
|
|
*/
|
|
function parseStackFrames(error) {
|
|
return utils_1.createStackParser(stack_parser_1.nodeStackParser)(error.stack || '', 1);
|
|
}
|
|
exports.parseStackFrames = parseStackFrames;
|
|
/**
|
|
* Extracts stack frames from the error and builds a Sentry Exception
|
|
*/
|
|
function exceptionFromError(error) {
|
|
var exception = {
|
|
type: error.name || error.constructor.name,
|
|
value: error.message,
|
|
};
|
|
var frames = parseStackFrames(error);
|
|
if (frames.length) {
|
|
exception.stacktrace = { frames: frames };
|
|
}
|
|
return exception;
|
|
}
|
|
exports.exceptionFromError = exceptionFromError;
|
|
/**
|
|
* Builds and Event from a Exception
|
|
* @hidden
|
|
*/
|
|
function eventFromUnknownInput(exception, hint) {
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
var ex = exception;
|
|
var providedMechanism = hint && hint.data && hint.data.mechanism;
|
|
var mechanism = providedMechanism || {
|
|
handled: true,
|
|
type: 'generic',
|
|
};
|
|
if (!utils_1.isError(exception)) {
|
|
if (utils_1.isPlainObject(exception)) {
|
|
// This will allow us to group events based on top-level keys
|
|
// which is much better than creating new group when any key/value change
|
|
var message = "Non-Error exception captured with keys: " + utils_1.extractExceptionKeysForMessage(exception);
|
|
hub_1.getCurrentHub().configureScope(function (scope) {
|
|
scope.setExtra('__serialized__', utils_1.normalizeToSize(exception));
|
|
});
|
|
ex = (hint && hint.syntheticException) || new Error(message);
|
|
ex.message = message;
|
|
}
|
|
else {
|
|
// This handles when someone does: `throw "something awesome";`
|
|
// We use synthesized Error here so we can extract a (rough) stack trace.
|
|
ex = (hint && hint.syntheticException) || new Error(exception);
|
|
ex.message = exception;
|
|
}
|
|
mechanism.synthetic = true;
|
|
}
|
|
var event = {
|
|
exception: {
|
|
values: [exceptionFromError(ex)],
|
|
},
|
|
};
|
|
utils_1.addExceptionTypeValue(event, undefined, undefined);
|
|
utils_1.addExceptionMechanism(event, mechanism);
|
|
return tslib_1.__assign(tslib_1.__assign({}, event), { event_id: hint && hint.event_id });
|
|
}
|
|
exports.eventFromUnknownInput = eventFromUnknownInput;
|
|
/**
|
|
* Builds and Event from a Message
|
|
* @hidden
|
|
*/
|
|
function eventFromMessage(message, level, hint, attachStacktrace) {
|
|
if (level === void 0) { level = types_1.Severity.Info; }
|
|
var event = {
|
|
event_id: hint && hint.event_id,
|
|
level: level,
|
|
message: message,
|
|
};
|
|
if (attachStacktrace && hint && hint.syntheticException) {
|
|
var frames_1 = parseStackFrames(hint.syntheticException);
|
|
if (frames_1.length) {
|
|
event.stacktrace = { frames: frames_1 };
|
|
}
|
|
}
|
|
return event;
|
|
}
|
|
exports.eventFromMessage = eventFromMessage;
|
|
//# sourceMappingURL=eventbuilder.js.map
|