2.0.1 • Published 3 years ago

@qooxdoo/eslint-config-qx v2.0.1

Weekly downloads
558
License
MIT
Repository
github
Last release
3 years ago

eslint-config-qx

ESLint shareable config for Qooxdoo

This depends on @qooxdoo/eslint-plugins-qx

Install

$ npm install --save-dev @qooxdoo/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": {
    "@qooxdoo/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": {
		"@qooxdoo/eslint-config-qx": "^0.0.7"
	},
	"eslintConfig": {
		"extends": [
			"@qooxdoo/eslint-config-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 @qooxdoo/eslint-config-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": [
			"@qooxdoo/eslint-config-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": "@qooxdoo/eslint-plugins-qx/esnext"
}

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

{
	"extends": "@qooxdoo/eslint-config-qx/browser"
}

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

{
	"extends": "@qooxdoo/eslint-config-qx/safety"
}

Authors

License

MIT

2.0.1

3 years ago

1.3.8

3 years ago

1.3.7

3 years ago

1.3.6

4 years ago

1.3.5

4 years ago

1.3.4

4 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.2.11

5 years ago

1.3.0

5 years ago

1.2.10

5 years ago

1.2.9

5 years ago

1.2.8

5 years ago

1.2.7

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago