Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
eslint-release
Advanced tools
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 and the API is rapidly changing. 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");
When run in a CI environment like Jenkins, the ESLint release tool has different commands that allow for incorporation into more complex release scripts. To start, you'll need to define two environment variables:
NPM_TOKEN
- a token to use for npm publish
. The token must be from a user that has permission to publish the package.ESLINT_GITHUB_TOKEN
- a token for a GitHub user that has repo
permission (used for posting release notes).To run a release in a CI environment:
$ eslint-ci-release
This will generate a new version, update the changelog, and publish to npm but will not push back to GitHub. It will also generate a .releaseInfo.json
file.
Your CI system must manually push the repository changes to GitHub (including the version tag). After that, you can publish release notes by running:
$ eslint-gh-release
This command looks for the .releaseInfo.json
file and uses that information to determine where to post release notes and what to post.
Note: In Jenkins, eslint-gh-release
must be run as the last step in the build (typically in a post-build script that occurs after the GitHub repository has been updated).
When you run the release tool for a regular release, the following steps take place:
npm test
to validate the releaseCHANGELOG.md
and commits the changesnpm version
to update the versionWhen 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:
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
Join our Chatroom
FAQs
ESLint Release Tools
The npm package eslint-release receives a total of 2,158 weekly downloads. As such, eslint-release popularity was classified as popular.
We found that eslint-release demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.