{"id":21959762,"url":"https://github.com/hexagon6/tcr-node","last_synced_at":"2026-04-17T17:32:19.918Z","repository":{"id":82044745,"uuid":"351910347","full_name":"hexagon6/tcr-node","owner":"hexagon6","description":"Test \u0026\u0026 Commit || Revert (TCR) in node.js with Visual Studio Code","archived":false,"fork":false,"pushed_at":"2021-03-27T10:16:21.000Z","size":1,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-22T20:14:21.254Z","etag":null,"topics":["git","tcr","tdd","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hexagon6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-26T20:58:24.000Z","updated_at":"2023-03-04T04:40:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"cd375fd6-2d4c-4ea3-8f5c-0b879f8f0e97","html_url":"https://github.com/hexagon6/tcr-node","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hexagon6/tcr-node","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagon6%2Ftcr-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagon6%2Ftcr-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagon6%2Ftcr-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagon6%2Ftcr-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexagon6","download_url":"https://codeload.github.com/hexagon6/tcr-node/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagon6%2Ftcr-node/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31938699,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["git","tcr","tdd","vscode","vscode-extension"],"created_at":"2024-11-29T09:32:34.453Z","updated_at":"2026-04-17T17:32:19.902Z","avatar_url":"https://github.com/hexagon6.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TCR with node.js\n\n\u003e based on https://xp123.com/articles/tdd-tcr-commits/ and inspired by https://www.youtube.com/watch?v=IIKndRX5qHw\n\n## requirements\n- git\n- vscode\n- vscode extension: [emeraldwalk.runonsave](https://marketplace.visualstudio.com/items?itemName=emeraldwalk.RunOnSave)\n\n## quickstart\n\u003e Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.\n- `code .`\n- copy `ext install emeraldwalk.RunOnSave`\n- edit a mjs file and save it, tcr should run\n- click on OUTPUT tab on panel, select \"Run On Save\" in dropdown to see tcr feedback\n\n## start a new project without this git history\n\n1. clone this repo without a git folder\n```bash\ncd your-project-folder\nnpx degit https://github.com/hexagon6/tcr-node.git#main .\n\u003e cloned hexagon6/tcr-node#main\n```\n\n## working with git branches\n### initial preparation\n0. preparee a new git repo\n`git init`\n\n0. b) don't forget to configure your name and email if you haven't done it before or globally\n```bash\ngit config user.email \"me@example.com\"\ngit config user.nae \"Me Example\"\n```\n\n0. do your first commit to start the project\n`git commit -am \"init project\"`\n\n### workflow\n1. change to your feature-branch\n`git checkout -b feature-branch`\n\n2. do your work in TCR fashion:\n  - every time you save a file with `.mjs` extension, tests are run\n  - A) if no error happened, then all your files are committed with a \"working\" message\n  - B) if an error happened, then all your state is reset to the commit before\n\n3. once your feature is complete you can give it custom git commit messages or squash it if you want a meaningful git history.\n\n4. push to your remote and do a Merge Request (gitlab) or Pull Request (github)\n\n## customization\nIf you want to run a different command on save, change the match rule (regex) or cmd (string) in `.vscode/settings.json` under key \"emeraldwalk.runonsave\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagon6%2Ftcr-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexagon6%2Ftcr-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagon6%2Ftcr-node/lists"}