Skip to content

Commit 7b7484b

Browse files
authored
Updated to minimal standard eslint config (#2814)
* Updated to minimal standard eslint config * PR fix to remove cp, ts version * Removing other duplicate blob pattern * Updated to get dependencies for eslint in ci
1 parent b703941 commit 7b7484b

File tree

11 files changed

+50
-361
lines changed

11 files changed

+50
-361
lines changed

.editorconfig

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# EditorConfig is awesome: http://EditorConfig.org
22
# File take from the VSCode repo at:
33
# https://github.com/Microsoft/vscode/blob/master/.editorconfig
4+
# Added line length, charset, and final newline.
45

56
# top-most EditorConfig file
67
root = true
@@ -9,7 +10,10 @@ root = true
910
[*]
1011
indent_style = space
1112
indent_size = 4
13+
max_line_length = 120
14+
charset = utf-8
1215
trim_trailing_whitespace = true
16+
insert_final_newline = true
1317

1418
# The indent size used in the `package.json` file cannot be changed
1519
# https://github.com/npm/npm/pull/3180#issuecomment-16336516

.eslintrc.json

+17-281
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
{
2+
"env": {
3+
"es6": true
4+
},
25
"extends": [
6+
"eslint:recommended",
7+
"plugin:security/recommended",
38
"plugin:@typescript-eslint/recommended",
4-
"plugin:@typescript-eslint/eslint-recommended"
9+
"plugin:@typescript-eslint/eslint-recommended",
10+
"prettier",
11+
"plugin:prettier/recommended",
12+
"prettier/@typescript-eslint"
513
],
614
"ignorePatterns": [
715
"libraries/adaptive-expressions/**/generated/**/*",
@@ -11,292 +19,20 @@
1119
"libraries/streaming-e2e-tests/**"
1220
],
1321
"parser": "@typescript-eslint/parser",
14-
"plugins": [
15-
"@typescript-eslint",
16-
"only-warn"
17-
],
18-
"overrides": [
19-
{
20-
"files": ["libraries/adaptive-expressions/src/*.ts", "libraries/adaptive-expressions/src/**/*.ts"],
21-
"plugins": ["jsdoc"],
22-
"rules": {
23-
"jsdoc/require-jsdoc": ["warn", {
24-
"require": {
25-
"FunctionDeclaration": true,
26-
"MethodDefinition": true,
27-
"ClassDeclaration": true,
28-
"ArrowFunctionExpression": false,
29-
"FunctionExpression": false
30-
},
31-
"publicOnly": true
32-
}]
33-
}
34-
},
35-
{
36-
"files": ["libraries/botbuilder/src/*.ts", "libraries/botbuilder/src/**/*.ts"],
37-
"plugins": ["jsdoc"],
38-
"rules": {
39-
"jsdoc/require-jsdoc": ["warn", {
40-
"require": {
41-
"FunctionDeclaration": true,
42-
"MethodDefinition": true,
43-
"ClassDeclaration": true,
44-
"ArrowFunctionExpression": false,
45-
"FunctionExpression": false
46-
},
47-
"publicOnly": true
48-
}]
49-
}
50-
},
51-
{
52-
"files": ["libraries/botbuilder-ai/src/*.ts", "libraries/botbuilder-ai/src/**/*.ts"],
53-
"plugins": ["jsdoc"],
54-
"rules": {
55-
"jsdoc/require-jsdoc": ["warn", {
56-
"require": {
57-
"FunctionDeclaration": true,
58-
"MethodDefinition": true,
59-
"ClassDeclaration": true,
60-
"ArrowFunctionExpression": false,
61-
"FunctionExpression": false
62-
},
63-
"publicOnly": true
64-
}]
65-
}
66-
},
67-
{
68-
"files": ["libraries/botbuilder-applicationinsights/src/*.ts", "libraries/botbuilder-applicationinsights/src/**/*.ts"],
69-
"plugins": ["jsdoc"],
70-
"rules": {
71-
"jsdoc/require-jsdoc": ["warn", {
72-
"require": {
73-
"FunctionDeclaration": true,
74-
"MethodDefinition": true,
75-
"ClassDeclaration": true,
76-
"ArrowFunctionExpression": false,
77-
"FunctionExpression": false
78-
},
79-
"publicOnly": true
80-
}]
81-
}
82-
},
83-
{
84-
"files": ["libraries/botbuilder-azure/src/*.ts", "libraries/botbuilder-azure/src/**/*.ts"],
85-
"plugins": ["jsdoc"],
86-
"rules": {
87-
"jsdoc/require-jsdoc": ["warn", {
88-
"require": {
89-
"FunctionDeclaration": true,
90-
"MethodDefinition": true,
91-
"ClassDeclaration": true,
92-
"ArrowFunctionExpression": false,
93-
"FunctionExpression": false
94-
},
95-
"publicOnly": true
96-
}]
97-
}
98-
},
99-
{
100-
"files": ["libraries/botbuilder-core/src/*.ts", "libraries/botbuilder-core/src/**/*.ts"],
101-
"plugins": ["jsdoc"],
102-
"rules": {
103-
"jsdoc/require-jsdoc": ["warn", {
104-
"require": {
105-
"FunctionDeclaration": true,
106-
"MethodDefinition": true,
107-
"ClassDeclaration": true,
108-
"ArrowFunctionExpression": false,
109-
"FunctionExpression": false
110-
},
111-
"publicOnly": true
112-
}]
113-
}
114-
},
115-
{
116-
"files": ["libraries/botbuilder-dialogs/src/*.ts", "libraries/botbuilder-dialogs/src/**/*.ts"],
117-
"plugins": ["jsdoc"],
118-
"rules": {
119-
"jsdoc/require-jsdoc": ["warn", {
120-
"require": {
121-
"FunctionDeclaration": true,
122-
"MethodDefinition": true,
123-
"ClassDeclaration": true,
124-
"ArrowFunctionExpression": false,
125-
"FunctionExpression": false
126-
},
127-
"publicOnly": true
128-
}]
129-
}
130-
},
131-
{
132-
"files": ["libraries/botbuilder-dialogs-adaptive/src/*.ts", "libraries/botbuilder-dialogs-adaptive/src/**/*.ts"],
133-
"plugins": ["jsdoc"],
134-
"rules": {
135-
"jsdoc/require-jsdoc": ["warn", {
136-
"require": {
137-
"FunctionDeclaration": true,
138-
"MethodDefinition": true,
139-
"ClassDeclaration": true,
140-
"ArrowFunctionExpression": false,
141-
"FunctionExpression": false
142-
},
143-
"publicOnly": true
144-
}]
145-
}
146-
},
147-
{
148-
"files": ["libraries/botbuilder-dialogs-adaptive-tests/src/*.ts", "libraries/botbuilder-dialogs-adaptive-tests/src/**/*.ts"],
149-
"plugins": ["jsdoc"],
150-
"rules": {
151-
"jsdoc/require-jsdoc": ["warn", {
152-
"require": {
153-
"FunctionDeclaration": true,
154-
"MethodDefinition": true,
155-
"ClassDeclaration": true,
156-
"ArrowFunctionExpression": false,
157-
"FunctionExpression": false
158-
},
159-
"publicOnly": true
160-
}]
161-
}
162-
},
163-
{
164-
"files": ["libraries/botbuilder-dialogs-declarative/src/*.ts", "libraries/botbuilder-dialogs-declarative/src/**/*.ts"],
165-
"plugins": ["jsdoc"],
166-
"rules": {
167-
"jsdoc/require-jsdoc": ["warn", {
168-
"require": {
169-
"FunctionDeclaration": true,
170-
"MethodDefinition": true,
171-
"ClassDeclaration": true,
172-
"ArrowFunctionExpression": false,
173-
"FunctionExpression": false
174-
},
175-
"publicOnly": true
176-
}]
177-
}
178-
},
179-
{
180-
"files": ["libraries/botbuilder-lg/src/*.ts", "libraries/botbuilder-lg/src/**/*.ts"],
181-
"plugins": ["jsdoc"],
182-
"rules": {
183-
"jsdoc/require-jsdoc": ["warn", {
184-
"require": {
185-
"FunctionDeclaration": true,
186-
"MethodDefinition": true,
187-
"ClassDeclaration": true,
188-
"ArrowFunctionExpression": false,
189-
"FunctionExpression": false
190-
},
191-
"publicOnly": true
192-
}]
193-
}
194-
},
195-
{
196-
"files": ["libraries/botbuilder-testing/src/*.ts", "libraries/botbuilder-testing/src/**/*.ts"],
197-
"plugins": ["jsdoc"],
198-
"rules": {
199-
"jsdoc/require-jsdoc": ["warn", {
200-
"require": {
201-
"FunctionDeclaration": true,
202-
"MethodDefinition": true,
203-
"ClassDeclaration": true,
204-
"ArrowFunctionExpression": false,
205-
"FunctionExpression": false
206-
},
207-
"publicOnly": true
208-
}]
209-
}
210-
},
211-
{
212-
"files": ["libraries/botframework-config/src/*.ts", "libraries/botframework-config/src/**/*.ts"],
213-
"plugins": ["jsdoc"],
214-
"rules": {
215-
"jsdoc/require-jsdoc": ["warn", {
216-
"require": {
217-
"FunctionDeclaration": true,
218-
"MethodDefinition": true,
219-
"ClassDeclaration": true,
220-
"ArrowFunctionExpression": false,
221-
"FunctionExpression": false
222-
},
223-
"publicOnly": true
224-
}]
225-
}
226-
},
227-
{
228-
"files": ["libraries/botframework-connector/src/*.ts", "libraries/botframework-connector/src/**/*.ts"],
229-
"plugins": ["jsdoc"],
230-
"rules": {
231-
"jsdoc/require-jsdoc": ["warn", {
232-
"require": {
233-
"FunctionDeclaration": true,
234-
"MethodDefinition": true,
235-
"ClassDeclaration": true,
236-
"ArrowFunctionExpression": false,
237-
"FunctionExpression": false
238-
},
239-
"publicOnly": true
240-
}]
241-
}
242-
},
243-
{
244-
"files": ["libraries/botframework-schema/src/*.ts", "libraries/botframework-schema/src/**/*.ts"],
245-
"plugins": ["jsdoc"],
246-
"rules": {
247-
"jsdoc/require-jsdoc": ["warn", {
248-
"require": {
249-
"FunctionDeclaration": true,
250-
"MethodDefinition": true,
251-
"ClassDeclaration": true,
252-
"ArrowFunctionExpression": false,
253-
"FunctionExpression": false
254-
},
255-
"publicOnly": true
256-
}]
257-
}
258-
},
259-
{
260-
"files": ["libraries/botframework-streaming/src/*.ts", "libraries/botframework-streaming/src/**/*.ts"],
261-
"plugins": ["jsdoc"],
262-
"rules": {
263-
"jsdoc/require-jsdoc": ["warn", {
264-
"require": {
265-
"FunctionDeclaration": true,
266-
"MethodDefinition": true,
267-
"ClassDeclaration": true,
268-
"ArrowFunctionExpression": false,
269-
"FunctionExpression": false
270-
},
271-
"publicOnly": true
272-
}]
273-
}
274-
}
275-
],
27622
"parserOptions": {
27723
"ecmaVersion": 9,
27824
"sourceType": "module",
27925
"ecmaFeatures": {
28026
"impliedStrict": true
28127
}
28228
},
29+
"plugins": [
30+
"@typescript-eslint",
31+
"prettier",
32+
"security",
33+
"only-warn"
34+
],
28335
"rules": {
284-
"semi": ["error", "always"],
285-
"no-return-await": 0,
286-
"space-before-function-paren": ["error", {
287-
"named": "never",
288-
"anonymous": "never",
289-
"asyncArrow": "always"
290-
}],
291-
"quotes": ["error", "single", {"allowTemplateLiterals": true}],
292-
"template-curly-spacing": ["error", "always"],
293-
"@typescript-eslint/indent": ["error", 4],
294-
"@typescript-eslint/interface-name-prefix": 0,
295-
"@typescript-eslint/no-explicit-any": 0,
296-
"@typescript-eslint/consistent-type-assertions": ["error", {
297-
"assertionStyle": "as",
298-
"objectLiteralTypeAssertions": "allow-as-parameter"
299-
}],
300-
"@typescript-eslint/no-use-before-define": ["error", { "functions": false, "classes": true }]
36+
"prettier/prettier": "error"
30137
}
302-
}
38+
}

