{"id":19050,"library":"babel-plugin-empower-assert","title":"babel-plugin-empower-assert","description":"Babel plugin that transforms standard Node.js assert() calls into power-assert empowered assertions at compile time, enabling detailed failure messages with expression graph visualization. Version 2.0.0 requires Babel 7 and power-assert 1.x. The package is lightweight, focused solely on the transformation step, and must be used alongside power-assert. For Babel 6, use version 1.x. Provides enhanced debugging for tests but adds no runtime overhead.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/power-assert-js/babel-plugin-empower-assert","tags":["javascript","assert","power-assert","babel","babel-plugin"],"install":[{"cmd":"npm install babel-plugin-empower-assert","lang":"bash","label":"npm"},{"cmd":"yarn add babel-plugin-empower-assert","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-plugin-empower-assert","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; must be installed separately for the transformed code to work at runtime","package":"power-assert","optional":false}],"imports":[{"note":"Plugin name used in .babelrc or Babel config. Short form 'empower-assert' (without 'babel-plugin-' prefix) also works, but full name is preferred for clarity.","wrong":"\"plugins\": [\"empower-assert\"]","symbol":"babel-plugin-empower-assert","correct":"\"plugins\": [\"babel-plugin-empower-assert\"]"},{"note":"The plugin is distributed as CommonJS and typically not used directly via import; it's loaded by Babel's plugin system.","wrong":"import empowerAssert from 'babel-plugin-empower-assert';","symbol":"default","correct":"const empowerAssert = require('babel-plugin-empower-assert');"},{"note":"After transformation, the require('assert') is rewritten to require('power-assert'). In source code, you still write require('assert'), but the plugin changes it at compile time.","wrong":"var assert = require('assert');","symbol":"assert","correct":"var assert = require('power-assert');"}],"quickstart":{"code":"// Install dependencies:\n// npm install --save-dev babel-plugin-empower-assert power-assert\n\n// .babelrc\n{\n  \"env\": {\n    \"development\": {\n      \"plugins\": [\"babel-plugin-empower-assert\"]\n    }\n  }\n}\n\n// source.js (before transformation)\n'use strict';\nvar assert = require('assert');\nfunction add(a, b) {\n    assert(!isNaN(a));\n    assert.equal(typeof b, 'number');\n    return a + b;\n}\n\n// After babel transformation, 'require(\"assert\")' becomes 'require(\"power-assert\")'","lang":"javascript","description":"Shows configuration (.babelrc) and source code example that will be transformed by babel-plugin-empower-assert."},"warnings":[{"fix":"Downgrade to version 1.4.0 with npm install babel-plugin-empower-assert@1.4.0 --save-dev","message":"Babel 7 is incompatible with Babel 6. Use version 1.x for Babel 6.","severity":"breaking","affected_versions":"2.x"},{"fix":"Add power-assert to your dependencies: npm install power-assert --save-dev","message":"You must have power-assert installed separately as a dependency; the plugin does not include it.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Ensure power-assert is used in your runtime environment for the enhanced output.","message":"The plugin only transforms require('assert') to require('power-assert'); it does not modify assert methods like assert.ok() beyond the replacement.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Migrate to Babel 7 and use version 2.0.0.","message":"Babel 6 version is on older release line (1.x); new development targets Babel 7.","severity":"deprecated","affected_versions":"1.x"}],"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-plugin-empower-assert in your project directory.","cause":"Plugin not installed or installed in wrong location (e.g., globally instead of locally)","error":"Error: Cannot find module 'babel-plugin-empower-assert'"},{"fix":"Install power-assert: npm install power-assert --save","cause":"The transformed code requires power-assert at runtime, but it is missing from dependencies","error":"ReferenceError: assert is not defined"},{"fix":"Use version 1.x for Babel 6: npm install babel-plugin-empower-assert@1.4.0 --save-dev","cause":"Using version 2.x with Babel 6; Babel 6 expects function-based plugins, but 2.x exports as object for Babel 7","error":"Error: Plugin/Preset files are not allowed to export objects, only functions"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}