Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arnaudrinquin/make2tap
Leverage TAP to transform your ugly make outputs into nice readable ones using any TAP reporter
https://github.com/arnaudrinquin/make2tap
Last synced: 2 months ago
JSON representation
Leverage TAP to transform your ugly make outputs into nice readable ones using any TAP reporter
- Host: GitHub
- URL: https://github.com/arnaudrinquin/make2tap
- Owner: ArnaudRinquin
- License: mit
- Created: 2016-02-04T17:17:25.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-02-16T19:43:44.000Z (almost 9 years ago)
- Last Synced: 2024-10-18T19:44:12.975Z (3 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/make2tap
- Size: 45.9 KB
- Stars: 18
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# make2tap
[![Build Status](https://travis-ci.org/ArnaudRinquin/make2tap.svg?branch=master)](https://travis-ci.org/ArnaudRinquin/make2tap) [![Code Climate](https://codeclimate.com/github/ArnaudRinquin/make2tap/badges/gpa.svg)](https://codeclimate.com/github/ArnaudRinquin/make2tap) [![Test Coverage](https://codeclimate.com/github/ArnaudRinquin/make2tap/badges/coverage.svg)](https://codeclimate.com/github/ArnaudRinquin/make2tap/coverage)
Leverage [`TAP`](https://testanything.org/) to transform your ugly `make` outputs into nice readable ones using any [TAP reporter](https://www.npmjs.com/search?q=TAP++reporter) like `tap-spec` or `tap-dot`.
## Usage
Assuming `make2tap` is in your path (using `npm scripts`), simply pipe `make` output to it
Assuming this is your `makefile`
```
clean:
## Clean
# remove /dist
@rm -rf distbuild:
## Build js files
# compile to js
@echo 'compile output...'
# minify
@echo 'minify output...'```
Then
```bash
make clean compile 2>&1 | make2tap
```Note: `2>&1` is quite important here, it allows `make` stderr stream to be piped to `make2tap` as well so we can handle errors.
Ouputs:
```
TAP version 13
# Clean
ok 1 - remove /dist
TAP version 13
# Build js files
ok 2 - compile to js
compile output...
ok 3 - minify
minify output...
1..3
```Of course, you should pipe it to the [TAP reporter](https://www.npmjs.com/search?q=TAP++reporter) of your choice:
```bash
make clean build | make2tap | tap-spec
```![tap-spec](./images/tap-spec.png)
## Comment syntax
`make2tap` understand a few kinds of lines:
* `## Task title`: as a TAP Diagnostic, aka a _section_, or _title_
* `# Step name`: as a TAP test line, which will use a _single step_
* `anything else`: as regular output, not handled as part of the result but still shown, will us it to show commands output.You'll probably want to structure your makefile as such:
```
build:
## Build js files# compile to js
@echo 'compile output...'# minify
@echo 'minify output...'
```