{"id":19277,"library":"babel-preset-es2015-ie","title":"babel-preset-es2015-ie","description":"A Babel preset that includes all ES2015 plugins with additional transforms to ensure compatibility with Internet Explorer 9 and 10. Version 6.7.0 is the latest stable release, designed for Babel 6. It wraps the official babel-preset-es2015 and adds IE-specific polyfills or transforms for features like default parameters, destructuring, and spread operators that are not fully supported in older IE versions. Unlike the base preset, it targets IE>=9 specifically, making it suitable for legacy enterprise applications. The package is no longer actively maintained as Babel 6 is deprecated in favor of Babel 7 and @babel/preset-env.","status":"deprecated","version":"6.7.0","language":"javascript","source_language":"en","source_url":"https://github.com/jmcriffey/babel-preset-es2015-ie","tags":["javascript","babel","preset","es2015","IE9","IE10","internet explorer 9","internet explorer 10"],"install":[{"cmd":"npm install babel-preset-es2015-ie","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-es2015-ie","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-es2015-ie","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Babel 6 core required to load presets","package":"babel-core","optional":false},{"reason":"This preset wraps babel-preset-es2015 and adds IE-specific transforms","package":"babel-preset-es2015","optional":false}],"imports":[{"note":"In .babelrc or Babel config, use the preset name without the 'babel-preset-' prefix.","wrong":"{\n  \"presets\": [\"babel-preset-es2015-ie\"]\n}","symbol":"Default (as preset)","correct":"{\n  \"presets\": [\"es2015-ie\"]\n}"},{"note":"When using the Node API, pass the preset name as a string, not the required module.","wrong":"var preset = require('babel-preset-es2015-ie');\nrequire('babel-core').transform('code', { presets: [preset] })","symbol":"Default (Node API)","correct":"require('babel-core').transform('code', { presets: ['es2015-ie'] })"},{"note":"CLI also expects the short preset name.","wrong":"babel script.js --presets babel-preset-es2015-ie","symbol":"Via CLI","correct":"babel script.js --presets es2015-ie"}],"quickstart":{"code":"// Install the preset\n// npm install --save-dev babel-preset-es2015-ie\n\n// .babelrc\n{\n  \"presets\": [\"es2015-ie\"]\n}\n\n// Example ES2015 code (will be transpiled for IE9+)\nconst sum = (a, b) => a + b;\nlet numbers = [1, 2, 3];\nlet doubled = numbers.map(n => n * 2);\nconsole.log(doubled);","lang":"javascript","description":"Shows installation, configuration in .babelrc, and a basic ES2015 arrow function/map example that will be transpiled for IE9+."},"warnings":[{"fix":"Migrate to Babel 7 and use @babel/preset-env with targets: { ie: '9' }.","message":"babel-preset-es2015-ie is deprecated; Babel 6 is end-of-life. Use @babel/preset-env with IE targets instead.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Add import 'babel-polyfill' or configure core-js polyfills in Babel 7.","message":"The preset does not include a polyfill for Promise, Map, Set, etc. Those must be added separately (e.g., babel-polyfill).","severity":"gotcha","affected_versions":">=6.0.0"},{"fix":"Upgrade to @babel/preset-env and use Babel 7.","message":"This preset is designed for Babel 6 only. It will not work with Babel 7 (which uses @babel/ scoped packages).","severity":"breaking","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run npm install --save-dev babel-preset-es2015-ie","cause":"The preset is not installed or not in node_modules.","error":"Error: Couldn't find preset \"es2015-ie\" relative to directory"},{"fix":"Downgrade to Babel 6 or migrate to @babel/preset-env.","cause":"Using the preset with Babel 7 instead of Babel 6.","error":"Error: Requires Babel \"^6.0.0-0\" but was loaded with \"7.x\"."},{"fix":"Add additional presets or plugins (e.g., babel-plugin-syntax-dynamic-import).","cause":"The preset is correctly configured but some modern syntax (e.g., dynamic imports) is not covered.","error":"SyntaxError: Unexpected token import (or arrow function etc.)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}