Lesson 18 / 30
Loose Mode and Edge Cases
Trade correctness for smaller output with loose mode.
Loose mode: fast but imperfect
Babel's loose mode generates simpler, smaller code that works for most cases but may deviate from spec in rare edge cases. Good for apps, risky for libraries.
Enabling loose mode
Add loose: true to preset-env to enable. Often saves 5-10% bundle size.
{
"presets": [
[
"@babel/preset-env",
{
"loose": true,
"targets": { "browsers": ["last 2 versions"] }
}
]
]
}Measure the impact for your use case
Loose mode is a tradeoff. Benchmark bundle size and run tests to ensure no edge cases break your app.