This commit is contained in:
MarSeventh
2024-07-19 23:26:06 +08:00
commit 4e0c55d1f9
1401 changed files with 69819 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
import { addTracingExtensions, getMainCarrier } from '@sentry/core';
import { isNodeEnv, loadModule, dynamicRequire } from '@sentry/utils';
/**
* @private
*/
function _autoloadDatabaseIntegrations() {
const carrier = getMainCarrier();
if (!carrier.__SENTRY__) {
return;
}
const packageToIntegrationMapping = {
mongodb() {
const integration = dynamicRequire(module, './node/integrations/mongo')
;
return new integration.Mongo();
},
mongoose() {
const integration = dynamicRequire(module, './node/integrations/mongo')
;
return new integration.Mongo();
},
mysql() {
const integration = dynamicRequire(module, './node/integrations/mysql')
;
return new integration.Mysql();
},
pg() {
const integration = dynamicRequire(module, './node/integrations/postgres')
;
return new integration.Postgres();
},
};
const mappedPackages = Object.keys(packageToIntegrationMapping)
.filter(moduleName => !!loadModule(moduleName))
.map(pkg => {
try {
return packageToIntegrationMapping[pkg]();
} catch (e) {
return undefined;
}
})
.filter(p => p) ;
if (mappedPackages.length > 0) {
carrier.__SENTRY__.integrations = [...(carrier.__SENTRY__.integrations || []), ...mappedPackages];
}
}
/**
* This patches the global object and injects the Tracing extensions methods
*/
function addExtensionMethods() {
addTracingExtensions();
// Detect and automatically load specified integrations.
if (isNodeEnv()) {
_autoloadDatabaseIntegrations();
}
}
export { addExtensionMethods };
//# sourceMappingURL=extensions.js.map