# Best Practices — Babel & SWC

Source: https://www.geekswithgeeks.com/en/babel-swc/bs-best-practices

> Strategies for reliable, maintainable transpilation setups.

## Keep transpile configuration minimal

Only transpile what's necessary. Modern browsers don't need most transformations. Minimal config = faster builds, smaller output.

## Use type checking separately (TypeScript or Flow)

Don't rely on Babel/SWC for type safety. They skip type checking. Use `tsc --noEmit` in CI. Transpilers handle syntax only.

## Documentation and team alignment

Document your transpiler choice and configuration. Ensure team members understand what transpilation happens and why. Clear setup reduces surprises and bugs.

## Test transpilation as part of CI

Run your tests on transpiled output, not source. Catch transpilation bugs before release.

## Version locking and reproducibility

Lock @babel/core and plugin versions in package.json. Different versions can produce different outputs. Use exact versions (not ~) for transpilers.
