Skip to content

Commit abf482a

Browse files
author
Logan Bussell
committed
initial commit
1 parent bf50273 commit abf482a

9 files changed

+2104
-1
lines changed

.eslintrc.json

+264
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es6": true,
5+
"node": true
6+
},
7+
"parser": "@typescript-eslint/parser",
8+
"parserOptions": {
9+
"project": "tsconfig.json",
10+
"sourceType": "module"
11+
},
12+
"plugins": [
13+
"@typescript-eslint",
14+
"eslint-plugin-import",
15+
"eslint-plugin-jsdoc",
16+
"eslint-plugin-prefer-arrow"
17+
],
18+
"rules": {
19+
"@typescript-eslint/array-type": [
20+
"error",
21+
{
22+
"default": "array"
23+
}
24+
],
25+
"@typescript-eslint/ban-types": [
26+
"error",
27+
{
28+
"types": {
29+
"Object": {
30+
"message": "Use `object` instead."
31+
},
32+
"Function": {
33+
"message": "Use specific function type, like `() => void` instead."
34+
},
35+
"Boolean": {
36+
"message": "Use `boolean` instead."
37+
},
38+
"Number": {
39+
"message": "Use `number` instead."
40+
},
41+
"String": {
42+
"message": "Use `string` instead."
43+
},
44+
"Symbol": {
45+
"message": "Use `symbol` instead."
46+
}
47+
}
48+
}
49+
],
50+
"@typescript-eslint/consistent-type-assertions": "error",
51+
"@typescript-eslint/consistent-type-definitions": "error",
52+
"@typescript-eslint/dot-notation": "error",
53+
"@typescript-eslint/explicit-member-accessibility": [
54+
"error",
55+
{
56+
"accessibility": "explicit"
57+
}
58+
],
59+
"@typescript-eslint/indent": [
60+
"error",
61+
4,
62+
{
63+
"ArrayExpression": "first",
64+
"ObjectExpression": "first",
65+
"FunctionDeclaration": {
66+
"parameters": "first"
67+
},
68+
"FunctionExpression": {
69+
"parameters": "first"
70+
},
71+
"SwitchCase": 1
72+
}
73+
],
74+
"@typescript-eslint/member-delimiter-style": [
75+
"error",
76+
{
77+
"multiline": {
78+
"delimiter": "semi",
79+
"requireLast": true
80+
},
81+
"singleline": {
82+
"delimiter": "comma",
83+
"requireLast": false
84+
}
85+
}
86+
],
87+
"@typescript-eslint/member-ordering": "error",
88+
"@typescript-eslint/naming-convention": [
89+
"error",
90+
{
91+
"selector": "default",
92+
"format": [
93+
"camelCase"
94+
]
95+
},
96+
{
97+
"selector": "variable",
98+
"format": [
99+
"camelCase",
100+
"PascalCase"
101+
]
102+
},
103+
{
104+
"selector": "parameter",
105+
"format": [
106+
"camelCase"
107+
],
108+
"leadingUnderscore": "allow"
109+
},
110+
{ // Private members should be prefixed with an underscore
111+
"selector": "memberLike",
112+
"modifiers": [
113+
"private"
114+
],
115+
"format": [
116+
"camelCase"
117+
],
118+
"leadingUnderscore": "require"
119+
},
120+
{
121+
"selector": "method",
122+
"format": [
123+
"camelCase"
124+
],
125+
"leadingUnderscore": "forbid"
126+
},
127+
{ // Types should be capitalized
128+
"selector": "typeLike",
129+
"format": [
130+
"PascalCase"
131+
]
132+
}
133+
],
134+
"@typescript-eslint/no-empty-function": "error",
135+
"@typescript-eslint/no-empty-interface": "off",
136+
"@typescript-eslint/no-explicit-any": "off",
137+
"@typescript-eslint/no-inferrable-types": "error",
138+
"@typescript-eslint/no-misused-new": "error",
139+
"@typescript-eslint/no-namespace": "error",
140+
"@typescript-eslint/no-parameter-properties": "off",
141+
"@typescript-eslint/no-require-imports": "off",
142+
"@typescript-eslint/no-this-alias": "error",
143+
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
144+
"@typescript-eslint/no-var-requires": "error",
145+
"@typescript-eslint/prefer-for-of": "error",
146+
"@typescript-eslint/prefer-function-type": "error",
147+
"@typescript-eslint/prefer-namespace-keyword": "error",
148+
"@typescript-eslint/quotes": [
149+
"error",
150+
"backtick"
151+
],
152+
"@typescript-eslint/require-await": "error",
153+
"@typescript-eslint/semi": [
154+
"error"
155+
],
156+
"@typescript-eslint/strict-boolean-expressions": "error",
157+
"@typescript-eslint/triple-slash-reference": [
158+
"error",
159+
{
160+
"path": "always",
161+
"types": "prefer-import",
162+
"lib": "always"
163+
}
164+
],
165+
"@typescript-eslint/type-annotation-spacing": "error",
166+
"@typescript-eslint/unified-signatures": "error",
167+
"arrow-body-style": "error",
168+
"arrow-parens": [
169+
"off",
170+
"always"
171+
],
172+
"brace-style": [
173+
"error",
174+
"stroustrup"
175+
],
176+
"camelcase": "error",
177+
"comma-dangle": "error",
178+
"complexity": "off",
179+
"constructor-super": "error",
180+
"curly": "error",
181+
"default-case": "error",
182+
"eol-last": "off",
183+
"eqeqeq": [
184+
"error",
185+
"smart"
186+
],
187+
"guard-for-in": "error",
188+
"id-blacklist": [
189+
"error",
190+
"any",
191+
"Number",
192+
"number",
193+
"String",
194+
"string",
195+
"Boolean",
196+
"boolean",
197+
"Undefined",
198+
"undefined"
199+
],
200+
"id-match": "error",
201+
"import/order": "error",
202+
"jsdoc/check-alignment": "error",
203+
"jsdoc/check-indentation": "error",
204+
"max-len": [
205+
"off",
206+
{
207+
"code": 140
208+
}
209+
],
210+
"new-parens": "error",
211+
"no-bitwise": "error",
212+
"no-caller": "error",
213+
"no-cond-assign": "error",
214+
"no-console": "error",
215+
"no-debugger": "error",
216+
"no-empty": "error",
217+
"no-fallthrough": "error",
218+
"no-invalid-this": "error",
219+
"no-multiple-empty-lines": "error",
220+
"no-new-wrappers": "error",
221+
"no-redeclare": "error",
222+
"no-return-await": "error",
223+
"no-shadow": [
224+
"off",
225+
{
226+
"hoist": "all"
227+
}
228+
],
229+
"no-sparse-arrays": "error",
230+
"no-throw-literal": "error",
231+
"no-trailing-spaces": "error",
232+
"no-undef-init": "off",
233+
"no-unsafe-finally": "error",
234+
"no-unused-labels": "error",
235+
"no-var": "error",
236+
"object-shorthand": "off",
237+
"one-var": [
238+
"error",
239+
"never"
240+
],
241+
"prefer-arrow/prefer-arrow-functions": "error",
242+
"prefer-const": "error",
243+
"prefer-object-spread": "error",
244+
"quote-props": [
245+
"error",
246+
"consistent-as-needed"
247+
],
248+
"radix": "error",
249+
"space-before-function-paren": [
250+
"error",
251+
{
252+
"anonymous": "never",
253+
"asyncArrow": "always",
254+
"named": "never"
255+
}
256+
],
257+
"space-in-parens": [
258+
"error",
259+
"never"
260+
],
261+
"space-infix-ops": "error",
262+
"use-isnan": "error"
263+
}
264+
}

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Project specific
2+
out
3+
14
# Logs
25
logs
36
*.log

0 commit comments

Comments
 (0)