Skip to content

Commit 7f040b2

Browse files
authored
Merge pull request #11 from mcoakley/remove-tslint
Remove TSlint and implement ESlint/Prettier
2 parents 3c0f5e1 + a3c7890 commit 7f040b2

17 files changed

+1254
-518
lines changed

.eslintignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.nyc_output
2+
.vscode
3+
dist
4+
node_modules
5+
reports
6+
7+
.eslintrc.js

.eslintrc.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module.exports = {
2+
root: true,
3+
parser: '@typescript-eslint/parser',
4+
plugins: ['@typescript-eslint'],
5+
extends: [
6+
'eslint:recommended',
7+
'plugin:@typescript-eslint/recommended',
8+
'prettier',
9+
'prettier/@typescript-eslint',
10+
],
11+
rules: {
12+
'@typescript-eslint/no-explicit-any': ['error', { ignoreRestArgs: true }],
13+
},
14+
};

.prettierignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.nyc_output
2+
.vscode
3+
dist
4+
node_modules
5+
reports
6+
7+
package-lock.json

.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"semi": true,
3+
"singleQuote": true,
4+
"tabWidth": 2,
5+
"trailingComma": "es5"
6+
}

.travis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
language: node_js
22
node_js:
3-
- lts/*
3+
- lts/*
44
cache:
5-
directories:
6-
- node_modules
5+
directories:
6+
- node_modules
77
after_success: npm run coverage

package-lock.json

Lines changed: 902 additions & 151 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "af-utilities",
3-
"version": "1.2.3",
3+
"version": "1.2.4",
44
"description": "Utility functions used within the af-XXXX Frameworks and Libraries",
55
"main": "dist/lib/index.js",
66
"scripts": {
@@ -51,15 +51,20 @@
5151
"@types/node": "^14.14.22",
5252
"@types/sinon": "^9.0.10",
5353
"@types/uuid": "^8.3.0",
54+
"@typescript-eslint/eslint-plugin": "^4.14.1",
55+
"@typescript-eslint/parser": "^4.14.1",
5456
"chai": "^4.2.0",
5557
"coveralls": "^3.1.0",
58+
"eslint": "^7.18.0",
59+
"eslint-config-prettier": "^7.2.0",
60+
"eslint-plugin-prettier": "^3.3.1",
5661
"mocha": "^8.2.1",
5762
"mochawesome": "^6.1.0",
5863
"nyc": "^15.0.1",
64+
"prettier": "^2.2.1",
5965
"sinon": "^9.0.2",
6066
"source-map-support": "^0.5.18",
6167
"ts-node": "^9.1.1",
62-
"tslint": "^6.1.1",
6368
"typescript": "^4.1.3"
6469
}
6570
}

src/lib/util/logging.ts

Lines changed: 48 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
*
99
* @author Mike Coakley https://github.com/mcoakley
1010
*/
11-
import { isFunction, isObject } from "af-conditionals";
11+
import { isFunction, isObject } from 'af-conditionals';
1212

13-
import { defaultTimers, TaskTimerManager } from "./task-timers";
14-
15-
// tslint:disable:no-console
13+
import { defaultTimers, TaskTimerManager } from './task-timers';
1614

1715
/*
1816
* TODO: Look into ability to use the console grouping mechanisms to
@@ -102,7 +100,7 @@ export class BaseLogger {
102100
* @readonly
103101
* @memberof BaseLogger
104102
*/
105-
public get filteredMessages() {
103+
public get filteredMessages(): number {
106104
return this._filteredMessages;
107105
}
108106

@@ -111,19 +109,19 @@ export class BaseLogger {
111109
*
112110
* @memberof BaseLogger
113111
*/
114-
public get severityLevel() {
112+
public get severityLevel(): LogSeverity {
115113
return this._logSeverity;
116114
}
117115

118-
public set severityLevel(newSeverityLevel) {
116+
public set severityLevel(newSeverityLevel: LogSeverity) {
119117
this._logSeverity = newSeverityLevel;
120118
}
121119

122-
public get messagesLogged() {
120+
public get messagesLogged(): number {
123121
return this._messagesLogged;
124122
}
125123

126-
public get muteLogger() {
124+
public get muteLogger(): boolean {
127125
return this._muteLogger;
128126
}
129127

@@ -138,7 +136,7 @@ export class BaseLogger {
138136
this._muteLogger = false;
139137
}
140138

141-
protected shouldFilterMessage(severity: LogSeverity) {
139+
protected shouldFilterMessage(severity: LogSeverity): boolean {
142140
if (this.muteLogger || severity > this.severityLevel) {
143141
this._filteredMessages++;
144142
return true;
@@ -149,7 +147,7 @@ export class BaseLogger {
149147
}
150148

151149
function _callLogMethod(
152-
logInstance: any,
150+
logInstance: any, // eslint-disable-line @typescript-eslint/no-explicit-any
153151
method: string,
154152
message: string,
155153
...params: any[]
@@ -160,7 +158,7 @@ function _callLogMethod(
160158
// here to ensure we do not pass an empty Array to console. Since we are
161159
// nesting this call we must dereference the params Array to get to the
162160
// actual parameters.
163-
const origParams: any[] = params[0];
161+
const origParams: any[] = params[0]; // eslint-disable-line @typescript-eslint/no-explicit-any
164162

165163
if (origParams.length > 0) {
166164
logInstance[method](message, origParams);
@@ -172,49 +170,49 @@ function _callLogMethod(
172170
class BrowserLogger extends BaseLogger implements LogDriver {
173171
public alert(message: string, ...params: any[]): void {
174172
if (!this.shouldFilterMessage(LogSeverity.Alert)) {
175-
_callLogMethod(console, "log", message, params);
173+
_callLogMethod(console, 'log', message, params);
176174
}
177175
}
178176

179177
public critical(message: string, ...params: any[]): void {
180178
if (!this.shouldFilterMessage(LogSeverity.Critical)) {
181-
_callLogMethod(console, "log", message, params);
179+
_callLogMethod(console, 'log', message, params);
182180
}
183181
}
184182

185183
public debug(message: string, ...params: any[]): void {
186184
if (!this.shouldFilterMessage(LogSeverity.Debug)) {
187-
_callLogMethod(console, "log", message, params);
185+
_callLogMethod(console, 'log', message, params);
188186
}
189187
}
190188

191189
public emergency(message: string, ...params: any[]): void {
192190
if (!this.shouldFilterMessage(LogSeverity.Emergency)) {
193-
_callLogMethod(console, "log", message, params);
191+
_callLogMethod(console, 'log', message, params);
194192
}
195193
}
196194

197195
public error(message: string, ...params: any[]): void {
198196
if (!this.shouldFilterMessage(LogSeverity.Error)) {
199-
_callLogMethod(console, "error", message, params);
197+
_callLogMethod(console, 'error', message, params);
200198
}
201199
}
202200

203201
public info(message: string, ...params: any[]): void {
204202
if (!this.shouldFilterMessage(LogSeverity.Informational)) {
205-
_callLogMethod(console, "info", message, params);
203+
_callLogMethod(console, 'info', message, params);
206204
}
207205
}
208206

209207
public log(message: string, ...params: any[]): void {
210208
if (!this.shouldFilterMessage(LogSeverity.Informational)) {
211-
_callLogMethod(console, "log", message, params);
209+
_callLogMethod(console, 'log', message, params);
212210
}
213211
}
214212

215213
public notice(message: string, ...params: any[]): void {
216214
if (!this.shouldFilterMessage(LogSeverity.Notice)) {
217-
_callLogMethod(console, "log", message, params);
215+
_callLogMethod(console, 'log', message, params);
218216
}
219217
}
220218

@@ -235,9 +233,9 @@ class BrowserLogger extends BaseLogger implements LogDriver {
235233
public warn(message: string, ...params: any[]): void {
236234
if (!this.shouldFilterMessage(LogSeverity.Warning)) {
237235
if (isFunction(console.warn)) {
238-
_callLogMethod(console, "warn", message, params);
236+
_callLogMethod(console, 'warn', message, params);
239237
} else {
240-
_callLogMethod(console, "log", message, params);
238+
_callLogMethod(console, 'log', message, params);
241239
}
242240
}
243241
}
@@ -246,49 +244,49 @@ class BrowserLogger extends BaseLogger implements LogDriver {
246244
class NodeLogger extends BaseLogger implements LogDriver {
247245
public alert(message: string, ...params: any[]): void {
248246
if (!this.shouldFilterMessage(LogSeverity.Alert)) {
249-
_callLogMethod(console, "log", message, params);
247+
_callLogMethod(console, 'log', message, params);
250248
}
251249
}
252250

253251
public critical(message: string, ...params: any[]): void {
254252
if (!this.shouldFilterMessage(LogSeverity.Critical)) {
255-
_callLogMethod(console, "log", message, params);
253+
_callLogMethod(console, 'log', message, params);
256254
}
257255
}
258256

259257
public debug(message: string, ...params: any[]): void {
260258
if (!this.shouldFilterMessage(LogSeverity.Debug)) {
261-
_callLogMethod(console, "debug", message, params);
259+
_callLogMethod(console, 'debug', message, params);
262260
}
263261
}
264262

265263
public emergency(message: string, ...params: any[]): void {
266264
if (!this.shouldFilterMessage(LogSeverity.Emergency)) {
267-
_callLogMethod(console, "log", message, params);
265+
_callLogMethod(console, 'log', message, params);
268266
}
269267
}
270268

271269
public error(message: string, ...params: any[]): void {
272270
if (!this.shouldFilterMessage(LogSeverity.Error)) {
273-
_callLogMethod(console, "error", message, params);
271+
_callLogMethod(console, 'error', message, params);
274272
}
275273
}
276274

277275
public info(message: string, ...params: any[]): void {
278276
if (!this.shouldFilterMessage(LogSeverity.Informational)) {
279-
_callLogMethod(console, "info", message, params);
277+
_callLogMethod(console, 'info', message, params);
280278
}
281279
}
282280

283281
public log(message: string, ...params: any[]): void {
284282
if (!this.shouldFilterMessage(LogSeverity.Informational)) {
285-
_callLogMethod(console, "log", message, params);
283+
_callLogMethod(console, 'log', message, params);
286284
}
287285
}
288286

289287
public notice(message: string, ...params: any[]): void {
290288
if (!this.shouldFilterMessage(LogSeverity.Notice)) {
291-
_callLogMethod(console, "log", message, params);
289+
_callLogMethod(console, 'log', message, params);
292290
}
293291
}
294292

@@ -304,11 +302,16 @@ class NodeLogger extends BaseLogger implements LogDriver {
304302

305303
public warn(message: string, ...params: any[]): void {
306304
if (!this.shouldFilterMessage(LogSeverity.Warning)) {
307-
_callLogMethod(console, "warn", message, params);
305+
_callLogMethod(console, 'warn', message, params);
308306
}
309307
}
310308
}
311309

310+
// If the following class the logger property will always be set to a
311+
// known value through setLogger which is called in the constructor. This means
312+
// we can reliably ignore the ESlint warning about non-null assertions.
313+
314+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
312315
export class Logger implements LogDriver {
313316
protected logger: LogDriver | undefined = undefined;
314317
protected timerMgr: TaskTimerManager;
@@ -357,54 +360,55 @@ export class Logger implements LogDriver {
357360
}
358361

359362
public alert(message: string, ...params: any[]): void {
360-
_callLogMethod(this.logger!, "alert", message, params);
363+
_callLogMethod(this.logger!, 'alert', message, params);
361364
}
362365

363366
public critical(message: string, ...params: any[]): void {
364-
_callLogMethod(this.logger!, "critical", message, params);
367+
_callLogMethod(this.logger!, 'critical', message, params);
365368
}
366369

367370
public debug(message: string, ...params: any[]): void {
368-
_callLogMethod(this.logger!, "debug", message, params);
371+
_callLogMethod(this.logger!, 'debug', message, params);
369372
}
370373

371374
public emergency(message: string, ...params: any[]): void {
372-
_callLogMethod(this.logger!, "emergency", message, params);
375+
_callLogMethod(this.logger!, 'emergency', message, params);
373376
}
374377

375378
public error(message: string, ...params: any[]): void {
376-
_callLogMethod(this.logger!, "error", message, params);
379+
_callLogMethod(this.logger!, 'error', message, params);
377380
}
378381

379382
public info(message: string, ...params: any[]): void {
380-
_callLogMethod(this.logger!, "info", message, params);
383+
_callLogMethod(this.logger!, 'info', message, params);
381384
}
382385

383386
public log(message: string, ...params: any[]): void {
384-
_callLogMethod(this.logger!, "log", message, params);
387+
_callLogMethod(this.logger!, 'log', message, params);
385388
}
386389

387390
public notice(message: string, ...params: any[]): void {
388-
_callLogMethod(this.logger!, "notice", message, params);
391+
_callLogMethod(this.logger!, 'notice', message, params);
389392
}
390393

391-
public reset() {
394+
public reset(): void {
392395
this.logger!.reset();
393396
}
394397

395-
public time(label = "default"): string {
398+
public time(label = 'default'): string {
396399
const description = this.timerMgr.startTimer(label);
397400
return this.logger!.time(description);
398401
}
399402

400-
public timeEnd(label = "default"): number {
403+
public timeEnd(label = 'default'): number {
401404
this.logger!.timeEnd(label);
402405
return this.timerMgr.stopTimer(label);
403406
}
404407

405408
public warn(message: string, ...params: any[]): void {
406-
_callLogMethod(this.logger!, "warn", message, params);
409+
_callLogMethod(this.logger!, 'warn', message, params);
407410
}
408411
}
412+
/* eslint-enable @typescript-eslint/no-non-null-assertion */
409413

410-
export let logger = new Logger();
414+
export let logger = new Logger(); // eslint-disable-line prefer-const

src/lib/util/set-value.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export type NumberString = number | string | bigint;
1515
* @returns {(NumberString | undefined)}
1616
*/
1717
export function setValue(
18+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
1819
newValue: any,
1920
defaultValue?: NumberString
2021
): NumberString | undefined {

0 commit comments

Comments
 (0)