{"id":19322,"library":"babel-preset-power-assert","title":"babel-preset-power-assert","description":"Babel preset for power-assert, providing a seamless integration to enable power-assert's enhanced assertion messages (full expression graph) in Node.js and browsers. The current stable version is 3.0.0, compatible with Babel 7. For Babel 6, use version 2.x. Released under MIT license. Maintained as part of the power-assert-js organization. Key differentiator: bundles babel-plugin-empower-assert and babel-plugin-espower, requiring only the preset and power-assert package as dependencies.","status":"active","version":"3.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/power-assert-js/babel-preset-power-assert","tags":["javascript","assert","babel","babel-plugin","babel-preset","power-assert"],"install":[{"cmd":"npm install babel-preset-power-assert","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-power-assert","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-power-assert","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime dependency for assertion enhancement; must be installed alongside the preset.","package":"power-assert","optional":false}],"imports":[{"note":"The preset is used as a Babel preset string, not imported as a module in JavaScript code.","wrong":"// Wrong: using require('babel-preset-power-assert') directly as a function\nvar preset = require('babel-preset-power-assert');","symbol":"defaultPreset","correct":"// In .babelrc or babel.config.js\n{\n  \"presets\": [\"power-assert\"]\n}"},{"note":"This preset re-exports babel-plugin-empower-assert and babel-plugin-espower. However, direct import is not common; usually you just use the preset string.","wrong":"const empowerAssert = require('babel-preset-power-assert').empowerAssert;","symbol":"babel-plugin-empower-assert","correct":"import { empowerAssert } from 'babel-preset-power-assert';"},{"note":"Same as above. The plugins are exported for advanced usage, but the preset string is the recommended approach.","wrong":"const espower = require('babel-preset-power-assert').espower;","symbol":"babel-plugin-espower","correct":"import { espower } from 'babel-preset-power-assert';"},{"note":"Options are passed as an array entry in the presets list, not via function call.","wrong":"// Wrong: passing options as second argument to require\nconst preset = require('babel-preset-power-assert')(options);","symbol":"config","correct":"{\n  \"presets\": [\n    [\"power-assert\", {\n      \"empowerAssert\": { /* options */ },\n      \"espower\": { /* options */ }\n    }]\n  ]\n}"}],"quickstart":{"code":"// 1. Install dependencies:\n// npm install --save-dev babel-preset-power-assert power-assert\n\n// 2. Create babel.config.js (or .babelrc):\nmodule.exports = {\n  presets: ['power-assert']\n};\n\n// 3. Write a test file (e.g., test.js):\nconst assert = require('power-assert');\n\ndescribe('Array', () => {\n  it('should have length 3', () => {\n    const arr = [1, 2, 3];\n    assert(arr.length === 3);\n  });\n});\n\n// 4. Run with Babel:\n// npx babel test.js --out-file test-transpiled.js && node test-transpiled.js","lang":"javascript","description":"Shows setup of babel-preset-power-assert with Babel, including installation, configuration, and a sample test using power-assert assert."},"warnings":[{"fix":"Install babel-preset-power-assert@2.0.0 for Babel 6 projects.","message":"babel-preset-power-assert v3.x is incompatible with Babel 6. Use v2.x for Babel 6.","severity":"breaking","affected_versions":"3.x"},{"fix":"Upgrade to v3.0.0 and update to Babel 7.","message":"babel-preset-power-assert v2.x is deprecated; use v3.x for Babel 7.","severity":"deprecated","affected_versions":"2.x"},{"fix":"Run: npm install --save-dev power-assert","message":"power-assert must be installed as a separate dependency; it is not included in the preset.","severity":"gotcha","affected_versions":"all"},{"fix":"Add other presets (e.g., '@babel/preset-env') alongside 'power-assert'.","message":"The preset does not include '@babel/preset-env' or any other presets; you may need to combine with other presets in a Babel configuration.","severity":"gotcha","affected_versions":"all"},{"fix":"Add const assert = require('power-assert'); (or import assert from 'power-assert') in files that use assert.","message":"The preset only transforms assert statements; it does not provide the runtime 'power-assert' module. You must require/import 'power-assert' in your source files.","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-power-assert","cause":"Missing package installation or incorrect npm install command.","error":"Error: Cannot find module 'babel-preset-power-assert'"},{"fix":"Install power-assert: npm install --save-dev power-assert","cause":"Missing power-assert runtime package.","error":"TypeError: Cannot read property 'power-assert' of undefined"},{"fix":"Add const assert = require('power-assert'); at the top of your file.","cause":"power-assert module not imported in your test file.","error":"ReferenceError: assert is not defined"},{"fix":"Use babel-preset-power-assert@2.0.0 for Babel 6, or upgrade to Babel 7.","cause":"Using babel-preset-power-assert v3.x with Babel 6.","error":"Error: Requires Babel \"7.0.0-0\" but was loaded with \"6.26.3\""}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}