eslint-plugin-shopify
Shopify’s ESLint rules and configs.
Last updated 25 days ago by shopify-dep .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install eslint-plugin-shopify 
SYNC missed versions from official npm registry.

eslint-plugin-shopify

NPM version Circle CI David DM Greenkeeper badge

Shopify’s ESLint rules and configs.

Installation

You'll first need to install ESLint:

With Yarn

yarn add --dev eslint

With npm

$ npm i eslint --save-dev

Next, install eslint-plugin-shopify:

With Yarn

yarn add --dev eslint-plugin-shopify

With npm

$ npm install eslint-plugin-shopify --save-dev

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-shopify globally.

Usage

Shopify’s ESLint configs come bundled in this package. In order to use them, you simply extend the relevant configuration in your project’s .eslintrc. For example, the following will extend the ESNext (ES2015 and later) config:

{
  "extends": "plugin:shopify/esnext"
}

If using React, extend the React version of the configuration (which adds some React-specific rules to those in the ESNext config):

{
  "extends": "plugin:shopify/react"
}

If working on an ES5 project, extend the ES5 version of the configuration:

{
  "extends": "plugin:shopify/es5"
}

You can also add some "augmenting" configs on top of the "core" config by extending an array of linting configs. For example, this package provides a jest config, which can be added to the ESNext config with the following configuration file:

{
  "extends": [
    "plugin:shopify/esnext",
    "plugin:shopify/jest",
  ]
}

Provided configurations

This plugin provides the following core configurations:

  • esnext: Use this for anything written with ES2015+ features.
  • react: Use this for React projects.
  • es5: Use this for legacy projects.

This plugin also provides the following tool-specific configurations, which can be used on top of the core configurations:

  • graphql: Use this for projects that use graphql-config for graphql validation.
  • polaris: Use this for projects that use Shopify’s React Polaris components.
  • prettier: Use prettier for consistent formatting. Extending this Shopify's prettier config will override the default Shopify eslint rules in favor of prettier formatting. Prettier must be installed within your project, as eslint-plugin-shopify does not provide the dependency itself.
  • typescript-prettier: Use prettier on typescript projects. Prettier must be installed within your project, as eslint-plugin-shopify does not provide the dependency itself.
  • webpack: Use this for projects built by webpack.

node

If you are working on a node module, we also provide the node configuration for you. Note that this configuration needs to be used in conjunction with one of the core configurations (either es5 or esnext). If you plan to transpile your code using Babel, use the esnext config. If you do not plan to do so, the config you choose depends on the version of node you wish to support, and how many ESNext features are natively available in that version. You can see a detailed list of what version of node supports what new JavaScript features by visiting http://node.green.

A node project that will use Babel for transpilation would need the following ESLint config:

{
  "extends": [
    "plugin:shopify/esnext",
    "plugin:shopify/node"
  ]
}

Plugin-Provided Rules

This plugin provides the following custom rules, which are included as appropriate in all core linting configs:

Creating New Rules

The easiest way to add new rules is to use the ESLint Yeoman generator. Running yo eslint:rule from the root of this project should add the required main file, docs, and test for your new rules. Make sure that these are all filled out and consistent with the other rules before merging. All tests can be run using npm test.

Current Tags

  • 30.0.1                                ...           latest (25 days ago)
  • 28.0.0-beta.0                                ...           next (4 months ago)
  • 9.0.2                                ...           stable (3 years ago)

