summaryrefslogtreecommitdiff
path: root/.eslintrc.yml
blob: 9e5b5d1c82e8e6f624b6ca5f41d36201c3a74599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
---
env:
  es6: true
extends: 'eslint:recommended'
rules:
  array-bracket-newline:
    - error
    - consistent
  array-bracket-spacing:
    - error
    - never
  arrow-parens:
    - error
    - as-needed
  arrow-spacing: error
  block-scoped-var: 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
  curly:
    - error
    - multi-or-nest
    - consistent
  dot-location:
    - error
    - property
  eol-last: error
  eqeqeq: error
  func-call-spacing: error
  func-style:
    - error
    - declaration
    - allowArrowFunctions: true
  indent:
    - error
    - 4
    - ignoredNodes:
      # Allow not indenting the body of GObject.registerClass, since in the
      # future it's intended to be a decorator
      - 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
      # Allow dedenting chained member expressions
      MemberExpression: 'off'
  key-spacing:
    - error
    - beforeColon: false
      afterColon: true
  keyword-spacing:
    - error
    - before: true
      after: true
  linebreak-style:
    - error
    - unix
  lines-between-class-members: error
  no-array-constructor: error
  no-constant-condition:
    - error
    - checkLoops: false
  no-empty:
    - error
    - allowEmptyCatch: true
  no-implicit-coercion:
    - error
    - allow:
      - '!!'
  no-prototype-builtins: 'off'
  no-restricted-properties:
    - error
    - object: Lang
      property: bind
      message: Use arrow notation or Function.prototype.bind()
    - object: Lang
      property: Class
      message: Use ES6 classes
  no-tabs: error
  no-unused-vars:
    - error
    - varsIgnorePattern: ^unused
  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: readonly
  Debugger: readonly
  GIRepositoryGType: readonly
  imports: readonly
  Intl: readonly
  log: readonly
  logError: readonly
  print: readonly
  printerr: readonly
  window: readonly
parserOptions:
  ecmaVersion: 2017