![JAR search and dependency download from the Maven repository](/logo.png)
package.build.cjs.integrations.metadata.js Maven / Gradle / Ivy
Object.defineProperty(exports, '__esModule', { value: true });
const utils = require('@sentry/utils');
const integration = require('../integration.js');
const metadata = require('../metadata.js');
/**
* Adds module metadata to stack frames.
*
* Metadata can be injected by the Sentry bundler plugins using the `moduleMetadata` config option.
*
* When this integration is added, the metadata passed to the bundler plugin is added to the stack frames of all events
* under the `module_metadata` property. This can be used to help in tagging or routing of events from different teams
* our sources
*/
const moduleMetadataIntegration = integration.defineIntegration(() => {
return {
name: 'ModuleMetadata',
setup(client) {
// We need to strip metadata from stack frames before sending them to Sentry since these are client side only.
client.on('beforeEnvelope', envelope => {
utils.forEachEnvelopeItem(envelope, (item, type) => {
if (type === 'event') {
const event = Array.isArray(item) ? (item )[1] : undefined;
if (event) {
metadata.stripMetadataFromStackFrames(event);
item[1] = event;
}
}
});
});
client.on('applyFrameMetadata', event => {
// Only apply stack frame metadata to error events
if (event.type) {
return;
}
const stackParser = client.getOptions().stackParser;
metadata.addMetadataToStackFrames(stackParser, event);
});
},
};
});
exports.moduleMetadataIntegration = moduleMetadataIntegration;
//# sourceMappingURL=metadata.js.map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy