summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2021-08-12 17:12:15 +0200
committerMarge Bot <marge-bot@gnome.org>2021-08-24 08:13:19 +0000
commitbf5129adc121c0292209bc3fc6ce1dc068fae89e (patch)
tree4496caa7656fd9e1c5653fb585eccffec1622b5a
parenta802bfda3911c6e6681dda3dd7d133373cd88d9b (diff)
downloadgnome-shell-bf5129adc121c0292209bc3fc6ce1dc068fae89e.tar.gz
eslint: (Mostly) synchronize configuration with gjs
In addition to the changes in this commit, gjs now restricts the use of the Format module and initFormat. We can't really replace those for translatable strings until xgettext gains support for template strings, so leave that bit out for now. The other notable change is that gjs now requires jsdoc comments. We can't plainly enable those options without a massive amount of work first, but let's see how requiring doc comments for new code goes. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1949>
-rw-r--r--lint/eslintrc-gjs.yml26
-rw-r--r--lint/eslintrc-legacy.yml14
2 files changed, 37 insertions, 3 deletions
diff --git a/lint/eslintrc-gjs.yml b/lint/eslintrc-gjs.yml
index 13114fa7e..ba6c51031 100644
--- a/lint/eslintrc-gjs.yml
+++ b/lint/eslintrc-gjs.yml
@@ -1,8 +1,12 @@
---
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
+# SPDX-FileCopyrightText: 2018 Claudio André <claudioandre.br@gmail.com>
env:
es6: true
+ es2020: true
extends: 'eslint:recommended'
+plugins:
+ - jsdoc
rules:
array-bracket-newline:
- error
@@ -60,6 +64,17 @@ rules:
- 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
# Allow dedenting chained member expressions
MemberExpression: 'off'
+ jsdoc/check-alignment: error
+ jsdoc/check-param-names: error
+ jsdoc/check-tag-names: error
+ jsdoc/check-types: error
+ jsdoc/implements-on-classes: error
+ jsdoc/newline-after-description: error
+ jsdoc/require-jsdoc: error
+ jsdoc/require-param: error
+ jsdoc/require-param-description: error
+ jsdoc/require-param-name: error
+ jsdoc/require-param-type: error
key-spacing:
- error
- beforeColon: false
@@ -107,6 +122,7 @@ rules:
no-octal-escape: error
no-proto: error
no-prototype-builtins: 'off'
+ no-restricted-globals: [error, window]
no-restricted-properties:
- error
- object: Lang
@@ -167,6 +183,7 @@ rules:
object-curly-newline:
- error
- consistent: true
+ multiline: true
object-curly-spacing: error
object-shorthand: error
operator-assignment: error
@@ -214,14 +231,14 @@ rules:
template-curly-spacing: error
template-tag-spacing: error
unicode-bom: error
- valid-jsdoc:
- - error
- - requireReturn: false
wrap-iife:
- error
- inside
yield-star-spacing: error
yoda: error
+settings:
+ jsdoc:
+ mode: typescript
globals:
ARGV: readonly
Debugger: readonly
@@ -233,5 +250,8 @@ globals:
logError: readonly
print: readonly
printerr: readonly
+ window: readonly
+ TextEncoder: readonly
+ TextDecoder: readonly
parserOptions:
ecmaVersion: 2020
diff --git a/lint/eslintrc-legacy.yml b/lint/eslintrc-legacy.yml
index 55e9a2bb8..8441f7c2d 100644
--- a/lint/eslintrc-legacy.yml
+++ b/lint/eslintrc-legacy.yml
@@ -10,5 +10,19 @@ rules:
ArrayExpression: first
ObjectExpression: first
MemberExpression: off
+ jsdoc/check-alignment: off
+ jsdoc/check-param-names: off
+ jsdoc/check-tag-names: off
+ jsdoc/check-types: off
+ jsdoc/implements-on-classes: off
+ jsdoc/newline-after-description: off
+ jsdoc/require-jsdoc: off
+ jsdoc/require-param: off
+ jsdoc/require-param-description: off
+ jsdoc/require-param-name: off
+ jsdoc/require-param-type: off
+ object-curly-newline:
+ - error
+ - consistent: true
prefer-template: off
quotes: off