@datadog/mobile-react-native-babel-plugin weekly downloads statistics
By datadog (10 listings) · npm · Babel plugins
A Babel plugin that enhances Datadog's React Native SDK by automatically enriching React components with contextual metadata.
@datadog/mobile-react-native-babel-plugin has 35,337 recorded weekly downloads on npm, a decrease of 60.6% over the past 30 days, ranking #655 of 2,391 tracked listings.
About @datadog/mobile-react-native-babel-plugin
Babel Plugin for React Native
The @datadog/mobile-react-native-babel-plugin enhances the Datadog React Native SDK by automatically enriching React components with contextual metadata. This helps improve the accuracy of features such as RUM Action tracking and Session Replay.
Setup
Note: Make sure you've already integrated the Datadog React Native SDK.
To install with NPM, run:
npm install @datadog/mobile-react-native-babel-plugin
To install with Yarn, run:
yarn add @datadog/mobile-react-native-babel-plugin
Configure Babel
Add the plugin to your Babel configuration. Depending on your setup, you might be using a babel.config.js, .babelrc, or similar.
Example configuration:
module.exports = {
presets: ['module:@react-native/babel-preset'],
plugins: ['@datadog/mobile-react-native-babel-plugin'] // <-- Add here
};
Configuration Options
You can configure the plugin to adjust how it processes your code, giving you control over its behavior and allowing you to tailor it to your project’s needs.
Top-level options
| Option | Type | Default | Description |
|---|---|---|---|
actionNameAttribute | string | – | The chosen attribute name to use for action names. |
sessionReplay | object | – | Session Replay configuration. |
components | object | – | Component tracking configuration. |
sessionReplay options
| Option | Type | Default | Description |
|---|---|---|---|
svgTracking | boolean | false | Whether to track SVG assets in the context of Session Replay. |
components options
| Option | Type | Default | Description |
|---|---|---|---|
useContent | boolean | true | Whether to use component content (for example: children, props) as the action name. |
useNamePrefix | boolean | true | Whether to prefix actions with the component name. |
tracked | array | – | List of component-specific tracking configs. |
components.tracked[] (per component)
Each entry in the tracked array is an object with the following shape:
| Option | Type | Default | Description |
|---|---|---|---|
name | string | – | The component name to track (e.g., Button). |
useContent | boolean | inherits from global | Override useContent for this component. |
useNamePrefix | boolean | inherits from global | Override useNamePrefix for this component. |
contentProp | string | – | Property name to use for content instead of children (for example: "subTitle"). |
handlers | array | – | List of event/action pairs to track. |
components.tracked[].handlers[]
| Field | Type | Description |
|---|---|---|
event | string | The event name to intercept (such as "onPress"). |
action | string | The RUM action name to associate with this event. (Only "TAP" actions are currently supported) |
Example configuration (using configuration options):
module.exports = {
presets: ['module:@react-native/babel-preset'],
plugins: [
[
'@datadog/mobile-react-native-babel-plugin',
{
actionNameAttribute: 'custom-prop-value',
sessionReplay: {
svgTracking: true
},
components: {
useContent: true,
useNamePrefix: true,
tracked: [
{
name: 'CustomButton',
contentProp: 'text'
handlers: [{event: 'onPress', action: 'TAP'}],
},
{
name: 'CustomTextInput',
handlers: [{event: 'onFocus', action: 'TAP'}],
},
{
useNamePrefix: false,
useContent: false,
name: 'Tab',
handlers: [{event: 'onChange', action: 'TAP'}],
},
],
},
},
],
],
};
Troubleshooting
Note: If you're on an older React Native version, and using Typescript in your project, you may need to install the preset @babel/preset-typescript.
To install with NPM, run:
npm install @babel/preset-typescript
To install with Yarn, run:
yarn add @babel/preset-typescript
Then update your Babel configuration file like using the following example:
module.exports = {
presets: [
'module:@react-native/babel-preset',
'@babel/preset-typescript' // <-- Add here
],
plugins: ['@datadog/mobile-react-native-babel-plugin']
};
Description from the npm listing.
- babel
- babel-plugin
- plugin
- datadog
- react-native
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (122)Similar npm Babel plugins plugins
All 20 @datadog/mobile-react-native-babel-plugin alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@datadog/mobile-react-native-babel-plugin. First seen Oct 16, 2026; last successful collection Oct 21, 2026. See the methodology.