Skip to content

Commit a3b563b

Browse files
committed
Document release process and semantic versioning policy. Fix #8
1 parent c27dbcc commit a3b563b

File tree

4 files changed

+54
-33
lines changed

4 files changed

+54
-33
lines changed

.github/CONTRIBUTING.md

Lines changed: 0 additions & 32 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Contribution Guidelines
2+
3+
We welcome all support, whether on bug reports, feature requests, code, design, reviews, tests, documentation, and more.
4+
5+
## Development
6+
7+
### Install
8+
9+
> Clone the project on your computer, and install [Node](https://nodejs.org) and [nvm](https://github.com/creationix/nvm).
10+
11+
```sh
12+
# Switch to the right version of Node.
13+
nvm use
14+
# Then, install all project dependencies.
15+
npm install
16+
```
17+
18+
Also take the time to integrate [Prettier](https://prettier.io/) and [ESLint](https://eslint.org/) with your code editor.
19+
20+
### Working on the project
21+
22+
> Everything mentioned in the installation process should already be done.
23+
24+
```sh
25+
# Make sure you use the right node version.
26+
nvm use
27+
# View available commands with:
28+
npm run
29+
# Most used commands:
30+
npm run test:watch
31+
npm run lint
32+
```
33+
34+
### Releasing a new version
35+
36+
- Make a new branch for the new release.
37+
- Follow [ESLint’s semantic versioning policy](https://github.com/eslint/eslint#semantic-versioning-policy) to determine what new version to create.
38+
- Update the [CHANGELOG](CHANGELOG.md).
39+
- If there are breaking changes, make sure to document them separately, and add any upgrade considerations.
40+
- Update the version number in `package.json`, following semver.
41+
- Make sure the documentation is up-to-date (`npm run build`)
42+
- Make a PR and squash merge it.
43+
- Back on master with the PR merged, use `npm publish`.
44+
- Head over to [https://www.npmjs.com/package/eslint-config-torchbox](https://www.npmjs.com/package/eslint-config-torchbox) and check that all is well.
45+
- Finally, go to GitHub and create tag then a release for the new version, with the corresponding CHANGELOG entry as content.
46+
- Done!

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,3 +291,7 @@ module.exports = {
291291
- [jsx-a11y/no-noninteractive-element-to-interactive-role](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-noninteractive-element-to-interactive-role.md): `error, ul: listbox, menu, menubar, radiogroup, tablist, tree…`
292292
- [jsx-a11y/no-noninteractive-tabindex](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-noninteractive-tabindex.md): `error, tags: , roles: tabpanel`
293293
- [jsx-a11y/anchor-is-valid](https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/anchor-is-valid.md): `error, components: Link, specialLink: to, aspects: noHref, i…`
294+
295+
## Contributing
296+
297+
See the [contribution guidelines](CONTRIBUTING.md) for guidance and setup instructions.

src/documentation.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
'use strict';
2-
/* eslint-disable no-console */
32
const fs = require('fs');
43
const path = require('path');
54
const getRuleURI = require('eslint-rule-documentation');
@@ -95,6 +94,10 @@ ${formatRows(customRules, baseConfig.rules)}
9594
### Inherited rules
9695
9796
${formatRows(inheritedRules, rules)}
97+
98+
## Contributing
99+
100+
See the [contribution guidelines](CONTRIBUTING.md) for guidance and setup instructions.
98101
`;
99102

100103
const oldREADME = fs

0 commit comments

Comments
 (0)