{"id":18437210,"url":"https://github.com/power-assert-js/espower-traceur","last_synced_at":"2025-07-06T15:01:50.864Z","repository":{"id":23667352,"uuid":"27038332","full_name":"power-assert-js/espower-traceur","owner":"power-assert-js","description":null,"archived":false,"fork":false,"pushed_at":"2015-08-28T17:43:04.000Z","size":160,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-07-04T11:07:58.895Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-23T16:16:49.000Z","updated_at":"2016-01-09T14:32:03.000Z","dependencies_parsed_at":"2022-08-22T02:50:39.079Z","dependency_job_id":null,"html_url":"https://github.com/power-assert-js/espower-traceur","commit_stats":null,"previous_names":["yosuke-furukawa/espower-traceur"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/power-assert-js/espower-traceur","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-traceur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-traceur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-traceur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-traceur/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-traceur/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-traceur/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263544581,"owners_count":23477886,"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:05.993Z","updated_at":"2025-07-06T15:01:50.832Z","avatar_url":"https://github.com/power-assert-js.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"espower-traceur\n========================\n\n[![Build Status](https://travis-ci.org/yosuke-furukawa/espower-traceur.svg?branch=master)](https://travis-ci.org/yosuke-furukawa/espower-traceur)\n\npower-assert instrumentor for [Traceur Compiler](https://github.com/google/traceur-compiler/)\n\nDESCRIPTION\n---------------------------------------\n`espower-traceur` is a Node.js module loader that instruments [power-assert](http://github.com/twada/power-assert) feature into target ECMAScript6 sources on the fly.\n\nPlease note that `espower-traceur` 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\n\nEXAMPLE\n---------------------------------------\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 `--require 'espower-traceur/guess'`\n\n```\n$ mocha --require 'espower-traceur/guess' test/demo_test.js\n\n  ․․․\n\n  2 passing (17ms)\n  1 failing\n\n  1) Person #mistake:\n     AssertionError:   # /Users/yosuke/go/src/github.com/yosuke-furukawa/espower-traceur/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\nINSTALL\n---------------------------------------\n\n    $ npm install espower-traceur -D\n\n\nHOW TO USE\n---------------------------------------\n\n\n### Zero-config mode\n\nIf your tests are located on `'test/**/*.js'`, just run mocha with `--require 'espower-traceur/guess'`\n\n    $ mocha --require 'espower-traceur/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 `--require 'espower-traceur/guess'`\n\n    $ mocha --require 'espower-traceur/guess' spec/**/*.js\n\nNote: `'espower-traceur/guess'` is inspired by [intelli-espower-loader](https://github.com/azu/intelli-espower-loader)\n\n\n### More customization\n\nIf you want to configure more explicitly, put `espower-traceur-loader.js` somewhere in your project.\n\n```javascript\nrequire('espower-traceur')({\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-traceur-loader spec/unit/some_test_using_powerassert.js\n\n\nAUTHOR\n---------------------------------------\n* [Yosuke Furukawa](http://github.com/yosuke-furukawa)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpower-assert-js%2Fespower-traceur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpower-assert-js%2Fespower-traceur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpower-assert-js%2Fespower-traceur/lists"}