{"id":19278,"library":"babel-preset-es2015-loose","title":"babel-preset-es2015-loose","description":"Babel preset that enables loose mode for all es2015 plugins. Latest version 8.0.0, deprecated since Babel v6.13+ because the official babel-preset-es2015 now natively supports loose mode via configuration. This preset works by modifying babel-preset-es2015 using modify-babel-preset. It requires installing both babel-preset-es2015-loose and babel-preset-es2015. No longer recommended for Babel v6.13+; directly use [\"es2015\", {\"loose\": true}] instead.","status":"deprecated","version":"8.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/bkonkle/babel-preset-es2015-loose","tags":["javascript"],"install":[{"cmd":"npm install babel-preset-es2015-loose","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-es2015-loose","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-es2015-loose","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"This preset modifies babel-preset-es2015; it must be installed as a peer dependency.","package":"babel-preset-es2015","optional":false}],"imports":[{"note":"This is a Babel preset, not a JavaScript module meant for direct import. Use it in Babel configuration under the 'presets' array.","wrong":"Direct import in code: import preset from 'babel-preset-es2015-loose' is not intended","symbol":"default","correct":"Require via babel preset configuration (\".babelrc\" or programmatic)"}],"quickstart":{"code":"// Install both packages\nnpm install --save-dev babel-preset-es2015-loose babel-preset-es2015\n\n// .babelrc\n{\n  \"presets\": [\"es2015-loose\"]\n}\n\n// Example input (test.js)\nconst x = [1, 2, 3];\nconst y = [...x, 4];\nconsole.log(y);\n\n// Transpile with Babel CLI\nbabel test.js --presets es2015-loose\n\n// Or programmatically\nconst babel = require('babel-core');\nconst result = babel.transform('const x = [1, 2, 3]; const y = [...x, 4];', {\n  presets: ['es2015-loose']\n});\nconsole.log(result.code);","lang":"javascript","description":"Install, configure in .babelrc, and run a transpilation example using the loose preset. (250+ chars)"},"warnings":[{"fix":"Replace 'es2015-loose' with [\"es2015\", {\"loose\": true}] in your Babel config and uninstall babel-preset-es2015-loose.","message":"This preset is deprecated for Babel v6.13+. Use official babel-preset-es2015 with loose option.","severity":"deprecated","affected_versions":">=7.0.0"},{"fix":"Ensure babel-preset-es2015 is listed as a dependency in package.json and installed.","message":"Breaking change from v6 to v7: requires explicit installation of babel-preset-es2015 due to modify-babel-preset.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Test thoroughly in target environments, or avoid loose mode for spec compliance.","message":"Loose mode may deviate from spec; cross-browser compatibility may be affected.","severity":"gotcha","affected_versions":"all"},{"fix":"Consider using official babel-preset-es2015 directly with loose option if on Babel v6.13+.","message":"The preset version is tied to modify-babel-preset, not babel core; updates may lag.","severity":"gotcha","affected_versions":"all"}],"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","cause":"Missing peer dependency babel-preset-es2015 was not installed.","error":"Cannot find module 'babel-preset-es2015'"},{"fix":"Verify babel-preset-es2015-loose is in node_modules and listed in package.json devDependencies.","cause":"Preset not installed or Babel cannot locate it.","error":"Unknown preset \"es2015-loose\" is not a valid preset or plugin"},{"fix":"Update babel-preset-es2015 to version 6.0.0 or higher.","cause":"babel-preset-es2015 version does not satisfy the peer dependency range.","error":"Error: Preset es2015-loose requires babel-preset-es2015 (>=6.0.0) to be installed"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}