{"id":19257,"library":"babel-preset-atomic","title":"babel-preset-atomic","description":"A Babel preset optimized for Electron and Node.js environments, maintained by atom-ide-community. Current stable version is 5.0.0 targeting Electron 11. Release cadence is irregular. Key differentiators: includes TypeScript, React, Flow support; configurable targets; previously bundled @babel/core as dependency (v4.1.0-4.3.0) but now requires peer dependencies. Supports both ESM and CJS.","status":"active","version":"5.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/atom-ide-community/babel","tags":["javascript","babel","babel-preset"],"install":[{"cmd":"npm install babel-preset-atomic","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-atomic","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-atomic","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for Babel CLI usage","package":"@babel/cli","optional":true},{"reason":"Peer dependency required for Babel core functionality","package":"@babel/core","optional":false}],"imports":[{"note":"This is a Babel preset, not a regular module. It is used via Babel configuration, not imported directly in code. The correct usage is to add it to your .babelrc or babel.config.js as a preset entry.","wrong":"import preset from 'babel-preset-atomic'","symbol":"default","correct":"module.exports = require('babel-preset-atomic')"},{"note":"No default export; use the package name string or module.exports directly.","wrong":"const preset = require('babel-preset-atomic').default","symbol":"preset","correct":"module.exports = { presets: ['babel-preset-atomic'] }"},{"note":"ESM imports may work in Node 14+ but CJS is safer. The createPreset function is available since v4.4.0 for advanced configuration.","wrong":"import { createPreset } from 'babel-preset-atomic'","symbol":"createPreset","correct":"const { createPreset } = require('babel-preset-atomic')"}],"quickstart":{"code":"// babel.config.js\nmodule.exports = {\n  presets: [\n    ['babel-preset-atomic', {\n      targets: {\n        electron: '11'\n      },\n      typescript: true,\n      react: true\n    }]\n  ]\n};\n\n// Then create an index.js with modern JS\nconst greet = (name: string) => `Hello, ${name}!`;\nconsole.log(greet('World'));\n\n// Run: npx babel index.js --out-file index.bundle.js","lang":"javascript","description":"Shows how to configure the preset with Electron 11 target, TypeScript and React support, then compile a file."},"warnings":[{"fix":"Add { targets: { electron: '9' } } to preset options for Electron 9 compatibility.","message":"v5.0.0 changed default Electron target to 11. Projects targeting older Electron versions must specify targets option explicitly.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Add { targets: { electron: '5' } } to preset options for Electron 5.","message":"v4.0.0 dropped automatic Electron 5 targeting. Must provide targets option for Electron 5.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Install @babel/core as a devDependency: npm install --save-dev @babel/core","message":"Including @babel/core as a dependency was deprecated after v4.3.0. Now it is a peer dependency.","severity":"deprecated","affected_versions":"<=4.3.0"},{"fix":"Use require('babel-preset-atomic') as a string in Babel config or use module.exports = require('babel-preset-atomic') if you need to modify.","message":"The preset does not export a default but uses module.exports. CommonJS require('babel-preset-atomic') returns an object, not a function. Direct import may fail.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"No action needed, but review TypeScript-specific options (e.g., isTSX, jsxPragma).","message":"TypeScript support from v4.4.0 uses @babel/preset-typescript. Previous versions used a custom transformer which may have different behavior.","severity":"deprecated","affected_versions":">=4.4.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install --save-dev @babel/core","cause":"Missing peer dependency @babel/core","error":"Error: Cannot find module '@babel/core'"},{"fix":"Replace import with module.exports = { presets: ['babel-preset-atomic'] } or require('babel-preset-atomic') as the preset name.","cause":"Used import or incorrect module.exports pattern in Babel config","error":"Error: Preset [object Object] is invalid. Expected a string or an array of [presetName, options]"},{"fix":"Verify targets is an object: { targets: { electron: '11' } }","cause":"Preset options are incorrectly placed or typo in targets","error":"Error: Unknown option: .targets. Check that it is correct"},{"fix":"Upgrade to Babel 7: npm install --save-dev @babel/core@^7","cause":"Incompatible Babel version (6.x) installed","error":"Error: Requires Babel \">=7\" but was loaded with \"6.x\""}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}