Release candidate

* Lint the config using...itself 😱
* Add self-linting as test script
* Implement Cordova's four main ESLint configs

  - node
  - node-tests
  - browser
  - browser-tests

* Transform to scoped package
* Add coarse node engine restriction
* feat: commit package-lock.json
13 files changed
tree: d7af12463b2a8d3a74aa4d4c10e62564953eaddd
  1. lib/
  2. .eslintrc.yml
  3. .gitignore
  4. browser-tests.js
  5. browser.js
  6. index.js
  7. LICENSE
  8. node-tests.js
  9. node.js
  10. package-lock.json
  11. package.json
  12. README.md
README.md

@cordova/eslint-config

This repository centralizes the ESLint configuration used for Cordova's development.

Installation

eslint-config-cordova comes with all plugins configs and even eslint itself. So all you need to do to get started is:

npm i -D @cordova/eslint-config

Usage

# In package.json
{
  "scripts": {
    "eslint": "eslint ."
  }
}
# In .eslintrc.yml
root: true
extends: '@cordova/eslint-config/node'
# In spec/.eslintrc.yml
extends: '@cordova/eslint-config/node-tests'
# In cordova-js-src/.eslintrc.yml
extends: '@cordova/eslint-config/browser'

Reference

This package exposes the following shareable ESLint configurations:

@cordova/eslint-config/node (or simply @cordova)

For linting scripts intended to be run with Node.js.

@cordova/eslint-config/node-tests

For linting Jasmine tests of Cordova's Node.js scripts.

@cordova/eslint-config/browser

For linting cordova-style CommonJS modules intended to be run in the browser (before they are bundled).

@cordova/eslint-config/browser-tests

For linting Jasmine tests of Cordova's browser code.