{"id":18437237,"url":"https://github.com/power-assert-js/espower-babel","last_synced_at":"2025-04-07T20:34:08.011Z","repository":{"id":25518674,"uuid":"28950552","full_name":"power-assert-js/espower-babel","owner":"power-assert-js","description":"[Deprecated] power-assert instrumentor for babel(6to5) + mocha.","archived":false,"fork":false,"pushed_at":"2016-04-15T13:46:06.000Z","size":61,"stargazers_count":65,"open_issues_count":2,"forks_count":8,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-23T00:24:28.563Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/twada/babel-plugin-espower","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/power-assert-js.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-08T05:30:47.000Z","updated_at":"2019-08-13T15:59:42.000Z","dependencies_parsed_at":"2022-07-10T12:16:42.611Z","dependency_job_id":null,"html_url":"https://github.com/power-assert-js/espower-babel","commit_stats":null,"previous_names":["azu/espower-6to5"],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-babel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-babel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-babel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-babel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/power-assert-js","download_url":"https://codeload.github.com/power-assert-js/espower-babel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247725972,"owners_count":20985805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T06:14:11.859Z","updated_at":"2025-04-07T20:34:02.996Z","avatar_url":"https://github.com/power-assert-js.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# espower-babel [![Build Status](https://travis-ci.org/power-assert-js/espower-babel.svg?branch=master)](https://travis-ci.org/power-assert-js/espower-babel)\n\npower-assert instrumentor for [Babel](https://babeljs.io/ \"Babel · The transpiler for writing next generation JavaScript\").\n\nThis module is wrapper of [babel-plugin-espower](https://github.com/power-assert-js/babel-plugin-espower \"babel-plugin-espower\").\n\n## :warning: Deprecated :warning:\n\nespower-babel is deprecated module.\n\nPlease directly use combination of [babel-register](https://www.npmjs.com/package/babel-register \"babel-register\") and [babel-preset-power-assert](https://github.com/power-assert-js/babel-preset-power-assert \"babel-preset-power-assert\").\n\n:heart: We've created migration tool: [migrate-espower-babel-to-babel-preset-power-assert](https://github.com/power-assert-js/migrate-espower-babel-to-babel-preset-power-assert \"migrate-espower-babel-to-babel-preset-power-assert\").\n\n`migrate-espower-babel-to-babel-preset-power-assert` migrate babel-register + babel-preset-power-assert from espower-babel.\n\n```diff\n- espower-babel\n+ babel-register\n+ babel-preset-power-assert\n```\n\nRelated Issue: [Deprecated: espower-babel · Issue #27 · power-assert-js/espower-babel](https://github.com/power-assert-js/espower-babel/issues/27 \"Deprecated: espower-babel · Issue #27 · power-assert-js/espower-babel\")\n\n## Purpose\n\n- Writing ES6 tests with [Babel](http://babeljs.io/)\n- Running tests with [power-assert](https://github.com/power-assert-js/power-assert) on the fly!\n- No configuration\n\n## DESCRIPTION\n\n`espower-babel` is a Node.js module loader that instruments [power-assert](https://github.com/power-assert-js/power-assert) feature into target ECMAScript6 sources on the fly.\n\nPlease note that `espower-babel` is a beta version product. Pull-requests, issue reports and patches are always welcomed. See [power-assert](http://github.com/twada/power-assert) project for more documentation.\n\nIf you want to use with [Traceur](https://github.com/google/traceur-compiler \"Traceur\"), please see [yosuke-furukawa/espower-traceur](https://github.com/power-assert-js/espower-traceur \"yosuke-furukawa/espower-traceur\").\n\n## EXAMPLE\n\nGiven `test/demo_test.js`\n\n```javascript\nlet assert = require('power-assert')\n\nclass Person {\n  constructor(name, age) {\n    this.name = name\n    this.age = age\n  }\n  getAge() {\n    return this.age\n  }\n}\n\ndescribe(\"Person\", ()=\u003e{\n  let alice = new Person(\"alice\", 3)\n  let bob = new Person(\"bob\", 5)\n  it(\"#getAge\", ()=\u003e{\n    assert(alice.getAge() === 3)\n  })\n  it(\"#name\", ()=\u003e{\n    assert(alice.name === \"alice\")\n  })\n  // failed\n  it(\"#mistake\", ()=\u003e{\n    assert(alice.name === bob.name)\n  })\n})\n```\n\nRun mocha with `--compilers js:espower-babel/guess`\n\n```\n$ mocha --compilers js:espower-babel/guess test/demo_test.js\n\n  ․․․\n\n  2 passing (17ms)\n  1 failing\n\n  1) Person #mistake:\n     AssertionError:   # test/demo_test.js:24\n\n  assert(alice.name === bob.name)\n         |     |    |   |   |\n         |     |    |   |   \"bob\"\n         |     |    |   Person{name:\"bob\",age:5}\n         |     |    false\n         |     \"alice\"\n         Person{name:\"alice\",age:3}\n\n  --- [string] bob.name\n  +++ [string] alice.name\n  @@ -1,3 +1,5 @@\n  -bob\n  +alice\n```\n\nSee the power-assert output appears!\n\n\n## INSTALL\n\n    $ npm install espower-babel -D\n\n\n## HOW TO USE\n\n### \u003cdel\u003eZero-config mode(for testing)\u003c/del\u003e\n\nEdit: Babel@6 require `.babelrc`. not work on zero config.\n\nYou can use directry [babel-plugin-espower](https://github.com/power-assert-js/babel-plugin-espower \"babel-plugin-espower\").\nWe have a simple migration tool(work on specific case) - [migrate-espower-babel-to-babel-plugin-espower](https://github.com/azu/migrate-espower-babel-to-babel-plugin-espower \"migrate-espower-babel-to-babel-plugin-espower\")\n\nIf your tests are located on `'test/**/*.js'`, just run mocha with `--compilers js:espower-babel/guess`\n\n    $ mocha --compilers js:espower-babel/guess test/**/*.js\n\n\n### If your tests are not in test dir\n\nYou can set test directory in your `package.json`\n\n```json\n{\n    \"name\": \"your-module\",\n    \"description\": \"Your module\",\n    \"version\": \"0.0.1\",\n    \"directories\": {\n        \"test\": \"spec/\"\n    },\n...\n}\n```\n\nThen, run mocha with `--compilers js:espower-babel/guess`\n\n    $ mocha --compilers js:espower-babel/guess spec/**/*.js\n\nNote: `'espower-babel/guess'` is inspired by [intelli-espower-loader](https://github.com/power-assert-js/intelli-espower-loader)\n\n### More customization\n\nIf you want to configure more explicitly, put `espower-babel-loader.js` somewhere in your project.\n\n```javascript\nrequire('espower-babel')({\n    // directory where match starts with\n    cwd: process.cwd(),\n\n    // glob pattern using minimatch module\n    pattern: 'spec/unit/**/*.js',\n\n    // options for espower module\n    espowerOptions: {\n        patterns: [\n            'assert(value, [message])',\n            'assert.ok(value, [message])',\n            'assert.equal(actual, expected, [message])',\n            'assert.notEqual(actual, expected, [message])',\n            'assert.strictEqual(actual, expected, [message])',\n            'assert.notStrictEqual(actual, expected, [message])',\n            'assert.deepEqual(actual, expected, [message])',\n            'assert.notDeepEqual(actual, expected, [message])'\n        ]\n    }\n});\n```\n\nThen, run mocha with `--require` option\n\n    $ mocha --require ./path/to/espower-babel-loader spec/unit/some_test_using_powerassert.js\n\n## Babel transform options\n\nBabel has many transform options.\n\n- [Options · Babel](https://babeljs.io/docs/usage/options/ \"Options · Babel\")\n\n`espower-babel` support babel transform options with [.babelrc](http://babeljs.io/docs/usage/babelrc/ \"babelrc\").\n\n`espower-babel` read `${cwd}/.babelrc` if exists.\n\nAlso, you can manually configure babel transform options.\n\ne.g.)\n\n```js\nrequire('espower-babel')({\n    babelrc: {\n        \"presets\": [\"es2015\"],\n        \"plugins\": [\"transform-es2015-modules-commonjs\"]\n    }\n})\n```\n\n**Caution**:\n \nBabel 6 does not transform your code by default. \nIt means that you must set babel config by `.babelrc` file or `babelrc` option.\n\n### Transform all files with Babel **by default**\n\nDo limit transform files by setting `babelrc`\n\ne.g.)\n\n```js\nrequire('espower-babel')({\n    babelrc: {\n        only: [\n            \"src/**/*.js\"\n        ]\n    }\n})\n```\n\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Commit your changes: `git commit -am 'Add some feature'`\n4. Push to the branch: `git push origin my-new-feature`\n5. Submit a pull request :D\n\n## License\n\nMIT\n\nIncludes [yosuke-furukawa/espower-traceur](https://github.com/yosuke-furukawa/espower-traceur \"yosuke-furukawa/espower-traceur\")\n\n## Acknowledgements\n\nThanks to [yosuke-furukawa/espower-traceur](https://github.com/yosuke-furukawa/espower-traceur \"yosuke-furukawa/espower-traceur\").\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpower-assert-js%2Fespower-babel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpower-assert-js%2Fespower-babel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpower-assert-js%2Fespower-babel/lists"}