@tokenfoundry/eslint-config
Shareable ESLint rules for our projects.
Last updated 5 months ago by lopezjurip .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @tokenfoundry/eslint-config 
SYNC missed versions from official npm registry.

@tokenfoundry/eslint-config

Please use this configuration to maintain a common and homogeneous code base.

Install

Install this package as any other package with:

yarn add --dev eslint @tokenfoundry/eslint-config

Create a .eslintignore and add any files that are bundled, builded and/or transpiled:

!.eslintrc.js # allow self-formating

dist
lib

In the package.json file add the following in the "scripts" section:

 {
   // ...
   "scripts": {
     // ...
     "lint": "eslint src __tests__ .eslintrc.js  --ext .js --ext .jsx"
   },
 }

Assuming that the main code is in the src directory, change as needed.

Configure for Node.js

Create a .eslintrc.js file in the root of your project and add the following:

// .eslintrc.js

module.exports = {
  extends: ["@tokenfoundry/eslint-config"],
};

Configure for ESNext (Babel) projects

Create a .eslintrc.js file in the root of your project and add the following:

// .eslintrc.js

module.exports = {
  extends: ["@tokenfoundry/eslint-config/babel"],
};

Configure for Typescript

Create a .eslintrc.js file in the root of your project and add the following:

// .eslintrc.js

module.exports = {
  extends: ["@tokenfoundry/eslint-config/typescript"],
};

Add to the package.json file the following arguments to the lint script:

{
  "scripts": {
    "lint": "eslint --ext .js --ext .ts"
  },
}

Configure for React.js and React-Native

Create a .eslintrc.js file in the root of your project and add the following:

// .eslintrc.js

module.exports = {
  extends: ["@tokenfoundry/eslint-config/react"],
};

Usage

To lint the files run:

yarn lint

To lint the files and auto-format run:

yarn lint --fix

To run in a specific file or directory (eg: src):

yarn lint --fix src

Do not run yarn lint:css --fix it will break your component file.

Recommended usage

Install typicode/husky so you always have to run the linter before committing:

yarn add --dev husky@next

And add to the package.json:

 {
  // ...
  "scripts": {
    // ...
    "lint": "eslint src __tests__ .eslintrc.js  --ext .js --ext .ts"
  },
  "husky": {
    "hooks": {
      "pre-commit": "yarn lint"
    }
  },
}

Custom rules

Modify the .eslintrc.js and add a "rules" field:

// .eslintrc.js

module.exports = {
  extends: ["@tokenfoundry/eslint-config/react"],
  rules: {
    "react/prop-types": 0, // disabled
    "react/display-name": 1, // warning
    "react/jsx-boolean-value": 2, // throw error
  },
};

Setup Visual Studio Code

Create file .vscode/settings.json

mkdir -p .vscode
touch .vscode/settings.json

Add the following:

{
    "eslint.enable": true,
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        {
            "language": "typescript",
            "autoFix": true
        },
        {
            "language": "typescriptreact",
            "autoFix": true
        }
    ]
}

Publishing

To publish and update of this package run:

# git add ...
# git commit ...

yarn publish --access=public
git push --follow-tags

Current Tags

  • 1.6.4                                ...           latest (5 months ago)

22 Versions

  • 1.6.4                                ...           5 months ago
  • 1.6.3                                ...           6 months ago
  • 1.6.2                                ...           6 months ago
  • 1.6.1                                ...           6 months ago
  • 1.6.0                                ...           6 months ago
  • 1.5.1                                ...           8 months ago
  • 1.5.0                                ...           8 months ago
  • 1.4.2                                ...           8 months ago
  • 1.4.1                                ...           8 months ago
  • 1.4.0                                ...           a year ago
  • 1.3.2                                ...           a year ago
  • 1.3.1                                ...           a year ago
  • 1.3.0                                ...           a year ago
  • 1.2.0                                ...           2 years ago
  • 1.1.2                                ...           2 years ago
  • 1.1.1                                ...           2 years ago
  • 1.1.0                                ...           2 years ago
  • 1.0.1                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
  • 0.1.1                                ...           2 years ago
  • 0.1.0                                ...           2 years ago
  • 0.0.0                                ...           2 years ago
Downloads
Today 0
This Week 0
This Month 3
Last Day 0
Last Week 1
Last Month 8
Dev Dependencies (2)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |