Skip to content

Commit c0e6ae1

Browse files
authored
Enabling additional ESLint checks (#794)
1 parent 2b952d4 commit c0e6ae1

40 files changed

+290
-294
lines changed

.eslintrc.js

-8
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,11 @@ module.exports = {
3232
"@typescript-eslint/no-use-before-define": 0,
3333
"@typescript-eslint/explicit-function-return-type": 0,
3434
"@typescript-eslint/camelcase": 0,
35-
"@typescript-eslint/no-inferrable-types": 0,
3635
"@typescript-eslint/no-non-null-assertion": 0,
37-
"@typescript-eslint/no-inferrable-types": 0,
3836
"@typescript-eslint/no-var-requires": 0,
39-
"@typescript-eslint/no-unused-vars": 0,
40-
"@typescript-eslint/member-delimiter-style": 0,
41-
"@typescript-eslint/no-empty-interface": 0,
42-
"@typescript-eslint/no-array-constructor": 0,
4337
"@typescript-eslint/ban-types": 0,
44-
"no-case-declarations": 0,
4538
"no-useless-escape": 0,
4639
"no-prototype-builtins": 0,
47-
"no-var": 0,
4840

4941
// Required checks
5042
"indent": ["error", 2]

src/auth/auth-api-request.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ function validateProviderUserInfo(request: any) {
247247
* @param {any} request The create/edit request object.
248248
* @param {boolean=} uploadAccountRequest Whether to validate as an uploadAccount request.
249249
*/
250-
function validateCreateEditRequest(request: any, uploadAccountRequest: boolean = false) {
250+
function validateCreateEditRequest(request: any, uploadAccountRequest = false) {
251251
// Hash set of whitelisted parameters.
252252
const validKeys = {
253253
displayName: true,
@@ -826,7 +826,7 @@ export abstract class AbstractAuthRequestHandler {
826826
*/
827827
public downloadAccount(
828828
maxResults: number = MAX_DOWNLOAD_ACCOUNT_PAGE_SIZE,
829-
pageToken?: string): Promise<{users: object[], nextPageToken?: string}> {
829+
pageToken?: string): Promise<{users: object[]; nextPageToken?: string}> {
830830
// Construct request.
831831
const request = {
832832
maxResults,
@@ -842,7 +842,7 @@ export abstract class AbstractAuthRequestHandler {
842842
if (!response.users) {
843843
response.users = [];
844844
}
845-
return response as {users: object[], nextPageToken?: string};
845+
return response as {users: object[]; nextPageToken?: string};
846846
});
847847
}
848848

@@ -885,7 +885,7 @@ export abstract class AbstractAuthRequestHandler {
885885
return this.invokeRequestHandler(this.getAuthUrlBuilder(), FIREBASE_AUTH_UPLOAD_ACCOUNT, request)
886886
.then((response: any) => {
887887
// No error object is returned if no error encountered.
888-
const failedUploads = (response.error || []) as Array<{index: number, message: string}>;
888+
const failedUploads = (response.error || []) as Array<{index: number; message: string}>;
889889
// Rewrite response as UserImportResult and re-insert client previously detected errors.
890890
return userImportBuilder.buildResponse(failedUploads);
891891
});
@@ -1155,7 +1155,7 @@ export abstract class AbstractAuthRequestHandler {
11551155
public listOAuthIdpConfigs(
11561156
maxResults: number = MAX_LIST_PROVIDER_CONFIGURATION_PAGE_SIZE,
11571157
pageToken?: string): Promise<object> {
1158-
const request: {pageSize: number, pageToken?: string} = {
1158+
const request: {pageSize: number; pageToken?: string} = {
11591159
pageSize: maxResults,
11601160
};
11611161
// Add next page token if provided.
@@ -1168,7 +1168,7 @@ export abstract class AbstractAuthRequestHandler {
11681168
response.oauthIdpConfigs = [];
11691169
delete response.nextPageToken;
11701170
}
1171-
return response as {oauthIdpConfigs: object[], nextPageToken?: string};
1171+
return response as {oauthIdpConfigs: object[]; nextPageToken?: string};
11721172
});
11731173
}
11741174

@@ -1183,7 +1183,7 @@ export abstract class AbstractAuthRequestHandler {
11831183
return Promise.reject(new FirebaseAuthError(AuthClientErrorCode.INVALID_PROVIDER_ID));
11841184
}
11851185
return this.invokeRequestHandler(this.getProjectConfigUrlBuilder(), DELETE_OAUTH_IDP_CONFIG, {}, {providerId})
1186-
.then((response: any) => {
1186+
.then(() => {
11871187
// Return nothing.
11881188
});
11891189
}
@@ -1277,7 +1277,7 @@ export abstract class AbstractAuthRequestHandler {
12771277
public listInboundSamlConfigs(
12781278
maxResults: number = MAX_LIST_PROVIDER_CONFIGURATION_PAGE_SIZE,
12791279
pageToken?: string): Promise<object> {
1280-
const request: {pageSize: number, pageToken?: string} = {
1280+
const request: {pageSize: number; pageToken?: string} = {
12811281
pageSize: maxResults,
12821282
};
12831283
// Add next page token if provided.
@@ -1290,7 +1290,7 @@ export abstract class AbstractAuthRequestHandler {
12901290
response.inboundSamlConfigs = [];
12911291
delete response.nextPageToken;
12921292
}
1293-
return response as {inboundSamlConfigs: object[], nextPageToken?: string};
1293+
return response as {inboundSamlConfigs: object[]; nextPageToken?: string};
12941294
});
12951295
}
12961296

@@ -1305,7 +1305,7 @@ export abstract class AbstractAuthRequestHandler {
13051305
return Promise.reject(new FirebaseAuthError(AuthClientErrorCode.INVALID_PROVIDER_ID));
13061306
}
13071307
return this.invokeRequestHandler(this.getProjectConfigUrlBuilder(), DELETE_INBOUND_SAML_CONFIG, {}, {providerId})
1308-
.then((response: any) => {
1308+
.then(() => {
13091309
// Return nothing.
13101310
});
13111311
}
@@ -1586,7 +1586,7 @@ export class AuthRequestHandler extends AbstractAuthRequestHandler {
15861586
*/
15871587
public listTenants(
15881588
maxResults: number = MAX_LIST_TENANT_PAGE_SIZE,
1589-
pageToken?: string): Promise<{tenants: TenantServerResponse[], nextPageToken?: string}> {
1589+
pageToken?: string): Promise<{tenants: TenantServerResponse[]; nextPageToken?: string}> {
15901590
const request = {
15911591
pageSize: maxResults,
15921592
pageToken,
@@ -1601,7 +1601,7 @@ export class AuthRequestHandler extends AbstractAuthRequestHandler {
16011601
response.tenants = [];
16021602
delete response.nextPageToken;
16031603
}
1604-
return response as {tenants: TenantServerResponse[], nextPageToken?: string};
1604+
return response as {tenants: TenantServerResponse[]; nextPageToken?: string};
16051605
});
16061606
}
16071607

@@ -1616,7 +1616,7 @@ export class AuthRequestHandler extends AbstractAuthRequestHandler {
16161616
return Promise.reject(new FirebaseAuthError(AuthClientErrorCode.INVALID_TENANT_ID));
16171617
}
16181618
return this.invokeRequestHandler(this.tenantMgmtResourceBuilder, DELETE_TENANT, {}, {tenantId})
1619-
.then((response: any) => {
1619+
.then(() => {
16201620
// Return nothing.
16211621
});
16221622
}

src/auth/auth-config.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ export class SAMLConfig implements SAMLAuthProviderConfig {
285285
*/
286286
public static buildServerRequest(
287287
options: SAMLAuthProviderRequest,
288-
ignoreMissingFields: boolean = false): SAMLConfigServerRequest | null {
288+
ignoreMissingFields = false): SAMLConfigServerRequest | null {
289289
const makeRequest = validator.isNonNullObject(options) &&
290290
(options.providerId || ignoreMissingFields);
291291
if (!makeRequest) {
@@ -349,7 +349,7 @@ export class SAMLConfig implements SAMLAuthProviderConfig {
349349
* @param {SAMLAuthProviderRequest} options The options object to validate.
350350
* @param {boolean=} ignoreMissingFields Whether to ignore missing fields.
351351
*/
352-
public static validate(options: SAMLAuthProviderRequest, ignoreMissingFields: boolean = false) {
352+
public static validate(options: SAMLAuthProviderRequest, ignoreMissingFields = false) {
353353
const validKeys = {
354354
enabled: true,
355355
displayName: true,
@@ -545,7 +545,7 @@ export class OIDCConfig implements OIDCAuthProviderConfig {
545545
*/
546546
public static buildServerRequest(
547547
options: OIDCAuthProviderRequest,
548-
ignoreMissingFields: boolean = false): OIDCConfigServerRequest | null {
548+
ignoreMissingFields = false): OIDCConfigServerRequest | null {
549549
const makeRequest = validator.isNonNullObject(options) &&
550550
(options.providerId || ignoreMissingFields);
551551
if (!makeRequest) {
@@ -590,7 +590,7 @@ export class OIDCConfig implements OIDCAuthProviderConfig {
590590
* @param {OIDCAuthProviderRequest} options The options object to validate.
591591
* @param {boolean=} ignoreMissingFields Whether to ignore missing fields.
592592
*/
593-
public static validate(options: OIDCAuthProviderRequest, ignoreMissingFields: boolean = false) {
593+
public static validate(options: OIDCAuthProviderRequest, ignoreMissingFields = false) {
594594
const validKeys = {
595595
enabled: true,
596596
displayName: true,

src/auth/auth.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export class BaseAuth<T extends AbstractAuthRequestHandler> {
142142
* @return {Promise<DecodedIdToken>} A Promise that will be fulfilled after a successful
143143
* verification.
144144
*/
145-
public verifyIdToken(idToken: string, checkRevoked: boolean = false): Promise<DecodedIdToken> {
145+
public verifyIdToken(idToken: string, checkRevoked = false): Promise<DecodedIdToken> {
146146
return this.idTokenVerifier.verifyJWT(idToken)
147147
.then((decodedIdToken: DecodedIdToken) => {
148148
// Whether to check if the token was revoked.
@@ -266,7 +266,7 @@ export class BaseAuth<T extends AbstractAuthRequestHandler> {
266266
*/
267267
public deleteUser(uid: string): Promise<void> {
268268
return this.authRequestHandler.deleteAccount(uid)
269-
.then((response) => {
269+
.then(() => {
270270
// Return nothing on success.
271271
});
272272
}
@@ -296,7 +296,7 @@ export class BaseAuth<T extends AbstractAuthRequestHandler> {
296296
*/
297297
public setCustomUserClaims(uid: string, customUserClaims: object): Promise<void> {
298298
return this.authRequestHandler.setCustomUserClaims(uid, customUserClaims)
299-
.then((existingUid) => {
299+
.then(() => {
300300
// Return nothing on success.
301301
});
302302
}
@@ -313,7 +313,7 @@ export class BaseAuth<T extends AbstractAuthRequestHandler> {
313313
*/
314314
public revokeRefreshTokens(uid: string): Promise<void> {
315315
return this.authRequestHandler.revokeRefreshTokens(uid)
316-
.then((existingUid) => {
316+
.then(() => {
317317
// Return nothing on success.
318318
});
319319
}
@@ -371,7 +371,7 @@ export class BaseAuth<T extends AbstractAuthRequestHandler> {
371371
* verification.
372372
*/
373373
public verifySessionCookie(
374-
sessionCookie: string, checkRevoked: boolean = false): Promise<DecodedIdToken> {
374+
sessionCookie: string, checkRevoked = false): Promise<DecodedIdToken> {
375375
return this.sessionCookieVerifier.verifyJWT(sessionCookie)
376376
.then((decodedIdToken: DecodedIdToken) => {
377377
// Whether to check if the token was revoked.
@@ -639,7 +639,7 @@ export class TenantAwareAuth extends BaseAuth<TenantAwareAuthRequestHandler> {
639639
* @return {Promise<DecodedIdToken>} A Promise that will be fulfilled after a successful
640640
* verification.
641641
*/
642-
public verifyIdToken(idToken: string, checkRevoked: boolean = false): Promise<DecodedIdToken> {
642+
public verifyIdToken(idToken: string, checkRevoked = false): Promise<DecodedIdToken> {
643643
return super.verifyIdToken(idToken, checkRevoked)
644644
.then((decodedClaims) => {
645645
// Validate tenant ID.
@@ -673,7 +673,7 @@ export class TenantAwareAuth extends BaseAuth<TenantAwareAuthRequestHandler> {
673673
}
674674
// This will verify the ID token and then match the tenant ID before creating the session cookie.
675675
return this.verifyIdToken(idToken)
676-
.then((decodedIdTokenClaims) => {
676+
.then(() => {
677677
return super.createSessionCookie(idToken, sessionCookieOptions);
678678
});
679679
}
@@ -691,7 +691,7 @@ export class TenantAwareAuth extends BaseAuth<TenantAwareAuthRequestHandler> {
691691
* verification.
692692
*/
693693
public verifySessionCookie(
694-
sessionCookie: string, checkRevoked: boolean = false): Promise<DecodedIdToken> {
694+
sessionCookie: string, checkRevoked = false): Promise<DecodedIdToken> {
695695
return super.verifySessionCookie(sessionCookie, checkRevoked)
696696
.then((decodedClaims) => {
697697
if (decodedClaims.firebase.tenant !== this.tenantId) {

src/auth/tenant-manager.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export class TenantManager {
8989
maxResults?: number,
9090
pageToken?: string): Promise<ListTenantsResult> {
9191
return this.authRequestHandler.listTenants(maxResults, pageToken)
92-
.then((response: {tenants: TenantServerResponse[], nextPageToken?: string}) => {
92+
.then((response: {tenants: TenantServerResponse[]; nextPageToken?: string}) => {
9393
// List of tenants to return.
9494
const tenants: Tenant[] = [];
9595
// Convert each user response to a Tenant.

src/auth/user-import-builder.ts

+12-12
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ export interface UserImportRecord {
5454
creationTime?: string;
5555
};
5656
providerData?: Array<{
57-
uid: string,
58-
displayName?: string,
59-
email?: string,
60-
photoURL?: string,
61-
providerId: string,
57+
uid: string;
58+
displayName?: string;
59+
email?: string;
60+
photoURL?: string;
61+
providerId: string;
6262
}>;
6363
customClaims?: object;
6464
passwordHash?: Buffer;
@@ -261,7 +261,7 @@ export class UserImportBuilder {
261261
* uploadAccount response.
262262
*/
263263
public buildResponse(
264-
failedUploads: Array<{index: number, message: string}>): UserImportResult {
264+
failedUploads: Array<{index: number; message: string}>): UserImportResult {
265265
// Initialize user import result.
266266
const importResult: UserImportResult = {
267267
successCount: this.validatedUsers.length,
@@ -343,7 +343,7 @@ export class UserImportBuilder {
343343
case 'MD5':
344344
case 'SHA1':
345345
case 'SHA256':
346-
case 'SHA512':
346+
case 'SHA512': {
347347
// MD5 is [0,8192] but SHA1, SHA256, and SHA512 are [1,8192]
348348
rounds = getNumberField(options.hash, 'rounds');
349349
const minRounds = options.hash.algorithm === 'MD5' ? 0 : 1;
@@ -359,7 +359,7 @@ export class UserImportBuilder {
359359
rounds,
360360
};
361361
break;
362-
362+
}
363363
case 'PBKDF_SHA1':
364364
case 'PBKDF2_SHA256':
365365
rounds = getNumberField(options.hash, 'rounds');
@@ -376,7 +376,7 @@ export class UserImportBuilder {
376376
};
377377
break;
378378

379-
case 'SCRYPT':
379+
case 'SCRYPT': {
380380
if (!validator.isBuffer(options.hash.key)) {
381381
throw new FirebaseAuthError(
382382
AuthClientErrorCode.INVALID_HASH_KEY,
@@ -415,14 +415,14 @@ export class UserImportBuilder {
415415
saltSeparator: utils.toWebSafeBase64(options.hash.saltSeparator || Buffer.from('')),
416416
};
417417
break;
418-
418+
}
419419
case 'BCRYPT':
420420
populatedOptions = {
421421
hashAlgorithm: options.hash.algorithm,
422422
};
423423
break;
424424

425-
case 'STANDARD_SCRYPT':
425+
case 'STANDARD_SCRYPT': {
426426
const cpuMemCost = getNumberField(options.hash, 'memoryCost');
427427
if (isNaN(cpuMemCost)) {
428428
throw new FirebaseAuthError(
@@ -463,7 +463,7 @@ export class UserImportBuilder {
463463
dkLen,
464464
};
465465
break;
466-
466+
}
467467
default:
468468
throw new FirebaseAuthError(
469469
AuthClientErrorCode.INVALID_HASH_ALGORITHM,

src/database/database.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { AuthorizedHttpClient, HttpRequestConfig, HttpError } from '../utils/api
1616
class DatabaseInternals implements FirebaseServiceInternalsInterface {
1717

1818
public databases: {
19-
[dbUrl: string]: Database,
19+
[dbUrl: string]: Database;
2020
} = {};
2121

2222
/**

src/firebase-app.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ export class FirebaseAppInternals {
225225
private setTokenRefreshTimeout(delayInMilliseconds: number, numRetries: number): void {
226226
this.tokenRefreshTimeout_ = setTimeout(() => {
227227
this.getToken(/* forceRefresh */ true)
228-
.catch((error) => {
228+
.catch(() => {
229229
// Ignore the error since this might just be an intermittent failure. If we really cannot
230230
// refresh the token, an error will be logged once the existing token expires and we try
231231
// to fetch a fresh one.

src/firebase-namespace.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ const DEFAULT_APP_NAME = '[DEFAULT]';
4545
* If the environment variable contains a string that starts with '{' it will be parsed as JSON,
4646
* otherwise it will be assumed to be pointing to a file.
4747
*/
48-
export const FIREBASE_CONFIG_VAR: string = 'FIREBASE_CONFIG';
48+
export const FIREBASE_CONFIG_VAR = 'FIREBASE_CONFIG';
4949

5050

5151
let globalAppDefaultCred: Credential;

0 commit comments

Comments
 (0)