{"id":15107015,"url":"https://github.com/mahdi-hajian/angular-parallel-test-runner","last_synced_at":"2025-10-23T01:31:01.862Z","repository":{"id":250828071,"uuid":"835666529","full_name":"mahdi-hajian/angular-parallel-test-runner","owner":"mahdi-hajian","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-30T14:56:37.000Z","size":77,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T16:43:47.164Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/mahdi-hajian.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":"2024-07-30T09:43:11.000Z","updated_at":"2024-12-30T14:56:40.000Z","dependencies_parsed_at":"2024-10-09T13:01:14.000Z","dependency_job_id":"f5fe246a-0aa0-4f14-860f-124857738ab1","html_url":"https://github.com/mahdi-hajian/angular-parallel-test-runner","commit_stats":{"total_commits":39,"total_committers":1,"mean_commits":39.0,"dds":0.0,"last_synced_commit":"8c537236bc3891b5ba42d5b0fcd8911667f7daf3"},"previous_names":["mahdi-hajian/m-parallel-test-runner","mahdi-hajian/angular-parallel-test-runner"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahdi-hajian%2Fangular-parallel-test-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahdi-hajian%2Fangular-parallel-test-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahdi-hajian%2Fangular-parallel-test-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahdi-hajian%2Fangular-parallel-test-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mahdi-hajian","download_url":"https://codeload.github.com/mahdi-hajian/angular-parallel-test-runner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237759101,"owners_count":19361458,"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-09-25T21:03:52.878Z","updated_at":"2025-10-23T01:31:01.856Z","avatar_url":"https://github.com/mahdi-hajian.png","language":"JavaScript","funding_links":[],"categories":["Recently Updated","Angular"],"sub_categories":["[May 11, 2025](/content/2025/05/11/README.md)","CLI Tools"],"readme":"# Angular Parallel Test Runner\n\n`angular-parallel-test-runner` is a command-line tool designed to run Angular tests in parallel across multiple projects. It utilizes the concurrency capabilities of your machine, maximizing the efficiency of running tests by leveraging multiple CPU cores.\n\n## Table of Contents\n\n* [Installation](#installation)\n* [Usage](#usage)\n* [Options](#options)\n* [Examples](#examples)\n* [How It Works](#how-it-works)\n* [Contributing](#contributing)\n* [License](#license)\n\n## Installation\n\nTo install `angular-parallel-test-runner`, use npm:\n\n```bash\nnpm install -g angular-parallel-test-runner\n```\n\nMake sure to have `concurrently` installed as a dependency if not already:\n\n```bash\nnpm install concurrently\n```\n\n## Usage\n\nTo run tests across all Angular projects defined in your `angular.json` file:\n\n```bash\nangular-parallel-test-runner [options]\n```\n\n### Options\n\n| Option                | Alias | Type    | Default                     | Description                                                          |\n| --------------------- | ----- | ------- | --------------------------- | -------------------------------------------------------------------- |\n| `--concurrency`       | `-c`  | number  | Half of available CPU cores | Number of concurrent test runners                                    |\n| `--continueOnFailure` | `-f`  | boolean | `true`                      | Whether to continue if a test fails                                  |\n| `--onlyProjects`      | `-o`  | string  |                             | Comma-separated list of projects to test (only these will be tested) |\n| `--skipProjects`      | `-s`  | string  |                             | Comma-separated list of projects to skip from testing                |\n| `--help`              |       | boolean |                             | Show help and usage instructions                                     |\n\n## Examples\n\n1. **Run with default settings:**\n\n   ```bash\n   angular-parallel-test-runner\n   ```\n\n2. **Run with custom concurrency and allow all tests to finish even if some fail:**\n\n   ```bash\n   angular-parallel-test-runner --concurrency=4 --continueOnFailure=true\n   ```\n\n3. **Run and stop at the first failed test:**\n\n   ```bash\n   angular-parallel-test-runner --continueOnFailure=false\n   ```\n\n4. **Run tests only for specific projects:**\n\n   ```bash\n   angular-parallel-test-runner --onlyProjects=project1,project2\n   ```\n\n5. **Skip specific projects:**\n\n   ```bash\n   angular-parallel-test-runner --skipProjects=project3,project4\n   ```\n\n## How It Works\n\n1. **Loading Angular Projects**: The tool reads the `angular.json` file in your current directory to determine the list of projects.\n2. **Concurrency Management**: It determines the optimal concurrency level based on your CPU cores or a user-provided value.\n3. **Test Execution**: Uses `concurrently` to run tests in parallel for each project. If a project has no tests, it skips it gracefully.\n4. **Error Handling**: If tests fail and `continueOnFailure` is set to `false`, it stops all tests. Otherwise, it logs errors and proceeds with the remaining tests.\n5. **Results Summary**: After execution, the tool provides a summary of test results, including successful tests, failed tests, projects with no tests, and any unfinished tests if the execution is interrupted.\n\n## Contributing\n\nContributions are welcome! Please check the [repository](https://github.com/mahdi-hajian/angular-parallel-test-runner) for issues to start contributing or feel free to raise new ones.\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature/YourFeature`).\n3. Commit your changes (`git commit -am 'Add new feature'`).\n4. Push to the branch (`git push origin feature/YourFeature`).\n5. Create a new Pull Request.\n\n---\n\n**Author**: Mahdi Hajian\n\nFeel free to reach out with any questions or suggestions!\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahdi-hajian%2Fangular-parallel-test-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmahdi-hajian%2Fangular-parallel-test-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahdi-hajian%2Fangular-parallel-test-runner/lists"}