Skip to content
PluginStats

babel-plugin-transform-decorators-legacy weekly downloads statistics

By loganfsmyth · npm · Babel plugins

A plugin for Babel 6 that (mostly) replicates the old decorator behavior from Babel 5.

View on npm Stale · Oct 17, 2026

babel-plugin-transform-decorators-legacy has 44,217 recorded weekly downloads on npm, a decrease of 50.5% over the past 30 days, ranking #587 of 2,256 tracked listings.

Weekly downloads
44,217
Official API · Oct 17, 2026
7-day growth
-47.0%
-39.1K weekly downloads
30-day growth
-50.5%
-45.1K weekly downloads
90-day growth
-47.9%
-40.7K weekly downloads
Rank
#587
Among tracked npm listings

About babel-plugin-transform-decorators-legacy

Babel Legacy Decorator plugin

This is a plugin for Babel 6 that is meant to replicate the old decorator behavior from Babel 5 in order to allow people to more easily transition to Babel 6 without needing to be blocked on updates to the decorator proposal or for Babel to re-implement it.

Babel >= 7.x

This plugin is specifically for Babel 6.x. If you're using Babel 7, this plugin is not for you. Babel 7's @babel/plugin-proposal-decorators officially supports the same logic that this plugin has, but integrates better with Babel 7's other plugins. You can enable this with

in your Babel configuration. Note that legacy: true is specifically needed if you want to get the same behavior as transform-decorators-legacy because there are newer versions of the decorator specification coming out, and they do not behave the same way as this plugin does.

Installation & Usage

$ npm install --save-dev babel-plugin-transform-decorators-legacy

Add the following line to your .babelrc file:

{ "plugins": ["transform-decorators-legacy"] }

NOTE: Order of Plugins Matters!

If you are including your plugins manually and using transform-class-properties, make sure that transform-decorators-legacy comes before transform-class-properties.

Why "legacy"?

Decorators are still only a relatively new proposal, and they are (at least currently) still in flux. Many people have started to use them in their original form, where each decorator is essentially a function of the form

function(target, property, descriptor){}

This form is very likely to change moving forward, and Babel 6 did not wish to support the older form when it was known that it would change in the future. As such, I created this plugin to help people transition to Babel 6 without requiring them to drop their decorators or requiring them to wait for the new proposal update and then update all their code.

Best Effort

This plugin is a best effort to be compatible with Babel 5's transpiler output, but there are a few things that were difficult to reproduce, and a few things that were simply incorrect in Babel 5 with respect to the decorators proposal.

Two main things to mention as differences, though not things you are likely to encounter:

  1. Decorators expressions are evaluated top to bottom, and executed bottom to top. e.g.

In Babel 5, this would output:

With this plugin, it will result in:

which is what the spec dictates as the correct behavior and was incorrect in Babel 5.

  1. Static class property initializers are evaluated once up front.

If you decorate a static class property, you will get a descriptor with an initializer property. However whereas with Babel 5 this could be re-executed multiple times with potentially differing results, decorators-legacy will precompute the value and return an initializer that will return that value. e.g.

In Babel 5, every access to prop would increment i. In Babel 6, the very first value of i will be cached for future initializer calls.

The spec is a little vague around how initializers work for repeat calls, and I'd consider calling an initializer multiple times to be a mistake in general, so hopefully this will not cause anyone trouble.

License

MIT (c) 2015

Description from the npm listing.

  • babel
  • babel-plugin
  • es7
  • decorators

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

babel-plugin-transform-decorators-legacy weekly downloads on npm, last 90 days: 44,217 weekly downloads as of Oct 17, 2026, -47.9% over 90 days.babel-plugin-transform-decorators-lega…Weekly downloads on npm · Last 90 days44,217downloads / week-47.9% over 90 days020K40K60K80K100K120K140KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 17, 2026 · 88 observations · Updated Oc…pluginstats.com
babel-plugin-transform-decorators-legacy weekly downloads on npm, last 90 days: 44,217 weekly downloads as of Oct 17, 2026, -47.9% over 90 days.

7/30/90-day growth

babel-plugin-transform-decorators-legacy weekly downloads growth on npm: -47.0% over 7 days, -50.5% over 30 days, -47.9% over 90 days.babel-plugin-transform-decorators-lega…Weekly downloads growth on npm44,217downloads / week now7-day growth-39,141 weekly downloads-47.0%30-day growth-45,139 weekly downloads-50.5%90-day growth-40,688 weekly downloads-47.9%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
babel-plugin-transform-decorators-legacy weekly downloads growth on npm: -47.0% over 7 days, -50.5% over 30 days, -47.9% over 90 days.

Ranking history

babel-plugin-transform-decorators-legacy npm ranking history: currently #587 (by weekly downloads).babel-plugin-transform-decorators-lega…npm ranking · by weekly downloads · Last 90 days#587current rank#100#200#300#400#500#600Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 17, 2026 – Oct 19, 2026 · 3 observations · Updated Oct 17, 2026pluginstats.com
babel-plugin-transform-decorators-legacy npm ranking history: currently #587 (by weekly downloads).

Listing placement

All npm2,256 listings · 113 pages · 1,129 shown · page 30, #7 (overall #587)
All npm: every listing in weekly downloads order

Listing placement

Babel plugins251 listings · 13 pages · page 12, #20 (overall #240)
Babel plugins: every listing in weekly downloads order

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 (543)
Recent weekly downloads observations for babel-plugin-transform-decorators-legacy
Date (UTC)Weekly downloadsChange vs. previous
44,217-11.4K
55,626-898
56,524-16.5K
72,982-16K
88,9510
88,951+2.2K
86,744+3.4K
83,358+1.9K
81,409+621
80,788-602
81,390-2.3K
83,724-18.4K
102,170-4.1K
106,297—

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-decorators-legacy. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.