CheckOps home

Tools directory

D

CheckOps

Danger JS

Danger JS is an MIT tool that runs during CI to automate code review conventions, failing or commenting on pull requests based on rules written in JavaScript or TypeScript.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Danger JS runs during your CI process and gives teams a way to automate common code review chores. Its tagline is to stop saying ‘you forgot to …’ in code review.

You write a dangerfile.ts that inspects pull request metadata and the diff: changed files, line counts, titles, labels, descriptions and linked issues. Rules can fail, warn, message or post Markdown, for example warning when a large pull request lacks tests, or failing when the changelog was not updated. Danger supports GitHub, GitLab, Bitbucket and other platforms, and plugins add checks such as spelling or Jest results.

In the quality loop Danger enforces process rules that linters cannot see.

The source code is at danger/danger-js on GitHub under the MIT licence, with about 5,500 stars; the most recent commit was on 26 October 2026.

Features

  1. Dangerfile rules: TypeScript or JavaScript rules over PR data.
  2. Diff access: Inspect changed files and lines.
  3. Comment and fail: warn, fail, message and markdown outputs.
  4. Multi-platform: GitHub, GitLab, Bitbucket and others.
  5. Plugins: Reusable community checks.
  6. Local runs: Test rules against a real PR locally.

Pros

  1. Encodes team norms: Removes repetitive review comments.
  2. Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
  3. Actively maintained: The repository had commits as recent as 26 October 2026.
  4. Community: About 5,500 GitHub stars.

Cons

  1. Needs CI tokens: Requires API access to post comments.
  2. Rule maintenance: Custom rules are code to maintain.
  3. Not a linter: Does not analyse code semantics.
// dangerfile.ts
import { danger, warn, fail } from "danger"
const src = danger.git.modified_files.filter(f => f.startsWith("src/"))
const tests = danger.git.modified_files.filter(f => f.includes(".test."))
if (src.length && !tests.length) warn("Source changed without tests")
if (!danger.github.pr.body) fail("Please add a PR description")
npx danger ci

Resources:

Pricing

Danger JS is free and open source under the MIT licence.

  1. Teams with review conventions they want automated.
  2. Open-source projects guiding first-time contributors.

Conclusion

Danger JS turns review checklists into code.

Keep rules few and clear, and let linters handle style.

On CheckOps, Danger JS is filed under the Release & CI gates stage. Related tools listed here include SonarQube, MegaLinter, Super-Linter, Qlty, Codacy and DeepSource. Before standardising on one, compare recent maintenance activity, the pricing model as your usage grows, and the integrations you rely on today. Information on this page was verified against the official website, documentation and repository on 11 November 2026.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Danger JS side by side.