[gnome-shell] eslint: (Mostly) synchronize configuration with gjs



commit bf5129adc121c0292209bc3fc6ce1dc068fae89e
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Aug 12 17:12:15 2021 +0200

    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>

 lint/eslintrc-gjs.yml    | 26 +++++++++++++++++++++++---
 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 13114fa7e2..ba6c510314 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 55e9a2bb85..8441f7c2d5 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]