danger-js

⚠️ Stop saying "you forgot to …" in code review

Github stars Tracking Chart

What is Danger JS?

Danger runs after your CI, automating your team's conventions surrounding code review.

This provides another logical step in your process, through which Danger can help lint your rote tasks in daily code
review.

You can use Danger to codify your teams norms, leaving humans to think about harder problems.

Danger JS works with GitHub, BitBucket Server, BitBucket Cloud for code review, then with: Travis CI, GitLab CI,
Semaphore, Circle CI, GitHub Actions, Jenkins, Docker Cloud, Bitrise, surf-build, Codeship, Drone, Buildkite, Nevercode,
buddybuild, Buddy.works, TeamCity, Visual Studio Team Services, Screwdriver, Concourse, Netlify, CodeBuild, Codefresh,
AppCenter, BitBucket Pipelines, or Cirrus CI.

npm
Build Status
Build Status
Join the community on Spectrum

For example?

You can:

  • Enforce CHANGELOGs
  • Enforce links to Trello/JIRA in PR/MR bodies
  • Enforce using descriptive labels
  • Look out for common anti-patterns
  • Highlight interesting build artifacts
  • Give warnings when specific files change

Danger provides the glue to let you build out the rules specific to your team's culture, offering useful metadata and
a comprehensive plugin system to share common issues.

Getting Started

Alright. So, actually, you may be in the wrong place. From here on in, this README is going to be for people who are
interested in working on and improving on Danger JS.

We keep all of the end-user documentation at http://danger.systems/js.

Some quick links to get you started:

This thing is broken, I should help improve it!

Awesommmmee. Everything you need is down below. You can also refer to CONTRIBUTING file where you'll
find the same information listed below.

git clone https://github.com/danger/danger-js.git
cd danger-js

# if you don't have yarn installed
npm install -g yarn

yarn install

You can then verify your install by running the tests, and the linters:

yarn test
yarn lint

The fixers for both tslint and prettier will be applied when you commit, and on a push your code will be verified that
it compiles.

You can run your dev copy of danger against a PR by running:

yarn build; node --inspect distribution/commands/danger-pr.js https://github.com/danger/danger-js/pull/817

How does Danger JS work?

Check the architecture doc.

What is the TODO?

Check the issues, I try and keep my short term perspective there. Long term is in the VISION.md.

Releasing a new version of Danger

Following this commit as a model:

  • Checkout the master branch. Ensure your working tree is clean, and make sure you have the latest changes by running
    git pull.
  • Publish - npm run release -- [major/patch/minor] --non-interactive.

:ship:

License, Contributor's Guidelines and Code of Conduct

We try to keep as much discussion as possible in GitHub issues, but also have a pretty inactive Slack --- if you'd like
an invite, ping @Orta a DM on Twitter with your email. It's mostly interesting if you want
to stay on top of Danger without all the emails from GitHub.

This project is open source under the MIT license, which means you have full access to the source code and can modify
it to fit your own needs.

This project subscribes to the Moya Contributors Guidelines which TLDR: means
we give out push access easily and often.

Contributors subscribe to the Contributor Code of Conduct based on
the Contributor Covenant version 1.3.0.

Main metrics

Overview
Name With Ownerdanger/danger-js
Primary LanguageTypeScript
Program languageJavaScript (Language Count: 5)
Platform
License:MIT License
所有者活动
Created At2016-08-20 12:57:06
Pushed At2025-04-16 06:58:48
Last Commit At
Release Count244
Last Release Name13.0.4 (Posted on 2025-04-16 07:58:32)
First Release Namev0.11.0 (Posted on 2017-01-30 17:37:02)
用户参与
Stargazers Count5.3k
Watchers Count26
Fork Count375
Commits Count3k
Has Issues Enabled
Issues Count521
Issue Open Count154
Pull Requests Count697
Pull Requests Open Count12
Pull Requests Close Count118
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private