diff --git a/docs/site/Booting-an-Application.md b/docs/site/Booting-an-Application.md index 5a45a5e901b2..ea308cf760c7 100644 --- a/docs/site/Booting-an-Application.md +++ b/docs/site/Booting-an-Application.md @@ -61,13 +61,8 @@ example below)_ ### Using the BootMixin -`Booter` and `Binding` types must be imported alongside `BootMixin` to allow -TypeScript to infer types and avoid errors. _If using `tslint` with the -`no-unused-variable` rule, you can disable it for the import line by adding -`// tslint:disable-next-line:no-unused-variable` above the import statement_. - ```ts -import {BootMixin, Booter, Binding} from "@loopback/boot"; +import {BootMixin} from "@loopback/boot"; class MyApplication extends BootMixin(Application) { constructor(options?: ApplicationConfig) { diff --git a/docs/site/todo-tutorial-putting-it-together.md b/docs/site/todo-tutorial-putting-it-together.md index 4b873bf71494..4f7ce558029c 100644 --- a/docs/site/todo-tutorial-putting-it-together.md +++ b/docs/site/todo-tutorial-putting-it-together.md @@ -34,23 +34,12 @@ artifacts and inject them into our application for use. #### src/application.ts ```ts +import {BootMixin} from '@loopback/boot'; import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; import {RestApplication, RestServer} from '@loopback/rest'; import {MySequence} from './sequence'; -/* tslint:disable:no-unused-variable */ -// Binding and Booter imports are required to infer types for BootMixin! -import {BootMixin, Booter, Binding} from '@loopback/boot'; - -// juggler imports are required to infer types for RepositoryMixin! -import { - Class, - Repository, - RepositoryMixin, - juggler, -} from '@loopback/repository'; -/* tslint:enable:no-unused-variable */ - export class TodoListApplication extends BootMixin( RepositoryMixin(RestApplication), ) { diff --git a/examples/soap-calculator/src/application.ts b/examples/soap-calculator/src/application.ts index d1d8dd039dc3..f5a345f13ad0 100644 --- a/examples/soap-calculator/src/application.ts +++ b/examples/soap-calculator/src/application.ts @@ -1,21 +1,10 @@ +import {BootMixin} from '@loopback/boot'; import {ApplicationConfig, Constructor, Provider} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; import {RestApplication} from '@loopback/rest'; import {MySequence} from './sequence'; import {CalculatorServiceProvider} from './services/calculator.service'; -// Binding and Booter imports are required to infer types for BootMixin! -/* tslint:disable:no-unused-variable */ -import {BootMixin, Booter, Binding} from '@loopback/boot'; - -// juggler imports are required to infer types for RepositoryMixin! -import { - Class, - Repository, - RepositoryMixin, - juggler, -} from '@loopback/repository'; -/* tslint:enable:no-unused-variable */ - export class SoapCalculatorApplication extends BootMixin( RepositoryMixin(RestApplication), ) { diff --git a/examples/todo-list/src/application.ts b/examples/todo-list/src/application.ts index aee875e43b05..7394660e0ac3 100644 --- a/examples/todo-list/src/application.ts +++ b/examples/todo-list/src/application.ts @@ -3,23 +3,12 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT +import {BootMixin} from '@loopback/boot'; import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; import {RestApplication} from '@loopback/rest'; import {MySequence} from './sequence'; -/* tslint:disable:no-unused-variable */ -// Binding and Booter imports are required to infer types for BootMixin! -import {BootMixin, Booter, Binding} from '@loopback/boot'; - -// juggler imports are required to infer types for RepositoryMixin! -import { - Class, - Repository, - RepositoryMixin, - juggler, -} from '@loopback/repository'; -/* tslint:enable:no-unused-variable */ - export class TodoListApplication extends BootMixin( RepositoryMixin(RestApplication), ) { diff --git a/examples/todo/src/application.ts b/examples/todo/src/application.ts index 8f530e17910c..8c5db992351f 100644 --- a/examples/todo/src/application.ts +++ b/examples/todo/src/application.ts @@ -3,24 +3,13 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT -import {ApplicationConfig, Provider, Constructor} from '@loopback/core'; +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig, Constructor, Provider} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; import {RestApplication} from '@loopback/rest'; import {MySequence} from './sequence'; import {GeocoderServiceProvider} from './services'; -/* tslint:disable:no-unused-variable */ -// Binding and Booter imports are required to infer types for BootMixin! -import {BootMixin, Booter, Binding} from '@loopback/boot'; - -// juggler imports are required to infer types for RepositoryMixin! -import { - Class, - Repository, - RepositoryMixin, - juggler, -} from '@loopback/repository'; -/* tslint:enable:no-unused-variable */ - export class TodoListApplication extends BootMixin( RepositoryMixin(RestApplication), ) { diff --git a/packages/boot/test/fixtures/application.ts b/packages/boot/test/fixtures/application.ts index b39a55b3b508..567096bff60a 100644 --- a/packages/boot/test/fixtures/application.ts +++ b/packages/boot/test/fixtures/application.ts @@ -3,20 +3,10 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT -import {RestApplication} from '@loopback/rest'; import {ApplicationConfig} from '@loopback/core'; -// tslint:disable:no-unused-variable -import { - RepositoryMixin, - Class, - Repository, - juggler, -} from '@loopback/repository'; -// tslint:enable:no-unused-variable - -// Binding and Booter imports are required to infer types for BootMixin! -// tslint:disable-next-line:no-unused-variable -import {BootMixin, Booter, Binding} from '../../index'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import {BootMixin} from '../../index'; export class BooterApp extends RepositoryMixin(BootMixin(RestApplication)) { constructor(options?: ApplicationConfig) { diff --git a/packages/cli/generators/app/templates/src/application.ts.ejs b/packages/cli/generators/app/templates/src/application.ts.ejs index fbd92c420db2..6fd34c1a2eba 100644 --- a/packages/cli/generators/app/templates/src/application.ts.ejs +++ b/packages/cli/generators/app/templates/src/application.ts.ejs @@ -1,21 +1,10 @@ +import {BootMixin} from '@loopback/boot'; import {ApplicationConfig} from '@loopback/core'; -import {RestApplication} from '@loopback/rest'; -import {MySequence} from './sequence'; - -/* tslint:disable:no-unused-variable */ -// Binding and Booter imports are required to infer types for BootMixin! -import {BootMixin, Booter, Binding} from '@loopback/boot'; <% if (project.enableRepository) { -%> - -// juggler imports are required to infer types for RepositoryMixin! -import { - Class, - Repository, - RepositoryMixin, - juggler, -} from '@loopback/repository'; +import {RepositoryMixin} from '@loopback/repository'; <% } -%> -/* tslint:enable:no-unused-variable */ +import {RestApplication} from '@loopback/rest'; +import {MySequence} from './sequence'; export class <%= project.applicationName %> <% if (!project.enableRepository) {-%>extends BootMixin(RestApplication) {<% } else { -%>extends BootMixin( RepositoryMixin(RestApplication), diff --git a/packages/repository/README.md b/packages/repository/README.md index 714d0e421a94..d5cc104bfa8e 100644 --- a/packages/repository/README.md +++ b/packages/repository/README.md @@ -130,18 +130,11 @@ We'll use `BootMixin` on top of `RepositoryMixin` so that Repository bindings can be taken care of automatically at boot time before the application starts. ```ts +import {BootMixin} from '@loopback/boot'; import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; import {RestApplication} from '@loopback/rest'; import {db} from './datasources/db.datasource'; -/* tslint:disable:no-unused-variable */ -import {BootMixin, Booter, Binding} from '@loopback/boot'; -import { - RepositoryMixin, - Class, - Repository, - juggler, -} from '@loopback/repository'; -/* tslint:enable:no-unused-variable */ export class RepoApplication extends BootMixin( RepositoryMixin(RestApplication), diff --git a/packages/repository/src/repositories/legacy-juggler-bridge.ts b/packages/repository/src/repositories/legacy-juggler-bridge.ts index 8b5732239aaa..c862cbcb4e48 100644 --- a/packages/repository/src/repositories/legacy-juggler-bridge.ts +++ b/packages/repository/src/repositories/legacy-juggler-bridge.ts @@ -23,9 +23,6 @@ import { HasManyRepositoryFactory, } from './relation.factory'; import {HasManyDefinition} from '../decorators/relation.decorator'; -// need the import for exporting of a return type -// tslint:disable-next-line:no-unused-variable -import {HasManyRepository} from './relation.repository'; export namespace juggler { export import DataSource = legacy.DataSource; diff --git a/packages/repository/test/unit/query/query-builder.unit.ts b/packages/repository/test/unit/query/query-builder.unit.ts index e03be68a5c94..2858602ea3ef 100644 --- a/packages/repository/test/unit/query/query-builder.unit.ts +++ b/packages/repository/test/unit/query/query-builder.unit.ts @@ -4,14 +4,7 @@ // License text available at https://opensource.org/licenses/MIT import {expect} from '@loopback/testlab'; -import { - FilterBuilder, - Filter, - WhereBuilder, - Where, - filterTemplate, - isFilter, -} from '../../../'; +import {FilterBuilder, WhereBuilder, filterTemplate, isFilter} from '../../../'; describe('WhereBuilder', () => { it('builds where object', () => { diff --git a/packages/rest/src/keys.ts b/packages/rest/src/keys.ts index 9e3a225bc666..77c94063ff8b 100644 --- a/packages/rest/src/keys.ts +++ b/packages/rest/src/keys.ts @@ -22,9 +22,6 @@ import { Send, } from './types'; -// NOTE(bajtos) The following import is required to satisfy TypeScript compiler -// tslint:disable-next-line:no-unused-variable -import {OpenAPIObject} from '@loopback/openapi-v3-types'; import {HttpProtocol} from '@loopback/http-server'; import * as https from 'https';