eslint-config-qx v0.2.6
eslint-config-qx
ESLint shareable config for Qooxdoo
This depends on eslint-plugins-qx-rules
Install
$ npm install --save-dev eslint-config-qxFor the esnext version you'll also need Babel's ESLint parser and plugin:
$ npm install --save-dev babel-eslint eslint-plugin-babelThis 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 installAnd 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.jsUsage
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
- Original XO Author: Sindre Sorhus
- Changes for Qooxdoo by: René Jochum
License
MIT