# Loose Mode and Edge Cases — Babel & SWC

Source: https://www.geekswithgeeks.com/en/babel-swc/bs-weak-mode

> 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.

```json
{
  "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.
