1 | <p align="center">
|
2 | <img src="http://danger.systems/images/js/danger-logo-hero-cachable@2x.png" width=250 /></br>
|
3 | Formalize your Pull Request etiquette.
|
4 | </p>
|
5 |
|
6 | <p align="center">
|
7 | <a href="#what-is-danger-js">What is Danger JS?</a> •
|
8 | <a href="VISION.md">Vision</a> •
|
9 | <a href="#this-thing-is-broken-i-should-help-improve-it">Helping Out</a> •
|
10 | <a href="http://danger.systems/js/usage/extending-danger.html">Plugin Development</a>
|
11 | </p>
|
12 |
|
13 | ## What is Danger JS?
|
14 |
|
15 | Danger runs after your CI, automating your team's conventions surrounding code review.
|
16 |
|
17 | This provides another logical step in your process, through which Danger can help lint your rote tasks in daily code
|
18 | review.
|
19 |
|
20 | You can use Danger to codify your teams norms, leaving humans to think about harder problems.
|
21 |
|
22 | Danger JS works with GitHub, BitBucket Server, BitBucket Cloud for code review, then with: Travis CI, GitLab CI,
|
23 | Semaphore, Circle CI, GitHub Actions, Jenkins, Docker Cloud, Bitrise, surf-build, Codeship, Drone, Buildkite, Nevercode,
|
24 | buddybuild, Buddy.works, TeamCity, Visual Studio Team Services, Screwdriver, Concourse, Netlify, CodeBuild, Codefresh,
|
25 | AppCenter, or BitBucket Pipelines.
|
26 |
|
27 | [![npm](https://img.shields.io/npm/v/danger.svg)](https://www.npmjs.com/package/danger)
|
28 | [![Build Status](https://travis-ci.org/danger/danger-js.svg?branch=master)](https://travis-ci.org/danger/danger-js)
|
29 | [![Build Status](https://ci.appveyor.com/api/projects/status/ep5hgeox3lbc5c7f?svg=true)](https://ci.appveyor.com/project/orta/danger-js/branch/master)
|
30 | [![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/danger)
|
31 |
|
32 | ## For example?
|
33 |
|
34 | You can:
|
35 |
|
36 | - Enforce CHANGELOGs
|
37 | - Enforce links to Trello/JIRA in PR/MR bodies
|
38 | - Enforce using descriptive labels
|
39 | - Look out for common anti-patterns
|
40 | - Highlight interesting build artifacts
|
41 | - Give warnings when specific files change
|
42 |
|
43 | Danger provides the glue to let _you_ build out the rules specific to your team's culture, offering useful metadata and
|
44 | a comprehensive plugin system to share common issues.
|
45 |
|
46 | ## Getting Started
|
47 |
|
48 | Alright. So, actually, you may be in the wrong place. From here on in, this README is going to be for people who are
|
49 | interested in working on and improving on Danger JS.
|
50 |
|
51 | We keep all of the end-user documentation at <http://danger.systems/js>.
|
52 |
|
53 | Some quick links to get you started:
|
54 |
|
55 | - [Getting Started](http://danger.systems/js/guides/getting_started.html)
|
56 | - [Guides Index](http://danger.systems/js/guides.html)
|
57 | - [DSL Reference](http://danger.systems/js/reference.html)
|
58 |
|
59 | ## This thing is broken, I should help improve it!
|
60 |
|
61 | Awesommmmee. Everything you need is down below. You can also refer to [CONTRIBUTING](CONTRIBUTING.md) file where you'll
|
62 | find the same information listed below.
|
63 |
|
64 | ```sh
|
65 | git clone https://github.com/danger/danger-js.git
|
66 | cd danger-js
|
67 |
|
68 | # if you don't have yarn installed
|
69 | npm install -g yarn
|
70 |
|
71 | yarn install
|
72 | ```
|
73 |
|
74 | You can then verify your install by running the tests, and the linters:
|
75 |
|
76 | ```sh
|
77 | yarn test
|
78 | yarn lint
|
79 | ```
|
80 |
|
81 | The fixers for both tslint and prettier will be applied when you commit, and on a push your code will be verified that
|
82 | it compiles.
|
83 |
|
84 | You can run your dev copy of danger against a PR by running:
|
85 |
|
86 | ```sh
|
87 | yarn build; node --inspect distribution/commands/danger-pr.js https://github.com/danger/danger-js/pull/817
|
88 | ```
|
89 |
|
90 | ### How does Danger JS work?
|
91 |
|
92 | Check the [architecture doc](https://github.com/danger/danger-js/blob/master/docs/architecture.md).
|
93 |
|
94 | ### What is the TODO?
|
95 |
|
96 | Check the issues, I try and keep my short term perspective there. Long term is in the [VISION.md](VISION.md).
|
97 |
|
98 | ### Releasing a new version of Danger
|
99 |
|
100 | Following [this commit](https://github.com/danger/danger-js/commit/a26ac3b3bd4f002acd37f6a363c8e74c9d5039ab) as a model:
|
101 |
|
102 | - Checkout the `master` branch. Ensure your working tree is clean, and make sure you have the latest changes by running
|
103 | `git pull`.
|
104 | - Publish - `npm run release -- [major/patch/minor] --non-interactive`.
|
105 |
|
106 | :ship:
|
107 |
|
108 | ## License, Contributor's Guidelines and Code of Conduct
|
109 |
|
110 | We try to keep as much discussion as possible in GitHub issues, but also have a pretty inactive Slack --- if you'd like
|
111 | an invite, ping [@Orta](https://twitter.com/orta/) a DM on Twitter with your email. It's mostly interesting if you want
|
112 | to stay on top of Danger without all the emails from GitHub.
|
113 |
|
114 | > This project is open source under the MIT license, which means you have full access to the source code and can modify
|
115 | > it to fit your own needs.
|
116 | >
|
117 | > This project subscribes to the [Moya Contributors Guidelines](https://github.com/Moya/contributors) which TLDR: means
|
118 | > we give out push access easily and often.
|
119 | >
|
120 | > Contributors subscribe to the [Contributor Code of Conduct](http://contributor-covenant.org/version/1/3/0/) based on
|
121 | > the [Contributor Covenant](http://contributor-covenant.org) version 1.3.0.
|
122 |
|
123 | [emiss]: https://github.com/artsy/emission/blob/master/dangerfile.ts
|
124 | [danger-js]: https://github.com/danger/danger-js/blob/master/dangerfile.ts
|
125 | [meta]: https://github.com/artsy/metaphysics/blob/master/dangerfile.js
|
126 | [fbj]: https://github.com/facebook/jest/blob/master/dangerfile.js
|
127 | [sc]: https://github.com/styled-components/styled-components/blob/master/dangerfile.js
|
128 | [rxjs]: https://github.com/ReactiveX/rxjs/blob/master/dangerfile.js
|
129 | [setup]: http://danger.systems/guides/getting_started.html#creating-a-bot-account-for-danger-to-use
|
130 | [jest]: https://github.com/facebook/jest
|