These past few weeks we’ve seen lots of activity on 6to5; thousands are downloading it every day from all corners of the world. In the past month, over 200 issues have been closed. Since the 2.0 release, there have been 867 commits and 60 minor and patch releases. It’s now among the top 1% of most downloaded packages on npm, with nearly 100k downloads in the last month alone.
Today we are releasing 3.0.
Note: 6to5 doesn't hold onto bug fixes or new backwards compatible features for major releases. Some of the features listed are from later 2.x releases.
Loose Mode
6to5 is very focused on spec-compliancy in everything that it does. Sometimes the spec requires a lot of complexity around edgecases that don't affect most code.
We’ve added Loose Mode for ignoring some of these edgecases in order to create cleaner, smaller, and faster executing output.
For example, calling super()
inside a constructor would normally be compiled to:
function Foo() {
_get(Object.getPrototypeOf(Foo.prototype), "constructor", this).call(this);
}
However, with Loose Mode it is compiled to:
function Foo() {
Bar.call(this);
}
Before you use Loose Mode, you should be aware that it doesn't line up with the spec completely, it may lead to incompatible code if you aren't aware of these inconsistencies. Check out the docs for more info.