Skip to content

Commit 86d01b3

Browse files
authored
Merge pull request #1 from bitswar/develop
Release 1.0.0
2 parents 431ce4b + f83066e commit 86d01b3

36 files changed

+1661
-127
lines changed

.eslintrc.json

Lines changed: 263 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,265 @@
11
{
2-
"root": true,
3-
"parser": "@typescript-eslint/parser",
4-
"parserOptions": {
5-
"ecmaVersion": 6,
6-
"sourceType": "module"
7-
},
8-
"plugins": [
9-
"@typescript-eslint"
10-
],
11-
"rules": {
12-
"@typescript-eslint/naming-convention": "warn",
13-
"@typescript-eslint/semi": "warn",
14-
"curly": "warn",
15-
"eqeqeq": "warn",
16-
"no-throw-literal": "warn",
17-
"semi": "off"
18-
},
19-
"ignorePatterns": [
20-
"out",
21-
"dist",
22-
"**/*.d.ts"
2+
"env": {
3+
"browser": false,
4+
"es2021": true
5+
},
6+
"extends": [
7+
"prettier",
8+
"eslint:recommended",
9+
"plugin:@typescript-eslint/recommended",
10+
"airbnb-typescript/base",
11+
"airbnb-base",
12+
"plugin:sonarjs/recommended",
13+
"plugin:jsdoc/recommended-typescript"
14+
],
15+
"overrides": [
16+
{
17+
"files": [
18+
"**/*.spec.ts",
19+
"**/*.mock.ts"
20+
],
21+
"env": {
22+
"jest": true
23+
},
24+
"rules": {
25+
"import/first": "off",
26+
"max-lines-per-function": "off",
27+
"import/no-extraneous-dependencies": "off",
28+
"@typescript-eslint/no-var-requires": "off",
29+
"@typescript-eslint/no-explicit-any": "off",
30+
"@typescript-eslint/dot-notation": "off",
31+
"sonarjs/no-duplicate-string": "off",
32+
"@typescript-eslint/no-non-null-assertion": "off"
33+
}
34+
}
35+
],
36+
"parser": "@typescript-eslint/parser",
37+
"parserOptions": {
38+
"ecmaVersion": "latest",
39+
"sourceType": "module",
40+
"project": [
41+
"./tsconfig.json"
2342
]
24-
}
43+
},
44+
"plugins": [
45+
"@typescript-eslint",
46+
"sonarjs",
47+
"prettier",
48+
"jsdoc"
49+
],
50+
"rules": {
51+
"quotes": [
52+
"error",
53+
"double"
54+
],
55+
"semi": [
56+
"warn",
57+
"always"
58+
],
59+
"import/extensions": [
60+
"error",
61+
"never"
62+
],
63+
"no-await-in-loop": "error",
64+
"no-constant-binary-expression": "error",
65+
"no-constructor-return": "error",
66+
"no-duplicate-imports": "error",
67+
"no-self-compare": "error",
68+
"no-template-curly-in-string": "error",
69+
"no-unmodified-loop-condition": "warn",
70+
"no-unreachable-loop": "warn",
71+
"no-unused-private-class-members": "warn",
72+
"no-use-before-define": "off",
73+
"@typescript-eslint/no-use-before-define": "off",
74+
"camelcase": "off",
75+
"dot-notation": "off",
76+
"func-style": [
77+
"error",
78+
"declaration"
79+
],
80+
"max-depth": [
81+
"warn",
82+
4
83+
],
84+
"max-lines": [
85+
"warn",
86+
{
87+
"max": 500,
88+
"skipBlankLines": true,
89+
"skipComments": true
90+
}
91+
],
92+
"max-lines-per-function": [
93+
"warn",
94+
{
95+
"max": 40,
96+
"skipBlankLines": true,
97+
"skipComments": true
98+
}
99+
],
100+
"no-confusing-arrow": "warn",
101+
"no-console": "off",
102+
"no-else-return": [
103+
"error",
104+
{
105+
"allowElseIf": true
106+
}
107+
],
108+
"no-lone-blocks": "error",
109+
"no-lonely-if": "error",
110+
"no-magic-numbers": [
111+
"warn",
112+
{
113+
"ignore": [
114+
0,
115+
1
116+
]
117+
}
118+
],
119+
"no-new": "warn",
120+
"no-return-await": "error",
121+
"no-sequences": "error",
122+
"no-unused-expressions": "error",
123+
"no-useless-computed-key": "warn",
124+
"no-useless-concat": "error",
125+
"no-useless-constructor": "off",
126+
"@typescript-eslint/no-useless-constructor": "error",
127+
"no-useless-escape": "error",
128+
"no-useless-call": "error",
129+
"no-useless-rename": "error",
130+
"no-useless-return": "error",
131+
"no-var": "error",
132+
"no-with": "error",
133+
"prefer-arrow-callback": "error",
134+
"prefer-const": "error",
135+
"prefer-destructuring": "warn",
136+
"prefer-template": "error",
137+
"require-await": "error",
138+
"spaced-comment": "error",
139+
"yoda": "error",
140+
"comma-spacing": [
141+
"error",
142+
{
143+
"before": false,
144+
"after": true
145+
}
146+
],
147+
"no-extra-parens": "off",
148+
"no-whitespace-before-property": "error",
149+
"no-trailing-spaces": "error",
150+
"object-curly-spacing": [
151+
"error",
152+
"always"
153+
],
154+
"object-curly-newline": "off",
155+
"padded-blocks": [
156+
"error",
157+
"never"
158+
],
159+
"space-before-blocks": [
160+
"error",
161+
"always"
162+
],
163+
"space-before-function-paren": "off",
164+
"@typescript-eslint/await-thenable": "error",
165+
"@typescript-eslint/naming-convention": [
166+
"error",
167+
{
168+
"selector": "default",
169+
"format": [
170+
"camelCase"
171+
]
172+
},
173+
{
174+
"selector": "variable",
175+
"format": [
176+
"camelCase",
177+
"UPPER_CASE"
178+
]
179+
},
180+
{
181+
"selector": "parameter",
182+
"format": [
183+
"camelCase"
184+
],
185+
"leadingUnderscore": "allow"
186+
},
187+
{
188+
"selector": "memberLike",
189+
"modifiers": [
190+
"private"
191+
],
192+
"format": [
193+
"camelCase"
194+
],
195+
"leadingUnderscore": "allow"
196+
},
197+
{
198+
"selector": "memberLike",
199+
"format": [
200+
"camelCase",
201+
"snake_case"
202+
],
203+
"leadingUnderscore": "allow"
204+
},
205+
{
206+
"selector": "typeLike",
207+
"format": [
208+
"PascalCase"
209+
]
210+
},
211+
{
212+
"selector": "variable",
213+
"modifiers": [
214+
"destructured"
215+
],
216+
"format": null
217+
},
218+
{
219+
"selector": "interface",
220+
"format": [
221+
"PascalCase"
222+
],
223+
"custom": {
224+
"regex": "^I[A-Z]",
225+
"match": false
226+
}
227+
}
228+
],
229+
"@typescript-eslint/quotes": [
230+
"error",
231+
"double"
232+
],
233+
"no-underscore-dangle": "off",
234+
"max-len": [
235+
"error",
236+
{
237+
"code": 80,
238+
"ignorePattern": "(^import .*$|^export .*$)",
239+
"ignoreStrings": true,
240+
"ignoreComments": true,
241+
"ignoreTemplateLiterals": true
242+
}
243+
],
244+
"operator-linebreak": "off",
245+
"indent": "off",
246+
"@typescript-eslint/indent": "off",
247+
"no-empty-function": "off",
248+
"implicit-arrow-linebreak": "off",
249+
"function-paren-newline": "off",
250+
"no-plusplus": [
251+
"error",
252+
{
253+
"allowForLoopAfterthoughts": true
254+
}
255+
],
256+
"import/no-unresolved": "off",
257+
"import/order": "off",
258+
"class-methods-use-this": "off",
259+
"brace-style": "off",
260+
"@typescript-eslint/brace-style": "off",
261+
"jsdoc/require-jsdoc": "off",
262+
"no-unused-vars": "off",
263+
"@typescript-eslint/no-unused-vars": "warn"
264+
}
265+
}

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
node_modules
22
package-lock.json
3-
dist
3+
dist
4+
out
5+
coverage
6+
*.vsix

.prettierrc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"endOfLine": "lf",
3+
"printWidth": 80,
4+
"semi": true,
5+
"singleQuote": false,
6+
"tabWidth": 2,
7+
"trailingComma": "all",
8+
"useTabs": false,
9+
"parser": "typescript"
10+
}

0 commit comments

Comments
 (0)