This package has been deprecated

Author message:

moved to @qooxdoo/eslint-qx-rules

eslint-config-qx

0.2.6 • Public • Published

eslint-config-qx

ESLint shareable config for Qooxdoo

This depends on eslint-plugins-qx-rules

Install

$ npm install --save-dev eslint-config-qx

For the esnext version you'll also need Babel's ESLint parser and plugin:

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

This will let you use ES2016 features like async/await and decorators. For a full list of features see Babel's experimental features and their Learn ES2015.

Install in a existing Qooxdoo Project

If you don't have a package.json

Create a new file package.json with the following contents in your project:

{
  "name": "<appname>",
  "description": "<appdesc>",
  "author": "Your Name <your@email.com>",
  "version": "0.0.1",
  "license": "MIT",
  "dependencies": {},
  "devDependencies": {
    "eslint-config-qx": "^0.0.7"
  },
  "engine": "node >= 4.5",
  "eslintConfig": {
    "extends": [
      "qx"
    ]
  },
  "scripts": {
    "eslint": "eslint --cache"
  }
}

Replace name, description and author ofc.

If you have a package.json

Add these lines to it:

{
    "devDependencies": {
        "eslint-config-qx": "^0.0.7"
    },
    "eslintConfig": {
        "extends": [
            "qx/browser"
        ]
    },
    "scripts": {
        "eslint": "eslint --cache"
    }
}

Adjust your .gitingore

Add .eslintcache to it.

Now install eslint and eslint-config-qx

$ npm install

And finaly lint your files

$ npm run eslint -- .

Or lint AND fix:

$ npm run eslint -- --fix .

Handling globals

Normaly your app has its own globals, like qxl for Qooxdoo Contribs, for that you need to extend qx/browser with your own config.

Create a file .eslintrc-qx:

{
  "globals": {
    "qxl": false
  }
}

This file tells eslint to ignore qxl but don't allow writes to it.

Now you need to tell eslint about it in package.json:

{
    "eslintConfig": {
        "extends": [
            "qx/browser",
            ".eslintrc-qx"
        ]
    }
}

Thats all.

Ignore compiled stuff in .eslintignore

ESLint has its own .eslintignore file, when you run npm run eslint . it will lint all JS files found including generated ones, to exclude them you can create a .eslintignore and files/directories to it like in .gitignore.

This is mine:

build/
gh-pages/
node_modules/
source/script/
source/resource/

# No need for lint
Gruntfile.js

Usage

Supports parsing ES2015, but doesn't enforce it by default.

This package also exposes qx/esnext if you want ES2015+ rules:

{
    "extends": "qx/esnext"
}

And qx/browser if you're in the browser:

{
    "extends": "qx/browser"
}

If you want only check for safety-errors then extend qx/safety:

{
    "extends": "qx/safety"
}

Authors

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i eslint-config-qx

Weekly Downloads

31

Version

0.2.6

License

none

Unpacked Size

20.6 kB

Total Files

7

Last publish

Collaborators

  • cboulanger
  • hkollmann
  • johnspackman
  • oetiker
  • pcdummy
  • qooxdoo_admin