npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@reactioncommerce/eslint-config

v2.4.0

Published

The ESLint config used by Reaction Commerce, following our style guide

Downloads

1,727

Readme

@reactioncommerce/eslint-config

CircleCI

NPM

The ESLint config used by Reaction Commerce JavaScript apps and packages, following our code style guide.

How To Install and Configure

How to install and configure this in a project varies slightly depending on what type of project it is. In all cases, it's necessary to install the eslint package and all required ESLint plugin packages in your project along with this config package.

Node Projects

Follow these instructions for Node projects, whether they use CommonJS or ECMAScript modules.

npm install --save-dev eslint @reactioncommerce/eslint-config eslint-plugin-import eslint-plugin-jest eslint-plugin-node eslint-plugin-promise eslint-plugin-you-dont-need-lodash-underscore

Then set your ESLint config either in package.json:

"eslintConfig": {
  "extends": "@reactioncommerce/eslint-config/node"
}

Or in a root file named .eslintrc if your project does not have a package.json:

{
  "extends": "@reactioncommerce/eslint-config/node"
}

Or in a root file named .eslintrc.cjs:

module.exports = {
  extends: "@reactioncommerce/eslint-config/node",
};

React Projects - Javascript

Follow these instructions for Webpack React projects, whether they use CommonJS or ECMAScript modules.

npm install --save-dev eslint @reactioncommerce/eslint-config eslint-plugin-import eslint-plugin-jest eslint-plugin-promise eslint-plugin-you-dont-need-lodash-underscore eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks

Then set your ESLint config either in package.json:

"eslintConfig": {
  "extends": "@reactioncommerce/eslint-config/browser-react"
}

Or in a root file named .eslintrc if your project does not have a package.json:

{
  "extends": "@reactioncommerce/eslint-config/browser-react"
}

Or in a root file named .eslintrc.cjs:

module.exports = {
  extends: "@reactioncommerce/eslint-config/browser-react",
};

React Projects - Typescript

Follow these instructions for React projects that are written in Typescript.

npm install --save-dev eslint @reactioncommerce/eslint-config eslint-plugin-import eslint-plugin-promise eslint-plugin-you-dont-need-lodash-underscore eslint-plugin-jsx-a11y eslint-config-react-app @typescript-eslint/eslint-plugin @typescript-eslint/parser

Then set your ESLint config either in package.json:

"eslintConfig": {
  "extends": "@reactioncommerce/eslint-config/browser-react-ts"
}

Or in a root file named .eslintrc if your project does not have a package.json:

{
  "extends": "@reactioncommerce/eslint-config/browser-react-ts"
}

Or in a root file named .eslintrc.cjs:

module.exports = {
  extends: "@reactioncommerce/eslint-config/browser-react-ts",
};

Projects with Node and React

For a project that has mixture of Node server code and React browser code, run both of the npm install commands in the above sections, and list both configs in an extends array.

{
  "extends": [
    "@reactioncommerce/eslint-config/browser-react",
    "@reactioncommerce/eslint-config/node"
  ]
}

Other Config

For backward compatibility, doing extends: "@reactioncommerce" (without /browser-react or /node) continues to provide a combined config that uses the Babel parser. Using this is not recommended, but if you do, be sure to also npm install --save-dev babel-eslint.

How to Use

Add a "lint" script in package.json:

"scripts": {
  "lint": "eslint ."
},

Then enter npm run lint command whenever you want to check all the code. Fix any issues that are reported before committing.

You should also install an ESLint extension for your code editor. It will automatically detect your ESLint configuration and highlight issues in your editor as you type.

Releases

This NPM package is published automatically on every push to the master branch. Be sure to use proper Git commit messages so that the version will be bumped properly and release notes can be automatically generated.

  • Refer to https://github.com/semantic-release/semantic-release#commit-message-format
  • To avoid triggering a release, such as for a README-only change, include [skip release] in your commit message.