Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Semantic Versioning Policy #44

Merged
merged 6 commits into from
Apr 3, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 47 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,19 @@ An ESLint [Shareable Config](http://eslint.org/docs/developer-guide/shareable-co

![pedant](https://cloud.githubusercontent.com/assets/2225579/13544540/31939a3a-e288-11e5-8fd2-f6a86190e037.jpg)

Table of Contents
-----------------

* [Install](#install)
* [Usage](#usage)
* [Presets](#presets)
* [FAQ](#faq)
* [Semantic Versioning Policy](#semantic-versioning-policy)

Install
-------

You'll first need to install `ESLint`:
You'll first need to install ESLint:

```
$ npm install eslint --save-dev
Expand All @@ -40,7 +49,7 @@ Usage

Shareable configs are designed to work with the `extends` feature of `.eslintrc` files. You can learn more about [Shareable Config](http://eslint.org/docs/developer-guide/shareable-configs) on the official ESLint website.

Add this to your `.eslintrc` file:
Add this to your `.eslintrc.json` file:

```json
{
Expand All @@ -50,10 +59,12 @@ Add this to your `.eslintrc` file:

**Note**: We omitted the `eslint-config-` prefix since it is automatically assumed by ESLint.

You can override settings from the shareable config by adding them directly into your `.eslintrc` file.
You can override settings from the shareable config by adding them directly into your `.eslintrc.json` file.

ECMAScript
----------
Presets
-------

### ECMAScript

By default rules are suitable for `ECMAScript 6` or higher.

Expand Down Expand Up @@ -93,10 +104,40 @@ To make sure that this config is right for you:

This config intentionally does not limit your choice of code style.

If you want to check code style of your my code you can add [stylistic rules](http://eslint.org/docs/rules/#stylistic-issues) to your config in your project.
If you want to check code style of your code you can add [stylistic rules](http://eslint.org/docs/rules/#stylistic-issues) to your config in your project.

Also, you can create your own [Shareable Config](http://eslint.org/docs/developer-guide/shareable-configs) or use one of the existing.

Semantic Versioning Policy
--------------------------

The `eslint-config-pedant` follows [semantic versioning](semver) and [ESLint's Semantic Versioning Policy](eslint-semver).

[semver]: http://semver.org
[eslint-semver]: https://github.com/eslint/eslint#semantic-versioning-policy

However, due to the nature of ESLint, it's not always clear when a minor or major version bump occurs. To help clarify this for everyone, ESLint defined the following semantic versioning policy:

* Patch release (intended to not break your lint build)
* A bug fix in a rule options that results in ESLint reporting fewer errors.
* Improvements to documentation.
* Non-user-facing changes such as refactoring code, modifying tests, and increasing examples coverage.
* Re-releasing after a failed release (i.e., publishing a release that doesn't work for anyone).
* An existing rule is replaced (if rule is deprecated) that results in ESLint reporting fewer errors.
* Minor release (might break your lint build)
* A bug fix in a rule options that results in ESLint reporting more errors.
* An existing rule is replaced (if rule is deprecated) that results in ESLint reporting more errors.
* A new rule is added that does not result in ESLint reporting more errors by default.
* A new option to an existing rule is added that does not result in ESLint reporting more errors by default.
* New capabilities to the public API are added (new presets, etc.).
* Major release (likely to break your lint build)
* A new rule is added that results in ESLint reporting more errors by default.
* A new option to an existing rule is added that results in ESLint reporting more errors by default.
* An existing rule is removed (if rule is not deprecated).
* Part of the public API is removed or changed in an incompatible way (removed presets, etc.).

According to our policy, any minor update may report more errors than the previous release (ex: from a bug fix). As such, we recommend using the tilde (`~`) in `package.json` e.g. `"eslint-config-pedant": "~0.8.0"` to guarantee the results of your builds.

License
-------

Expand Down