123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- 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
|