.prettierrc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"parser": "typescript",
3+
"singleQuote": true,
4+
"endOfLine": "auto"
5+
}

build/yaml/js-analysis-steps.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ steps:
55
versionSpec: $(NodeVersion)
66

77
- task: Npm@1
8-
displayName: 'npm install eslint typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-only-warn eslint-plugin-jsdoc'
8+
displayName: 'npm install'
99
inputs:
1010
command: custom
1111
verbose: false
12-
customCommand: 'install eslint@7 [email protected] @typescript-eslint/parser@3 @typescript-eslint/eslint-plugin@3 eslint-plugin-only-warn@1 [email protected]'
12+
customCommand: 'install'
1313

1414
- task: Npm@1
1515
displayName: 'npm run eslint'

libraries/botframework-connector/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,15 @@
4141
"nock": "^11.9.1",
4242
"nyc": "^15.1.0",
4343
"should": "^13.2.3",
44+
"shx": "^0.3.2",
4445
"sponge": "^0.1.0",
4546
"source-map-support": "^0.5.3",
4647
"ts-node": "^4.1.0",
4748
"typescript": "3.5.3"
4849
},
4950
"scripts": {
5051
"build": "tsc",
51-
"postbuild": "cp lib/index.js lib/browser.js | browserify --debug lib/browser.js | exorcist lib/browser.map.js | sponge lib/browser.js",
52+
"postbuild": "shx cp lib/index.js lib/browser.js | browserify --debug lib/browser.js | exorcist lib/browser.map.js | sponge lib/browser.js",
5253
"clean": "erase /q /s .\\lib",
5354
"set-version": "npm version --allow-same-version ${Version}",
5455
"test": "tsc && nyc mocha tests/ --timeout 60000 --inspect"

0 commit comments

Comments
 (0)