{"id":16042002,"url":"https://github.com/nylen/taper","last_synced_at":"2026-02-28T11:10:30.265Z","repository":{"id":21468118,"uuid":"24786626","full_name":"nylen/taper","owner":"nylen","description":"tap test runner for Node.js that shows an appropriate level of detail with colorized output.","archived":false,"fork":false,"pushed_at":"2015-03-21T22:12:22.000Z","size":524,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T04:46:41.480Z","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/nylen.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":"2014-10-04T10:09:05.000Z","updated_at":"2020-02-23T03:02:59.000Z","dependencies_parsed_at":"2022-08-21T15:00:57.946Z","dependency_job_id":null,"html_url":"https://github.com/nylen/taper","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylen%2Ftaper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylen%2Ftaper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylen%2Ftaper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nylen%2Ftaper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nylen","download_url":"https://codeload.github.com/nylen/taper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243885931,"owners_count":20363644,"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-10-09T00:01:12.502Z","updated_at":"2026-02-28T11:10:30.219Z","avatar_url":"https://github.com/nylen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# taper [![Build status](https://img.shields.io/travis/nylen/taper.svg?style=flat)](https://travis-ci.org/nylen/taper) [![npm package](http://img.shields.io/npm/v/taper.svg?style=flat)](https://www.npmjs.org/package/taper)\n\nTaper (a fork of [`tapr`](https://github.com/jeffbski/tapper)) is a Node.js tap\ntest runner which allows stdout and stderr mixed in with the tap output. Also\ntaper adds color to the output. Core based on Isaac Z Schlueter original tap\nrunner.\n\nFor a nice description of Node.js Tap tests, see Isaac's readme on the\n[`node-tap` github page](https://github.com/isaacs/node-tap).\n\nIsaac designed his Tap implementation to be modular for easy consumation and\nextension. Taper customizes the runner component and uses the rest of node-tap\nas is.\n\nBecause Tap is modular, it is designed to be consumed in many ways (like\nautomated build tools, customized runners) and other testing frameworks can\nprovide producers to provide tap input.\n\n\n\n## Goals\n\n - More concise formatting of tap output (easier to find what you care about)\n - Improve ability to write to stdout and stderr from tests or code\n - Add optional colorized output\n\n## Installing\n\n```bash\nnpm install taper  # install locally\n# OR\nnpm install -g taper  # install globally\n```\n\n**OR**\n\nAdd to your project package.json:\n\n```javascript\n\"devDependencies\" : {\n  \"taper\" : \"~0.2.0\"\n}\n```\n\nAlso you will want to add a tap reporter as a `devDependency` to use in your\ntests.  Try [`tap`](https://github.com/isaacs/node-tap) or\n[`tape`](https://github.com/substack/tape).\n\nThen `npm install` your package with dev dependencies from the project\ndirectory:\n\n```bash\nnpm install\n```\n\n## Usage\n\n```bash\n  node_modules/.bin/taper.js fileOrDir   # if installed locally\n  #OR\n  taper fileOrDir  # if installed globally\n  #\n  taper                                     # display usage\n  taper --help                         # display usage\n  taper --version                    # display version\n  taper --no-color fileOrDir   # run without color output\n```\n\n## Screenshots\n\n### Successful example where all tests are passing\n\nStderr and stdout is muted except for files which have a failing test\n\n![success-taper](https://raw.githubusercontent.com/nylen/taper/master/doc/success-taper.png)\n\n### Failure example with some failures and stdout\n\n - Green - successful tests and files\n - Red - failed tests and files\n - Blue - test names\n\n![failed-taper](https://raw.githubusercontent.com/nylen/taper/master/doc/failed-taper.png)\n\n### Original tap runner success\n\n![success-tap](https://raw.githubusercontent.com/nylen/taper/master/doc/success-tap.png)\n\n### Original tap runner failure\n\n![failed-tap](https://raw.githubusercontent.com/nylen/taper/master/doc/failed-tap.png)\n\n## Limitations\n\n - stdout logging that looks like tap output (ok, not ok, #) will not be\n   displayed unless errors in file, however all stderr logging will be\n   displayed regardless so it is recommended.\n - stdout/stderr appears before the test names and asserts due to how tap\n   currently outputs data\n - Asserts are summarized at the bottom\n\n## License\n\n - [MIT license](https://raw.githubusercontent.com/nylen/taper/master/LICENSE)\n\n## Contributors\n\n - Original code Isaac Z. Schlueter \u003ci@izs.me\u003e http://blog.izs.me\n - [`tapr`](https://github.com/jeffbski/tappper) by author: Jeff Barczewski (@jeffbski)\n - James Nylen (@nylen)\n\n## Contributing\n\n - Source code repository: https://github.com/nylen/taper\n - Ideas and pull requests are encouraged  - https://github.com/nylen/taper/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnylen%2Ftaper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnylen%2Ftaper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnylen%2Ftaper/lists"}