[gnome-shell] lint: Sync configuration with gjs



commit 0483c78dd16da61255932f29e5de6b893bf9b02f
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Aug 19 19:28:51 2019 +0200

    lint: Sync configuration with gjs
    
    gjs updates its configuration to a much more complete and
    thorough set, follow suite.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/818

 lint/eslintrc-gjs.yml   | 141 ++++++++++++++++++++++++++++++++++++++++++++++++
 lint/eslintrc-shell.yml |   4 --
 2 files changed, 141 insertions(+), 4 deletions(-)
---
diff --git a/lint/eslintrc-gjs.yml b/lint/eslintrc-gjs.yml
index 50da632db4..3af4105071 100644
--- a/lint/eslintrc-gjs.yml
+++ b/lint/eslintrc-gjs.yml
@@ -9,12 +9,45 @@ rules:
   array-bracket-spacing:
     - error
     - never
+  array-callback-return: error
+  arrow-parens:
+    - error
+    - as-needed
   arrow-spacing: error
+  block-scoped-var: error
+  block-spacing: error
   brace-style: error
+  # Waiting for this to have matured a bit in eslint
+  # camelcase:
+  #   - error
+  #   - properties: never
+  #     allow: [^vfunc_, ^on_, _instance_init]
+  comma-dangle:
+    - error
+    - always-multiline
   comma-spacing:
     - error
     - before: false
       after: true
+  comma-style:
+    - error
+    - last
+  computed-property-spacing: error
+  curly:
+    - error
+    - multi-or-nest
+    - consistent
+  dot-location:
+    - error
+    - property
+  eol-last: error
+  eqeqeq: error
+  func-call-spacing: error
+  func-name-matching: error
+  func-style:
+    - error
+    - declaration
+    - allowArrowFunctions: true
   indent:
     - error
     - 4
@@ -35,13 +68,42 @@ rules:
   linebreak-style:
     - error
     - unix
+  lines-between-class-members: error
+  max-nested-callbacks: error
+  max-statements-per-line: error
+  new-parens: error
+  no-array-constructor: error
+  no-await-in-loop: error
+  no-caller: error
+  no-constant-condition:
+    - error
+    - checkLoops: false
+  no-div-regex: error
   no-empty:
     - error
     - allowEmptyCatch: true
+  no-extra-bind: error
+  no-extra-parens:
+    - error
+    - all
+    - conditionalAssign: false
+      nestedBinaryExpressions: false
+      returnAssign: false
   no-implicit-coercion:
     - error
     - allow:
       - '!!'
+  no-invalid-this: error
+  no-iterator: error
+  no-label-var: error
+  no-lonely-if: error
+  no-loop-func: error
+  no-nested-ternary: error
+  no-new-object: error
+  no-new-wrappers: error
+  no-octal-escape: error
+  no-proto: error
+  no-prototype-builtins: 'off'
   no-restricted-properties:
     - error
     - object: Lang
@@ -50,6 +112,50 @@ rules:
     - object: Lang
       property: Class
       message: Use ES6 classes
+    - object: imports
+      property: mainloop
+      message: Use GLib main loops and timeouts
+  no-restricted-syntax:
+    - error
+    - selector: >-
+        MethodDefinition[key.name="_init"] >
+        FunctionExpression[params.length=1] >
+        BlockStatement[body.length=1]
+        CallExpression[arguments.length=1][callee.object.type="Super"][callee.property.name="_init"] >
+        Identifier:first-child
+      message: _init() that only calls super._init() is unnecessary
+    - selector: >-
+        MethodDefinition[key.name="_init"] >
+        FunctionExpression[params.length=0] >
+        BlockStatement[body.length=1]
+        CallExpression[arguments.length=0][callee.object.type="Super"][callee.property.name="_init"]
+      message: _init() that only calls super._init() is unnecessary
+  no-return-assign: error
+  no-return-await: error
+  no-self-compare: error
+  no-shadow: error
+  no-shadow-restricted-names: error
+  no-spaced-func: error
+  no-tabs: error
+  no-template-curly-in-string: error
+  no-throw-literal: error
+  no-trailing-spaces: error
+  no-undef-init: error
+  no-unneeded-ternary: error
+  no-unused-expressions: error
+  no-unused-vars:
+    - error
+    # Vars use a suffix _ instead of a prefix because of file-scope private vars
+    - varsIgnorePattern: (^unused|_$)
+      argsIgnorePattern: ^(unused|_)
+  no-useless-call: error
+  no-useless-computed-key: error
+  no-useless-concat: error
+  no-useless-constructor: error
+  no-useless-rename: error
+  no-useless-return: error
+  no-whitespace-before-property: error
+  no-with: error
   nonblock-statement-body-position:
     - error
     - below
@@ -57,11 +163,23 @@ rules:
     - error
     - consistent: true
   object-curly-spacing: error
+  object-shorthand: error
+  operator-assignment: error
+  operator-linebreak: error
+  # These may be a bit controversial, we can try them out and enable them later
+  # prefer-const: error
+  # prefer-destructuring: error
+  prefer-numeric-literals: error
+  prefer-promise-reject-errors: error
+  prefer-rest-params: error
+  prefer-spread: error
   prefer-template: error
   quotes:
     - error
     - single
     - avoidEscape: true
+  require-await: error
+  rest-spread-spacing: error
   semi:
     - error
     - always
@@ -69,10 +187,33 @@ rules:
     - error
     - before: false
       after: true
+  semi-style: error
   space-before-blocks: error
+  space-before-function-paren:
+    - error
+    - named: never
+      # for `function ()` and `async () =>`, preserve space around keywords
+      anonymous: always
+      asyncArrow: always
+  space-in-parens: error
   space-infix-ops:
     - error
     - int32Hint: false
+  space-unary-ops: error
+  spaced-comment: error
+  switch-colon-spacing: error
+  symbol-description: error
+  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
 globals:
   ARGV: readonly
   Debugger: readonly
diff --git a/lint/eslintrc-shell.yml b/lint/eslintrc-shell.yml
index 302dbca3e0..9d13f0c367 100644
--- a/lint/eslintrc-shell.yml
+++ b/lint/eslintrc-shell.yml
@@ -9,10 +9,6 @@ rules:
     - mode: minimum
       beforeColon: false
       afterColon: true
-  no-unused-vars:
-    - error
-    - argsIgnorePattern: ^_
-      varsIgnorePattern: _$
   object-curly-spacing:
     - error
     - always


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