{"id":25271437,"url":"https://github.com/prashaantt/node-tdd","last_synced_at":"2025-10-27T09:31:46.389Z","repository":{"id":47268767,"uuid":"78622304","full_name":"prashaantt/node-tdd","owner":"prashaantt","description":"VS Code TDD extension for Node and JavaScript","archived":false,"fork":false,"pushed_at":"2021-09-06T02:21:43.000Z","size":420,"stargazers_count":22,"open_issues_count":12,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-03-30T04:52:49.225Z","etag":null,"topics":["javascript","nodejs","testing","vscode"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=prashaantt.node-tdd","language":"TypeScript","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/prashaantt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-01-11T09:15:03.000Z","updated_at":"2023-03-27T22:53:30.000Z","dependencies_parsed_at":"2022-09-13T13:51:33.167Z","dependency_job_id":null,"html_url":"https://github.com/prashaantt/node-tdd","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashaantt%2Fnode-tdd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashaantt%2Fnode-tdd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashaantt%2Fnode-tdd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prashaantt%2Fnode-tdd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prashaantt","download_url":"https://codeload.github.com/prashaantt/node-tdd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238472295,"owners_count":19478194,"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":["javascript","nodejs","testing","vscode"],"created_at":"2025-02-12T12:33:21.166Z","updated_at":"2025-10-27T09:31:45.951Z","avatar_url":"https://github.com/prashaantt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-tdd\n\n\u003e A [Visual Studio Code](http://code.visualstudio.com/) [extension](https://marketplace.visualstudio.com/items?itemName=prashaantt.node-tdd) to ease [test-driven development](https://en.wikipedia.org/wiki/Test-driven_development) in Node and JavaScript.\n\n## Features\n\n![node-tdd demo](images/node-tdd.gif)\n\n- Activates when a workspace containing `package.json` is opened.\n- Triggers an automatic test build whenever source files are updated.\n- Shows a colour-coded build summary.\n- Shows the average test coverage (experimental).\n- Optionally, if your test runner generates [TAP outputs](https://testanything.org/producers.html#javascript), use the `nodeTdd.reporter` setting to provide a more meaningful test summary:\n\n![tap](images/tap.png)\n\n- Finally, use `nodeTdd.minimal` to reclaim some status bar real estate:\n\n![minimal mode](images/minimal.png)\n\n## Settings\n\nThis extension contributes the following settings:\n\n| Setting                     | Type             | Default                           | Description                                                         |\n| --------------------------- | ---------------- | --------------------------------- | ------------------------------------------------------------------- |\n| `nodeTdd.activateOnStartup` | boolean          | `true`                            | Activate TDD mode when workspace is opened                          |\n| `nodeTdd.testScript`        | string           | `test`                            | The npm script to run tests                                         |\n| `nodeTdd.glob`              | string           | `{src,test}/**/*.{js,ts,jsx,tsx}` | The glob pattern for files to watch, relative to the workspace root |\n| `nodeTdd.verbose`           | boolean / object | `false` / `{onlyOnFailure: true}` | Show build status dialogs                                           |\n| `nodeTdd.minimal`           | boolean          | `false`                           | Minimise status bar clutter                                         |\n| `nodeTdd.buildOnActivation` | boolean          | `false`                           | Run tests when TDD mode is activated                                |\n| `nodeTdd.buildOnCreate`     | boolean          | `false`                           | Run tests when matching files are created                           |\n| `nodeTdd.buildOnDelete`     | boolean          | `false`                           | Run tests when matching files are deleted                           |\n| `nodeTdd.showCoverage`      | boolean          | `false`                           | Show the average test coverage if reported (experimental)           |\n| `nodeTdd.coverageThreshold` | number / null    | `null`                            | The coverage threshold percentage, used to colour-code the coverage |\n| `nodeTdd.reporter`          | string / null    | `null`                            | The test reporter used (currently only \"tap\" is supported)          |\n\n## Commands\n\nThe following commands are available from the commands menu as well as status bar buttons:\n\n| Command        | Action                                |\n| -------------- | ------------------------------------- |\n| `activate`     | Activate `node-tdd` in a workspace    |\n| `deactivate`   | Deactivate `node-tdd` in a workspace |\n| `toggleOutput` | Toggle detailed test results output   |\n| `stopBuild`    | Stop a running build                  |\n\n## Limitations and known issues\n\n- The extension doesn't get activated if `package.json` was not initially present when the workspace was opened; a window restart will be required to detect a change.\n- It doesn't work with watch mode/incremental test builds. The build process used for running tests must exit on each execution, otherwise it will never report the status.\n- `showCoverage` is an experimental setting that currently only works with the text-summary reports from [Lab](https://github.com/hapijs/lab), [Istanbul](https://github.com/gotwarlost/istanbul) and [nyc](https://github.com/istanbuljs/nyc). Disable it if it doesn't work for you or its output looks funny.\n- Despite recent fixes, it might still be [flaky](https://github.com/prashaantt/node-tdd/issues/5) on Windows. Please report any issues.\n- Ironically for a TDD extension, it has very few tests of its own because I don't yet know how to test UI elements in VS Code. :/\n\nSuggestions and PRs are [welcome](https://github.com/prashaantt/node-tdd/issues).\n\n## Release notes\n\nSee the [change log](CHANGELOG.md). If you are reading this from within VS Code, click on the Changelog tab of the extension preview page.\n\n## License\n\nMIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprashaantt%2Fnode-tdd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprashaantt%2Fnode-tdd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprashaantt%2Fnode-tdd/lists"}