Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »


0.3.0-beta.0 • Public • Published

NPM version Downloads Join the chat at https://gitter.im/eslint/eslint

ESLint Release Tool

This release tool has been extracted from the ESLint project so that it can be shared among projects. While it's intended for use in ESLint organization projects, it is shared freely so others might use it as well.

Please note that while this project is shared freely, it is not intended to be a general-purpose utility. The functionality is highly specific to how ESLint projects handle releases and the project will remain very focused on this use case.

Warning: There are minimal tests for this project. Use at your own risk.


You can install the ESLint release tool using npm:

$ npm install eslint-release --save-dev


The ESLint release tool is designed to be used on the command line and has two modes: regular release and prerelease.

To run a regular release:

$ eslint-release

To run a prerelease, you need to include the prerelease identifier:

$ eslint-prerelease alpha

You can optionally include the release tool in another Node.js script:

var ReleaseOps = require("eslint-release");

What It Does

When you run the release tool for a regular release, the following steps take place:

  1. Updates your npm packages to ensure you're running everything with the version that would be installed with a fresh install
  2. Runs npm test to validate the release
  3. Gathers the commit message for each commit since the last release
  4. Calculates the next release version based on the commit message format of the changes since the last release
  5. Updates CHANGELOG.md and commits the changes
  6. Runs npm version to update the version
  7. Pushes the repository to origin/master with tags
  8. Converts all line endings to Unix style
  9. Publishes the package to npm
  10. Reverts any line ending changes

When you do a prerelease, the same steps are taken except that package is published to npm under the next tag instead of latest.


These folks keep the project moving and are resources for help:

  • Nicholas C. Zakas (@nzakas) - project lead


Issues and pull requests will be triaged and responded to as quickly as possible. We operate under the ESLint Contributor Guidelines, so please be sure to read them before contributing. If you're not sure where to dig in, check out the issues.


MIT License

Where to ask for help?

Join our Chatroom


npm i [email protected]





Last publish


  • avatar
  • avatar