UNPKG

4.13 kBMarkdownView Raw
1# gulp-espower
2
3[![NPM version][npm-image]][npm-url]
4[![Build Status][travis-image]][travis-url]
5[![Dependency Status][depstat-image]][depstat-url]
6
7> A [gulp](https://github.com/wearefractal/gulp) plugin for [power-assert](http://github.com/power-assert-js/power-assert).
8
9## Description
10
11`gulp-espower` is a gulp plugin to instrument "Power Assert" feature into your code.
12
13
14Internally, `gulp-espower` task uses `espower` module that manipulates assertion expression (JavaScript Code) 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. The magic is done by using [Esprima](http://esprima.org/) and [Escodegen](https://github.com/Constellation/escodegen).
15
16
17Pull-requests, issue reports and patches are always welcomed. See [power-assert](http://github.com/power-assert-js/power-assert) project for more documentation.
18
19
20## Usage
21
22First, install `gulp-espower` as a development dependency:
23
24```shell
25npm install --save-dev gulp-espower
26```
27
28Then, add it to your `gulpfile.js`:
29
30```javascript
31var espower = require('gulp-espower');
32
33gulp.src('./test/*.js')
34 .pipe(espower())
35 .pipe(gulp.dest('./dist'));
36```
37
38
39## Source maps
40
41gulp-espower can be used with [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps) to generate source maps for the instrumented javascript code. Note that you should `init` gulp-sourcemaps prior to running the gulp-espower and `write` the source maps after. gulp-espower works well with some gulp plugins that supports [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps).
42
43```javascript
44var espower = require('gulp-espower');
45var coffee = require('gulp-coffee');
46var concat = require('gulp-concat');
47var sourcemaps = require('gulp-sourcemaps');
48
49// compile, instrument then concatinate
50gulp.src('./test/*test.coffee')
51 .pipe(sourcemaps.init())
52 .pipe(coffee())
53 .pipe(espower())
54 .pipe(concat('all_test.js'))
55 .pipe(sourcemaps.write())
56 .pipe(gulp.dest('./build'));
57// will write the source maps inline in the code
58```
59
60For more information, see [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps).
61
62
63## API
64
65### espower(options)
66
67#### options.patterns
68
69| type | default value |
70|:--------------------|:--------------------|
71| `Array` of `string` | objects shown below |
72
73```javascript
74[
75 'assert(value, [message])',
76 'assert.ok(value, [message])',
77 'assert.equal(actual, expected, [message])',
78 'assert.notEqual(actual, expected, [message])',
79 'assert.strictEqual(actual, expected, [message])',
80 'assert.notStrictEqual(actual, expected, [message])',
81 'assert.deepEqual(actual, expected, [message])',
82 'assert.notDeepEqual(actual, expected, [message])',
83 'assert.deepStrictEqual(actual, expected, [message])',
84 'assert.notDeepStrictEqual(actual, expected, [message])'
85]
86```
87
88Target patterns for power assert feature instrumentation.
89
90If callee name (for example, `assert.equal`) matches exactly and number of arguments is satisfied, then the assertion will be modified.
91Detection is done by [escallmatch](http://github.com/twada/escallmatch). Any arguments enclosed in bracket (for example, `[message]`) means optional parameters. Without bracket means mandatory parameters.
92
93
94## CHANGELOG
95
96See [CHANGELOG](https://github.com/power-assert-js/gulp-espower/blob/master/CHANGELOG.md)
97
98
99## AUTHOR
100
101* [Takuto Wada](http://github.com/twada)
102
103
104## CONTRIBUTORS
105
106* [bouzuya](http://bouzuya.net)
107
108
109## License
110
111Licensed under the [MIT](https://github.com/power-assert-js/gulp-espower/blob/master/LICENSE-MIT) license.
112
113[npm-url]: https://npmjs.org/package/gulp-espower
114[npm-image]: https://badge.fury.io/js/gulp-espower.svg
115
116[travis-url]: http://travis-ci.org/power-assert-js/gulp-espower
117[travis-image]: https://secure.travis-ci.org/power-assert-js/gulp-espower.svg?branch=master
118
119[depstat-url]: https://gemnasium.com/power-assert-js/gulp-espower
120[depstat-image]: https://gemnasium.com/power-assert-js/gulp-espower.svg