3731be9947
gjs started to run eslint during its CI a while ago, so there is an existing rules set we can use as a starting point for our own setup. As we will adapt those rules to our code base, we don't want those changes to make it harder to synchronize the copy with future gjs changes, so include the rules from a separate file rather than using the configuration directly. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/609
131 lines
2.9 KiB
JSON
131 lines
2.9 KiB
JSON
{
|
|
"env": {
|
|
"es6": true
|
|
},
|
|
"extends": "eslint:recommended",
|
|
"rules": {
|
|
"array-bracket-newline": [
|
|
"error",
|
|
"consistent"
|
|
],
|
|
"array-bracket-spacing": [
|
|
"error",
|
|
"never"
|
|
],
|
|
"arrow-spacing": "error",
|
|
"brace-style": "error",
|
|
"comma-spacing": [
|
|
"error",
|
|
{
|
|
"before": false,
|
|
"after": true
|
|
}
|
|
],
|
|
"indent": [
|
|
"error",
|
|
4,
|
|
{
|
|
"ignoredNodes": [
|
|
"CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child"
|
|
],
|
|
"MemberExpression": "off"
|
|
}
|
|
],
|
|
"key-spacing": [
|
|
"error",
|
|
{
|
|
"beforeColon": false,
|
|
"afterColon": true
|
|
}
|
|
],
|
|
"keyword-spacing": [
|
|
"error",
|
|
{
|
|
"before": true,
|
|
"after": true
|
|
}
|
|
],
|
|
"linebreak-style": [
|
|
"error",
|
|
"unix"
|
|
],
|
|
"no-empty": [
|
|
"error",
|
|
{
|
|
"allowEmptyCatch": true
|
|
}
|
|
],
|
|
"no-implicit-coercion": [
|
|
"error",
|
|
{
|
|
"allow": ["!!"]
|
|
}
|
|
],
|
|
"no-restricted-properties": [
|
|
"error",
|
|
{
|
|
"object": "Lang",
|
|
"property": "bind",
|
|
"message": "Use arrow notation or Function.prototype.bind()"
|
|
},
|
|
{
|
|
"object": "Lang",
|
|
"property": "Class",
|
|
"message": "Use ES6 classes"
|
|
}
|
|
],
|
|
"nonblock-statement-body-position": [
|
|
"error",
|
|
"below"
|
|
],
|
|
"object-curly-newline": [
|
|
"error",
|
|
{
|
|
"consistent": true
|
|
}
|
|
],
|
|
"object-curly-spacing": "error",
|
|
"prefer-template": "error",
|
|
"quotes": [
|
|
"error",
|
|
"single",
|
|
{
|
|
"avoidEscape": true
|
|
}
|
|
],
|
|
"semi": [
|
|
"error",
|
|
"always"
|
|
],
|
|
"semi-spacing": [
|
|
"error",
|
|
{
|
|
"before": false,
|
|
"after": true
|
|
}
|
|
],
|
|
"space-before-blocks": "error",
|
|
"space-infix-ops": [
|
|
"error",
|
|
{
|
|
"int32Hint": false
|
|
}
|
|
]
|
|
},
|
|
"globals": {
|
|
"ARGV": false,
|
|
"Debugger": false,
|
|
"GIRepositoryGType": false,
|
|
"imports": false,
|
|
"Intl": false,
|
|
"log": false,
|
|
"logError": false,
|
|
"print": false,
|
|
"printerr": false,
|
|
"window": false
|
|
},
|
|
"parserOptions": {
|
|
"ecmaVersion": 2017
|
|
}
|
|
}
|