@ojolabs/linter
Shared linting rules for javascript applications
Last updated 4 years ago by ojolabs-master .
UNLICENSED · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @ojolabs/linter 
SYNC missed versions from official npm registry.

linter

Shared linting rules and executable for all javascript applications

Configuring

This project is based on eslint. To take advantage of this linter:

  • Add this project as a dev dependency
  • Add a lint command to package.json for project linting
  • Add a lint check to shippable.yml to get linting during CI
  • Add an .eslintrc configuration file to add custom rules, inherit from a specific config file in this project, and (as a pre-requisite) to get live-linting in your editor

At a minimum, have the following in your package.json file:

"scripts": {
    "lint": "linter",
    ...
},
"devDependencies": {
    "@ojolabs/linter": "git://github.com/ojolabs/linter.git",
    ...
}

Configuring eslint

Consult the eslint documentation for information on how the various configuration options work, especially the rules page. This project provides some base javascript rules and both a node and browser (react) specific configuration file. These can be inherited from as a starting point by extending one of the existing configuration files (see eslint directory) to your projects .eslintrc file:

{
    "extends": ["./node_modules/@ojolabs/linter/node"]
}

Note the above assume you have arleady required this project as a dev-dependency and run npm install. Also note that as the linter descends directories, if it finds additional .eslintrc configuration files, they will over-ride preceding files. This can be used for e.g. a test directory where you want test specific environments or rules to be enforced.

Integrating with Shippable builds

When run, the linter looks for the XUNIT_LINTER_FILE environment variable. If found, it will output linting results to the specific file in a junit xml format. In your shippable yaml file:

...
env:
  - XUNIT_LINTER_FILE=shippable/testresults/lint.xml
...
script:
  - npm run lint

Integrating with Browserify / package.json based build

You can integrate eslint into the build directly by using the eslintify browserify transform. Note this is for development support, and will not break the build if linting fails (shippable integration is required for that)

npm install --save-dev eslintify

Then in your package.json:

...
browserify": {
    "transform": [
      "eslintify",
      "babelify",
      "envify"
    ]
  },
...

Live Linting

You can configure eslint to lint your code as you develop, providing inline editor errors. To do so, you'll need to install eslint globally. For projects that require plugins (like react), you'll also need to globally install that. e.g.:

sudo npm install -g eslint eslint-plugin-react

Afterwards, consult your editor specific docs for setting up live linting:

Allegedly, installing eslint_d can significantly improve live linting performance.

Current Tags

  • 1.0.11                                ...           latest (4 years ago)

9 Versions

  • 1.0.11                                ...           4 years ago
  • 1.0.10                                ...           4 years ago
  • 1.0.9                                ...           5 years ago
  • 1.0.7                                ...           5 years ago
  • 1.0.6                                ...           5 years ago
  • 1.0.5                                ...           5 years ago
  • 1.0.4                                ...           5 years ago
  • 1.0.2                                ...           5 years ago
  • 1.0.1                                ...           5 years ago
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (2)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |