From 15eb43fe900ab3e14d174f6092798802a5816a12 Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Fri, 31 May 2019 21:32:04 -0700 Subject: [PATCH] chore: report/remove unused eslint disable directives --- .../log-extension/src/providers/log-action.provider.ts | 9 ++++----- examples/todo/src/__tests__/helpers.ts | 1 - package.json | 4 ++-- packages/boot/src/booters/datasource.booter.ts | 1 - packages/boot/src/booters/repository.booter.ts | 1 - .../acceptance/class-level-bindings.acceptance.ts | 2 -- packages/context/src/__tests__/unit/inject.unit.ts | 1 - .../src/__tests__/unit/resolution-session.unit.ts | 1 - packages/context/src/__tests__/unit/resolver.unit.ts | 4 ---- packages/context/src/binding-filter.ts | 1 - packages/context/src/binding-key.ts | 1 - packages/context/src/binding.ts | 2 -- packages/context/src/context.ts | 2 -- packages/context/src/interception-proxy.ts | 3 +-- packages/context/src/value-promise.ts | 1 - .../integration/http-caching-proxy.integration.ts | 1 - packages/http-caching-proxy/src/http-caching-proxy.ts | 5 ++--- packages/metadata/src/decorator-factory.ts | 1 - packages/metadata/src/inspector.ts | 8 +++----- packages/metadata/src/reflect.ts | 3 --- packages/metadata/src/types.ts | 1 - packages/openapi-v3/src/controller-spec.ts | 2 -- packages/repository-json-schema/src/build-schema.ts | 1 - .../customer-with-constructor-di.controller.ts | 3 --- .../controllers/customer-with-property-di.controller.ts | 2 -- .../unit/decorator/repository-with-di.decorator.unit.ts | 1 - .../repository-with-value-provider.decorator.unit.ts | 1 - .../unit/decorator/repository.decorator.unit.ts | 2 -- .../unit/repositories/legacy-juggler-bridge.unit.ts | 3 --- packages/repository/src/common-types.ts | 1 - packages/repository/src/connectors/connector.ts | 5 ++--- packages/repository/src/decorators/model.decorator.ts | 2 -- .../repository/src/decorators/repository.decorator.ts | 2 -- packages/repository/src/model.ts | 2 -- packages/repository/src/relations/relation.decorator.ts | 3 +-- .../repository/src/repositories/legacy-juggler-bridge.ts | 2 -- packages/repository/src/repositories/repository.ts | 1 - packages/repository/src/type-resolver.ts | 2 -- packages/repository/src/types/model.ts | 2 -- .../file-upload/file-upload-with-parser.acceptance.ts | 1 - .../unit/rest.application/rest.application.unit.ts | 3 --- packages/rest/src/__tests__/unit/rest.component.unit.ts | 1 - packages/rest/src/router/trie.ts | 1 - .../src/__tests__/unit/mixin/service.mixin.unit.ts | 2 -- packages/service-proxy/src/mixins/service.mixin.ts | 1 - packages/testlab/src/__tests__/unit/to-json.test.ts | 1 - packages/testlab/src/shot.ts | 2 -- packages/testlab/src/to-json.ts | 2 -- 48 files changed, 15 insertions(+), 89 deletions(-) diff --git a/examples/log-extension/src/providers/log-action.provider.ts b/examples/log-extension/src/providers/log-action.provider.ts index b38d40cbdeb0..74b81a3223ee 100644 --- a/examples/log-extension/src/providers/log-action.provider.ts +++ b/examples/log-extension/src/providers/log-action.provider.ts @@ -3,19 +3,19 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT -import {inject, Provider, Constructor, Getter} from '@loopback/context'; +import {Constructor, Getter, inject, Provider} from '@loopback/context'; import {CoreBindings} from '@loopback/core'; import {OperationArgs, Request} from '@loopback/rest'; +import chalk from 'chalk'; import {getLogMetadata} from '../decorators'; import {EXAMPLE_LOG_BINDINGS, LOG_LEVEL} from '../keys'; import { - LogFn, - TimerFn, HighResTime, LevelMetadata, + LogFn, LogWriterFn, + TimerFn, } from '../types'; -import chalk from 'chalk'; export class LogActionProvider implements Provider { // LogWriteFn is an optional dependency and it falls back to `logToConsole` @@ -80,7 +80,6 @@ export class LogActionProvider implements Provider { if (start) { const timeDiff: HighResTime = this.timer(start); const time: number = - // eslint-disable-next-line no-mixed-operators timeDiff[0] * 1000 + Math.round(timeDiff[1] * 1e-4) / 100; msg = `${time}ms: ${msg}`; } diff --git a/examples/todo/src/__tests__/helpers.ts b/examples/todo/src/__tests__/helpers.ts index e706b3652832..76bdceca5ff6 100644 --- a/examples/todo/src/__tests__/helpers.ts +++ b/examples/todo/src/__tests__/helpers.ts @@ -50,7 +50,6 @@ export const aLocation = { address: '1 New Orchard Road, Armonk, 10504', geopoint: {y: 41.109653, x: -73.72467}, get geostring() { - // eslint-disable-next-line no-invalid-this return `${this.geopoint.y},${this.geopoint.x}`; }, }; diff --git a/package.json b/package.json index f676d957a721..f46496a19c78 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,8 @@ "coverage": "open coverage/index.html", "lint": "npm run prettier:check && npm run eslint && node bin/check-package-locks", "lint:fix": "npm run eslint:fix && npm run prettier:fix", - "eslint": "node packages/build/bin/run-eslint --cache .", - "eslint:fix": "npm run eslint -- --cache --fix", + "eslint": "node packages/build/bin/run-eslint --report-unused-disable-directives --cache .", + "eslint:fix": "npm run eslint -- --fix", "prettier:cli": "node packages/build/bin/run-prettier \"**/*.ts\" \"**/*.js\" \"**/*.md\"", "prettier:check": "npm run prettier:cli -- -l", "prettier:fix": "npm run prettier:cli -- --write", diff --git a/packages/boot/src/booters/datasource.booter.ts b/packages/boot/src/booters/datasource.booter.ts index 90b6e9e4a55a..40cc724d000b 100644 --- a/packages/boot/src/booters/datasource.booter.ts +++ b/packages/boot/src/booters/datasource.booter.ts @@ -59,7 +59,6 @@ export class DataSourceBooter extends BaseArtifactBooter { ); } else { this.classes.forEach(cls => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any this.app.dataSource(cls as Class); }); } diff --git a/packages/boot/src/booters/repository.booter.ts b/packages/boot/src/booters/repository.booter.ts index d74e1d22920b..7504468e8352 100644 --- a/packages/boot/src/booters/repository.booter.ts +++ b/packages/boot/src/booters/repository.booter.ts @@ -55,7 +55,6 @@ export class RepositoryBooter extends BaseArtifactBooter { ); } else { this.classes.forEach(cls => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any this.app.repository(cls); }); } diff --git a/packages/context/src/__tests__/acceptance/class-level-bindings.acceptance.ts b/packages/context/src/__tests__/acceptance/class-level-bindings.acceptance.ts index 6bbea3b11b97..305ffc6c2903 100644 --- a/packages/context/src/__tests__/acceptance/class-level-bindings.acceptance.ts +++ b/packages/context/src/__tests__/acceptance/class-level-bindings.acceptance.ts @@ -94,7 +94,6 @@ describe('Context bindings - Injecting dependencies of classes', () => { expect(instance).to.have.property('isAuthenticated', false); }); - // eslint-disable-next-line max-len it('creates instance synchronously when all dependencies are sync too', () => { ctx.bind('appName').to('CodeHub'); class InfoController { @@ -128,7 +127,6 @@ describe('Context bindings - Injecting dependencies of classes', () => { expect(instance).to.have.property('isAuthenticated', false); }); - // eslint-disable-next-line max-len it('creates instance synchronously when property/constructor dependencies are sync too', () => { ctx.bind('appName').to('CodeHub'); ctx.bind('authenticated').to(false); diff --git a/packages/context/src/__tests__/unit/inject.unit.ts b/packages/context/src/__tests__/unit/inject.unit.ts index 7119604ba44f..b107eaee6b0a 100644 --- a/packages/context/src/__tests__/unit/inject.unit.ts +++ b/packages/context/src/__tests__/unit/inject.unit.ts @@ -30,7 +30,6 @@ describe('function argument injection', () => { }); it('can retrieve information about injected method arguments', () => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars class TestClass { test(@inject('foo') foo: string) {} } diff --git a/packages/context/src/__tests__/unit/resolution-session.unit.ts b/packages/context/src/__tests__/unit/resolution-session.unit.ts index b351ea378900..19e95a7ccdf8 100644 --- a/packages/context/src/__tests__/unit/resolution-session.unit.ts +++ b/packages/context/src/__tests__/unit/resolution-session.unit.ts @@ -8,7 +8,6 @@ import {Binding, inject, Injection, ResolutionSession} from '../..'; describe('ResolutionSession', () => { class MyController { - // eslint-disable-next-line @typescript-eslint/no-unused-vars constructor(@inject('b') private b: string) {} } function givenInjection(): Injection { diff --git a/packages/context/src/__tests__/unit/resolver.unit.ts b/packages/context/src/__tests__/unit/resolver.unit.ts index 734c450c3110..8aef86df2ad9 100644 --- a/packages/context/src/__tests__/unit/resolver.unit.ts +++ b/packages/context/src/__tests__/unit/resolver.unit.ts @@ -111,7 +111,6 @@ describe('constructor injection', () => { expect(t.fooBar).to.eql('FOO:BAR'); }); - // eslint-disable-next-line max-len it('resolves constructor arguments with custom resolve function and no binding key', () => { class TestClass { constructor( @@ -201,7 +200,6 @@ describe('constructor injection', () => { ); }); - // eslint-disable-next-line max-len it('will not report circular dependencies if a binding is injected twice', () => { const context = new Context(); class XClass {} @@ -350,7 +348,6 @@ describe('async constructor injection', () => { expect(t.foo).to.eql('FOO'); }); - // eslint-disable-next-line max-len it('resolves constructor arguments with custom async decorator', async () => { class TestClass { constructor(@customAsyncDecorator({x: 'bar'}) public fooBar: string) {} @@ -405,7 +402,6 @@ describe('property injection', () => { expect(t.fooBar).to.eql('FOO:BAR'); }); - // eslint-disable-next-line max-len it('resolves inject properties with custom resolve function and no binding key', () => { class TestClass { @inject('', {x: 'bar'}, (c: Context, injection: Injection) => { diff --git a/packages/context/src/binding-filter.ts b/packages/context/src/binding-filter.ts index 97bc2e307448..7d28ea85670c 100644 --- a/packages/context/src/binding-filter.ts +++ b/packages/context/src/binding-filter.ts @@ -38,7 +38,6 @@ import {BindingAddress} from './binding-key'; * 2. `(binding: Readonly>) => binding is Readonly>` * */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars export type BindingFilter = ( binding: Readonly>, ) => boolean; diff --git a/packages/context/src/binding-key.ts b/packages/context/src/binding-key.ts index ed35287d62c4..68afa5737cfd 100644 --- a/packages/context/src/binding-key.ts +++ b/packages/context/src/binding-key.ts @@ -5,7 +5,6 @@ export type BindingAddress = string | BindingKey; -// eslint-disable-next-line @typescript-eslint/no-unused-vars export class BindingKey { static readonly PROPERTY_SEPARATOR = '#'; diff --git a/packages/context/src/binding.ts b/packages/context/src/binding.ts index 11be435fc69f..88bcc6b4df4c 100644 --- a/packages/context/src/binding.ts +++ b/packages/context/src/binding.ts @@ -27,8 +27,6 @@ import { const debug = debugFactory('loopback:context:binding'); -/* eslint-disable @typescript-eslint/ban-types */ - /** * Scope for binding values */ diff --git a/packages/context/src/context.ts b/packages/context/src/context.ts index 8bfe6f0078f6..8e5533a404f2 100644 --- a/packages/context/src/context.ts +++ b/packages/context/src/context.ts @@ -53,8 +53,6 @@ import {iterator, multiple} from 'p-event'; const debug = debugFactory('loopback:context'); -/* eslint-disable @typescript-eslint/ban-types */ - /** * Context provides an implementation of Inversion of Control (IoC) container */ diff --git a/packages/context/src/interception-proxy.ts b/packages/context/src/interception-proxy.ts index 959b964a4ad4..e06aff67f1fd 100644 --- a/packages/context/src/interception-proxy.ts +++ b/packages/context/src/interception-proxy.ts @@ -21,8 +21,7 @@ export type AsValueOrPromise = T extends Promise */ export type AsInterceptedFunction = T extends ( ...args: InvocationArgs -) => // eslint-disable-next-line @typescript-eslint/no-unused-vars (possible tslint bug to treat `R` as unused) -infer R +) => infer R ? (...args: InvocationArgs) => AsValueOrPromise : T; diff --git a/packages/context/src/value-promise.ts b/packages/context/src/value-promise.ts index efadfe8e3ea0..99f036500437 100644 --- a/packages/context/src/value-promise.ts +++ b/packages/context/src/value-promise.ts @@ -164,7 +164,6 @@ export function resolveList( result[index] = val; }; - // eslint-disable-next-line prefer-for-of for (let ix = 0; ix < list.length; ix++) { const valueOrPromise = resolver(list[ix], ix, list); if (isPromiseLike(valueOrPromise)) { diff --git a/packages/http-caching-proxy/src/__tests__/integration/http-caching-proxy.integration.ts b/packages/http-caching-proxy/src/__tests__/integration/http-caching-proxy.integration.ts index bf6216c834bb..2292ebaf2c97 100644 --- a/packages/http-caching-proxy/src/__tests__/integration/http-caching-proxy.integration.ts +++ b/packages/http-caching-proxy/src/__tests__/integration/http-caching-proxy.integration.ts @@ -16,7 +16,6 @@ import {HttpCachingProxy, ProxyOptions} from '../../http-caching-proxy'; const CACHE_DIR = path.join(__dirname, '.cache'); -/* eslint-disable await-promise */ const rimraf = util.promisify(rimrafCb); describe('HttpCachingProxy', () => { diff --git a/packages/http-caching-proxy/src/http-caching-proxy.ts b/packages/http-caching-proxy/src/http-caching-proxy.ts index 42355d1b14b4..c1c7f31b42d4 100644 --- a/packages/http-caching-proxy/src/http-caching-proxy.ts +++ b/packages/http-caching-proxy/src/http-caching-proxy.ts @@ -5,11 +5,11 @@ import * as debugFactory from 'debug'; import { + createServer, + IncomingMessage, OutgoingHttpHeaders, Server as HttpServer, - IncomingMessage, ServerResponse, - createServer, } from 'http'; import {AddressInfo} from 'net'; import pEvent from 'p-event'; @@ -174,7 +174,6 @@ export class HttpCachingProxy { clientRequest: IncomingMessage, clientResponse: ServerResponse, ) { - // eslint-disable-next-line await-promise const backendResponse = await makeRequest({ resolveWithFullResponse: true, simple: false, diff --git a/packages/metadata/src/decorator-factory.ts b/packages/metadata/src/decorator-factory.ts index 6ebb57905a52..08a1cba0c3e7 100644 --- a/packages/metadata/src/decorator-factory.ts +++ b/packages/metadata/src/decorator-factory.ts @@ -10,7 +10,6 @@ import {DecoratorType, MetadataKey, MetadataMap} from './types'; const debug = debugModule('loopback:metadata:decorator'); /* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable @typescript-eslint/ban-types */ /** * Options for a decorator diff --git a/packages/metadata/src/inspector.ts b/packages/metadata/src/inspector.ts index 8b184fca9193..311dbd5a7bf0 100644 --- a/packages/metadata/src/inspector.ts +++ b/packages/metadata/src/inspector.ts @@ -3,16 +3,14 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT -import {Reflector, NamespacedReflect} from './reflect'; +import {NamespacedReflect, Reflector} from './reflect'; import { + DecoratorType, + DesignTimeMethodMetadata, MetadataKey, MetadataMap, - DesignTimeMethodMetadata, - DecoratorType, } from './types'; -/* eslint-disable @typescript-eslint/ban-types */ - /** * TypeScript reflector without a namespace. The TypeScript compiler can be * configured to add design time metadata. diff --git a/packages/metadata/src/reflect.ts b/packages/metadata/src/reflect.ts index a0000a96f169..1c8f1d744a47 100644 --- a/packages/metadata/src/reflect.ts +++ b/packages/metadata/src/reflect.ts @@ -6,7 +6,6 @@ import 'reflect-metadata'; /* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable @typescript-eslint/ban-types */ /* eslint-disable @typescript-eslint/unified-signatures */ /* @@ -180,7 +179,6 @@ export class NamespacedReflect { } } - // eslint-disable-next-line @typescript-eslint/no-explicit-any metadata( metadataKey: string, metadataValue: any, @@ -193,5 +191,4 @@ export class NamespacedReflect { } } -// eslint-disable-next-line variable-name */ export const Reflector = new NamespacedReflect('loopback'); diff --git a/packages/metadata/src/types.ts b/packages/metadata/src/types.ts index f79a519cb3d1..bfd5ebc39d0b 100644 --- a/packages/metadata/src/types.ts +++ b/packages/metadata/src/types.ts @@ -17,7 +17,6 @@ export type DecoratorType = * @typeParam T - Type of the metadata value * @typeParam D - Type of the decorator */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars export class MetadataAccessor { private constructor(public readonly key: string) {} diff --git a/packages/openapi-v3/src/controller-spec.ts b/packages/openapi-v3/src/controller-spec.ts index cd5ebeac5a24..06251ba61532 100644 --- a/packages/openapi-v3/src/controller-spec.ts +++ b/packages/openapi-v3/src/controller-spec.ts @@ -29,8 +29,6 @@ import {OAI3Keys} from './keys'; const debug = require('debug')('loopback:openapi3:metadata:controller-spec'); -/* eslint-disable @typescript-eslint/no-explicit-any */ - export interface ControllerSpec { /** * The base path on which the Controller API is served. diff --git a/packages/repository-json-schema/src/build-schema.ts b/packages/repository-json-schema/src/build-schema.ts index da3d97dd787c..839a7997da15 100644 --- a/packages/repository-json-schema/src/build-schema.ts +++ b/packages/repository-json-schema/src/build-schema.ts @@ -143,7 +143,6 @@ export function isArrayType(type: string | Function) { * @param meta */ export function metaToJsonProperty(meta: PropertyDefinition): JSONSchema { - // eslint-disable-next-line @typescript-eslint/no-explicit-any const propDef: JSONSchema = {}; let result: JSONSchema; let propertyType = meta.type as string | Function; diff --git a/packages/repository/examples/controllers/customer-with-constructor-di.controller.ts b/packages/repository/examples/controllers/customer-with-constructor-di.controller.ts index b185390187c5..9a5c982142cd 100644 --- a/packages/repository/examples/controllers/customer-with-constructor-di.controller.ts +++ b/packages/repository/examples/controllers/customer-with-constructor-di.controller.ts @@ -3,8 +3,6 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT -/* eslint-disable @typescript-eslint/no-unused-vars */ - import {EntityCrudRepository, repository} from '../..'; import {Customer} from '../models/customer.model'; /** @@ -15,7 +13,6 @@ import {Customer} from '../models/customer.model'; export class CustomerController { constructor( // Use constructor dependency injection - // eslint-disable-next-line @typescript-eslint/no-unused-vars @repository('Customer', 'mongodbDataSource') private _repository: EntityCrudRepository, ) {} diff --git a/packages/repository/examples/controllers/customer-with-property-di.controller.ts b/packages/repository/examples/controllers/customer-with-property-di.controller.ts index df20ffded657..20b3f12d74bc 100644 --- a/packages/repository/examples/controllers/customer-with-property-di.controller.ts +++ b/packages/repository/examples/controllers/customer-with-property-di.controller.ts @@ -3,8 +3,6 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT -/* eslint-disable @typescript-eslint/no-unused-vars */ - import {EntityCrudRepository, repository} from '../..'; import {Customer} from '../models/customer.model'; diff --git a/packages/repository/src/__tests__/unit/decorator/repository-with-di.decorator.unit.ts b/packages/repository/src/__tests__/unit/decorator/repository-with-di.decorator.unit.ts index 3808bdc71f6f..84ab8deed712 100644 --- a/packages/repository/src/__tests__/unit/decorator/repository-with-di.decorator.unit.ts +++ b/packages/repository/src/__tests__/unit/decorator/repository-with-di.decorator.unit.ts @@ -19,7 +19,6 @@ describe('repository class', () => { before(givenCtx); - // eslint-disable-next-line max-len it('supports referencing predefined repository by name via constructor', async () => { const myController = await ctx.get( 'controllers.StringBoundController', diff --git a/packages/repository/src/__tests__/unit/decorator/repository-with-value-provider.decorator.unit.ts b/packages/repository/src/__tests__/unit/decorator/repository-with-value-provider.decorator.unit.ts index 5f7ca52bc08a..fb3ed1c7acca 100644 --- a/packages/repository/src/__tests__/unit/decorator/repository-with-value-provider.decorator.unit.ts +++ b/packages/repository/src/__tests__/unit/decorator/repository-with-value-provider.decorator.unit.ts @@ -58,7 +58,6 @@ describe('repository class', () => { ctx.bind('controllers.MyController').toClass(MyController); }); - // eslint-disable-next-line max-len it('supports referencing predefined repository by name via constructor', async () => { const myController = await ctx.get( 'controllers.MyController', diff --git a/packages/repository/src/__tests__/unit/decorator/repository.decorator.unit.ts b/packages/repository/src/__tests__/unit/decorator/repository.decorator.unit.ts index e711996bf8cc..ee07614544b4 100644 --- a/packages/repository/src/__tests__/unit/decorator/repository.decorator.unit.ts +++ b/packages/repository/src/__tests__/unit/decorator/repository.decorator.unit.ts @@ -61,7 +61,6 @@ describe('repository decorator', () => { ctx.bind('controllers.MyController').toClass(MyController); }); - // eslint-disable-next-line max-len it('supports referencing predefined repository by name via constructor', async () => { const myController = await ctx.get( 'controllers.MyController', @@ -69,7 +68,6 @@ describe('repository decorator', () => { expect(myController.noteRepo).exactly(defaultRepo); }); - // eslint-disable-next-line max-len it('supports referencing predefined repository by name via property', async () => { const myController = await ctx.get( 'controllers.MyController', diff --git a/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts b/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts index c72339534a0f..788aa11dba24 100644 --- a/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts +++ b/packages/repository/src/__tests__/unit/repositories/legacy-juggler-bridge.unit.ts @@ -28,13 +28,11 @@ describe('legacy loopback-datasource-juggler', () => { }); it('creates models', () => { - // eslint-disable-next-line variable-name */ const Note = ds.createModel( 'note', {title: 'string', content: 'string', id: {type: 'number', id: true}}, {}, ); - // eslint-disable-next-line variable-name */ const Note2 = bindModel(Note, ds); expect(Note2.modelName).to.eql('note'); expect(Note2.definition).to.eql(Note.definition); @@ -157,7 +155,6 @@ describe('DefaultCrudRepository', () => { expect(ds.getModel('User')).undefined(); - // eslint-disable-next-line no-unused-expression new DefaultCrudRepository(User, ds); const JugglerUser = ds.getModel('User')!; diff --git a/packages/repository/src/common-types.ts b/packages/repository/src/common-types.ts index 2df468647341..2d4d5a3860ab 100644 --- a/packages/repository/src/common-types.ts +++ b/packages/repository/src/common-types.ts @@ -82,7 +82,6 @@ export type NamedParameters = AnyObject; /** * Positional parameters, such as [1, 'a'] */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any export type PositionalParameters = any[]; /** diff --git a/packages/repository/src/connectors/connector.ts b/packages/repository/src/connectors/connector.ts index 2b9b6d2e8c3e..ae3df1ce77cb 100644 --- a/packages/repository/src/connectors/connector.ts +++ b/packages/repository/src/connectors/connector.ts @@ -3,14 +3,14 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT -import {Model} from '../model'; import { AnyObject, - Options, Command, NamedParameters, + Options, PositionalParameters, } from '../common-types'; +import {Model} from '../model'; /** * Common properties/operations for connectors @@ -24,7 +24,6 @@ export interface Connector { ping(): Promise; // Ping the underlying system execute?( command: Command, - /* eslint-disable @typescript-eslint/no-explicit-any */ parameters: NamedParameters | PositionalParameters, options?: Options, ): Promise; diff --git a/packages/repository/src/decorators/model.decorator.ts b/packages/repository/src/decorators/model.decorator.ts index 6836022b9907..9c4bbe82e68a 100644 --- a/packages/repository/src/decorators/model.decorator.ts +++ b/packages/repository/src/decorators/model.decorator.ts @@ -34,8 +34,6 @@ export const MODEL_WITH_PROPERTIES_KEY = MetadataAccessor.create< export type PropertyMap = MetadataMap; -/* eslint-disable @typescript-eslint/no-explicit-any */ - /** * Decorator for model definitions * @param definition diff --git a/packages/repository/src/decorators/repository.decorator.ts b/packages/repository/src/decorators/repository.decorator.ts index eb9204dd8e67..3d862c5b6f33 100644 --- a/packages/repository/src/decorators/repository.decorator.ts +++ b/packages/repository/src/decorators/repository.decorator.ts @@ -11,8 +11,6 @@ import {Entity, Model} from '../model'; import {DefaultCrudRepository, Repository} from '../repositories'; import {juggler} from '../repositories/legacy-juggler-bridge'; -/* eslint-disable @typescript-eslint/ban-types */ - /** * Type definition for decorators returned by `@repository` decorator factory */ diff --git a/packages/repository/src/model.ts b/packages/repository/src/model.ts index adcfaa587b61..f46d415bfc0c 100644 --- a/packages/repository/src/model.ts +++ b/packages/repository/src/model.ts @@ -8,8 +8,6 @@ import {RelationMetadata} from './relations'; import {TypeResolver} from './type-resolver'; import {Type} from './types'; -/* eslint-disable @typescript-eslint/ban-types */ - /** * This module defines the key classes representing building blocks for Domain * Driven Design. diff --git a/packages/repository/src/relations/relation.decorator.ts b/packages/repository/src/relations/relation.decorator.ts index bec6470b479a..8031c737c99c 100644 --- a/packages/repository/src/relations/relation.decorator.ts +++ b/packages/repository/src/relations/relation.decorator.ts @@ -4,13 +4,12 @@ // License text available at https://opensource.org/licenses/MIT import {PropertyDecoratorFactory} from '@loopback/context'; +import {buildModelDefinition} from '../decorators'; import {Model, RelationDefinitionMap} from '../model'; import {RelationType} from './relation.types'; -import {buildModelDefinition} from '../decorators'; export const RELATIONS_KEY = 'loopback:relations'; -/* eslint-disable @typescript-eslint/ban-types */ /** * Decorator for relations * @param definition diff --git a/packages/repository/src/repositories/legacy-juggler-bridge.ts b/packages/repository/src/repositories/legacy-juggler-bridge.ts index 9dad716d0f09..505eb07482cd 100644 --- a/packages/repository/src/repositories/legacy-juggler-bridge.ts +++ b/packages/repository/src/repositories/legacy-juggler-bridge.ts @@ -73,7 +73,6 @@ export function bindModel( * Ensure the value is a promise * @param p - Promise or void */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any export function ensurePromise(p: legacy.PromiseOrVoid): Promise { if (p && isPromiseLike(p)) { // Juggler uses promise-like Bluebird instead of native Promise @@ -451,7 +450,6 @@ export class DefaultCrudRepository< async execute( command: Command, - /* eslint-disable @typescript-eslint/no-explicit-any */ parameters: NamedParameters | PositionalParameters, options?: Options, ): Promise { diff --git a/packages/repository/src/repositories/repository.ts b/packages/repository/src/repositories/repository.ts index f1b4a34331e2..739a9e7c9f2e 100644 --- a/packages/repository/src/repositories/repository.ts +++ b/packages/repository/src/repositories/repository.ts @@ -341,7 +341,6 @@ export class CrudRepositoryImpl ); } else { // FIXME: populate inst with all properties - // eslint-disable-next-line @typescript-eslint/no-unused-vars const inst = data; const where = this.entityClass.buildWhereForId(id); const result = await this.updateAll(data, where, options); diff --git a/packages/repository/src/type-resolver.ts b/packages/repository/src/type-resolver.ts index e60d6d25d356..68d495f9d489 100644 --- a/packages/repository/src/type-resolver.ts +++ b/packages/repository/src/type-resolver.ts @@ -5,8 +5,6 @@ import {Class} from './common-types'; -/* eslint-disable @typescript-eslint/ban-types */ - /** * A type resolver is a function that returns a class representing the type, * typically a Model or Entity (e.g. Product). diff --git a/packages/repository/src/types/model.ts b/packages/repository/src/types/model.ts index 43c390e1ec81..35f34d3f1d70 100644 --- a/packages/repository/src/types/model.ts +++ b/packages/repository/src/types/model.ts @@ -7,8 +7,6 @@ import {Class} from '../common-types'; import {Model} from '../model'; import {ObjectType} from './object'; -/* eslint-disable @typescript-eslint/no-explicit-any */ - /** * Model type */ diff --git a/packages/rest/src/__tests__/acceptance/file-upload/file-upload-with-parser.acceptance.ts b/packages/rest/src/__tests__/acceptance/file-upload/file-upload-with-parser.acceptance.ts index 004f2f4edc38..d064958d5b03 100644 --- a/packages/rest/src/__tests__/acceptance/file-upload/file-upload-with-parser.acceptance.ts +++ b/packages/rest/src/__tests__/acceptance/file-upload/file-upload-with-parser.acceptance.ts @@ -110,7 +110,6 @@ class MultipartFormDataBodyParser implements BodyParser { resolve({ value: { files: request.files, - // eslint-disable-next-line @typescript-eslint/no-explicit-any fields: request.body, }, }); diff --git a/packages/rest/src/__tests__/unit/rest.application/rest.application.unit.ts b/packages/rest/src/__tests__/unit/rest.application/rest.application.unit.ts index f9fc09d3bb38..90935bdd1148 100644 --- a/packages/rest/src/__tests__/unit/rest.application/rest.application.unit.ts +++ b/packages/rest/src/__tests__/unit/rest.application/rest.application.unit.ts @@ -14,7 +14,6 @@ import { describe('RestApplication', () => { describe('throws', () => { it('when attempting to bind another server', () => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars const app = new RestApplication(); expect.throws( () => { @@ -26,7 +25,6 @@ describe('RestApplication', () => { }); it('when attempting to bind an array of servers', () => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars const app = new RestApplication(); expect.throws( () => { @@ -41,7 +39,6 @@ describe('RestApplication', () => { class OtherRestComponent extends RestComponent {} expect.throws( () => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars const app = new RestApplication(); app.component(RestComponent); app.component(OtherRestComponent); diff --git a/packages/rest/src/__tests__/unit/rest.component.unit.ts b/packages/rest/src/__tests__/unit/rest.component.unit.ts index dcd3aa8bc928..835a3e28298d 100644 --- a/packages/rest/src/__tests__/unit/rest.component.unit.ts +++ b/packages/rest/src/__tests__/unit/rest.component.unit.ts @@ -61,7 +61,6 @@ describe('RestComponent', () => { expect(logError.length).to.equal(3); // (err, statusCode, request) }); - // eslint-disable-next-line max-len it('can be customized by extending RestComponent', async () => { let lastLog = 'logError() was not called'; diff --git a/packages/rest/src/router/trie.ts b/packages/rest/src/router/trie.ts index ac65a3d4a77e..03485beadb06 100644 --- a/packages/rest/src/router/trie.ts +++ b/packages/rest/src/router/trie.ts @@ -38,7 +38,6 @@ export type NodeWithValue = Node & {value: T}; export interface ResolvedNode { node: Node; - // eslint-disable-next-line @typescript-eslint/no-explicit-any params?: PathParameterValues; } diff --git a/packages/service-proxy/src/__tests__/unit/mixin/service.mixin.unit.ts b/packages/service-proxy/src/__tests__/unit/mixin/service.mixin.unit.ts index e02f352d8817..81f2d5d014ca 100644 --- a/packages/service-proxy/src/__tests__/unit/mixin/service.mixin.unit.ts +++ b/packages/service-proxy/src/__tests__/unit/mixin/service.mixin.unit.ts @@ -13,8 +13,6 @@ import { import {expect} from '@loopback/testlab'; import {Class, ServiceMixin} from '../../../'; -/* eslint-disable @typescript-eslint/no-explicit-any */ - describe('ServiceMixin', () => { it('mixed class has .serviceProvider()', () => { const myApp = new AppWithServiceMixin(); diff --git a/packages/service-proxy/src/mixins/service.mixin.ts b/packages/service-proxy/src/mixins/service.mixin.ts index 4a6c5e2a9953..69dc1428a529 100644 --- a/packages/service-proxy/src/mixins/service.mixin.ts +++ b/packages/service-proxy/src/mixins/service.mixin.ts @@ -127,7 +127,6 @@ export function ServiceMixin>(superClass: T) { * Interface for an Application mixed in with ServiceMixin */ export interface ApplicationWithServices extends Application { - // eslint-disable-next-line @typescript-eslint/no-explicit-any serviceProvider(provider: Class>, name?: string): Binding; component(component: Class<{}>, name?: string): Binding; mountComponentServices(component: Class<{}>): void; diff --git a/packages/testlab/src/__tests__/unit/to-json.test.ts b/packages/testlab/src/__tests__/unit/to-json.test.ts index 9aadf60f9eb9..a1fd82c37cb7 100644 --- a/packages/testlab/src/__tests__/unit/to-json.test.ts +++ b/packages/testlab/src/__tests__/unit/to-json.test.ts @@ -64,7 +64,6 @@ describe('toJSON', () => { it('handles classes with custom toJSON', () => { class Customer { - // eslint-disable-next-line @typescript-eslint/no-unused-vars private __data: object; constructor(public id: string, public email: string) { diff --git a/packages/testlab/src/shot.ts b/packages/testlab/src/shot.ts index d093732dec13..35b17100bb14 100644 --- a/packages/testlab/src/shot.ts +++ b/packages/testlab/src/shot.ts @@ -27,7 +27,6 @@ const inject: ( export {inject, ShotRequestOptions}; -// eslint-disable-next-line variable-name const ShotRequest: ShotRequestCtor = require('@hapi/shot/lib/request'); type ShotRequestCtor = new (options: ShotRequestOptions) => IncomingMessage; @@ -43,7 +42,6 @@ export function stubServerRequest( return stub; } -// eslint-disable-next-line variable-name const ShotResponse: ShotResponseCtor = require('@hapi/shot/lib/response'); export type ShotCallback = (response: ResponseObject) => void; diff --git a/packages/testlab/src/to-json.ts b/packages/testlab/src/to-json.ts index ec7f3fcf984b..caf06b1ececf 100644 --- a/packages/testlab/src/to-json.ts +++ b/packages/testlab/src/to-json.ts @@ -26,12 +26,10 @@ export function toJSON(value: object): object; // In practice, they should not be necessary, as they simply return the input // value without any modifications. -// eslint-disable-next-line unified-signatures export function toJSON(value: undefined): undefined; export function toJSON(value: null): null; export function toJSON(value: number): number; export function toJSON(value: boolean): boolean; -// eslint-disable-next-line unified-signatures export function toJSON(value: string): string; export function toJSON(value: T) {