{"id":18437225,"url":"https://github.com/power-assert-js/espower-source","last_synced_at":"2025-04-07T20:34:05.296Z","repository":{"id":15696645,"uuid":"18434443","full_name":"power-assert-js/espower-source","owner":"power-assert-js","description":"Power Assert instrumentor from code to code, with SourceMap.","archived":false,"fork":false,"pushed_at":"2022-12-02T05:26:05.000Z","size":1130,"stargazers_count":12,"open_issues_count":7,"forks_count":7,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-20T10:06:32.864Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-04T09:41:05.000Z","updated_at":"2024-12-18T11:14:49.000Z","dependencies_parsed_at":"2022-08-25T08:41:20.343Z","dependency_job_id":null,"html_url":"https://github.com/power-assert-js/espower-source","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-source","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-source/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-source/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/power-assert-js%2Fespower-source/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-source/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247725956,"owners_count":20985800,"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:10.404Z","updated_at":"2025-04-07T20:34:00.286Z","avatar_url":"https://github.com/power-assert-js.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"espower-source\n================================\n\n[![Build Status][travis-image]][travis-url]\n[![NPM package][npm-image]][npm-url]\n[![Dependency Status][depstat-image]][depstat-url]\n[![License][license-image]][license-url]\n\n\nPower Assert instrumentor from code to code, with SourceMap.\n\n\nDESCRIPTION\n---------------------------------------\n`espower-source` is a source code transformer that applies [espower](https://github.com/power-assert-js/espower) to target code.\n\n`espower` manipulates assertion expression in the form of ECMAScript AST defined in [The ESTree Spec](https://github.com/estree/estree) (formerly known as [Mozilla SpiderMonkey Parser API](https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API)), to instrument power-assert feature into the code. SourceMap information is appended in SourceMap Comment syntax at the end of returned code.\n\nPull-requests, issue reports and patches are always welcomed. See [power-assert](https://github.com/power-assert-js/power-assert) project for more documentation.\n\n\nCHANGELOG\n---------------------------------------\nSee [CHANGELOG](https://github.com/power-assert-js/espower-source/blob/master/CHANGELOG.md)\n\n\nAPI\n---------------------------------------\n\n### var modifiedCode = espowerSource(originalCode, [filepath], [options])\n\n| return type |\n|:------------|\n| `string`    |\n\n`espowerSource` function manipulates `originalCode` then returns (transformed) JavaScript code as string. SourceMap information is appended in SourceMap Comment syntax at the end of returned code.\n\n#### originalCode\n\n| type     | default value |\n|:---------|:--------------|\n| `string` | N/A           |\n\nOriginal JavaScript source code that is a source of code transformation. If not specified, then `EspowerError` will be thrown.\n\n#### filepath (optional but recommended)\n\n| type     | default value |\n|:---------|:--------------|\n| `string` | N/A           |\n\nFilepath of `originalCode`. espower-source stores filepath information for later reporting. If not specified, `options.path` will be used. If neither filepath nor options.path are not specified, espower-source transforms code as usual but SourceMap will not be generated and attached.\n\n#### options (optional)\n\n| type     | default value |\n|:---------|:--------------|\n| `object` | (return value of `espower.defaultOptions()` but with `destructive` option is `true`) |\n\nConfiguration options for `espower` module. If not passed, default options (Same as [espower.defaultOptions()](https://github.com/power-assert-js/espower#var-options--espowerdefaultoptions)) will be used, but `options.destructive` is set to `true`, and if `options.path` is falsy, `options.path` is set to value of `filepath` argument by espower-source module.\n\n\n#### options.ecmaVersion\n\n| type     | default value |\n|:---------|:--------------|\n| `number` | `2018`        |\n\nThe ECMAScript version to parse and analyze. Must be either 3, 5, 6 (2015), 2016, 2017, or 2018.\n\n\n#### options.sourceType\n\n| type     | default value |\n|:---------|:--------------|\n| `string` | `'module'`    |\n\nThe source type of the code. Must be either `\"script\"` or `\"module\"`.\n\n\nINSTALL\n---------------------------------------\n\n### via npm\n\nInstall\n\n    $ npm install --save-dev espower-source\n\n\nOUR SUPPORT POLICY\n---------------------------------------\n\nWe support Node under maintenance. In other words, we stop supporting old Node version when [their maintenance ends](https://github.com/nodejs/LTS).\n\nThis means that any other environment is not supported.\n\nNOTE: If espower-source works in any of the unsupported environments, it is purely coincidental and has no bearing on future compatibility. Use at your own risk.\n\n\nAUTHOR\n---------------------------------------\n* [Takuto Wada](https://github.com/twada)\n\n\nCONTRIBUTORS\n---------------------------------------\n* [azu](https://github.com/azu)\n* [James Talmage (jamestalmage)](https://github.com/jamestalmage)\n* [Yoshiki Shibukawa (shibukawa)](https://github.com/shibukawa)\n* [Yiyu He (dead-horse)](https://github.com/dead-horse)\n* [Eward Song (shepherdwind)](https://github.com/shepherdwind)\n\n\nLICENSE\n---------------------------------------\nLicensed under the [MIT](https://github.com/power-assert-js/espower-source/blob/master/MIT-LICENSE.txt) license.\n\n\n[npm-url]: https://npmjs.org/package/espower-source\n[npm-image]: https://badge.fury.io/js/espower-source.svg\n\n[travis-url]: https://travis-ci.org/power-assert-js/espower-source\n[travis-image]: https://secure.travis-ci.org/power-assert-js/espower-source.svg?branch=master\n\n[depstat-url]: https://gemnasium.com/power-assert-js/espower-source\n[depstat-image]: https://gemnasium.com/power-assert-js/espower-source.svg\n\n[license-url]: https://github.com/power-assert-js/espower-source/blob/master/MIT-LICENSE.txt\n[license-image]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpower-assert-js%2Fespower-source","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpower-assert-js%2Fespower-source","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpower-assert-js%2Fespower-source/lists"}