# Targeting Node.js Versions — Babel & SWC

Source: https://www.geekswithgeeks.com/en/babel-swc/bs-target-node

> Configure transpilation for backend Node.js environments.

## Node 16+ supports most ES2021 features

Modern Node.js versions (16+, 18+, 20+) support async/await, `const`, arrow functions, destructuring, and more natively. You often don't need transpilation at all.

## Node target configuration

Set `targets.node` to specify minimum Node version. Babel then transpiles only incompatible features.

```json
// Target Node 18+: minimal transpilation
{
  "presets": [
    ["@babel/preset-env", { "targets": { "node": "18" } }]
  ]
}

// Target Node 12: more transpilation
{
  "presets": [
    ["@babel/preset-env", { "targets": { "node": "12" } }]
  ]
}
```

## Modern Node backends rarely need Babel

If your backend runs Node 18+, consider skipping Babel entirely and using TypeScript for type checking only. Faster builds, simpler setup.