113 Versions

  • 30.0.1                                ...           25 days ago
  • 30.0.0                                ...           25 days ago
  • 29.0.2                                ...           2 months ago
  • 29.0.1                                ...           2 months ago
  • 29.0.0                                ...           2 months ago
  • 28.0.0                                ...           4 months ago
  • 28.0.0-beta.0                                ...           4 months ago
  • 27.0.1                                ...           4 months ago
  • 27.0.0                                ...           4 months ago
  • 26.3.0                                ...           6 months ago
  • 26.2.0                                ...           6 months ago
  • 26.1.2                                ...           8 months ago
  • 26.1.1                                ...           10 months ago
  • 26.1.0                                ...           10 months ago
  • 26.0.0                                ...           10 months ago
  • 25.1.0                                ...           a year ago
  • 25.0.1                                ...           a year ago
  • 25.0.0                                ...           a year ago
  • 24.2.0                                ...           a year ago
  • 24.1.1                                ...           a year ago
  • 24.0.0                                ...           a year ago
  • 24.0.0-alpha.1                                ...           a year ago
  • 23.1.0                                ...           a year ago
  • 23.0.0                                ...           a year ago
  • 22.1.0                                ...           a year ago
  • 22.0.0                                ...           a year ago
  • 21.0.1                                ...           a year ago
  • 20.0.0                                ...           a year ago
  • 20.0.0-beta.4                                ...           a year ago
  • 20.0.0-beta.3                                ...           a year ago
  • 20.0.0-beta.2                                ...           a year ago
  • 19.0.1                                ...           a year ago
  • 19.0.0                                ...           2 years ago
  • 19.0.0-beta.4                                ...           2 years ago
  • 19.0.0-beta.1                                ...           2 years ago
  • 18.4.0-beta.6                                ...           2 years ago
  • 18.4.0-beta.5                                ...           2 years ago
  • 18.4.0-beta.3                                ...           2 years ago
  • 18.4.0-beta                                ...           2 years ago
  • 18.1.0-beta                                ...           2 years ago
  • 18.3.1-alpha.1                                ...           2 years ago
  • 18.3.0                                ...           2 years ago
  • 18.2.0                                ...           2 years ago
  • 18.2.0-alpha.2                                ...           2 years ago
  • 18.2.0-alpha.1                                ...           2 years ago
  • 18.1.0                                ...           2 years ago
  • 18.1.0-beta.1                                ...           2 years ago
  • 18.1.0-alpha.5                                ...           2 years ago
  • 18.1.0-alpha.4                                ...           2 years ago
  • 18.1.0-alpha.3                                ...           2 years ago
  • 18.1.0-alpha.2                                ...           2 years ago
  • 18.1.0-alpha.1                                ...           2 years ago
  • 18.0.0                                ...           2 years ago
  • 17.2.1                                ...           2 years ago
  • 17.2.0                                ...           2 years ago
  • 17.2.0-alpha.1                                ...           2 years ago
  • 17.2.0-beta.3                                ...           2 years ago
  • 17.2.0-beta.2                                ...           2 years ago
  • 17.2.0-beta.1                                ...           2 years ago
  • 17.1.0                                ...           2 years ago
  • 17.0.0                                ...           2 years ago
  • 16.0.1                                ...           2 years ago
  • 16.0.0                                ...           2 years ago
  • 15.2.0                                ...           2 years ago
  • 15.1.1                                ...           3 years ago
  • 15.1.0                                ...           3 years ago
  • 15.0.3                                ...           3 years ago
  • 15.0.2                                ...           3 years ago
  • 15.0.0                                ...           3 years ago
  • 14.0.2                                ...           3 years ago
  • 14.0.1                                ...           3 years ago
  • 14.0.0                                ...           3 years ago
  • 13.0.0                                ...           3 years ago
  • 12.3.4                                ...           3 years ago
  • 12.3.3                                ...           3 years ago
  • 12.1.0                                ...           3 years ago
  • 12.0.1                                ...           3 years ago
  • 12.0.0                                ...           3 years ago
  • 11.3.0                                ...           3 years ago
  • 11.1.3                                ...           3 years ago
  • 11.1.2                                ...           3 years ago
  • 11.1.1                                ...           3 years ago
  • 11.1.0                                ...           3 years ago
  • 11.0.2                                ...           3 years ago
  • 11.0.1                                ...           3 years ago
  • 11.0.0                                ...           3 years ago
  • 11.0.0-beta.6                                ...           3 years ago
  • 11.0.0-beta.5                                ...           3 years ago
  • 11.0.0-beta.4                                ...           3 years ago
  • 11.0.0-beta.3                                ...           3 years ago
  • 11.0.0-beta.2                                ...           3 years ago
  • 11.0.0-beta.1                                ...           3 years ago
  • 11.0.0-beta.0                                ...           3 years ago
  • 10.8.0                                ...           3 years ago
  • 10.5.0                                ...           3 years ago
  • 10.1.1                                ...           3 years ago
  • 10.0.0                                ...           3 years ago
  • 9.0.2                                ...           3 years ago
  • 9.0.1                                ...           3 years ago
  • 9.0.0                                ...           3 years ago
  • 8.0.0                                ...           4 years ago
  • 7.0.0                                ...           4 years ago
  • 6.2.0                                ...           4 years ago
  • 6.1.0                                ...           4 years ago
  • 6.0.1                                ...           4 years ago
  • 6.0.0                                ...           4 years ago
  • 1.0.3                                ...           4 years ago
  • 2.1.0                                ...           4 years ago
  • 2.0.1                                ...           4 years ago
  • 2.0.0                                ...           4 years ago
  • 1.0.2                                ...           4 years ago
  • 1.0.1                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Downloads
Today 0
This Week 0
This Month 252
Last Day 0
Last Week 9
Last Month 347
Dev Dependencies (16)

Copyright 2014 - 2017 © taobao.org |