Skip to content

Commit 083b792

Browse files
authored
Merge pull request #11 from L13/develop
Develop
2 parents cbb0498 + 9889586 commit 083b792

31 files changed

+8533
-637
lines changed

.eslintignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.cache/
2+
.vscode/
3+
images/
4+
out/
5+
plugins/
6+
scripts/

.eslintrc.json

Lines changed: 370 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,370 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es6": true,
5+
"node": true
6+
},
7+
"extends": [
8+
"eslint:recommended",
9+
"plugin:@typescript-eslint/recommended",
10+
"plugin:@typescript-eslint/recommended-requiring-type-checking"
11+
],
12+
"parser": "@typescript-eslint/parser",
13+
"parserOptions": {
14+
"project": "tsconfig.json",
15+
"sourceType": "module"
16+
},
17+
"plugins": [
18+
"eslint-plugin-import",
19+
"eslint-plugin-jsdoc",
20+
"eslint-plugin-l13",
21+
"@typescript-eslint"
22+
],
23+
"rules": {
24+
"@typescript-eslint/array-type": [
25+
"error",
26+
{
27+
"default": "array-simple"
28+
}
29+
],
30+
"@typescript-eslint/ban-types": [
31+
"error",
32+
{
33+
"types": {
34+
"Object": {
35+
"message": "Avoid using the `Object` type. Did you mean `object`?"
36+
},
37+
"Function": {
38+
"message": "Avoid using the `Function` type. Prefer a specific function type, like `() => void`."
39+
},
40+
"Boolean": {
41+
"message": "Avoid using the `Boolean` type. Did you mean `boolean`?"
42+
},
43+
"Number": {
44+
"message": "Avoid using the `Number` type. Did you mean `number`?"
45+
},
46+
"String": {
47+
"message": "Avoid using the `String` type. Did you mean `string`?"
48+
},
49+
"Symbol": {
50+
"message": "Avoid using the `Symbol` type. Did you mean `symbol`?"
51+
}
52+
}
53+
}
54+
],
55+
"brace-style": "off",
56+
"@typescript-eslint/brace-style": "error",
57+
"comma-dangle": "off",
58+
"@typescript-eslint/comma-dangle": [
59+
"error",
60+
{
61+
"arrays": "always-multiline",
62+
"enums": "always-multiline",
63+
"exports": "always-multiline",
64+
"functions": "never",
65+
"generics": "always-multiline",
66+
"imports": "always-multiline",
67+
"objects": "always-multiline",
68+
"tuples": "always-multiline"
69+
}
70+
],
71+
"comma-spacing": "off",
72+
"@typescript-eslint/comma-spacing": "error",
73+
"@typescript-eslint/consistent-type-assertions": [
74+
"error",
75+
{
76+
"assertionStyle": "angle-bracket"
77+
}
78+
],
79+
"@typescript-eslint/consistent-type-definitions": "off",
80+
"default-param-last": "off",
81+
"@typescript-eslint/default-param-last": "error",
82+
"dot-notation": "off",
83+
"@typescript-eslint/dot-notation": "error",
84+
"@typescript-eslint/explicit-module-boundary-types": "off",
85+
"func-call-spacing": "off",
86+
"@typescript-eslint/func-call-spacing": "error",
87+
"indent": "off",
88+
"@typescript-eslint/indent": [
89+
"error",
90+
"tab",
91+
{
92+
"ignoreComments": true,
93+
"ArrayExpression": 1,
94+
"FunctionDeclaration": {
95+
"body": 1
96+
},
97+
"MemberExpression": 1,
98+
"ObjectExpression": 1,
99+
"SwitchCase": 1
100+
}
101+
],
102+
"keyword-spacing": "off",
103+
"@typescript-eslint/keyword-spacing": "error",
104+
"lines-between-class-members": "off",
105+
"@typescript-eslint/lines-between-class-members": [
106+
"error",
107+
"always",
108+
{
109+
"exceptAfterSingleLine": true
110+
}
111+
],
112+
"@typescript-eslint/member-ordering": "off",
113+
"camelcase": "off",
114+
"@typescript-eslint/naming-convention": [
115+
"error",
116+
{
117+
"selector": "default",
118+
"format": [
119+
"camelCase",
120+
"PascalCase",
121+
"UPPER_CASE"
122+
],
123+
"leadingUnderscore": "allow",
124+
"trailingUnderscore": "forbid"
125+
}
126+
],
127+
"@typescript-eslint/no-dupe-class-members": "error",
128+
"no-duplicate-imports": "off",
129+
"@typescript-eslint/no-duplicate-imports": "error",
130+
"@typescript-eslint/no-explicit-any": "off",
131+
"no-extra-parens": "off",
132+
"@typescript-eslint/no-extra-parens": [
133+
"error",
134+
"all",
135+
{
136+
"conditionalAssign": false
137+
}
138+
],
139+
"@typescript-eslint/no-floating-promises": "off",
140+
"no-invalid-this": "off",
141+
"@typescript-eslint/no-invalid-this": "error",
142+
"no-loop-func": "off",
143+
"@typescript-eslint/no-loop-func": "error",
144+
"no-loss-of-precision": "off",
145+
"@typescript-eslint/no-loss-of-precision": "error",
146+
"@typescript-eslint/no-misused-promises": "off",
147+
"@typescript-eslint/no-parameter-properties": "off",
148+
"@typescript-eslint/no-redeclare": "error",
149+
"@typescript-eslint/no-require-imports": "error",
150+
"no-shadow": "off",
151+
"@typescript-eslint/no-shadow": [
152+
"error",
153+
{
154+
"hoist": "all"
155+
}
156+
],
157+
"no-throw-literal": "off",
158+
"@typescript-eslint/no-throw-literal": "error",
159+
"@typescript-eslint/no-unsafe-assignment": "off",
160+
"@typescript-eslint/no-unsafe-member-access": "off",
161+
"@typescript-eslint/no-unsafe-return": "off",
162+
"no-unused-expressions": "off",
163+
"@typescript-eslint/no-unused-expressions": "error",
164+
"no-useless-constructor": "off",
165+
"@typescript-eslint/no-useless-constructor": "error",
166+
"object-curly-spacing": "off",
167+
"@typescript-eslint/object-curly-spacing": [
168+
"error",
169+
"always"
170+
],
171+
"@typescript-eslint/prefer-for-of": "error",
172+
"@typescript-eslint/prefer-function-type": "error",
173+
"@typescript-eslint/prefer-literal-enum-member": "error",
174+
"quotes": "off",
175+
"@typescript-eslint/quotes": [
176+
"error",
177+
"single"
178+
],
179+
"@typescript-eslint/restrict-template-expressions": "off",
180+
"space-infix-ops": "off",
181+
"@typescript-eslint/space-infix-ops": [
182+
"error",
183+
{
184+
"int32Hint": false
185+
}
186+
],
187+
"semi": "off",
188+
"@typescript-eslint/semi": "error",
189+
"space-before-function-paren": "off",
190+
"@typescript-eslint/space-before-function-paren": "error",
191+
"@typescript-eslint/type-annotation-spacing": "error",
192+
"@typescript-eslint/triple-slash-reference": [
193+
"error",
194+
{
195+
"path": "never",
196+
"types": "never",
197+
"lib": "never"
198+
}
199+
],
200+
"@typescript-eslint/unified-signatures": "error",
201+
"import/first": "error",
202+
"import/newline-after-import": "error",
203+
"import/no-dynamic-require": "error",
204+
"import/order": "error",
205+
"jsdoc/check-alignment": "error",
206+
"jsdoc/check-indentation": "error",
207+
"jsdoc/newline-after-description": "error",
208+
"l13/padded-blocks-extended": [
209+
"error",
210+
{
211+
"blocks": "never",
212+
"classes": "always",
213+
"functions": "always",
214+
"switches": "never"
215+
}
216+
],
217+
"array-bracket-spacing": "error",
218+
"array-callback-return": "error",
219+
"arrow-parens": "error",
220+
"arrow-spacing": "error",
221+
"block-spacing": "error",
222+
"complexity": "off",
223+
"comma-style": "error",
224+
"curly": [
225+
"error",
226+
"multi-line"
227+
],
228+
"default-case-last": "error",
229+
"dot-location": [
230+
"error",
231+
"property"
232+
],
233+
"eol-last": [
234+
"off",
235+
"never"
236+
],
237+
"eqeqeq": [
238+
"error",
239+
"smart"
240+
],
241+
"func-style": [
242+
"error",
243+
"declaration"
244+
],
245+
"function-paren-newline": [
246+
"error",
247+
"never"
248+
],
249+
"grouped-accessor-pairs": [
250+
"error",
251+
"getBeforeSet"
252+
],
253+
"guard-for-in": "off",
254+
"id-denylist": [
255+
"error",
256+
"any",
257+
"boolean",
258+
"number",
259+
"string",
260+
"Undefined"
261+
],
262+
"id-match": "error",
263+
"implicit-arrow-linebreak": "error",
264+
"key-spacing": "error",
265+
"linebreak-style": [
266+
"error",
267+
"unix"
268+
],
269+
"max-classes-per-file": "error",
270+
"max-len": [
271+
"warn",
272+
{
273+
"code": 160
274+
}
275+
],
276+
"multiline-ternary": [
277+
"error",
278+
"never"
279+
],
280+
"new-parens": "error",
281+
"no-bitwise": "error",
282+
"no-caller": "error",
283+
"no-console": "warn",
284+
"no-else-return": "error",
285+
"no-eval": "error",
286+
"no-label-var": "error",
287+
"no-lonely-if": "error",
288+
"no-multiple-empty-lines": [
289+
"error",
290+
{
291+
"max": 3,
292+
"maxBOF": 0,
293+
"maxEOF": 1
294+
}
295+
],
296+
"no-multi-spaces": "error",
297+
"no-multi-str": "error",
298+
"no-new": "error",
299+
"no-new-wrappers": "error",
300+
"no-new-func": "error",
301+
"no-nonoctal-decimal-escape": "error",
302+
"no-octal-escape": "error",
303+
"no-proto": "error",
304+
"no-restricted-syntax": [
305+
"error",
306+
"WithStatement"
307+
],
308+
"no-script-url": "error",
309+
"no-self-compare": "error",
310+
"no-sequences": "error",
311+
"no-template-curly-in-string": "error",
312+
"no-trailing-spaces": [
313+
"error",
314+
{
315+
"skipBlankLines": true
316+
}
317+
],
318+
"no-undef-init": "error",
319+
"no-underscore-dangle": "off",
320+
"no-unneeded-ternary": "error",
321+
"no-unreachable-loop": "error",
322+
"no-useless-concat": "error",
323+
"no-useless-rename": "error",
324+
"no-whitespace-before-property": "error",
325+
"nonblock-statement-body-position": "error",
326+
"object-shorthand": "error",
327+
"one-var": [
328+
"error",
329+
"never"
330+
],
331+
"operator-assignment": "error",
332+
"operator-linebreak": [
333+
"error",
334+
"before"
335+
],
336+
"padded-blocks": [
337+
"error",
338+
{
339+
"classes": "always",
340+
"switches": "never"
341+
}
342+
],
343+
"prefer-regex-literals": "error",
344+
"prefer-template": "error",
345+
"radix": "error",
346+
"rest-spread-spacing": "error",
347+
"semi-spacing": "error",
348+
"semi-style": "error",
349+
"space-before-blocks": "error",
350+
"space-in-parens": "error",
351+
"space-unary-ops": "error",
352+
"symbol-description": "error",
353+
"template-curly-spacing": "error",
354+
"template-tag-spacing": "error",
355+
"valid-typeof": [
356+
"error",
357+
{
358+
"requireStringLiterals": false
359+
}
360+
],
361+
"yield-star-spacing": "error",
362+
"yoda": [
363+
"error",
364+
"never",
365+
{
366+
"exceptRange": true
367+
}
368+
]
369+
}
370+
}

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
out
12
node_modules
2-
*.vsix
3+
*.vsix

.vscode/extensions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
3+
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
4+
5+
// List of extensions which should be recommended for users of this workspace.
6+
"recommendations": [
7+
"dbaeumer.vscode-eslint"
8+
]
9+
}

0 commit comments

Comments
 (0)