Skip to content
PluginStats

babel-plugin-transform-react-remove-prop-types weekly downloads statistics

By oliviertassinari (2 listings) · npm · Babel plugins

Remove unnecessary React propTypes from the production build

View on npm Fresh · Oct 17, 2026

babel-plugin-transform-react-remove-prop-types has 2,123,393 recorded weekly downloads on npm, a decrease of 49.7% over the past 30 days.

It ranks #155 of 2,256 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by -57.0%.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
2,123,393
Official API · Oct 17, 2026
7-day growth
-51.4%
-2.2M weekly downloads
30-day growth
-49.7%
-2.1M weekly downloads
90-day growth
-57.0%
-2.8M weekly downloads
Rank
#155
Among tracked npm listings

About babel-plugin-transform-react-remove-prop-types

babel-plugin-transform-react-remove-prop-types

Remove unnecessary React propTypes from the production build.

Installation

The problem solved

Remove React propTypes from the production build, as they are only used in development. You can save bandwidth by removing them.

Example

In

Out

With comment annotation

The majority of cases should be addressed by default by this plugin.

In some cases, for example when using HOCs (High Order Components), like *react-redux*'s connect, or component inheritance (although it's NOT recommended), a comment after the propTypes definition may be used to force the removal:

Usage

Via .babelrc (Recommended)

.babelrc

without options:

with options:

Via CLI

Via Node API

without options:

with options:

Options

mode

• remove (default): the propTypes definitions are removed from the source code. • wrap: the propTypes definitions are wrapped with the following code:

Accessing Component.propTypes.className won't throw. It's a tradeoff between the size of the output file and the likelihood libraries like react-native-hyperlink breaks. • unsafe-wrap: the propTypes definitions are wrapped with the following code:

Accessing Component.propTypes.className will throw.

The *wrap* modes are targeting React libraries like material-ui or react-native-web. They are not intended to be used by application authors.

removeImport

• true: the import statements are removed as well. This option only works if mode is set to remove: • false (default): does not remove the import statements.

ignoreFilenames

This filter generates a regular expression. Any filenames containing one of the array's strings will be ignored. By default, we match everything.

Following the Is it safe? section, you might encounter a component depending on the propTypes at runtime to work. For this reason, we provide an array options to filter out some files and folders. For instance, you can ignore all the npm modules:

additionalLibraries

This option gives the possibility to remove other propTypes in addition to the canonical prop-types.

For instance, by default

will result in the latter not to be removed, while with:

both will be removed.

Regular expressions

If you are using Babel 7 or newer and your config is stored in babel.config.js, you can also use a regular expression to describe modules, which should be removed.

This would be particularly useful when using custom prop types validators, implemented as part of your own source code. For example

would be removed with the following setting

If you use an index file

you could set it up as

classNameMatchers

Use this option to enable this plugin to run on components that extend a class different than React.Component or React.PureComponent.

Given this example:

You would use:

createReactClassName

Use this option to set a custom name for the import of the create-react-class package that is different than createReactClass.

Given this example:

You would use:

Is it safe?

If you are using the propTypes in a conventional way, i.e by using them to perform type checking on the properties, that plugin should be safe to use.

However, some libraries are accessing the propTypes on the component directly. For instance react-native-vector-icons use them to split the properties between two components:

:warning: The plugin is breaking that code if it ends up removing TouchableHighlight.propTypes.

Make sure you are: • Not using that pattern in your source code. If you do, explicitly export the propTypes to work around that limitation. • Not parsing the node_modules. If you do, test that your code is still working before shipping into production.

eslint-plugin-react has a rule forbid-foreign-prop-types that can help you make this plugin safer to use.

License

MIT

Description from the npm listing.

  • babel
  • babel-plugin
  • react
  • minification
  • propTypes

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

babel-plugin-transform-react-remove-prop-types weekly downloads on npm, last 90 days: 2,123,393 weekly downloads as of Oct 17, 2026, -57.0% over 90 days.babel-plugin-transform-react-remove-pr…Weekly downloads on npm · Last 90 days2,123,393downloads / week-57.0% over 90 days01M2M3M4M5M6M7M8MJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
babel-plugin-transform-react-remove-prop-types weekly downloads on npm, last 90 days: 2,123,393 weekly downloads as of Oct 17, 2026, -57.0% over 90 days.
PNG SVG

7/30/90-day growth

babel-plugin-transform-react-remove-prop-types weekly downloads growth on npm: -51.4% over 7 days, -49.7% over 30 days, -57.0% over 90 days.babel-plugin-transform-react-remove-pr…Weekly downloads growth on npm2,123,393downloads / week now7-day growth-2,244,666 weekly downlo…-51.4%30-day growth-2,097,177 weekly downlo…-49.7%90-day growth-2,817,748 weekly downlo…-57.0%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
babel-plugin-transform-react-remove-prop-types weekly downloads growth on npm: -51.4% over 7 days, -49.7% over 30 days, -57.0% over 90 days.
PNG SVG

Ranking history

babel-plugin-transform-react-remove-prop-types npm ranking history: currently #155 (by weekly downloads).babel-plugin-transform-react-remove-pr…npm ranking · by weekly downloads · Last 90 days#155current rank#153#154#155#156#157Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 18, 2026 – Oct 19, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
babel-plugin-transform-react-remove-prop-types npm ranking history: currently #155 (by weekly downloads).
PNG SVG

Listing placement

All npm2,256 listings · 113 pages · 1,129 shown · page 8, #15 (overall #155)
All npm: every listing in weekly downloads order
PNG SVG

Listing placement

Babel plugins251 listings · 13 pages · page 6, #13 (overall #113)
Babel plugins: every listing in weekly downloads order
PNG SVG

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 log 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 (121)
Recent weekly downloads observations for babel-plugin-transform-react-remove-prop-types
Date (UTC)Weekly downloadsChange vs. previous
2,123,393-417.1K
2,540,454+8.8K
2,531,652-958.1K
3,489,728-938.3K
4,428,0070
4,428,007-3.3K
4,431,321+63.3K
4,368,059+54.8K
4,313,264+67.6K
4,245,648-8.1K
4,253,770-78.3K
4,332,023-981K
5,313,038-87K
5,399,993—

Data 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/babel-plugin-transform-react-remove-prop-types. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.