diff options
author | Florian Müllner <fmuellner@gnome.org> | 2021-08-12 17:12:15 +0200 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2021-08-24 08:13:19 +0000 |
commit | bf5129adc121c0292209bc3fc6ce1dc068fae89e (patch) | |
tree | 4496caa7656fd9e1c5653fb585eccffec1622b5a | |
parent | a802bfda3911c6e6681dda3dd7d133373cd88d9b (diff) | |
download | gnome-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.yml | 26 | ||||
-rw-r--r-- | lint/eslintrc-legacy.yml | 14 |
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 |