Skip to content

Expose ignoreComponents as an Option #622

Closed
@angel3cu

Description

@angel3cu

@sentry/babel-plugin-component-annotate seems to have an undocumented option to ignore specific files and/or components. This is coming from the original plugin that is is based on. The option is called ignoreComponents and can be seen documented in the original FullStory plugin here.

In some cases, adding properties to a component at build time interacts with other libraries, causing them to fail. One such scenario is Mapbox, where Sentry adds data-sentry-component and data-sentry-source-file into the properties of the Source component. Mapbox validates all the properties of its React components; when it encounters the properties injected by Sentry, it fails. Even worse, since in most scenarios Sentry is only used in production, this failure won't be visible until it is too late.

The root cause of the failure here is the reactComponentAnnotation feature. It currently has a simple enabled option to turn it on and off. Given how useful the feature is for debugging issues, we would like to keep it on and only exclude the components that fail. If we could expose the underlying ignoreComponents in the Vite plugin, then that goal would be achieved.

e.g.

export default defineConfig({
  plugins: [
    ...
    sentryVitePlugin({
      ...,
      reactComponentAnnotation: {
        enabled: true,
        ignoreComponents: [
      },
    }),
  ],

Metadata

Metadata

Assignees

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions