eslint-config-dolmios 1.3.3 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.prettierrc CHANGED
@@ -1 +1 @@
1
- "./configs/prettier/base.js"
1
+ "./configs/prettier"
package/README.md CHANGED
@@ -23,7 +23,7 @@ Populate `.eslintrc` with the following, and code away.
23
23
  Prettier is configured to work nicely with this config, though is an optional inclusion. If you'd like to include the config, you can add it to `package.json`.
24
24
 
25
25
  ```json
26
- "prettier": "eslint-config-dolmios/.prettierrc"
26
+ "prettier": "eslint-config-dolmios/configs/prettier" // or "eslint-config-dolmios/.prettierrc
27
27
  ```
28
28
 
29
29
  #### Extending Prettier
@@ -33,8 +33,8 @@ Prettier is configured to work nicely with this config, though is an optional in
33
33
 
34
34
  ```js
35
35
  module.exports = {
36
- ...require("eslint-config-dolmios/configs/prettier/base.js"),
37
- semi: false,
36
+ ...require("eslint-config-dolmios/configs/prettier"),
37
+ parser: "babel",
38
38
  };
39
39
  ```
40
40
 
@@ -43,7 +43,7 @@ module.exports = {
43
43
  This config also exports two TSConfig setups, `base` and `lib` respectively. The _base_ config is generally suitable. To include either, extend your `tsconfig.json`.
44
44
 
45
45
  ```json
46
- "extends": "eslint-config-dolmios/configs/tsconfig/base.json"
46
+ "extends": "eslint-config-dolmios/configs/tsconfig"
47
47
  // "extends": "eslint-config-dolmios/configs/tsconfig/lib" (req. further config for source and dist)
48
48
  ```
49
49
 
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "http://json.schemastore.org/prettierrc",
3
+ "bracketSameLine": true,
4
+ "printWidth": 100,
5
+ "endOfLine": "lf"
6
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/swcrc",
3
+ "jsc": {
4
+ "parser": {
5
+ "decorators": true,
6
+ "dynamicImport": true,
7
+ "jsx": true,
8
+ "syntax": "typescript",
9
+ "tsx": true
10
+ },
11
+ "target": "esnext"
12
+ },
13
+ "minify": false,
14
+ "module": {
15
+ "type": "es6"
16
+ }
17
+ }
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/tsconfig",
3
- "display": "dolmios",
4
3
  "compilerOptions": {
5
- "target": "es6",
6
- "lib": ["dom", "dom.iterable", "esnext"],
7
4
  "allowJs": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "forceConsistentCasingInFileNames": true,
11
- "noEmit": true,
12
5
  "esModuleInterop": true,
6
+ "forceConsistentCasingInFileNames": true,
7
+ "incremental": true,
8
+ "isolatedModules": true,
9
+ "jsx": "preserve",
10
+ "lib": ["dom", "dom.iterable", "esnext"],
13
11
  "module": "esnext",
14
12
  "moduleResolution": "node",
13
+ "noEmit": true,
15
14
  "resolveJsonModule": true,
16
- "isolatedModules": true,
17
- "jsx": "preserve",
18
- "incremental": true
19
- }
15
+ "skipLibCheck": true,
16
+ "strict": true,
17
+ "target": "es6"
18
+ },
19
+ "display": "dolmios"
20
20
  }
@@ -1,31 +1,31 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/tsconfig",
3
- "display": "dolmios",
4
3
  "compilerOptions": {
5
- "target": "es6",
6
- "lib": ["dom", "dom.iterable", "esnext"],
7
4
  "allowJs": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "forceConsistentCasingInFileNames": true,
11
- "noEmit": true,
5
+ "allowSyntheticDefaultImports": true,
6
+ "declaration": true,
7
+ "emitDecoratorMetadata": true,
12
8
  "esModuleInterop": true,
13
- "module": "esnext",
14
- "moduleResolution": "node",
15
- "resolveJsonModule": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "importHelpers": true,
11
+ "incremental": true,
16
12
  "isolatedModules": true,
17
13
  "jsx": "react-jsx",
18
- "incremental": true,
19
- "importHelpers": true,
20
- "declaration": true,
21
- "sourceMap": true,
22
- "noImplicitReturns": true,
14
+ "lib": ["dom", "dom.iterable", "esnext"],
15
+ "module": "esnext",
16
+ "moduleResolution": "node",
17
+ "noEmit": true,
23
18
  "noFallthroughCasesInSwitch": true,
24
19
  "noImplicitAny": true,
20
+ "noImplicitReturns": true,
25
21
  "noImplicitThis": true,
26
22
  "noUnusedLocals": true,
27
23
  "noUnusedParameters": true,
28
- "allowSyntheticDefaultImports": true,
29
- "emitDecoratorMetadata": true
30
- }
24
+ "resolveJsonModule": true,
25
+ "skipLibCheck": true,
26
+ "sourceMap": true,
27
+ "strict": true,
28
+ "target": "es6"
29
+ },
30
+ "display": "dolmios"
31
31
  }
package/index.js CHANGED
@@ -1 +1,251 @@
1
- export * from "./configs/eslint/base";
1
+ module.exports = {
2
+ env: {
3
+ browser: true,
4
+ es6: true,
5
+ node: true,
6
+ },
7
+ extends: [
8
+ "plugin:@typescript-eslint/recommended",
9
+ "plugin:import/recommended",
10
+ "eslint:recommended",
11
+ ],
12
+ parser: "@typescript-eslint/parser",
13
+ plugins: ["sort-keys-fix", "@typescript-eslint"],
14
+ root: true,
15
+ rules: {
16
+ "@typescript-eslint/brace-style": "off",
17
+ "@typescript-eslint/comma-dangle": "off",
18
+ "@typescript-eslint/comma-spacing": "off",
19
+ "@typescript-eslint/explicit-function-return-type": "error",
20
+ "@typescript-eslint/func-call-spacing": "off",
21
+ "@typescript-eslint/indent": "off",
22
+ "@typescript-eslint/keyword-spacing": "off",
23
+ "@typescript-eslint/member-delimiter-style": "off",
24
+ "@typescript-eslint/no-explicit-any": "warn",
25
+ "@typescript-eslint/no-extra-parens": "off",
26
+ "@typescript-eslint/no-extra-semi": "off",
27
+ "@typescript-eslint/no-non-null-assertion": "error",
28
+ "@typescript-eslint/no-unused-vars": [
29
+ "error",
30
+ {
31
+ args: "none",
32
+ ignoreRestSiblings: true,
33
+ vars: "all",
34
+ },
35
+ ],
36
+ "@typescript-eslint/no-var-requires": "off",
37
+ "@typescript-eslint/object-curly-spacing": "off",
38
+ "@typescript-eslint/quotes": 0,
39
+ "@typescript-eslint/semi": "off",
40
+ "@typescript-eslint/space-before-blocks": "off",
41
+ "@typescript-eslint/space-before-function-paren": "off",
42
+ "@typescript-eslint/space-infix-ops": "off",
43
+ "@typescript-eslint/type-annotation-spacing": "off",
44
+ "array-bracket-newline": "off",
45
+ "array-bracket-spacing": "off",
46
+ "array-element-newline": "off",
47
+ "arrow-parens": "off",
48
+ "arrow-spacing": "off",
49
+ "block-spacing": "off",
50
+ "brace-style": "off",
51
+ camelcase: [
52
+ "error",
53
+ {
54
+ properties: "never",
55
+ },
56
+ ],
57
+ "comma-dangle": "off",
58
+ "comma-spacing": "off",
59
+ "comma-style": "off",
60
+ "computed-property-spacing": "off",
61
+ curly: 0,
62
+ "dot-location": "off",
63
+ "eol-last": "off",
64
+ "func-call-spacing": "off",
65
+ "func-names": ["error", "as-needed"],
66
+ "function-call-argument-newline": "off",
67
+ "function-paren-newline": "off",
68
+ "generator-star": "off",
69
+ "generator-star-spacing": "off",
70
+ "implicit-arrow-linebreak": "off",
71
+ "import/export": "error",
72
+ "import/first": "warn",
73
+ "import/named": "warn",
74
+ "import/namespace": "error",
75
+ "import/no-deprecated": "error",
76
+ "import/no-duplicates": "error",
77
+ "import/no-extraneous-dependencies": [
78
+ "error",
79
+ {
80
+ devDependencies: true,
81
+ },
82
+ ],
83
+ "import/no-named-as-default": "off",
84
+ "import/no-unresolved": "warn",
85
+ "import/order": [
86
+ "error",
87
+ {
88
+ alphabetize: {
89
+ caseInsensitive: true,
90
+ order: "asc",
91
+ },
92
+ groups: ["builtin", "external", "parent", "sibling", "index"],
93
+ "newlines-between": "always",
94
+ },
95
+ ],
96
+ indent: "off",
97
+ "jsx-quotes": "off",
98
+ "key-spacing": "off",
99
+ "keyword-spacing": "off",
100
+ "linebreak-style": "off",
101
+ "lines-around-comment": 0,
102
+ "max-len": 0,
103
+ "multiline-ternary": "off",
104
+ "new-parens": "off",
105
+ "newline-per-chained-call": "off",
106
+ "no-alert": "error",
107
+ "no-array-constructor": "error",
108
+ "no-arrow-condition": "off",
109
+ "no-comma-dangle": "off",
110
+ "no-confusing-arrow": 0,
111
+ "no-console": [
112
+ "warn",
113
+ {
114
+ allow: ["error", "warn"],
115
+ },
116
+ ],
117
+
118
+ "no-continue": "error",
119
+ "no-duplicate-imports": [
120
+ "error",
121
+ {
122
+ includeExports: true,
123
+ },
124
+ ],
125
+ "no-eq-null": "error",
126
+ "no-eval": "error",
127
+ "no-extend-native": "error",
128
+ "no-extra-bind": "error",
129
+ "no-extra-label": "error",
130
+ "no-extra-parens": "off",
131
+ "no-extra-semi": "off",
132
+ "no-floating-decimal": "off",
133
+ "no-invalid-this": "error",
134
+ "no-iterator": "error",
135
+ "no-label-var": "error",
136
+ "no-labels": [
137
+ "error",
138
+ {
139
+ allowLoop: false,
140
+ allowSwitch: false,
141
+ },
142
+ ],
143
+ "no-lone-blocks": "error",
144
+ "no-mixed-operators": [
145
+ "error",
146
+ {
147
+ allowSamePrecedence: false,
148
+ groups: [
149
+ ["&", "|", "^", "~", "<<", ">>", ">>>"],
150
+ ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
151
+ ["&&", "||"],
152
+ ["in", "instanceof"],
153
+ ],
154
+ },
155
+ ],
156
+ "no-mixed-spaces-and-tabs": "off",
157
+ "no-multi-spaces": "off",
158
+ "no-multi-str": "error",
159
+ "no-multiple-empty-lines": "off",
160
+ "no-new": "error",
161
+ "no-new-func": "error",
162
+ "no-new-object": "error",
163
+ "no-new-wrappers": "error",
164
+ "no-octal-escape": "error",
165
+ "no-proto": "error",
166
+ "no-reserved-keys": "off",
167
+ "no-space-before-semi": "off",
168
+ "no-tabs": 0,
169
+ "no-template-curly-in-string": "error",
170
+ "no-trailing-spaces": "off",
171
+ "no-undef": "off",
172
+ "no-unexpected-multiline": 0,
173
+ "no-unreachable-loop": "error",
174
+ "no-unused-expressions": [
175
+ "error",
176
+ {
177
+ allowShortCircuit: true,
178
+ allowTernary: true,
179
+ enforceForJSX: true,
180
+ },
181
+ ],
182
+ "no-use-before-define": [
183
+ "error",
184
+ {
185
+ classes: true,
186
+ functions: false,
187
+ },
188
+ ],
189
+ "no-useless-call": "error",
190
+ "no-useless-concat": "error",
191
+ "no-whitespace-before-property": "off",
192
+ "no-wrap-func": "off",
193
+ "nonblock-statement-body-position": "off",
194
+ "object-curly-newline": "off",
195
+ "object-curly-spacing": "off",
196
+ "object-property-newline": "off",
197
+ "one-var": [
198
+ "error",
199
+ {
200
+ initialized: "never",
201
+ },
202
+ ],
203
+ "one-var-declaration-per-line": "off",
204
+ "operator-linebreak": "off",
205
+ "padded-blocks": "off",
206
+ "quote-props": "off",
207
+ quotes: 0,
208
+ "rest-spread-spacing": "off",
209
+ semi: "off",
210
+ "semi-spacing": "off",
211
+ "semi-style": "off",
212
+ "sort-keys-fix/sort-keys-fix": "error",
213
+ "space-after-function-name": "off",
214
+ "space-after-keywords": "off",
215
+ "space-before-blocks": "off",
216
+ "space-before-function-paren": "off",
217
+ "space-before-function-parentheses": "off",
218
+ "space-before-keywords": "off",
219
+ "space-in-brackets": "off",
220
+ "space-in-parens": "off",
221
+ "space-infix-ops": "error",
222
+ "space-return-throw-case": "off",
223
+ "space-unary-ops": [
224
+ "error",
225
+ {
226
+ nonwords: false,
227
+ words: true,
228
+ },
229
+ ],
230
+ "space-unary-word-ops": "off",
231
+ "spaced-comment": [
232
+ "error",
233
+ "always",
234
+ {
235
+ line: {
236
+ exceptions: ["-"],
237
+ },
238
+ },
239
+ ],
240
+ "switch-colon-spacing": "off",
241
+ "template-curly-spacing": ["error", "never"],
242
+ "template-tag-spacing": "off",
243
+ "unicode-bom": "off",
244
+ "vue/html-self-closing": 0,
245
+ "vue/max-len": 0,
246
+ "wrap-iife": "off",
247
+ "wrap-regex": "off",
248
+ "yield-star-spacing": "off",
249
+ yoda: ["error", "never"],
250
+ },
251
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eslint-config-dolmios",
3
3
  "description": " A simple ESLint setup using @typescript-eslint",
4
- "version": "1.3.3",
4
+ "version": "1.3.5",
5
5
  "author": "Jackson Dolman <mail@dolmios.com>",
6
6
  "bugs": {
7
7
  "url": "https://github.com/dolmios/eslint-config-dolmios/issues"
package/tsconfig.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "./configs/tsconfig/index"
3
+ }
package/.gitattributes DELETED
@@ -1,2 +0,0 @@
1
- # Auto detect text files and perform LF normalization
2
- * text=auto
package/LICENSE.md DELETED
@@ -1 +0,0 @@
1
- It's an ESLINT config, go crazy.
@@ -1,251 +0,0 @@
1
- module.exports = {
2
- env: {
3
- browser: true,
4
- es6: true,
5
- node: true,
6
- },
7
- extends: [
8
- "plugin:@typescript-eslint/recommended",
9
- "plugin:import/recommended",
10
- "eslint:recommended",
11
- ],
12
- parser: "@typescript-eslint/parser",
13
- plugins: ["sort-keys-fix", "@typescript-eslint"],
14
- root: true,
15
- rules: {
16
- "@typescript-eslint/brace-style": "off",
17
- "@typescript-eslint/comma-dangle": "off",
18
- "@typescript-eslint/comma-spacing": "off",
19
- "@typescript-eslint/explicit-function-return-type": "error",
20
- "@typescript-eslint/func-call-spacing": "off",
21
- "@typescript-eslint/indent": "off",
22
- "@typescript-eslint/keyword-spacing": "off",
23
- "@typescript-eslint/member-delimiter-style": "off",
24
- "@typescript-eslint/no-explicit-any": "warn",
25
- "@typescript-eslint/no-extra-parens": "off",
26
- "@typescript-eslint/no-extra-semi": "off",
27
- "@typescript-eslint/no-non-null-assertion": "error",
28
- "@typescript-eslint/no-unused-vars": [
29
- "error",
30
- {
31
- args: "none",
32
- ignoreRestSiblings: true,
33
- vars: "all",
34
- },
35
- ],
36
- "@typescript-eslint/no-var-requires": "off",
37
- "@typescript-eslint/object-curly-spacing": "off",
38
- "@typescript-eslint/quotes": 0,
39
- "@typescript-eslint/semi": "off",
40
- "@typescript-eslint/space-before-blocks": "off",
41
- "@typescript-eslint/space-before-function-paren": "off",
42
- "@typescript-eslint/space-infix-ops": "off",
43
- "@typescript-eslint/type-annotation-spacing": "off",
44
- "array-bracket-newline": "off",
45
- "array-bracket-spacing": "off",
46
- "array-element-newline": "off",
47
- "arrow-parens": "off",
48
- "arrow-spacing": "off",
49
- "block-spacing": "off",
50
- "brace-style": "off",
51
- camelcase: [
52
- "error",
53
- {
54
- properties: "never",
55
- },
56
- ],
57
- "comma-dangle": "off",
58
- "comma-spacing": "off",
59
- "comma-style": "off",
60
- "computed-property-spacing": "off",
61
- curly: 0,
62
- "dot-location": "off",
63
- "eol-last": "off",
64
- "func-call-spacing": "off",
65
- "func-names": ["error", "as-needed"],
66
- "function-call-argument-newline": "off",
67
- "function-paren-newline": "off",
68
- "generator-star": "off",
69
- "generator-star-spacing": "off",
70
- "implicit-arrow-linebreak": "off",
71
- "import/export": "error",
72
- "import/first": "warn",
73
- "import/named": "warn",
74
- "import/namespace": "error",
75
- "import/no-deprecated": "error",
76
- "import/no-duplicates": "error",
77
- "import/no-extraneous-dependencies": [
78
- "error",
79
- {
80
- devDependencies: true,
81
- },
82
- ],
83
- "import/no-named-as-default": "off",
84
- "import/no-unresolved": "warn",
85
- "import/order": [
86
- "error",
87
- {
88
- alphabetize: {
89
- caseInsensitive: true,
90
- order: "asc",
91
- },
92
- groups: ["builtin", "external", "parent", "sibling", "index"],
93
- "newlines-between": "always",
94
- },
95
- ],
96
- indent: "off",
97
- "jsx-quotes": "off",
98
- "key-spacing": "off",
99
- "keyword-spacing": "off",
100
- "linebreak-style": "off",
101
- "lines-around-comment": 0,
102
- "max-len": 0,
103
- "multiline-ternary": "off",
104
- "new-parens": "off",
105
- "newline-per-chained-call": "off",
106
- "no-alert": "error",
107
- "no-array-constructor": "error",
108
- "no-arrow-condition": "off",
109
- "no-comma-dangle": "off",
110
- "no-confusing-arrow": 0,
111
- "no-console": [
112
- "warn",
113
- {
114
- allow: ["error", "warn"],
115
- },
116
- ],
117
-
118
- "no-continue": "error",
119
- "no-duplicate-imports": [
120
- "error",
121
- {
122
- includeExports: true,
123
- },
124
- ],
125
- "no-eq-null": "error",
126
- "no-eval": "error",
127
- "no-extend-native": "error",
128
- "no-extra-bind": "error",
129
- "no-extra-label": "error",
130
- "no-extra-parens": "off",
131
- "no-extra-semi": "off",
132
- "no-floating-decimal": "off",
133
- "no-invalid-this": "error",
134
- "no-iterator": "error",
135
- "no-label-var": "error",
136
- "no-labels": [
137
- "error",
138
- {
139
- allowLoop: false,
140
- allowSwitch: false,
141
- },
142
- ],
143
- "no-lone-blocks": "error",
144
- "no-mixed-operators": [
145
- "error",
146
- {
147
- allowSamePrecedence: false,
148
- groups: [
149
- ["&", "|", "^", "~", "<<", ">>", ">>>"],
150
- ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
151
- ["&&", "||"],
152
- ["in", "instanceof"],
153
- ],
154
- },
155
- ],
156
- "no-mixed-spaces-and-tabs": "off",
157
- "no-multi-spaces": "off",
158
- "no-multi-str": "error",
159
- "no-multiple-empty-lines": "off",
160
- "no-new": "error",
161
- "no-new-func": "error",
162
- "no-new-object": "error",
163
- "no-new-wrappers": "error",
164
- "no-octal-escape": "error",
165
- "no-proto": "error",
166
- "no-reserved-keys": "off",
167
- "no-space-before-semi": "off",
168
- "no-tabs": 0,
169
- "no-template-curly-in-string": "error",
170
- "no-trailing-spaces": "off",
171
- "no-undef": "off",
172
- "no-unexpected-multiline": 0,
173
- "no-unreachable-loop": "error",
174
- "no-unused-expressions": [
175
- "error",
176
- {
177
- allowShortCircuit: true,
178
- allowTernary: true,
179
- enforceForJSX: true,
180
- },
181
- ],
182
- "no-use-before-define": [
183
- "error",
184
- {
185
- classes: true,
186
- functions: false,
187
- },
188
- ],
189
- "no-useless-call": "error",
190
- "no-useless-concat": "error",
191
- "no-whitespace-before-property": "off",
192
- "no-wrap-func": "off",
193
- "nonblock-statement-body-position": "off",
194
- "object-curly-newline": "off",
195
- "object-curly-spacing": "off",
196
- "object-property-newline": "off",
197
- "one-var": [
198
- "error",
199
- {
200
- initialized: "never",
201
- },
202
- ],
203
- "one-var-declaration-per-line": "off",
204
- "operator-linebreak": "off",
205
- "padded-blocks": "off",
206
- "quote-props": "off",
207
- quotes: 0,
208
- "rest-spread-spacing": "off",
209
- semi: "off",
210
- "semi-spacing": "off",
211
- "semi-style": "off",
212
- "sort-keys-fix/sort-keys-fix": "error",
213
- "space-after-function-name": "off",
214
- "space-after-keywords": "off",
215
- "space-before-blocks": "off",
216
- "space-before-function-paren": "off",
217
- "space-before-function-parentheses": "off",
218
- "space-before-keywords": "off",
219
- "space-in-brackets": "off",
220
- "space-in-parens": "off",
221
- "space-infix-ops": "error",
222
- "space-return-throw-case": "off",
223
- "space-unary-ops": [
224
- "error",
225
- {
226
- nonwords: false,
227
- words: true,
228
- },
229
- ],
230
- "space-unary-word-ops": "off",
231
- "spaced-comment": [
232
- "error",
233
- "always",
234
- {
235
- line: {
236
- exceptions: ["-"],
237
- },
238
- },
239
- ],
240
- "switch-colon-spacing": "off",
241
- "template-curly-spacing": ["error", "never"],
242
- "template-tag-spacing": "off",
243
- "unicode-bom": "off",
244
- "vue/html-self-closing": 0,
245
- "vue/max-len": 0,
246
- "wrap-iife": "off",
247
- "wrap-regex": "off",
248
- "yield-star-spacing": "off",
249
- yoda: ["error", "never"],
250
- },
251
- };
@@ -1,16 +0,0 @@
1
- module.exports = {
2
- printWidth: 80,
3
- tabWidth: 2,
4
- useTabs: false,
5
- semi: true,
6
- singleQuote: false,
7
- quoteProps: "as-needed",
8
- jsxSingleQuote: false,
9
- trailingComma: "es5",
10
- bracketSpacing: true,
11
- bracketSameLine: false,
12
- arrowParens: "always",
13
- proseWrap: "preserve",
14
- htmlWhitespaceSensitivity: "ignore",
15
- endOfLine: "lf",
16
- };
@@ -1,18 +0,0 @@
1
- // T-3235 - don't use this swc config for now (if swcrc can even be extended?)
2
- module.exports = {
3
- $schema: "https://json.schemastore.org/swcrc",
4
- jsc: {
5
- parser: {
6
- syntax: "typescript",
7
- jsx: true,
8
- tsx: true,
9
- dynamicImport: true,
10
- decorators: true,
11
- },
12
- target: "esnext",
13
- },
14
- minify: false,
15
- module: {
16
- type: "es6",
17
- },
18
- };