-
Notifications
You must be signed in to change notification settings - Fork 5
/
.eslintrc.yml
117 lines (116 loc) · 2.9 KB
/
.eslintrc.yml
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
# SPDX-License-Identifier: CC0-1.0
# SPDX-FileCopyrightText: No rights reserved
env:
es2021: true
extends: "eslint:recommended"
rules:
# See: https://eslint.org/docs/latest/rules/#possible-problems
array-callback-return: error
no-await-in-loop: error
no-constant-binary-expression: error
no-constructor-return: error
#no-duplicate-imports: error
no-new-native-nonconstructor: error
no-promise-executor-return: error
no-self-compare: error
no-template-curly-in-string: error
no-unmodified-loop-condition: error
no-unreachable-loop: error
no-unused-private-class-members: error
no-use-before-define:
- error
- functions: false
classes: true
variables: true
allowNamedExports: true
# See: https://eslint.org/docs/latest/rules/#suggestions
block-scoped-var: error
complexity: warn
consistent-return: error
default-param-last: error
eqeqeq:
- error
- smart
no-array-constructor: error
no-caller: error
no-extend-native: error
no-extra-bind: error
no-extra-label: error
no-iterator: error
no-label-var: error
no-loop-func: error
no-multi-assign: warn
no-new-object: error
no-new-wrappers: error
no-proto: error
no-shadow: warn
no-unused-vars:
- error
- varsIgnorePattern: ^_
argsIgnorePattern: ^_
no-var: warn
unicode-bom: error
# GJS Restrictions
no-restricted-globals:
- error
- name: Debugger
message: Internal use only
- name: GIRepositoryGType
message: Internal use only
- name: log
message: Use console.log()
- name: logError
message: Use console.warn() or console.error()
no-restricted-properties:
- error
- object: imports
property: format
message: Use template strings
- object: pkg
property: initFormat
message: Use template strings
- object: Lang
property: copyProperties
message: Use Object.assign()
- object: Lang
property: bind
message: Use arrow notation or Function.prototype.bind()
- object: Lang
property: Class
message: Use ES6 classes
no-restricted-syntax:
- error
- selector: >-
MethodDefinition[key.name="_init"]
CallExpression[arguments.length<=1][callee.object.type="Super"][callee.property.name="_init"]
message: Use constructor() and super()
# GJS Globals
# camelcase:
# - error
# - properties: never
# allow: [^vfunc_, ^on_]
prefer-arrow-callback: error
globals:
global: readonly
ARGV: readonly
Debugger: readonly
GIRepositoryGType: readonly
globalThis: readonly
imports: readonly
Intl: readonly
log: readonly
logError: readonly
pkg: readonly
print: readonly
printerr: readonly
window: readonly
TextEncoder: readonly
TextDecoder: readonly
console: readonly
setTimeout: readonly
setInterval: readonly
clearTimeout: readonly
clearInterval: readonly
parserOptions:
ecmaVersion: 2022
sourceType: module