{"id":25268680,"url":"https://github.com/tamdilip/eslint-review-action","last_synced_at":"2026-05-05T06:39:43.936Z","repository":{"id":39999295,"uuid":"267283493","full_name":"tamdilip/eslint-review-action","owner":"tamdilip","description":"Github Action to review code changes on a Pull-Request and add corresponding review comments with eslint issues, test coverage and vulnerabilities for a clean code promotion.","archived":false,"fork":false,"pushed_at":"2023-06-23T22:19:53.000Z","size":1928,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T04:33:57.633Z","etag":null,"topics":["coverage","coverage-report","ember","eslint","eslint-review-action","github-actions","linting","review","vulnerability-report"],"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/tamdilip.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}},"created_at":"2020-05-27T09:58:56.000Z","updated_at":"2021-06-13T08:16:28.000Z","dependencies_parsed_at":"2022-06-26T07:08:12.501Z","dependency_job_id":null,"html_url":"https://github.com/tamdilip/eslint-review-action","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tamdilip/eslint-review-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tamdilip%2Feslint-review-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tamdilip%2Feslint-review-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tamdilip%2Feslint-review-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tamdilip%2Feslint-review-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tamdilip","download_url":"https://codeload.github.com/tamdilip/eslint-review-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tamdilip%2Feslint-review-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269910019,"owners_count":24494877,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["coverage","coverage-report","ember","eslint","eslint-review-action","github-actions","linting","review","vulnerability-report"],"created_at":"2025-02-12T10:32:07.646Z","updated_at":"2026-05-05T06:39:38.914Z","avatar_url":"https://github.com/tamdilip.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛠 [eslint-review-action](https://github.com/tamdilip/eslint-review-action.git)\nGithub Action to review code changes on a Pull-Request and add corresponding review comments for a clean Merge process.\n\nThis action repo mainly targets on Ember app, does eslint on only changed set of files in a pull-request and cosecutive commits. Also does ember testing along with code coverage for entire app, if ember-cli-code-coverage setup is configured. Together runs npm audit check to get the vulnerability report.\n\n### 🕹 Usage: \nAdd the following to your workflow `.yml` file in app (`secrets.GITHUB_TOKEN` is the default Personal Access Token(PAT) generated):\n\n```yaml\nname: Run eslint review action repo\nuses: tamdilip/eslint-review-action@v1\nwith:\n  repo-token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n\nIncase of consuming this action by moving to private repo (`secrets.ACTION_TOKEN` should be a new private token to clone action):\n\n```yaml\nname: Checkout GitHub Action Repo\nuses: actions/checkout@v2\nwith:\n  repository: tamdilip/eslint-review-action\n  ref: v1\n  token: ${{ secrets.ACTION_TOKEN }}\n  path: .github/actions/eslint-review-action\nname: Run eslint-review-action action\nuses: ./.github/actions/eslint-review-action\nwith:\n  repo-token: ${{ secrets.ACTION_TOKEN }}\n```\n\nComplete working sample `.github/workflow/action.yml`:\n\n```yaml\nname: Pull request review\n\non:\n  pull_request:\n    branches: [ master ]\n\njobs:\n  eslint:\n    name: ESLINT REVIEW ACTION\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout Repo\n        uses: actions/checkout@v2\n      - name: Install Dependencies\n        uses: actions/setup-node@v1\n        with:\n          node-version: 12.x\n      - name: Cache node modules\n        uses: actions/cache@v2\n        with:\n          path: |\n            **/node_modules\n          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}\n      - run: npm install\n      - name: Checkout GitHub Action Repo\n        uses: tamdilip/eslint-review-action@v1\n        with:\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n### Dynamic inputs and configurations ( add under `with:`)\nMost of the action items can be configured dynamically as per the need with all these available set of config inputs here -  [action.yml](https://github.com/tamdilip/eslint-review-action/blob/master/action.yml).\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003ci\u003e\u003cstrong\u003eAll available inputs\u003c/strong\u003e\u003c/i\u003e\u003c/summary\u003e\n\u003cpre\u003e\u003ccode\u003e\n  repo-token:\n    description: 'Token used to interact with the Github API.'\n    required: true\n  bot-user-name:\n    description: 'Set username of the token provide to filter out comments'\n    required: false\n    default: ''\n  disable-eslint:\n    description: 'Set true to stop linting.'\n    required: false\n    default: 'false'\n  disable-ember-test:\n    description: 'Set true to stop ember testing.'\n    required: false\n    default: 'false'\n  disable-npm-audit:\n    description: 'Set true to stop npm auditing.'\n    required: false\n    default: 'false'\n  fail-on-test:\n    description: 'Set true to fail the pull-request merge status, if ember test has failing test cases.'\n    required: false\n    default: 'false'\n  disable-test-coverage:\n    description: 'Set true to stop ember coverage execution, when ember test is enabled.'\n    required: false\n    default: 'false'\n  test-coverage-threshold:\n    description: 'Minimum test coverage percentage to pass the pull-request.'\n    required: false\n    default: '0'\n  vulnerability-fail-on:\n    description: 'Set vulnerability criteria to fail the pull-request merge status, OPTIONS: INFO/LOW/MODERATE/HIGH/CRITICAL'\n    required: false\n    default: ''\n  pass-emoji:\n    description: 'Emoji to indicate fixed eslint issue.'\n    required: false\n    default: '✔️'\n  fail-emoji:\n    description: 'Emoji to indicate failed eslint issue.'\n    required: false\n    default: '❌'\n  info-emoji:\n    description: 'Emoji to indicate status message.'\n    required: false\n    default: '📢'\n  eslint-emoji:\n    description: 'Emoji for eslint header label.'\n    required: false\n    default: '🛠'\n  test-emoji:\n    description: 'Emoji for test header label.'\n    required: false\n    default: '🔬'\n  vulnerability-emoji:\n    description: 'Emoji for vulnerability header label.'\n    required: false\n    default: '👽'\n  eslint-report-header:\n    description: 'Header text for Eslint issues.'\n    required: false\n    default: 'ESLINT ISSUES'\n  test-report-header:\n    description: 'Header text for Test case report.'\n    required: false\n    default: 'TEST CASE REPORT'\n  vulnerability-report-header:\n    description: 'Header text for node dependencies vulnerability report.'\n    required: false\n    default: 'VULNERABILITY REPORT'\n  eslint-common-issues-disclaimer:\n    description: 'Disclaimer text to explain about the common grouped set of eslint issue comment.'\n    required: false\n    default: 'issues listed below are in areas other than visible changed portion of lines'\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n---\n\n## Actions Output Visuals\n#### 💬 Inline comment\nFor eslint issues occurred at actual changed portion of lines part of the pull-request and the visible diff section as below -\n\n![Inline Comment](https://raw.githubusercontent.com/tamdilip/eslint-review-action/master/doc/Inline_Comment.png \"Inline Comment\")\n\n#### 💬 Grouped common issue comment\nFor eslint issues occurred at other than changed portion of lines part of the pull-request and not at the visible diff section, along with test coverage and vulnerability report as below - \n\n![Grouped common issue comment](https://raw.githubusercontent.com/tamdilip/eslint-review-action/master/doc/Grouped_Issue_Comment.png \"Grouped common issue comment\")\n\n#### 💬 Pull request action run status\nIncase of any issues, the pull-request merge status will be displayed as below from the action run - \n\n![Pull request action run status](https://raw.githubusercontent.com/tamdilip/eslint-review-action/master/doc/Review_Action_Status.png \"Pull request action run status\")\n\n## Local setup and development\n```sh\n$ git clone https://github.com/tamdilip/eslint-review-action.git\n$ cd eslint-review-action\n$ npm install\n$ ncc build index.js\n```\n\n# References\n - [Github actions annotations disable issue](https://github.community/t/disable-github-actions-check-runs-from-annotating-files/118193)\n - [Ocktokit - Github REST API SDK](https://octokit.github.io/rest.js/v18)\n - [Caching node modules](https://help.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows)\n - [Github Actions Script](https://github.com/actions/github-script)\n - [Github Actions toolkit-github](https://github.com/actions/toolkit/tree/master/packages/github)\n - [ember-cli-code-coverage](https://github.com/kategengler/ember-cli-code-coverage)\n - [dom-parser](https://github.com/ershov-konst/dom-parser)\n - [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js)\n\n##### Happy coding :) !!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftamdilip%2Feslint-review-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftamdilip%2Feslint-review-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftamdilip%2Feslint-review-action/lists"}