Skip to content

Commit 561d3fe

Browse files
committed
add eslint rules
1 parent 6668b59 commit 561d3fe

File tree

6 files changed

+461
-11
lines changed

6 files changed

+461
-11
lines changed

config/.eslintrc.json

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es6": true,
5+
"node": true
6+
},
7+
"parser": "@typescript-eslint/parser",
8+
"plugins": [
9+
"@typescript-eslint",
10+
"@typescript-eslint/tslint"
11+
],
12+
"parserOptions": {
13+
"ecmaVersion": 2018,
14+
"sourceType": "module",
15+
"project": "packages/firestore/tsconfig.json"
16+
},
17+
"overrides": [
18+
{
19+
"files": [
20+
"*test.ts",
21+
"**/test/**/*.ts"
22+
],
23+
"rules": {
24+
"no-unused-expressions": "off"
25+
}
26+
}
27+
],
28+
"rules": {
29+
"arrow-body-style": [
30+
"error",
31+
"as-needed",
32+
{
33+
"requireReturnForObjectLiteral": true
34+
}
35+
],
36+
"curly": [
37+
"error",
38+
"multi-line"
39+
],
40+
"guard-for-in": "error",
41+
"no-extra-label": "error",
42+
"no-unused-labels": "error",
43+
"new-parens": "error",
44+
"no-new-wrappers": "error",
45+
"no-debugger": "error",
46+
"no-duplicate-case": "error",
47+
"no-throw-literal": "error",
48+
"no-return-await": "error",
49+
"no-unsafe-finally": "error",
50+
"no-unused-expressions": [
51+
"error",
52+
{
53+
"allowShortCircuit": true
54+
}
55+
],
56+
"no-var": "error",
57+
"object-shorthand": "error",
58+
"prefer-arrow-callback": [
59+
"error",
60+
{
61+
"allowNamedFunctions": true
62+
}
63+
],
64+
"prefer-const": [
65+
"error",
66+
{
67+
"destructuring": "all"
68+
}
69+
],
70+
"radix": "error",
71+
"default-case": "error",
72+
"eqeqeq": [
73+
"error",
74+
"always",
75+
{
76+
"null": "ignore"
77+
}
78+
],
79+
"no-caller": "error",
80+
"no-cond-assign": ["error", "always"],
81+
"use-isnan": "error",
82+
"camelcase": "error",
83+
"id-blacklist": [
84+
"error",
85+
"any",
86+
"number",
87+
"string",
88+
"boolean"
89+
],
90+
"@typescript-eslint/array-type": [
91+
"error",
92+
"array-simple"
93+
],
94+
"@typescript-eslint/ban-types": [
95+
"error",
96+
{
97+
"types": {
98+
"Object": "Use object instead.",
99+
"String": "Use 'string' instead.",
100+
"Number": "Use 'number' instead.",
101+
"Boolean": "Use 'boolean' instead."
102+
}
103+
}
104+
],
105+
"@typescript-eslint/class-name-casing": "error",
106+
"@typescript-eslint/interface-name-prefix": [
107+
"error",
108+
"never"
109+
],
110+
"@typescript-eslint/prefer-interface": "error",
111+
"@typescript-eslint/explicit-member-accessibility": [
112+
"error",
113+
{
114+
"accessibility": "no-public",
115+
"overrides": {
116+
"parameterProperties": "explicit"
117+
}
118+
}
119+
],
120+
"@typescript-eslint/no-angle-bracket-type-assertion": "error",
121+
"@typescript-eslint/no-explicit-any": "error",
122+
"@typescript-eslint/no-namespace": [
123+
"error",
124+
{
125+
"allowDeclarations": true
126+
}
127+
],
128+
"@typescript-eslint/no-triple-slash-reference": "error",
129+
"@typescript-eslint/no-require-imports": "error",
130+
"@typescript-eslint/no-useless-constructor": "error",
131+
"@typescript-eslint/semi": "error",
132+
"@typescript-eslint/explicit-function-return-type": [
133+
"error",
134+
{
135+
"allowExpressions": true
136+
}
137+
],
138+
"@typescript-eslint/no-unused-vars": [
139+
"error",
140+
{
141+
"varsIgnorePattern": "^_*$"
142+
}
143+
],
144+
"@typescript-eslint/tslint/config": [
145+
"error",
146+
{
147+
"rules": {
148+
"ban": [true,
149+
{"name": ["it", "skip"]},
150+
{"name": ["it", "only"]},
151+
{"name": ["describe", "skip"]},
152+
{"name": ["describe", "only"]},
153+
{"name": ["xit"]},
154+
{"name": ["xdescribe"]},
155+
{"name": "parseInt", "message": "tsstyle#type-coercion"},
156+
{"name": "parseFloat", "message": "tsstyle#type-coercion"},
157+
{"name": "Array", "message": "tsstyle#array-constructor"}
158+
],
159+
"jsdoc-format": true,
160+
"no-floating-promises": true
161+
}
162+
}
163+
]
164+
}
165+
}

packages/app/.eslintrc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "../../config/.eslintrc.json",
3+
"parserOptions": {
4+
"project": "tsconfig.json"
5+
}
6+
}

packages/app/package.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
"dist"
1515
],
1616
"scripts": {
17+
"lint": "eslint -c .eslintrc.json '**/*.ts'",
18+
"lint:fix": "eslint --fix -c .eslintrc.json '**/*.ts'",
1719
"build": "rollup -c",
1820
"dev": "rollup -c -w",
1921
"test": "run-p test:browser test:node",
@@ -58,7 +60,11 @@
5860
"ts-loader": "5.4.5",
5961
"ts-node": "8.1.0",
6062
"typescript": "3.4.5",
61-
"webpack": "4.30.0"
63+
"webpack": "4.30.0",
64+
"eslint": "5.16.0",
65+
"@typescript-eslint/parser": "1.9.0",
66+
"@typescript-eslint/eslint-plugin": "1.9.0",
67+
"@typescript-eslint/eslint-plugin-tslint": "1.9.0"
6268
},
6369
"repository": {
6470
"directory": "packages/app",

packages/firestore/.eslintrc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "../../config/.eslintrc.json",
3+
"parserOptions": {
4+
"project": "tsconfig.json"
5+
}
6+
}

packages/firestore/package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"dev": "rollup -c -w",
1010
"lint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts' 'test/**/*.ts'",
1111
"lint:fix": "tslint --fix -p tsconfig.json -c tslint.json 'src/**/*.ts' 'test/**/*.ts'",
12+
"lint:eslint": "eslint -c .eslintrc.json '**/*.ts' --ignore-path '../../.gitignore'",
1213
"prettier": "prettier --write 'src/**/*.js' 'test/**/*.js' 'src/**/*.ts' 'test/**/*.ts'",
1314
"test": "run-s lint test:all",
1415
"test:all": "run-p test:browser test:node",
@@ -76,7 +77,11 @@
7677
"tslint": "5.16.0",
7778
"typescript": "3.4.5",
7879
"webpack": "4.30.0",
79-
"yargs": "13.2.2"
80+
"yargs": "13.2.2",
81+
"eslint": "5.16.0",
82+
"@typescript-eslint/parser": "1.9.0",
83+
"@typescript-eslint/eslint-plugin": "1.9.0",
84+
"@typescript-eslint/eslint-plugin-tslint": "1.9.0"
8085
},
8186
"repository": {
8287
"directory": "packages/firestore",

0 commit comments

Comments
 (0)