diff --git a/package.json b/package.json index 5ad1fd335f..ff3da2ca38 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,6 @@ "@typescript-eslint/eslint-plugin": "5.11.0", "@typescript-eslint/parser": "5.11.0", "axe-core": "^4.3.3", - "codelyzer": "^6.0.0", "compression-webpack-plugin": "^3.0.1", "copy-webpack-plugin": "^6.4.1", "cross-env": "^7.0.3", @@ -199,7 +198,6 @@ "terser-webpack-plugin": "^2.3.1", "ts-loader": "^5.2.0", "ts-node": "^8.10.2", - "tslint": "^6.1.3", "typescript": "~4.5.5", "webpack": "^5.69.1", "webpack-bundle-analyzer": "^4.4.0", diff --git a/src/app/access-control/epeople-registry/epeople-registry.actions.ts b/src/app/access-control/epeople-registry/epeople-registry.actions.ts index b8b1044362..8fa0a886d8 100644 --- a/src/app/access-control/epeople-registry/epeople-registry.actions.ts +++ b/src/app/access-control/epeople-registry/epeople-registry.actions.ts @@ -16,7 +16,7 @@ export const EPeopleRegistryActionTypes = { CANCEL_EDIT_EPERSON: type('dspace/epeople-registry/CANCEL_EDIT_EPERSON'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to edit an EPerson in the EPeople registry */ @@ -37,7 +37,7 @@ export class EPeopleRegistryCancelEPersonAction implements Action { type = EPeopleRegistryActionTypes.CANCEL_EDIT_EPERSON; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/access-control/group-registry/group-registry.actions.ts b/src/app/access-control/group-registry/group-registry.actions.ts index bc1c0b97a6..591f39b3ec 100644 --- a/src/app/access-control/group-registry/group-registry.actions.ts +++ b/src/app/access-control/group-registry/group-registry.actions.ts @@ -16,7 +16,7 @@ export const GroupRegistryActionTypes = { CANCEL_EDIT_GROUP: type('dspace/epeople-registry/CANCEL_EDIT_GROUP'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to edit a Group in the Group registry */ @@ -37,7 +37,7 @@ export class GroupRegistryCancelGroupAction implements Action { type = GroupRegistryActionTypes.CANCEL_EDIT_GROUP; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts b/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts index 84917905d3..d163c2fa6d 100644 --- a/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts +++ b/src/app/admin/admin-registries/bitstream-formats/bitstream-format.actions.ts @@ -17,7 +17,7 @@ export const BitstreamFormatsRegistryActionTypes = { DESELECT_ALL_FORMAT: type('dspace/bitstream-formats-registry/DESELECT_ALL_FORMAT') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to select a single bitstream format in the bitstream format registry */ @@ -51,7 +51,7 @@ export class BitstreamFormatsRegistryDeselectAllAction implements Action { type = BitstreamFormatsRegistryActionTypes.DESELECT_ALL_FORMAT; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts b/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts index 9737928a13..f22f2a365f 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-registry.actions.ts @@ -26,7 +26,7 @@ export const MetadataRegistryActionTypes = { DESELECT_ALL_FIELD: type('dspace/metadata-registry/DESELECT_ALL_FIELD') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to edit a metadata schema in the metadata registry */ @@ -133,7 +133,7 @@ export class MetadataRegistryDeselectAllFieldAction implements Action { type = MetadataRegistryActionTypes.DESELECT_ALL_FIELD; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts b/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts index 0253725cb9..665f20cf3a 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts @@ -52,7 +52,7 @@ describe('MetadataRegistryComponent', () => { } ]; const mockSchemas = createSuccessfulRemoteDataObject$(buildPaginatedList(null, mockSchemasList)); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ const registryServiceStub = { getMetadataSchemas: () => mockSchemas, getActiveMetadataSchema: () => observableOf(undefined), @@ -66,7 +66,7 @@ describe('MetadataRegistryComponent', () => { }, clearMetadataSchemaRequests: () => observableOf(undefined) }; - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ paginationService = new PaginationServiceStub(); diff --git a/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts b/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts index f486c3c132..8d416c2df8 100644 --- a/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts @@ -17,7 +17,7 @@ describe('MetadataSchemaFormComponent', () => { let fixture: ComponentFixture; let registryService: RegistryService; - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ const registryServiceStub = { getActiveMetadataSchema: () => observableOf(undefined), createOrUpdateMetadataSchema: (schema: MetadataSchema) => observableOf(schema), @@ -33,7 +33,7 @@ describe('MetadataSchemaFormComponent', () => { }; } }; - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ diff --git a/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts b/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts index 1bd25be113..e13180d633 100644 --- a/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts @@ -24,7 +24,7 @@ describe('MetadataFieldFormComponent', () => { prefix: 'fake' }); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ const registryServiceStub = { getActiveMetadataField: () => observableOf(undefined), createMetadataField: (field: MetadataField) => observableOf(field), @@ -43,7 +43,7 @@ describe('MetadataFieldFormComponent', () => { }; } }; - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ diff --git a/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts b/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts index 6eb3c5b1a4..6c8459c41b 100644 --- a/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts +++ b/src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts @@ -106,7 +106,7 @@ describe('MetadataSchemaComponent', () => { } ]; const mockSchemas = createSuccessfulRemoteDataObject$(buildPaginatedList(null, mockSchemasList)); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ const registryServiceStub = { getMetadataSchemas: () => mockSchemas, getMetadataFieldsBySchema: (schema: MetadataSchema) => createSuccessfulRemoteDataObject$(buildPaginatedList(null, mockFieldsList.filter((value) => value.id === 3 || value.id === 4))), @@ -122,7 +122,7 @@ describe('MetadataSchemaComponent', () => { }, clearMetadataFieldRequests: () => observableOf(undefined) }; - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ const schemaNameParam = 'mock'; const activatedRouteStub = Object.assign(new ActivatedRouteStub(), { params: observableOf({ diff --git a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts index 50f9f8a79e..81229558c0 100644 --- a/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts +++ b/src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts @@ -12,7 +12,7 @@ import { Router } from '@angular/router'; * Represents a non-expandable section in the admin sidebar */ @Component({ - /* tslint:disable:component-selector */ + /* eslint-disable @angular-eslint/component-selector */ selector: 'li[ds-admin-sidebar-section]', templateUrl: './admin-sidebar-section.component.html', styleUrls: ['./admin-sidebar-section.component.scss'], diff --git a/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts b/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts index aaa6a85c51..c5163a5675 100644 --- a/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts +++ b/src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts @@ -15,7 +15,7 @@ import { Router } from '@angular/router'; * Represents a expandable section in the sidebar */ @Component({ - /* tslint:disable:component-selector */ + /* eslint-disable @angular-eslint/component-selector */ selector: 'li[ds-expandable-admin-sidebar-section]', templateUrl: './expandable-admin-sidebar-section.component.html', styleUrls: ['./expandable-admin-sidebar-section.component.scss'], diff --git a/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts b/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts index e8d8d3eb11..5f87730c1e 100644 --- a/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts +++ b/src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts @@ -110,15 +110,15 @@ describe('CollectionItemMapperComponent', () => { }; const searchServiceStub = Object.assign(new SearchServiceStub(), { search: () => observableOf(emptyList), - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ clearDiscoveryRequests: () => {} - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }); const collectionDataServiceStub = { getMappedItems: () => observableOf(emptyList), - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ clearMappedItemsRequests: () => {} - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; const routeServiceStub = { getRouteParameterValue: () => { diff --git a/src/app/community-list-page/community-list-service.ts b/src/app/community-list-page/community-list-service.ts index 76d33585da..67f462e99e 100644 --- a/src/app/community-list-page/community-list-service.ts +++ b/src/app/community-list-page/community-list-service.ts @@ -108,7 +108,7 @@ export const MAX_COMCOLS_PER_PAGE = 20; * Service class for the community list, responsible for the creating of the flat list used by communityList dataSource * and connection to the store to retrieve and save the state of the community list */ -// tslint:disable-next-line:max-classes-per-file +// eslint-disable-next-line max-classes-per-file @Injectable() export class CommunityListService { diff --git a/src/app/core/auth/auth.actions.ts b/src/app/core/auth/auth.actions.ts index 15e42c8576..75d60ac977 100644 --- a/src/app/core/auth/auth.actions.ts +++ b/src/app/core/auth/auth.actions.ts @@ -39,7 +39,7 @@ export const AuthActionTypes = { UNSET_USER_AS_IDLE: type('dspace/auth/UNSET_USER_AS_IDLE') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Authenticate. @@ -411,7 +411,7 @@ export class SetUserAsIdleAction implements Action { export class UnsetUserAsIdleAction implements Action { public type: string = AuthActionTypes.UNSET_USER_AS_IDLE; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Actions type. diff --git a/src/app/core/auth/auth.interceptor.spec.ts b/src/app/core/auth/auth.interceptor.spec.ts index 029deb5326..04bbc4acaf 100644 --- a/src/app/core/auth/auth.interceptor.spec.ts +++ b/src/app/core/auth/auth.interceptor.spec.ts @@ -20,9 +20,9 @@ describe(`AuthInterceptor`, () => { const authServiceStub = new AuthServiceStub(); const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ select: observableOf(true) }); diff --git a/src/app/core/auth/auth.interceptor.ts b/src/app/core/auth/auth.interceptor.ts index a49030110b..e55d0c0ff9 100644 --- a/src/app/core/auth/auth.interceptor.ts +++ b/src/app/core/auth/auth.interceptor.ts @@ -144,7 +144,7 @@ export class AuthInterceptor implements HttpInterceptor { const regex = /(\w+ (\w+=((".*?")|[^,]*)(, )?)*)/g; const realms = completeWWWauthenticateHeader.match(regex); - // tslint:disable-next-line:forin + // eslint-disable-next-line guard-for-in for (const j in realms) { const splittedRealm = realms[j].split(', '); diff --git a/src/app/core/browse/browse-definition-data.service.ts b/src/app/core/browse/browse-definition-data.service.ts index dd66d8fa53..334c092826 100644 --- a/src/app/core/browse/browse-definition-data.service.ts +++ b/src/app/core/browse/browse-definition-data.service.ts @@ -18,7 +18,7 @@ import { RemoteData } from '../data/remote-data'; import { FindListOptions } from '../data/request.models'; import { PaginatedList } from '../data/paginated-list.model'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class DataServiceImpl extends DataService { protected linkPath = 'browses'; @@ -123,4 +123,4 @@ export class BrowseDefinitionDataService { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/cache/builders/build-decorators.spec.ts b/src/app/core/cache/builders/build-decorators.spec.ts index 0c6074630b..57c2740c49 100644 --- a/src/app/core/cache/builders/build-decorators.spec.ts +++ b/src/app/core/cache/builders/build-decorators.spec.ts @@ -3,7 +3,7 @@ import { HALResource } from '../../shared/hal-resource.model'; import { ResourceType } from '../../shared/resource-type'; import { dataService, getDataServiceFor, getLinkDefinition, link, } from './build-decorators'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class TestService { } @@ -80,4 +80,4 @@ describe('build decorators', () => { }); }); }); -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/cache/builders/link.service.spec.ts b/src/app/core/cache/builders/link.service.spec.ts index f567c39314..b151bfd3e8 100644 --- a/src/app/core/cache/builders/link.service.spec.ts +++ b/src/app/core/cache/builders/link.service.spec.ts @@ -12,7 +12,7 @@ import { isEmpty } from 'rxjs/operators'; const TEST_MODEL = new ResourceType('testmodel'); let result: any; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class TestModel implements HALResource { static type = TEST_MODEL; @@ -251,4 +251,4 @@ describe('LinkService', () => { }); }); -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/cache/object-cache.actions.ts b/src/app/core/cache/object-cache.actions.ts index ed509341a7..5011c937d7 100644 --- a/src/app/core/cache/object-cache.actions.ts +++ b/src/app/core/cache/object-cache.actions.ts @@ -15,7 +15,7 @@ export const ObjectCacheActionTypes = { APPLY_PATCH: type('dspace/core/cache/object/APPLY_PATCH') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An ngrx action to add an object to the cache */ @@ -126,7 +126,7 @@ export class ApplyPatchObjectCacheAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all ObjectCacheActions diff --git a/src/app/core/cache/object-cache.reducer.spec.ts b/src/app/core/cache/object-cache.reducer.spec.ts index 077a1e67f8..61d587b6de 100644 --- a/src/app/core/cache/object-cache.reducer.spec.ts +++ b/src/app/core/cache/object-cache.reducer.spec.ts @@ -105,10 +105,10 @@ describe('objectCacheReducer', () => { const action = new AddToObjectCacheAction(objectToCache, timeCompleted, msToLive, requestUUID, altLink1); const newState = objectCacheReducer(testState, action); - /* tslint:disable:no-string-literal */ + /* eslint-disable @typescript-eslint/dot-notation */ expect(newState[selfLink1].data['foo']).toBe('baz'); expect(newState[selfLink1].data['somethingElse']).toBe(true); - /* tslint:enable:no-string-literal */ + /* eslint-enable @typescript-eslint/dot-notation */ }); it('should perform the ADD action without affecting the previous state', () => { diff --git a/src/app/core/cache/object-cache.reducer.ts b/src/app/core/cache/object-cache.reducer.ts index 8c1420704c..946f9ed33a 100644 --- a/src/app/core/cache/object-cache.reducer.ts +++ b/src/app/core/cache/object-cache.reducer.ts @@ -49,7 +49,7 @@ export const getResourceTypeValueFor = (type: any): string => { } }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An interface to represent objects that can be cached * @@ -110,7 +110,7 @@ export class ObjectCacheEntry implements CacheEntry { alternativeLinks: string[]; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * The ObjectCache State diff --git a/src/app/core/cache/response.models.ts b/src/app/core/cache/response.models.ts index 3c7c272830..56505eedb7 100644 --- a/src/app/core/cache/response.models.ts +++ b/src/app/core/cache/response.models.ts @@ -5,7 +5,7 @@ import { DSpaceObject } from '../shared/dspace-object.model'; import { HALLink } from '../shared/hal-link.model'; import { UnCacheableObject } from '../shared/uncacheable-object.model'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ export class RestResponse { public toCache = true; public timeCompleted: number; @@ -140,4 +140,4 @@ export class FilteredDiscoveryQueryResponse extends RestResponse { super(true, statusCode, statusText); } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/cache/server-sync-buffer.actions.ts b/src/app/core/cache/server-sync-buffer.actions.ts index 6095083a6c..a40343c6b5 100644 --- a/src/app/core/cache/server-sync-buffer.actions.ts +++ b/src/app/core/cache/server-sync-buffer.actions.ts @@ -12,7 +12,7 @@ export const ServerSyncBufferActionTypes = { EMPTY: type('dspace/core/cache/syncbuffer/EMPTY'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An ngrx action to add a new cached object to the server sync buffer @@ -71,7 +71,7 @@ export class EmptySSBAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all ServerSyncBufferActions diff --git a/src/app/core/cache/server-sync-buffer.effects.spec.ts b/src/app/core/cache/server-sync-buffer.effects.spec.ts index a53c6af982..833c6b580f 100644 --- a/src/app/core/cache/server-sync-buffer.effects.spec.ts +++ b/src/app/core/cache/server-sync-buffer.effects.spec.ts @@ -83,7 +83,7 @@ describe('ServerSyncBufferEffects', () => { }); it('should return a COMMIT action in response to an ADD action', () => { - // tslint:disable-next-line:no-shadowed-variable + // eslint-disable-next-line @typescript-eslint/no-shadow testScheduler.run(({ hot, expectObservable }) => { actions = hot('a', { a: { diff --git a/src/app/core/config/config.service.ts b/src/app/core/config/config.service.ts index ddf909b5b0..46e29d19c5 100644 --- a/src/app/core/config/config.service.ts +++ b/src/app/core/config/config.service.ts @@ -31,7 +31,7 @@ class DataServiceImpl extends DataService { } } -// tslint:disable-next-line:max-classes-per-file +// eslint-disable-next-line max-classes-per-file export abstract class ConfigService { /** * A private DataService instance to delegate specific methods to. diff --git a/src/app/core/data/base-response-parsing.service.spec.ts b/src/app/core/data/base-response-parsing.service.spec.ts index 94285d49d8..f679094b43 100644 --- a/src/app/core/data/base-response-parsing.service.spec.ts +++ b/src/app/core/data/base-response-parsing.service.spec.ts @@ -4,7 +4,7 @@ import { CacheableObject } from '../cache/object-cache.reducer'; import { GetRequest, RestRequest } from './request.models'; import { DSpaceObject } from '../shared/dspace-object.model'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class TestService extends BaseResponseParsingService { toCache = true; @@ -101,4 +101,4 @@ describe('BaseResponseParsingService', () => { }); }); }); -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/base-response-parsing.service.ts b/src/app/core/data/base-response-parsing.service.ts index b571b29f02..95129cac64 100644 --- a/src/app/core/data/base-response-parsing.service.ts +++ b/src/app/core/data/base-response-parsing.service.ts @@ -10,7 +10,7 @@ import { getClassForType } from '../cache/builders/build-decorators'; import { RestRequest } from './request.models'; import { environment } from '../../../environments/environment'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Return true if halObj has a value for `_links.self` @@ -180,4 +180,4 @@ export abstract class BaseResponseParsingService { return statusCode >= 200 && statusCode < 300; } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/comcol-data.service.spec.ts b/src/app/core/data/comcol-data.service.spec.ts index 864c583dc2..da717d3009 100644 --- a/src/app/core/data/comcol-data.service.spec.ts +++ b/src/app/core/data/comcol-data.service.spec.ts @@ -49,7 +49,7 @@ class TestService extends ComColDataService { } } -// tslint:disable:no-shadowed-variable +/* eslint-disable @typescript-eslint/no-shadow */ describe('ComColDataService', () => { let service: TestService; let requestService: RequestService; diff --git a/src/app/core/data/configuration-data.service.ts b/src/app/core/data/configuration-data.service.ts index 91d5af6ecc..d19b63d629 100644 --- a/src/app/core/data/configuration-data.service.ts +++ b/src/app/core/data/configuration-data.service.ts @@ -15,7 +15,7 @@ import { ConfigurationProperty } from '../shared/configuration-property.model'; import { DefaultChangeAnalyzer } from './default-change-analyzer.service'; import { CONFIG_PROPERTY } from '../shared/config-property.resource-type'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class DataServiceImpl extends DataService { protected linkPath = 'properties'; @@ -60,4 +60,4 @@ export class ConfigurationDataService { return this.dataService.findById(name); } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/data.service.spec.ts b/src/app/core/data/data.service.spec.ts index 5bc7423824..de187999af 100644 --- a/src/app/core/data/data.service.spec.ts +++ b/src/app/core/data/data.service.spec.ts @@ -26,7 +26,7 @@ import { RequestEntryState } from './request.reducer'; const endpoint = 'https://rest.api/core'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class TestService extends DataService { constructor( @@ -833,4 +833,4 @@ describe('DataService', () => { }); }); }); -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/dspace-object-data.service.ts b/src/app/core/data/dspace-object-data.service.ts index eb230e2f54..62feb0c909 100644 --- a/src/app/core/data/dspace-object-data.service.ts +++ b/src/app/core/data/dspace-object-data.service.ts @@ -18,7 +18,7 @@ import { RequestService } from './request.service'; import { FindListOptions } from './request.models'; import { PaginatedList } from './paginated-list.model'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class DataServiceImpl extends DataService { protected linkPath = 'dso'; @@ -104,4 +104,4 @@ export class DSpaceObjectDataService { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/dspace-rest-response-parsing.service.ts b/src/app/core/data/dspace-rest-response-parsing.service.ts index 2fda0bf40a..cb207e6187 100644 --- a/src/app/core/data/dspace-rest-response-parsing.service.ts +++ b/src/app/core/data/dspace-rest-response-parsing.service.ts @@ -18,7 +18,7 @@ import { RestRequestMethod } from './rest-request-method'; import { getUrlWithoutEmbedParams, getEmbedSizeParams } from '../index/index.selectors'; import { URLCombiner } from '../url-combiner/url-combiner'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Return true if obj has a value for `_links.self` @@ -271,4 +271,4 @@ export class DspaceRestResponseParsingService implements ResponseParsingService return statusCode >= 200 && statusCode < 300; } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/eperson-registration.service.spec.ts b/src/app/core/data/eperson-registration.service.spec.ts index c2c2353ded..263d928bea 100644 --- a/src/app/core/data/eperson-registration.service.spec.ts +++ b/src/app/core/data/eperson-registration.service.spec.ts @@ -100,7 +100,7 @@ describe('EpersonRegistrationService', () => { })); }); - // tslint:disable:no-shadowed-variable + /* eslint-disable @typescript-eslint/no-shadow */ it('should use cached responses and /registrations/search/findByToken?', () => { testScheduler.run(({ cold, expectObservable }) => { rdbService.buildSingle.and.returnValue(cold('a', { a: rd })); diff --git a/src/app/core/data/href-only-data.service.ts b/src/app/core/data/href-only-data.service.ts index b1bc14ec6f..595f8582d6 100644 --- a/src/app/core/data/href-only-data.service.ts +++ b/src/app/core/data/href-only-data.service.ts @@ -20,7 +20,7 @@ import { ITEM_TYPE } from '../shared/item-relationships/item-type.resource-type' import { LICENSE } from '../shared/license.resource-type'; import { CacheableObject } from '../cache/object-cache.reducer'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class DataServiceImpl extends DataService { // linkPath isn't used if we're only searching by href. protected linkPath = undefined; diff --git a/src/app/core/data/item-template-data.service.ts b/src/app/core/data/item-template-data.service.ts index 19e6941385..20398afe1d 100644 --- a/src/app/core/data/item-template-data.service.ts +++ b/src/app/core/data/item-template-data.service.ts @@ -24,7 +24,7 @@ import { hasValue } from '../../shared/empty.util'; import { Operation } from 'fast-json-patch'; import { getFirstCompletedRemoteData } from '../shared/operators'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * A custom implementation of the ItemDataService, but for collection item templates * Makes sure to change the endpoint before sending out CRUD requests for the item template @@ -228,4 +228,4 @@ export class ItemTemplateDataService implements UpdateDataService { return this.dataService.getCollectionEndpoint(collectionID); } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/object-updates/object-updates.actions.ts b/src/app/core/data/object-updates/object-updates.actions.ts index 13bbabb286..76dba8a982 100644 --- a/src/app/core/data/object-updates/object-updates.actions.ts +++ b/src/app/core/data/object-updates/object-updates.actions.ts @@ -21,7 +21,7 @@ export const ObjectUpdatesActionTypes = { REMOVE_FIELD: type('dspace/core/cache/object-updates/REMOVE_FIELD') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Enum that represents the different types of updates that can be performed on a field in the ObjectUpdates store @@ -283,7 +283,7 @@ export class RemoveFieldUpdateAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all ObjectUpdatesActions diff --git a/src/app/core/data/relationship-type.service.spec.ts b/src/app/core/data/relationship-type.service.spec.ts index 910b7662dc..ab9f0502fe 100644 --- a/src/app/core/data/relationship-type.service.spec.ts +++ b/src/app/core/data/relationship-type.service.spec.ts @@ -65,11 +65,11 @@ describe('RelationshipTypeService', () => { buildList = createSuccessfulRemoteDataObject(createPaginatedList([relationshipType1, relationshipType2])); rdbService = getMockRemoteDataBuildService(undefined, observableOf(buildList)); objectCache = Object.assign({ - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ remove: () => { }, hasBySelfLinkObservable: () => observableOf(false) - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }) as ObjectCacheService; itemService = undefined; diff --git a/src/app/core/data/relationship.service.spec.ts b/src/app/core/data/relationship.service.spec.ts index 0f7dd319c3..0ebad02234 100644 --- a/src/app/core/data/relationship.service.spec.ts +++ b/src/app/core/data/relationship.service.spec.ts @@ -107,12 +107,12 @@ describe('RelationshipService', () => { 'https://rest.api/core/publication/relationships': relationships$ }); const objectCache = Object.assign({ - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ remove: () => { }, hasBySelfLinkObservable: () => observableOf(false), hasByHref$: () => observableOf(false) - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }) as ObjectCacheService; const itemService = jasmine.createSpyObj('itemService', { diff --git a/src/app/core/data/request.actions.ts b/src/app/core/data/request.actions.ts index 8b3511d3e4..afdbc0865f 100644 --- a/src/app/core/data/request.actions.ts +++ b/src/app/core/data/request.actions.ts @@ -17,7 +17,7 @@ export const RequestActionTypes = { REMOVE: type('dspace/core/data/request/REMOVE') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ export abstract class RequestUpdateAction implements Action { abstract type: string; lastUpdated: number; @@ -185,7 +185,7 @@ export class RequestRemoveAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all RequestActions diff --git a/src/app/core/data/request.models.ts b/src/app/core/data/request.models.ts index a29c99d326..5179330214 100644 --- a/src/app/core/data/request.models.ts +++ b/src/app/core/data/request.models.ts @@ -11,7 +11,7 @@ import { ContentSourceResponseParsingService } from './content-source-response-p import { DspaceRestResponseParsingService } from './dspace-rest-response-parsing.service'; import { environment } from '../../../environments/environment'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ // uuid and handle requests have separate endpoints export enum IdentifierType { @@ -280,4 +280,4 @@ export class RequestError extends Error { statusCode: number; statusText: string; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/data/request.reducer.ts b/src/app/core/data/request.reducer.ts index 5dcee2dbb1..4bb8348b34 100644 --- a/src/app/core/data/request.reducer.ts +++ b/src/app/core/data/request.reducer.ts @@ -112,7 +112,7 @@ export class ResponseState { unCacheableObject?: UnCacheableObject; } -// tslint:disable-next-line:max-classes-per-file +// eslint-disable-next-line max-classes-per-file export class RequestEntry { request: RestRequest; state: RequestEntryState; diff --git a/src/app/core/data/root-data.service.ts b/src/app/core/data/root-data.service.ts index 035e14168f..bde56fa43c 100644 --- a/src/app/core/data/root-data.service.ts +++ b/src/app/core/data/root-data.service.ts @@ -21,7 +21,7 @@ import { DspaceRestService } from '../dspace-rest/dspace-rest.service'; import { RawRestResponse } from '../dspace-rest/raw-rest-response.model'; import { catchError, map } from 'rxjs/operators'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * A private DataService implementation to delegate specific methods to. @@ -131,4 +131,4 @@ export class RootDataService { this.requestService.setStaleByHrefSubstring(this.halService.getRootHref()); } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/history/history.actions.ts b/src/app/core/history/history.actions.ts index 280a1907d1..8cff58cbcf 100644 --- a/src/app/core/history/history.actions.ts +++ b/src/app/core/history/history.actions.ts @@ -7,7 +7,7 @@ export const HistoryActionTypes = { GET_HISTORY: type('dspace/history/GET_HISTORY') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ export class AddUrlToHistoryAction implements Action { type = HistoryActionTypes.ADD_TO_HISTORY; @@ -20,7 +20,7 @@ export class AddUrlToHistoryAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ export type HistoryAction = AddUrlToHistoryAction; diff --git a/src/app/core/index/index.actions.ts b/src/app/core/index/index.actions.ts index feff7a4486..ff31393bf6 100644 --- a/src/app/core/index/index.actions.ts +++ b/src/app/core/index/index.actions.ts @@ -12,7 +12,7 @@ export const IndexActionTypes = { REMOVE_BY_SUBSTRING: type('dspace/core/index/REMOVE_BY_SUBSTRING') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An ngrx action to add a value to the index */ @@ -86,7 +86,7 @@ export class RemoveFromIndexBySubstringAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all HrefIndexActions diff --git a/src/app/core/json-patch/json-patch-operations.actions.ts b/src/app/core/json-patch/json-patch-operations.actions.ts index 91fc6cb0da..b52c19d002 100644 --- a/src/app/core/json-patch/json-patch-operations.actions.ts +++ b/src/app/core/json-patch/json-patch-operations.actions.ts @@ -23,7 +23,7 @@ export const JsonPatchOperationsActionTypes = { DELETE_PENDING_JSON_PATCH_OPERATIONS: type('dspace/core/patch/DELETE_PENDING_JSON_PATCH_OPERATIONS'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An ngrx action to commit the current transaction @@ -269,7 +269,7 @@ export class DeletePendingJsonPatchOperationsAction implements Action { type = JsonPatchOperationsActionTypes.DELETE_PENDING_JSON_PATCH_OPERATIONS; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/core/json-patch/json-patch-operations.effects.spec.ts b/src/app/core/json-patch/json-patch-operations.effects.spec.ts index 9f836fe54d..8ad238b21d 100644 --- a/src/app/core/json-patch/json-patch-operations.effects.spec.ts +++ b/src/app/core/json-patch/json-patch-operations.effects.spec.ts @@ -14,9 +14,9 @@ describe('JsonPatchOperationsEffects test suite', () => { let jsonPatchOperationsEffects: JsonPatchOperationsEffects; let actions: Observable; const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ select: observableOf(true) }); const testJsonPatchResourceType = 'testResourceType'; diff --git a/src/app/core/metadata/meta-tag.actions.ts b/src/app/core/metadata/meta-tag.actions.ts index cd048d3be2..bc878663ce 100644 --- a/src/app/core/metadata/meta-tag.actions.ts +++ b/src/app/core/metadata/meta-tag.actions.ts @@ -1,7 +1,7 @@ import { type } from '../../shared/ngrx/type'; import { Action } from '@ngrx/store'; -// tslint:disable:max-classes-per-file +/* eslint-disable max-classes-per-file */ export const MetaTagTypes = { ADD: type('dspace/meta-tag/ADD'), CLEAR: type('dspace/meta-tag/CLEAR') diff --git a/src/app/core/resource-policy/resource-policy.service.ts b/src/app/core/resource-policy/resource-policy.service.ts index 0f4c6a78f8..4be64081a1 100644 --- a/src/app/core/resource-policy/resource-policy.service.ts +++ b/src/app/core/resource-policy/resource-policy.service.ts @@ -28,7 +28,7 @@ import { map } from 'rxjs/operators'; import { NoContent } from '../shared/NoContent.model'; import { getFirstCompletedRemoteData } from '../shared/operators'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * A private DataService implementation to delegate specific methods to. @@ -222,4 +222,4 @@ export class ResourcePolicyService { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/router/router.actions.ts b/src/app/core/router/router.actions.ts index e12356f372..0c70419541 100644 --- a/src/app/core/router/router.actions.ts +++ b/src/app/core/router/router.actions.ts @@ -8,7 +8,7 @@ export const RouterActionTypes = { ROUTE_UPDATE: type('dspace/core/router/ROUTE_UPDATE'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An ngrx action to be fired when the route is updated * Note that, contrary to the router-store.ROUTER_NAVIGATION action, @@ -19,4 +19,4 @@ export class RouteUpdateAction implements Action { type = RouterActionTypes.ROUTE_UPDATE; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/services/route.actions.ts b/src/app/core/services/route.actions.ts index 1d3381e2ec..9c189207e6 100644 --- a/src/app/core/services/route.actions.ts +++ b/src/app/core/services/route.actions.ts @@ -15,7 +15,7 @@ export const RouteActionTypes = { RESET: type('dspace/core/route/RESET'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An ngrx action to set the query parameters */ @@ -151,7 +151,7 @@ export class ResetRouteStateAction implements Action { type = RouteActionTypes.RESET; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all RouteActions diff --git a/src/app/core/shared/generic-constructor.ts b/src/app/core/shared/generic-constructor.ts index 49a488dc9a..2298c29b60 100644 --- a/src/app/core/shared/generic-constructor.ts +++ b/src/app/core/shared/generic-constructor.ts @@ -3,6 +3,6 @@ * more details: * https://github.com/Microsoft/TypeScript/issues/204#issuecomment-257722306 */ -/* tslint:disable:interface-over-type-literal */ +/* eslint-disable @typescript-eslint/consistent-type-definitions */ export type GenericConstructor = new (...args: any[]) => T ; -/* tslint:enable:interface-over-type-literal */ +/* eslint-enable @typescript-eslint/consistent-type-definitions */ diff --git a/src/app/core/shared/metadata.models.ts b/src/app/core/shared/metadata.models.ts index 463f61c077..3d263148d6 100644 --- a/src/app/core/shared/metadata.models.ts +++ b/src/app/core/shared/metadata.models.ts @@ -1,7 +1,7 @@ import { v4 as uuidv4 } from 'uuid'; import { autoserialize, Serialize, Deserialize } from 'cerialize'; import { hasValue } from '../../shared/empty.util'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ export const VIRTUAL_METADATA_PREFIX = 'virtual::'; @@ -138,4 +138,4 @@ export const MetadataMapSerializer = { return metadataMap; } }; -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/shared/operators.spec.ts b/src/app/core/shared/operators.spec.ts index 6fd15ceacc..1cb94dbdde 100644 --- a/src/app/core/shared/operators.spec.ts +++ b/src/app/core/shared/operators.spec.ts @@ -20,7 +20,7 @@ import { createSuccessfulRemoteDataObject } from '../../shared/remote-data.utils'; -// tslint:disable:no-shadowed-variable +/* eslint-disable @typescript-eslint/no-shadow */ describe('Core Module - RxJS Operators', () => { let scheduler: TestScheduler; diff --git a/src/app/core/shared/search/search-filter.service.spec.ts b/src/app/core/shared/search/search-filter.service.spec.ts index a42bf8e5f6..f18999bbe6 100644 --- a/src/app/core/shared/search/search-filter.service.spec.ts +++ b/src/app/core/shared/search/search-filter.service.spec.ts @@ -30,14 +30,14 @@ describe('SearchFilterService', () => { const value1 = 'random value'; // const value2 = 'another value'; const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ select: observableOf(true) }); const routeServiceStub: any = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ hasQueryParamWithValue: (param: string, value: string) => { }, hasQueryParam: (param: string) => { @@ -56,7 +56,7 @@ describe('SearchFilterService', () => { }, getRouteParameterValue: (param: string) => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; const activatedRoute: any = new ActivatedRouteStub(); const searchServiceStub: any = { diff --git a/src/app/core/shared/search/search.service.spec.ts b/src/app/core/shared/search/search.service.spec.ts index f9b768655e..04012aee7c 100644 --- a/src/app/core/shared/search/search.service.spec.ts +++ b/src/app/core/shared/search/search.service.spec.ts @@ -75,10 +75,10 @@ describe('SearchService', () => { let routeService; const halService = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ getEndpoint: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }; @@ -170,10 +170,10 @@ describe('SearchService', () => { beforeEach(() => { spyOn((searchService as any).halService, 'getEndpoint').and.returnValue(observableOf(endPoint)); spyOn((searchService as any).rdb, 'buildFromHref').and.callThrough(); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ searchService.search(searchOptions).subscribe((t) => { }); // subscribe to make sure all methods are called - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }); it('should call getEndpoint on the halService', () => { @@ -194,10 +194,10 @@ describe('SearchService', () => { beforeEach(() => { spyOn((searchService as any).halService, 'getEndpoint').and.returnValue(observableOf(endPoint)); spyOn((searchService as any).rdb, 'buildFromHref').and.callThrough(); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ searchService.getConfig(null).subscribe((t) => { }); // subscribe to make sure all methods are called - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }); it('should call getEndpoint on the halService', () => { @@ -219,10 +219,10 @@ describe('SearchService', () => { const requestUrl = endPoint + '?scope=' + scope; beforeEach(() => { spyOn((searchService as any).halService, 'getEndpoint').and.returnValue(observableOf(endPoint)); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ searchService.getConfig(scope).subscribe((t) => { }); // subscribe to make sure all methods are called - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }); it('should call getEndpoint on the halService', () => { @@ -243,10 +243,10 @@ describe('SearchService', () => { beforeEach(() => { spyOn((searchService as any).halService, 'getEndpoint').and.returnValue(observableOf(endPoint)); spyOn((searchService as any).rdb, 'buildFromHref').and.callThrough(); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ searchService.getSearchConfigurationFor(null).subscribe((t) => { }); // subscribe to make sure all methods are called - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }); it('should call getEndpoint on the halService', () => { @@ -268,10 +268,10 @@ describe('SearchService', () => { const requestUrl = endPoint + '?scope=' + scope; beforeEach(() => { spyOn((searchService as any).halService, 'getEndpoint').and.returnValue(observableOf(endPoint)); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ searchService.getSearchConfigurationFor(scope).subscribe((t) => { }); // subscribe to make sure all methods are called - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }); it('should call getEndpoint on the halService', () => { diff --git a/src/app/core/shared/search/search.service.ts b/src/app/core/shared/search/search.service.ts index f70416594d..c8dd268311 100644 --- a/src/app/core/shared/search/search.service.ts +++ b/src/app/core/shared/search/search.service.ts @@ -44,7 +44,7 @@ import { NotificationsService } from '../../../shared/notifications/notification import { HttpClient } from '@angular/common/http'; import { DSOChangeAnalyzer } from '../../data/dso-change-analyzer.service'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * A class that lets us delegate some methods to DataService */ diff --git a/src/app/core/submission/vocabularies/vocabulary.service.ts b/src/app/core/submission/vocabularies/vocabulary.service.ts index da58512441..22a1e4798d 100644 --- a/src/app/core/submission/vocabularies/vocabulary.service.ts +++ b/src/app/core/submission/vocabularies/vocabulary.service.ts @@ -34,7 +34,7 @@ import { VocabularyOptions } from './models/vocabulary-options.model'; import { PageInfo } from '../../shared/page-info.model'; import { HrefOnlyDataService } from '../../data/href-only-data.service'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * A private DataService implementation to delegate specific methods to. @@ -386,4 +386,4 @@ export class VocabularyService { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/core/tasks/tasks.service.spec.ts b/src/app/core/tasks/tasks.service.spec.ts index fd9aa038b9..606cf9bb77 100644 --- a/src/app/core/tasks/tasks.service.spec.ts +++ b/src/app/core/tasks/tasks.service.spec.ts @@ -25,7 +25,7 @@ import { of } from 'rxjs'; const LINK_NAME = 'test'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ class TestTask extends TaskObject { } @@ -52,7 +52,7 @@ class DummyChangeAnalyzer implements ChangeAnalyzer { } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ describe('TasksService', () => { let scheduler: TestScheduler; diff --git a/src/app/core/utilities/equals.decorators.ts b/src/app/core/utilities/equals.decorators.ts index 82422e29b6..5efe8e75f3 100644 --- a/src/app/core/utilities/equals.decorators.ts +++ b/src/app/core/utilities/equals.decorators.ts @@ -41,7 +41,7 @@ export function excludeFromEquals(object: any, propertyName: string): any { excludedFromEquals.set(object.constructor, [...list, propertyName]); } -// tslint:disable-next-line:ban-types +// eslint-disable-next-line @typescript-eslint/ban-types export function getExcludedFromEqualsFor(constructor: Function): string[] { return excludedFromEquals.get(constructor) || []; } @@ -64,7 +64,7 @@ export function fieldsForEquals(...fields: string[]): any { }; } -// tslint:disable-next-line:ban-types +// eslint-disable-next-line @typescript-eslint/ban-types export function getFieldsForEquals(constructor: Function, field: string): string[] { const fieldMap = fieldsForEqualsMap.get(constructor) || new Map(); return fieldMap.get(field); diff --git a/src/app/core/utilities/equatable.spec.ts b/src/app/core/utilities/equatable.spec.ts index 79136cd221..b42f078d98 100644 --- a/src/app/core/utilities/equatable.spec.ts +++ b/src/app/core/utilities/equatable.spec.ts @@ -14,7 +14,7 @@ class Dog extends EquatableObject { public favouriteToy: { name: string, colour: string }; } -// tslint:disable-next-line:max-classes-per-file +// eslint-disable-next-line max-classes-per-file class Owner extends EquatableObject { @excludeFromEquals favouriteFood: string; diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts index cd3f665118..a7fe2a99dd 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts @@ -10,7 +10,7 @@ import { InputSuggestionsComponent } from '../../../../../../shared/input-sugges { provide: NG_VALUE_ACCESSOR, // Usage of forwardRef necessary https://github.com/angular/angular.io/issues/1151 - // tslint:disable-next-line:no-forward-ref + // eslint-disable-next-line @angular-eslint/no-forward-ref useExisting: forwardRef(() => OrgUnitInputSuggestionsComponent), multi: true } diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts index 7e12d4da42..5109a19963 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts @@ -10,7 +10,7 @@ import { InputSuggestionsComponent } from '../../../../../../shared/input-sugges { provide: NG_VALUE_ACCESSOR, // Usage of forwardRef necessary https://github.com/angular/angular.io/issues/1151 - // tslint:disable-next-line:no-forward-ref + // eslint-disable-next-line @angular-eslint/no-forward-ref useExisting: forwardRef(() => PersonInputSuggestionsComponent), multi: true } diff --git a/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts b/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts index cff9104c01..6d60840bfb 100644 --- a/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts +++ b/src/app/item-page/edit-item-page/edit-item-page.component.spec.ts @@ -19,7 +19,7 @@ describe('ItemPageComponent', () => { } } - // tslint:disable-next-line:max-classes-per-file + // eslint-disable-next-line max-classes-per-file class AcceptNoneGuard implements CanActivate { canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree { console.log('BLA'); diff --git a/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts b/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts index a2299be5ba..ec64b194c1 100644 --- a/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts @@ -195,7 +195,7 @@ describe('ItemBitstreamsComponent', () => { const event = { fromIndex: 0, toIndex: 50, - // tslint:disable-next-line:no-empty + // eslint-disable-next-line no-empty,@typescript-eslint/no-empty-function finish: () => { } }; @@ -210,7 +210,7 @@ describe('ItemBitstreamsComponent', () => { comp.dropBitstream(bundle, { fromIndex: 0, toIndex: 50, - // tslint:disable-next-line:no-empty + // eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function finish: () => { done(); } diff --git a/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts b/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts index c073f2d63e..56fe29d576 100644 --- a/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts +++ b/src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts @@ -84,18 +84,18 @@ describe('ItemCollectionMapperComponent', () => { removeMappingFromCollection: () => createSuccessfulRemoteDataObject$({}), getMappedCollectionsEndpoint: () => observableOf('rest/api/mappedCollectionsEndpoint'), getMappedCollections: () => observableOf(mockCollectionsRD), - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ clearMappedCollectionsRequests: () => {} - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }; const collectionDataServiceStub = { findAllByHref: () => observableOf(mockCollectionsRD) }; const searchServiceStub = Object.assign(new SearchServiceStub(), { search: () => observableOf(mockCollectionsRD), - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ clearDiscoveryRequests: () => {} - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }); const activatedRouteStub = { parent: { diff --git a/src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts b/src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts index 2782747916..6cca45b2df 100644 --- a/src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts +++ b/src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts @@ -17,7 +17,7 @@ import { InputSuggestion } from '../../../../shared/input-suggestions/input-sugg import { followLink } from '../../../../shared/utils/follow-link-config.model'; @Component({ - // tslint:disable-next-line:component-selector + // eslint-disable-next-line @angular-eslint/component-selector selector: '[ds-edit-in-place-field]', styleUrls: ['./edit-in-place-field.component.scss'], templateUrl: './edit-in-place-field.component.html', diff --git a/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts b/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts index f13b0a15e5..18ca46bd0e 100644 --- a/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts +++ b/src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts @@ -15,7 +15,7 @@ import { hasValue, isNotEmpty } from '../../../../shared/empty.util'; import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; @Component({ - // tslint:disable-next-line:component-selector + // eslint-disable-next-line @angular-eslint/component-selector selector: 'ds-edit-relationship', styleUrls: ['./edit-relationship.component.scss'], templateUrl: './edit-relationship.component.html', diff --git a/src/app/item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts b/src/app/item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts index e17e5397b7..88bb30b9ba 100644 --- a/src/app/item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts +++ b/src/app/item-page/field-components/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts @@ -3,7 +3,7 @@ import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { MetadataFieldWrapperComponent } from './metadata-field-wrapper.component'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ @Component({ selector: 'ds-component-without-content', template: '\n' + @@ -34,7 +34,7 @@ class TextContentComponent { @Input() hideIfNoTextContent = true; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ describe('MetadataFieldWrapperComponent', () => { let component: MetadataFieldWrapperComponent; diff --git a/src/app/item-page/full/full-item-page.component.spec.ts b/src/app/item-page/full/full-item-page.component.spec.ts index c7643a940e..c739efe500 100644 --- a/src/app/item-page/full/full-item-page.component.spec.ts +++ b/src/app/item-page/full/full-item-page.component.spec.ts @@ -41,10 +41,10 @@ const mockWithdrawnItem: Item = Object.assign(new Item(), { }); const metadataServiceStub = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ processRemoteData: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; describe('FullItemPageComponent', () => { diff --git a/src/app/item-page/simple/item-page.component.spec.ts b/src/app/item-page/simple/item-page.component.spec.ts index 2ad0bbb272..ee88d4baa5 100644 --- a/src/app/item-page/simple/item-page.component.spec.ts +++ b/src/app/item-page/simple/item-page.component.spec.ts @@ -43,10 +43,10 @@ describe('ItemPageComponent', () => { let authorizationDataService: AuthorizationDataService; const mockMetadataService = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ processRemoteData: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; const mockRoute = Object.assign(new ActivatedRouteStub(), { data: observableOf({ dso: createSuccessfulRemoteDataObject(mockItem) }) diff --git a/src/app/login-page/login-page.component.spec.ts b/src/app/login-page/login-page.component.spec.ts index 241aa5f9b7..baaa3430ac 100644 --- a/src/app/login-page/login-page.component.spec.ts +++ b/src/app/login-page/login-page.component.spec.ts @@ -17,9 +17,9 @@ describe('LoginPageComponent', () => { }); const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ select: observableOf(true) }); diff --git a/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts b/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts index 53646a27d8..7bc675bb48 100644 --- a/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts +++ b/src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts @@ -94,7 +94,7 @@ describe('CollectionSelectorComponent', () => { }) ]; - // tslint:disable-next-line: max-classes-per-file + // eslint-disable-next-line max-classes-per-file const collectionDataServiceMock = { getAuthorizedCollection(query: string, options: FindListOptions = {}, ...linksToFollow: FollowLinkConfig[]): Observable>> { return hot( 'a|', { diff --git a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts index a0c0240159..61ff19aff1 100644 --- a/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts +++ b/src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts @@ -11,7 +11,7 @@ import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator' * Represents an expandable section in the navbar */ @Component({ - /* tslint:disable:component-selector */ + /* eslint-disable @angular-eslint/component-selector */ selector: 'li[ds-expandable-navbar-section]', templateUrl: './expandable-navbar-section.component.html', styleUrls: ['./expandable-navbar-section.component.scss'], diff --git a/src/app/navbar/navbar-section/navbar-section.component.ts b/src/app/navbar/navbar-section/navbar-section.component.ts index 89d1653bbc..da152eed30 100644 --- a/src/app/navbar/navbar-section/navbar-section.component.ts +++ b/src/app/navbar/navbar-section/navbar-section.component.ts @@ -8,7 +8,7 @@ import { rendersSectionForMenu } from '../../shared/menu/menu-section.decorator' * Represents a non-expandable section in the navbar */ @Component({ - /* tslint:disable:component-selector */ + /* eslint-disable @angular-eslint/component-selector */ selector: 'li[ds-navbar-section]', templateUrl: './navbar-section.component.html', styleUrls: ['./navbar-section.component.scss'] diff --git a/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts b/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts index e5c2033d8b..dc146e1fd7 100644 --- a/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts @@ -62,9 +62,9 @@ describe('ComColFormComponent', () => { }); const notificationsService = new NotificationsServiceStub(); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ const locationStub = jasmine.createSpyObj('location', ['back']); - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ const requestServiceStub = jasmine.createSpyObj('requestService', { removeByHrefSubstring: {} diff --git a/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts b/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts index 0104de83ca..f4c05344fa 100644 --- a/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts @@ -140,10 +140,10 @@ describe('CreateComColPageComponent', () => { url: '' }, queue: [], - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ uploadAll: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ } }; }); @@ -185,10 +185,10 @@ describe('CreateComColPageComponent', () => { queue: [ {} ], - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ uploadAll: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } }; }); diff --git a/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts b/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts index 6aab79c5d4..bdc2637886 100644 --- a/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts @@ -144,10 +144,10 @@ describe('DeleteComColPageComponent', () => { url: '' }, queue: [], - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ uploadAll: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } }; }); diff --git a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts index 6588d9cbac..ef69e82c8c 100644 --- a/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts +++ b/src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts @@ -113,10 +113,10 @@ describe('ComColMetadataComponent', () => { url: '' }, queue: [], - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ uploadAll: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ }, deleteLogo: false, }; @@ -166,10 +166,10 @@ describe('ComColMetadataComponent', () => { queue: [ {} ], - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ uploadAll: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } }; }); diff --git a/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts b/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts index 0cc14cae22..6f469f0229 100644 --- a/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts +++ b/src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts @@ -9,7 +9,7 @@ import { TestScheduler } from 'rxjs/testing'; import { By } from '@angular/platform-browser'; import { createPaginatedList } from '../testing/utils.test'; -// tslint:disable-next-line:pipe-prefix +// eslint-disable-next-line @angular-eslint/pipe-prefix @Pipe({ name: 'translate' }) class MockTranslatePipe implements PipeTransform { transform(value: string): string { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts index b4d7ea75f3..b67e6f9e46 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts @@ -224,7 +224,7 @@ describe('DsDynamicFormControlContainerComponent test suite', () => { const ngZone = TestBed.inject(NgZone); - // tslint:disable-next-line:ban-types + // eslint-disable-next-line @typescript-eslint/ban-types spyOn(ngZone, 'runOutsideAngular').and.callFake((fn: Function) => fn()); component = fixture.componentInstance; debugElement = fixture.debugElement; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts index eb448a7d24..491850e639 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts @@ -192,7 +192,7 @@ export function dsDynamicFormControlMapFn(model: DynamicFormControlModel): Type< }) export class DsDynamicFormControlContainerComponent extends DynamicFormControlContainerComponent implements OnInit, OnChanges, OnDestroy { @ContentChildren(DynamicTemplateDirective) contentTemplateList: QueryList; - // tslint:disable-next-line:no-input-rename + // eslint-disable-next-line @angular-eslint/no-input-rename @Input('templates') inputTemplateList: QueryList; @Input() formId: string; @@ -218,12 +218,12 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo */ private subs: Subscription[] = []; - /* tslint:disable:no-output-rename */ + /* eslint-disable @angular-eslint/no-output-rename */ @Output('dfBlur') blur: EventEmitter = new EventEmitter(); @Output('dfChange') change: EventEmitter = new EventEmitter(); @Output('dfFocus') focus: EventEmitter = new EventEmitter(); @Output('ngbEvent') customEvent: EventEmitter = new EventEmitter(); - /* tslint:enable:no-output-rename */ + /* eslint-enable @angular-eslint/no-output-rename */ @ViewChild('componentViewContainer', { read: ViewContainerRef, static: true }) componentViewContainerRef: ViewContainerRef; private showErrorMessagesPreviousStage: boolean; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts index f68088df81..537a1f0f52 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts @@ -31,11 +31,11 @@ export class DsDynamicFormComponent extends DynamicFormComponent { @Input() formModel: DynamicFormControlModel[]; @Input() formLayout: DynamicFormLayout; - /* tslint:disable:no-output-rename */ + /* eslint-disable @angular-eslint/no-output-rename */ @Output('dfBlur') blur: EventEmitter = new EventEmitter(); @Output('dfChange') change: EventEmitter = new EventEmitter(); @Output('dfFocus') focus: EventEmitter = new EventEmitter(); - /* tslint:enable:no-output-rename */ + /* eslint-enable @angular-eslint/no-output-rename */ @Output() ngbEvent: EventEmitter = new EventEmitter(); diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts index 899400eba0..60cdfc9d7b 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts @@ -22,7 +22,7 @@ import { RemoveRelationshipAction } from '../relation-lookup-modal/relationship. import { SubmissionService } from '../../../../../submission/submission.service'; import { SubmissionObjectEntry } from '../../../../../submission/objects/submission-objects.reducer'; -// tslint:disable:max-classes-per-file +/* eslint-disable max-classes-per-file */ /** * Abstract class that defines objects that can be reordered */ @@ -218,4 +218,4 @@ export class ExistingMetadataListElementComponent implements OnInit, OnChanges, } -// tslint:enable:max-classes-per-file +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts index 8e55f32ee6..4a8259f451 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts @@ -14,7 +14,7 @@ import { ViewMode } from '../../../../../core/shared/view-mode.model'; import { ReorderableRelationship } from '../existing-metadata-list-element/existing-metadata-list-element.component'; import { SubmissionService } from '../../../../../submission/submission.service'; -// tslint:disable:max-classes-per-file +/* eslint-disable max-classes-per-file */ /** * Abstract class that defines objects that can be reordered */ @@ -120,4 +120,4 @@ export class ExistingRelationListElementComponent implements OnInit, OnChanges, } -// tslint:enable:max-classes-per-file +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts index 8ab38454a7..921b159718 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts @@ -28,13 +28,13 @@ export class DsDynamicFormArrayComponent extends DynamicFormArrayComponent { @Input() model: DynamicRowArrayModel;// DynamicRow? @Input() templates: QueryList | undefined; - /* tslint:disable:no-output-rename */ + /* eslint-disable @angular-eslint/no-output-rename */ @Output('dfBlur') blur: EventEmitter = new EventEmitter(); @Output('dfChange') change: EventEmitter = new EventEmitter(); @Output('dfFocus') focus: EventEmitter = new EventEmitter(); @Output('ngbEvent') customEvent: EventEmitter = new EventEmitter(); - /* tslint:enable:no-output-rename */ + /* eslint-enable @angular-eslint/no-output-rename */ constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService, diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts index 897e640302..789d5eb87c 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts @@ -24,12 +24,12 @@ export class DsDynamicFormGroupComponent extends DynamicFormControlComponent { @Input() model: DynamicFormGroupModel; @Input() templates: QueryList | DynamicTemplateDirective[] | undefined; - /* tslint:disable:no-output-rename */ + /* eslint-disable @angular-eslint/no-output-rename */ @Output('dfBlur') blur: EventEmitter = new EventEmitter(); @Output('dfChange') change: EventEmitter = new EventEmitter(); @Output('dfFocus') focus: EventEmitter = new EventEmitter(); @Output('ngbEvent') customEvent: EventEmitter = new EventEmitter(); - /* tslint:enable:no-output-rename */ + /* eslint-enable @angular-eslint/no-output-rename */ constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) { diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts index 6decd5087a..e314d7d31e 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts @@ -34,7 +34,7 @@ export let ONEBOX_TEST_GROUP; export let ONEBOX_TEST_MODEL_CONFIG; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ // Mock class for NgbModalRef export class MockNgbModalRef { @@ -463,4 +463,4 @@ class TestComponent { } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts index 1d1369f6c3..7b2c416699 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts @@ -23,13 +23,13 @@ import { } from '../../../../../testing/dynamic-form-mock-services'; function createKeyUpEvent(key: number) { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ const event = { keyCode: key, preventDefault: () => { }, stopPropagation: () => { } }; - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ spyOn(event, 'preventDefault'); spyOn(event, 'stopPropagation'); return event; diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts index 5d81eaf29a..d8e474ee08 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts @@ -123,7 +123,7 @@ describe('DsDynamicLookupRelationModalComponent', () => { { provide: RemoteDataBuildService, useValue: rdbService }, { provide: Store, useValue: { - // tslint:disable-next-line:no-empty + // eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function dispatch: () => { } } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts index 74e2f4511e..f871861551 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts @@ -302,7 +302,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy Object.values(this.subMap).forEach((subscription) => subscription.unsubscribe()); } - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ /** * Called when discard button is clicked, emit discard event to parent to conclude functionality */ @@ -314,6 +314,6 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy */ submitEv(): void { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts index 6f9ed2c517..f20bc3c537 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/name-variant.actions.ts @@ -9,7 +9,7 @@ export const NameVariantActionTypes = { REMOVE_NAME_VARIANT: type('dspace/name-variant/REMOVE_NAME_VARIANT'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Abstract class for actions that happen to name variants */ @@ -51,7 +51,7 @@ export class RemoveNameVariantAction extends NameVariantListAction { super(listID, itemID); } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all RelationshipActions diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts index 8708c0a356..00770a5b35 100644 --- a/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts +++ b/src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/relationship.actions.ts @@ -13,7 +13,7 @@ export const RelationshipActionTypes = { UPDATE_RELATIONSHIP: type('dspace/relationship/UPDATE_RELATIONSHIP'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * An ngrx action to create a new relationship */ @@ -132,7 +132,7 @@ export class RemoveRelationshipAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * A type to encompass all RelationshipActions diff --git a/src/app/shared/form/form.actions.ts b/src/app/shared/form/form.actions.ts index a5dbd70653..fbd42a612e 100644 --- a/src/app/shared/form/form.actions.ts +++ b/src/app/shared/form/form.actions.ts @@ -21,7 +21,7 @@ export const FormActionTypes = { FORM_CLEAR_ERRORS: type('dspace/form/FORM_CLEAR_ERRORS'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ export class FormInitAction implements Action { type = FormActionTypes.FORM_INIT; payload: { @@ -160,7 +160,7 @@ export class FormClearErrorsAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/shared/form/form.component.ts b/src/app/shared/form/form.component.ts index fa3d6ae93c..7c16be7542 100644 --- a/src/app/shared/form/form.component.ts +++ b/src/app/shared/form/form.component.ts @@ -71,12 +71,12 @@ export class FormComponent implements OnDestroy, OnInit { @Input() formGroup: FormGroup; @Input() formLayout = null as DynamicFormLayout; - /* tslint:disable:no-output-rename */ + /* eslint-disable @angular-eslint/no-output-rename */ @Output('dfBlur') blur: EventEmitter = new EventEmitter(); @Output('dfChange') change: EventEmitter = new EventEmitter(); @Output('dfFocus') focus: EventEmitter = new EventEmitter(); @Output('ngbEvent') customEvent: EventEmitter = new EventEmitter(); - /* tslint:enable:no-output-rename */ + /* eslint-enable @angular-eslint/no-output-rename */ @Output() addArrayItem: EventEmitter = new EventEmitter(); @Output() removeArrayItem: EventEmitter = new EventEmitter(); diff --git a/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts b/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts index 2d1071412a..e7ca432476 100644 --- a/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts +++ b/src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts @@ -14,7 +14,7 @@ import { hasValue } from '../../empty.util'; { provide: NG_VALUE_ACCESSOR, // Usage of forwardRef necessary https://github.com/angular/angular.io/issues/1151 - // tslint:disable-next-line:no-forward-ref + // eslint-disable-next-line @angular-eslint/no-forward-ref useExisting: forwardRef(() => DsoInputSuggestionsComponent), multi: true } diff --git a/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts b/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts index 9e7d84d9ed..ed1a074cd1 100644 --- a/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts +++ b/src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts @@ -11,7 +11,7 @@ import { InputSuggestion } from '../input-suggestions.model'; { provide: NG_VALUE_ACCESSOR, // Usage of forwardRef necessary https://github.com/angular/angular.io/issues/1151 - // tslint:disable-next-line:no-forward-ref + // eslint-disable-next-line @angular-eslint/no-forward-ref useExisting: forwardRef(() => FilterInputSuggestionsComponent), multi: true } diff --git a/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts b/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts index c6f92a41b3..d845df0555 100644 --- a/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts +++ b/src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts @@ -14,7 +14,7 @@ import { InputSuggestion } from '../input-suggestions.model'; { provide: NG_VALUE_ACCESSOR, // Usage of forwardRef necessary https://github.com/angular/angular.io/issues/1151 - // tslint:disable-next-line:no-forward-ref + // eslint-disable-next-line @angular-eslint/no-forward-ref useExisting: forwardRef(() => ValidationSuggestionsComponent), multi: true } diff --git a/src/app/shared/lang-switch/lang-switch.component.spec.ts b/src/app/shared/lang-switch/lang-switch.component.spec.ts index 61fd70d284..7757622f4c 100644 --- a/src/app/shared/lang-switch/lang-switch.component.spec.ts +++ b/src/app/shared/lang-switch/lang-switch.component.spec.ts @@ -14,9 +14,9 @@ import { LocaleService } from '../../core/locale/locale.service'; // The translation module is instantiated with these bogus messages that we aren't using anyway. // Double quotes are mandatory in JSON, so de-activating the tslint rule checking for single quotes here. -/* tslint:disable:quotemark */ +/* eslint-disable @typescript-eslint/quotes */ // JSON for the language files has double quotes around all literals -/* tslint:disable:object-literal-key-quotes */ +/* eslint-disable quote-props */ class CustomLoader implements TranslateLoader { getTranslation(lang: string): Observable { return of({ @@ -29,8 +29,8 @@ class CustomLoader implements TranslateLoader { } } -/* tslint:enable:quotemark */ -/* tslint:enable:object-literal-key-quotes */ +/* eslint-enable @typescript-eslint/quotes */ +/* eslint-enable quote-props */ let localService: any; diff --git a/src/app/shared/menu/menu.actions.ts b/src/app/shared/menu/menu.actions.ts index 3f5bc995b1..bc47b550ed 100644 --- a/src/app/shared/menu/menu.actions.ts +++ b/src/app/shared/menu/menu.actions.ts @@ -28,7 +28,7 @@ export const MenuActionTypes = { TOGGLE_ACTIVE_SECTION: type('dspace/menu-section/TOGGLE_ACTIVE_SECTION'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ // MENU STATE ACTIONS /** @@ -225,4 +225,4 @@ export type MenuAction = | ToggleActiveMenuSectionAction | CollapseMenuPreviewAction | ExpandMenuPreviewAction; -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts b/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts index c0ec1792a9..5bbdd91204 100644 --- a/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts +++ b/src/app/shared/metadata-representation/metadata-representation.decorator.spec.ts @@ -20,7 +20,7 @@ describe('MetadataRepresentation decorator function', () => { const typeUnthemed = 'TestTypeUnthemed'; let prefix; - /* tslint:disable:max-classes-per-file */ + /* eslint-disable max-classes-per-file */ class Test1PlainText { } @@ -42,7 +42,7 @@ describe('MetadataRepresentation decorator function', () => { class TestUnthemedComponent { } - /* tslint:enable:max-classes-per-file */ + /* eslint-enable max-classes-per-file */ beforeEach(() => { prefix = uuidv4(); diff --git a/src/app/shared/mocks/angulartics-provider.service.mock.ts b/src/app/shared/mocks/angulartics-provider.service.mock.ts index 28e373862d..ca9211b257 100644 --- a/src/app/shared/mocks/angulartics-provider.service.mock.ts +++ b/src/app/shared/mocks/angulartics-provider.service.mock.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; -/* tslint:disable:no-empty */ +/* eslint-disable no-empty, @typescript-eslint/no-empty-function */ @Injectable() export class AngularticsProviderMock { public eventTrack(action, properties) { } diff --git a/src/app/shared/mocks/angulartics2.service.mock.ts b/src/app/shared/mocks/angulartics2.service.mock.ts index 7aae31458e..ccafaf3f48 100644 --- a/src/app/shared/mocks/angulartics2.service.mock.ts +++ b/src/app/shared/mocks/angulartics2.service.mock.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core'; -/* tslint:disable:no-empty */ +/* eslint-disable no-empty, @typescript-eslint/no-empty-function */ @Injectable() export class Angulartics2Mock { public eventTrack = { diff --git a/src/app/shared/mocks/auth.service.mock.ts b/src/app/shared/mocks/auth.service.mock.ts index bb39d08284..c32615a4f6 100644 --- a/src/app/shared/mocks/auth.service.mock.ts +++ b/src/app/shared/mocks/auth.service.mock.ts @@ -1,4 +1,4 @@ -/* tslint:disable:no-empty */ +/* eslint-disable no-empty, @typescript-eslint/no-empty-function */ import { Observable, of as observableOf } from 'rxjs'; export class AuthServiceMock { diff --git a/src/app/shared/mocks/item.mock.ts b/src/app/shared/mocks/item.mock.ts index 10eab2da00..77685cca9a 100644 --- a/src/app/shared/mocks/item.mock.ts +++ b/src/app/shared/mocks/item.mock.ts @@ -159,7 +159,7 @@ export const MockOriginalBundle: Bundle = Object.assign(new Bundle(), { }); -/* tslint:disable:no-shadowed-variable */ +/* eslint-disable @typescript-eslint/no-shadow */ export const ItemMock: Item = Object.assign(new Item(), { handle: '10673/6', lastModified: '2017-04-24T19:44:08.178+0000', @@ -293,4 +293,4 @@ export const ItemMock: Item = Object.assign(new Item(), { } ) }); -/* tslint:enable:no-shadowed-variable */ +/* eslint-enable @typescript-eslint/no-shadow */ diff --git a/src/app/shared/mocks/metadata-service.mock.ts b/src/app/shared/mocks/metadata-service.mock.ts index 5b2524b53a..f07c923d81 100644 --- a/src/app/shared/mocks/metadata-service.mock.ts +++ b/src/app/shared/mocks/metadata-service.mock.ts @@ -1,7 +1,7 @@ export class MetadataServiceMock { - // tslint:disable-next-line:no-empty + // eslint-disable-next-line no-empty, @typescript-eslint/no-empty-function public listenForRouteChange(): void { } diff --git a/src/app/shared/mocks/mock-trucatable.service.ts b/src/app/shared/mocks/mock-trucatable.service.ts index 39fe50c0b2..2641bcd89c 100644 --- a/src/app/shared/mocks/mock-trucatable.service.ts +++ b/src/app/shared/mocks/mock-trucatable.service.ts @@ -1,7 +1,7 @@ import { of as observableOf } from 'rxjs'; export const mockTruncatableService: any = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ isCollapsed: (id: string) => { if (id === '1') { return observableOf(true); @@ -15,5 +15,5 @@ export const mockTruncatableService: any = { }, toggle: (id: string) => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; diff --git a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts index 24b189deea..2aa19d3c48 100644 --- a/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts +++ b/src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts @@ -5,7 +5,7 @@ describe('ClaimedTaskActions decorator function', () => { const option2 = 'test_option_2'; const option3 = 'test_option_3'; - /* tslint:disable:max-classes-per-file */ + /* eslint-disable max-classes-per-file */ class Test1Action { } @@ -15,7 +15,7 @@ describe('ClaimedTaskActions decorator function', () => { class Test3Action { } - /* tslint:enable:max-classes-per-file */ + /* eslint-enable max-classes-per-file */ beforeAll(() => { rendersWorkflowTaskOption(option1)(Test1Action); diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts index f8db87a2e0..cef0311bc6 100644 --- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts +++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts @@ -109,7 +109,7 @@ export abstract class MyDSpaceReloadableActionsComponent { diff --git a/src/app/shared/notifications/notification/notification.component.spec.ts b/src/app/shared/notifications/notification/notification.component.spec.ts index 1d19464578..8101f51329 100644 --- a/src/app/shared/notifications/notification/notification.component.spec.ts +++ b/src/app/shared/notifications/notification/notification.component.spec.ts @@ -28,7 +28,7 @@ describe('NotificationComponent', () => { beforeEach(waitForAsync(() => { const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty, @typescript-eslint/no-empty-function */ notifications: [] }); diff --git a/src/app/shared/notifications/notifications.actions.ts b/src/app/shared/notifications/notifications.actions.ts index af3903896a..e4b3066639 100644 --- a/src/app/shared/notifications/notifications.actions.ts +++ b/src/app/shared/notifications/notifications.actions.ts @@ -8,7 +8,7 @@ export const NotificationsActionTypes = { REMOVE_NOTIFICATION: type('dspace/notifications/REMOVE_NOTIFICATION'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * New notification. @@ -49,7 +49,7 @@ export class RemoveNotificationAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Actions type. diff --git a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts index 05302c4bd4..2a5767d345 100644 --- a/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts +++ b/src/app/shared/object-collection/shared/listable-object/listable-object.decorator.spec.ts @@ -13,7 +13,7 @@ describe('ListableObject decorator function', () => { const typeAncestor = 'TestTypeAncestor'; const typeUnthemed = 'TestTypeUnthemed'; - /* tslint:disable:max-classes-per-file */ + /* eslint-disable max-classes-per-file */ class Test1List { } @@ -38,7 +38,7 @@ describe('ListableObject decorator function', () => { class TestUnthemedComponent { } - /* tslint:enable:max-classes-per-file */ + /* eslint-enable max-classes-per-file */ beforeEach(() => { listableObjectComponent(type1, ViewMode.ListElement)(Test1List); diff --git a/src/app/shared/object-list/selectable-list/selectable-list.actions.ts b/src/app/shared/object-list/selectable-list/selectable-list.actions.ts index 010ae5609d..e6a0263d38 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.actions.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.actions.ts @@ -22,9 +22,9 @@ export const SelectableListActionTypes = { /** * Abstract action class for actions on selectable lists */ -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ export abstract class SelectableListAction implements Action { - // tslint:disable-next-line:no-shadowed-variable + // eslint-disable-next-line @typescript-eslint/no-shadow constructor(public type, public id: string) { } } @@ -98,4 +98,4 @@ export class SelectableListDeselectAllAction extends SelectableListAction { super(SelectableListActionTypes.DESELECT_ALL, id); } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts b/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts index 6e23fbacd0..4b50817c74 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.reducer.spec.ts @@ -11,7 +11,7 @@ import { selectableListReducer } from './selectable-list.reducer'; import { ListableObject } from '../../object-collection/shared/listable-object.model'; import { hasValue } from '../../empty.util'; -// tslint:disable:max-classes-per-file +/* eslint-disable max-classes-per-file */ class SelectableObject extends ListableObject { constructor(private value: string) { super(); @@ -34,7 +34,7 @@ class NullAction extends SelectableListAction { } } -// tslint:enable:max-classes-per-file +/* eslint-enable max-classes-per-file */ const listID1 = 'id1'; const listID2 = 'id2'; const value1 = 'Selected object'; diff --git a/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts b/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts index 348ee4d216..1535671f79 100644 --- a/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts +++ b/src/app/shared/object-list/selectable-list/selectable-list.service.spec.ts @@ -39,9 +39,9 @@ describe('SelectableListService', () => { let service: SelectableListService; const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }); beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ diff --git a/src/app/shared/object-select/object-select.actions.ts b/src/app/shared/object-select/object-select.actions.ts index f6c3e035fa..770f1abf26 100644 --- a/src/app/shared/object-select/object-select.actions.ts +++ b/src/app/shared/object-select/object-select.actions.ts @@ -37,7 +37,7 @@ export class ObjectSelectionAction implements Action { } } -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to set the initial state to deselected */ @@ -79,4 +79,4 @@ export class ObjectSelectionSwitchAction extends ObjectSelectionAction { export class ObjectSelectionResetAction extends ObjectSelectionAction { type = ObjectSelectionActionTypes.RESET; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/object-select/object-select.service.spec.ts b/src/app/shared/object-select/object-select.service.spec.ts index 1131a6130f..35c46c48e6 100644 --- a/src/app/shared/object-select/object-select.service.spec.ts +++ b/src/app/shared/object-select/object-select.service.spec.ts @@ -19,23 +19,23 @@ describe('ObjectSelectService', () => { const mockObjectId = 'id1'; const selectionStore: Store = jasmine.createSpyObj('selectionStore', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ select: of(true) }); const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty,@typescript-eslint/no-empty-function */ select: of(true) }); const appStore: Store = jasmine.createSpyObj('appStore', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ select: of(true) }); diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts index b0f2a51460..d92f6444ac 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts @@ -105,12 +105,12 @@ describe('SearchFacetOptionComponent', () => { getSelectedValuesForFilter: () => selectedValues, isFilterActiveWithValue: (paramName: string, filterValue: string) => observableOf(true), getPage: (paramName: string) => page, - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ incrementPage: (filterName: string) => { }, resetPage: (filterName: string) => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } } ], diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts index e587913491..22bdc3f37b 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts @@ -78,12 +78,12 @@ describe('SearchFacetRangeOptionComponent', () => { provide: SearchFilterService, useValue: { isFilterActiveWithValue: (paramName: string, filterValue: string) => observableOf(true), getPage: (paramName: string) => page, - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ incrementPage: (filterName: string) => { }, resetPage: (filterName: string) => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } } ], diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts index 54c447aa61..6636d04718 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts @@ -130,12 +130,12 @@ describe('SearchFacetSelectedOptionComponent', () => { getSelectedValuesForFilter: () => selectedValues, isFilterActiveWithValue: (paramName: string, filterValue: string) => observableOf(true), getPage: (paramName: string) => page, - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ incrementPage: (filterName: string) => { }, resetPage: (filterName: string) => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } } ], diff --git a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts index 919dfc0889..2aad8a0d60 100644 --- a/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts @@ -102,12 +102,12 @@ describe('SearchFacetFilterComponent', () => { getSelectedValuesForFilter: () => observableOf(selectedValues), isFilterActiveWithValue: (paramName: string, filterValue: string) => true, getPage: (paramName: string) => page, - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ incrementPage: (filterName: string) => { }, resetPage: (filterName: string) => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } } ], diff --git a/src/app/shared/search/search-filters/search-filter/search-filter.actions.ts b/src/app/shared/search/search-filters/search-filter/search-filter.actions.ts index ce1df556c9..167d03cf92 100644 --- a/src/app/shared/search/search-filters/search-filter/search-filter.actions.ts +++ b/src/app/shared/search/search-filters/search-filter/search-filter.actions.ts @@ -41,7 +41,7 @@ export class SearchFilterAction implements Action { } } -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to collapse a filter */ @@ -95,4 +95,4 @@ export class SearchFilterIncrementPageAction extends SearchFilterAction { export class SearchFilterResetPageAction extends SearchFilterAction { type = SearchFilterActionTypes.RESET_PAGE; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts index 1be4c0f2cb..662b380ce8 100644 --- a/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts @@ -29,7 +29,7 @@ describe('SearchFilterComponent', () => { isOpenByDefault: false }); const mockFilterService = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ toggle: (filter) => { }, collapse: (filter) => { @@ -47,7 +47,7 @@ describe('SearchFilterComponent', () => { isCollapsed: (filter) => { return observableOf(true); } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; let filterService; diff --git a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts index 3bdd833c51..bc2f60b357 100644 --- a/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts @@ -109,12 +109,12 @@ describe('SearchRangeFilterComponent', () => { getSelectedValuesForFilter: () => selectedValues, isFilterActiveWithValue: (paramName: string, filterValue: string) => true, getPage: (paramName: string) => page, - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ incrementPage: (filterName: string) => { }, resetPage: (filterName: string) => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } } ], diff --git a/src/app/shared/search/search-filters/search-filters.component.spec.ts b/src/app/shared/search/search-filters/search-filters.component.spec.ts index 031c2e132b..56f815d909 100644 --- a/src/app/shared/search/search-filters/search-filters.component.spec.ts +++ b/src/app/shared/search/search-filters/search-filters.component.spec.ts @@ -17,14 +17,14 @@ describe('SearchFiltersComponent', () => { let searchService: SearchService; const searchServiceStub = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ getConfig: () => observableOf({ hasSucceeded: true, payload: [] }), getClearFiltersQueryParams: () => { }, getSearchLink: () => { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; const searchFiltersStub = { diff --git a/src/app/shared/search/search.component.spec.ts b/src/app/shared/search/search.component.spec.ts index 3a13436ea0..7f08e6cb8e 100644 --- a/src/app/shared/search/search.component.spec.ts +++ b/src/app/shared/search/search.component.spec.ts @@ -35,9 +35,9 @@ let fixture: ComponentFixture; let searchServiceObject: SearchService; let searchConfigurationServiceObject: SearchConfigurationService; const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ select: observableOf(true) }); const sortConfigList: SortConfig[] = [ diff --git a/src/app/shared/sidebar/filter/sidebar-filter.actions.ts b/src/app/shared/sidebar/filter/sidebar-filter.actions.ts index 644bebd949..2f723e22ff 100644 --- a/src/app/shared/sidebar/filter/sidebar-filter.actions.ts +++ b/src/app/shared/sidebar/filter/sidebar-filter.actions.ts @@ -37,7 +37,7 @@ export class SidebarFilterAction implements Action { } } -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to initialize a filter */ @@ -71,4 +71,4 @@ export class FilterExpandAction extends SidebarFilterAction { export class FilterToggleAction extends SidebarFilterAction { type = SidebarFilterActionTypes.TOGGLE; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/sidebar/sidebar-effects.service.ts b/src/app/shared/sidebar/sidebar-effects.service.ts index 7bcff4ecd7..191b21b4cf 100644 --- a/src/app/shared/sidebar/sidebar-effects.service.ts +++ b/src/app/shared/sidebar/sidebar-effects.service.ts @@ -27,10 +27,10 @@ export class SidebarEffects { } getBaseUrl(action: any): string { - /* tslint:disable:no-string-literal */ + /* eslint-disable @typescript-eslint/dot-notation */ const url: string = action['payload'].routerState.url; return new URLBaser(url).toString(); - /* tslint:enable:no-string-literal */ + /* eslint-enable @typescript-eslint/dot-notation */ } } diff --git a/src/app/shared/sidebar/sidebar.actions.ts b/src/app/shared/sidebar/sidebar.actions.ts index 708a2d2f51..c415ca4fc2 100644 --- a/src/app/shared/sidebar/sidebar.actions.ts +++ b/src/app/shared/sidebar/sidebar.actions.ts @@ -16,7 +16,7 @@ export const SidebarActionTypes = { TOGGLE: type('dspace/sidebar/TOGGLE') }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to collapse the sidebar */ @@ -37,7 +37,7 @@ export class SidebarExpandAction implements Action { export class SidebarToggleAction implements Action { type = SidebarActionTypes.TOGGLE; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/shared/sidebar/sidebar.service.spec.ts b/src/app/shared/sidebar/sidebar.service.spec.ts index d11a10ebe6..7cb5efbfd1 100644 --- a/src/app/shared/sidebar/sidebar.service.spec.ts +++ b/src/app/shared/sidebar/sidebar.service.spec.ts @@ -9,9 +9,9 @@ import { HostWindowService } from '../host-window.service'; describe('SidebarService', () => { let service: SidebarService; const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ pipe: observableOf(true) }); const windowService = jasmine.createSpyObj('hostWindowService', diff --git a/src/app/shared/testing/ng-component-outlet-directive.stub.ts b/src/app/shared/testing/ng-component-outlet-directive.stub.ts index ee3f65b460..7b413e7443 100644 --- a/src/app/shared/testing/ng-component-outlet-directive.stub.ts +++ b/src/app/shared/testing/ng-component-outlet-directive.stub.ts @@ -1,8 +1,8 @@ import { Directive, Input } from '@angular/core'; -/* tslint:disable:directive-class-suffix */ +/* eslint-disable @angular-eslint/directive-class-suffix */ @Directive({ - // tslint:disable-next-line:directive-selector + // eslint-disable-next-line @angular-eslint/directive-selector selector: '[ngComponentOutlet]', }) export class NgComponentOutletDirectiveStub { diff --git a/src/app/shared/testing/query-params-directive.stub.ts b/src/app/shared/testing/query-params-directive.stub.ts index 34216bb53c..60f76786c7 100644 --- a/src/app/shared/testing/query-params-directive.stub.ts +++ b/src/app/shared/testing/query-params-directive.stub.ts @@ -1,8 +1,8 @@ import { Directive, Input } from '@angular/core'; -/* tslint:disable:directive-class-suffix */ +/* eslint-disable @angular-eslint/directive-class-suffix */ @Directive({ - // tslint:disable-next-line:directive-selector + // eslint-disable-next-line @angular-eslint/directive-selector selector: '[queryParams]', }) export class QueryParamsDirectiveStub { diff --git a/src/app/shared/testing/route-service.stub.ts b/src/app/shared/testing/route-service.stub.ts index e6286d2ea6..2daf9b19de 100644 --- a/src/app/shared/testing/route-service.stub.ts +++ b/src/app/shared/testing/route-service.stub.ts @@ -1,7 +1,7 @@ import { of as observableOf } from 'rxjs'; export const routeServiceStub: any = { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ hasQueryParamWithValue: (param: string, value: string) => { }, hasQueryParam: (param: string) => { @@ -34,5 +34,5 @@ export const routeServiceStub: any = { getPreviousUrl: () => { return observableOf('/home'); } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ }; diff --git a/src/app/shared/testing/router-link-directive.stub.ts b/src/app/shared/testing/router-link-directive.stub.ts index ba52602536..2357c89225 100644 --- a/src/app/shared/testing/router-link-directive.stub.ts +++ b/src/app/shared/testing/router-link-directive.stub.ts @@ -1,8 +1,8 @@ import { Directive, Input } from '@angular/core'; -/* tslint:disable:directive-class-suffix */ +/* eslint-disable @angular-eslint/directive-class-suffix */ @Directive({ - // tslint:disable-next-line:directive-selector + // eslint-disable-next-line @angular-eslint/directive-selector selector: '[routerLink]', }) export class RouterLinkDirectiveStub { diff --git a/src/app/shared/theme-support/themed.component.spec.ts b/src/app/shared/theme-support/themed.component.spec.ts index 1db6de072d..4a5f95581e 100644 --- a/src/app/shared/theme-support/themed.component.spec.ts +++ b/src/app/shared/theme-support/themed.component.spec.ts @@ -7,7 +7,7 @@ import { getMockThemeService } from '../mocks/theme-service.mock'; import { TestComponent } from './test/test.component.spec'; import { ThemeConfig } from '../../../config/theme.model'; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ @Component({ selector: 'ds-test-themed-component', templateUrl: './themed.component.html' @@ -197,4 +197,4 @@ describe('ThemedComponent', () => { }); }); }); -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/truncatable/truncatable.actions.ts b/src/app/shared/truncatable/truncatable.actions.ts index 9f85d55afe..579dc687de 100644 --- a/src/app/shared/truncatable/truncatable.actions.ts +++ b/src/app/shared/truncatable/truncatable.actions.ts @@ -35,7 +35,7 @@ export class TruncatableAction implements Action { } } -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Used to collapse a truncatable component when it's expanded and expand it when it's collapsed */ @@ -57,4 +57,4 @@ export class TruncatableExpandAction extends TruncatableAction { type = TruncatableActionTypes.EXPAND; } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/shared/truncatable/truncatable.service.spec.ts b/src/app/shared/truncatable/truncatable.service.spec.ts index a93125ec4a..005e463052 100644 --- a/src/app/shared/truncatable/truncatable.service.spec.ts +++ b/src/app/shared/truncatable/truncatable.service.spec.ts @@ -10,9 +10,9 @@ describe('TruncatableService', () => { const id2 = '456'; let service: TruncatableService; const store: Store = jasmine.createSpyObj('store', { - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ dispatch: {}, - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ select: observableOf(true) }); beforeEach(waitForAsync(() => { diff --git a/src/app/shared/uploader/uploader.component.spec.ts b/src/app/shared/uploader/uploader.component.spec.ts index 6ff54578b5..883173f0f4 100644 --- a/src/app/shared/uploader/uploader.component.spec.ts +++ b/src/app/shared/uploader/uploader.component.spec.ts @@ -77,12 +77,12 @@ class TestComponent { itemAlias: null }); - /* tslint:disable:no-empty */ + /* eslint-disable no-empty,@typescript-eslint/no-empty-function */ public onBeforeUpload = () => { } onCompleteItem(event) { } - /* tslint:enable:no-empty */ + /* eslint-enable no-empty, @typescript-eslint/no-empty-function */ } diff --git a/src/app/shared/utils/file-value-accessor.directive.ts b/src/app/shared/utils/file-value-accessor.directive.ts index bcd3381329..82ce2e6ab0 100644 --- a/src/app/shared/utils/file-value-accessor.directive.ts +++ b/src/app/shared/utils/file-value-accessor.directive.ts @@ -2,9 +2,9 @@ import {Directive} from '@angular/core'; import {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms'; @Directive({ - // tslint:disable-next-line:directive-selector + // eslint-disable-next-line @angular-eslint/directive-selector selector: 'input[type=file]', - // tslint:disable-next-line:no-host-metadata-property + // eslint-disable-next-line @angular-eslint/no-host-metadata-property host : { '(change)' : 'onChange($event.target.files)', '(blur)': 'onTouched()' diff --git a/src/app/shared/utils/require-file.validator.ts b/src/app/shared/utils/require-file.validator.ts index 9fa89c4188..7902bfec28 100644 --- a/src/app/shared/utils/require-file.validator.ts +++ b/src/app/shared/utils/require-file.validator.ts @@ -2,7 +2,7 @@ import {Directive} from '@angular/core'; import {NG_VALIDATORS, Validator, FormControl} from '@angular/forms'; @Directive({ - // tslint:disable-next-line:directive-selector + // eslint-disable-next-line @angular-eslint/directive-selector selector: '[requireFile]', providers: [ { provide: NG_VALIDATORS, useExisting: FileValidator, multi: true }, diff --git a/src/app/shared/utils/var.directive.ts b/src/app/shared/utils/var.directive.ts index f6ef731042..497fc91a8b 100644 --- a/src/app/shared/utils/var.directive.ts +++ b/src/app/shared/utils/var.directive.ts @@ -1,6 +1,6 @@ import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; -/* tslint:disable:directive-selector */ +/* eslint-disable @angular-eslint/directive-selector */ @Directive({ selector: '[ngVar]', }) @@ -20,4 +20,4 @@ export class VarDirective { this.vcRef.createEmbeddedView(this.templateRef, this.context); } } -/* tslint:enable:directive-selector */ +/* eslint-enable @angular-eslint/directive-selector */ diff --git a/src/app/shared/vocabulary-treeview/vocabulary-treeview-node.model.ts b/src/app/shared/vocabulary-treeview/vocabulary-treeview-node.model.ts index e0c97f919a..25315e0d27 100644 --- a/src/app/shared/vocabulary-treeview/vocabulary-treeview-node.model.ts +++ b/src/app/shared/vocabulary-treeview/vocabulary-treeview-node.model.ts @@ -7,7 +7,7 @@ export const LOAD_MORE_ROOT = 'LOAD_MORE_ROOT'; export const LOAD_MORE_NODE: any = { id: LOAD_MORE }; export const LOAD_MORE_ROOT_NODE: any = { id: LOAD_MORE_ROOT }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** Nested node */ export class TreeviewNode { childrenChange = new BehaviorSubject([]); @@ -42,4 +42,4 @@ export class TreeviewFlatNode { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ diff --git a/src/app/store.actions.ts b/src/app/store.actions.ts index aaeb319107..59ce00a243 100644 --- a/src/app/store.actions.ts +++ b/src/app/store.actions.ts @@ -10,7 +10,7 @@ export const StoreActionTypes = { export class StoreAction implements Action { type: string; payload: AppState | Action[]; - // tslint:disable-next-line:no-shadowed-variable + // eslint-disable-next-line @typescript-eslint/no-shadow constructor(type: string, payload: AppState | Action[]) { this.type = type; this.payload = payload; diff --git a/src/app/submission/objects/submission-objects.actions.ts b/src/app/submission/objects/submission-objects.actions.ts index 4935acb792..ceb759bbbc 100644 --- a/src/app/submission/objects/submission-objects.actions.ts +++ b/src/app/submission/objects/submission-objects.actions.ts @@ -64,7 +64,7 @@ export const SubmissionObjectActionTypes = { REMOVE_SECTION_ERRORS: type('dspace/submission/REMOVE_SECTION_ERRORS'), }; -/* tslint:disable:max-classes-per-file */ +/* eslint-disable max-classes-per-file */ /** * Insert a new error of type SubmissionSectionError into the given section @@ -802,7 +802,7 @@ export class DeleteUploadedFileAction implements Action { } } -/* tslint:enable:max-classes-per-file */ +/* eslint-enable max-classes-per-file */ /** * Export a type alias of all actions in this action group diff --git a/src/app/thumbnail/thumbnail.component.spec.ts b/src/app/thumbnail/thumbnail.component.spec.ts index eea585f9f8..96aaaa7c02 100644 --- a/src/app/thumbnail/thumbnail.component.spec.ts +++ b/src/app/thumbnail/thumbnail.component.spec.ts @@ -10,7 +10,7 @@ import { createFailedRemoteDataObject, createPendingRemoteDataObject, createSuccessfulRemoteDataObject, } from '../shared/remote-data.utils'; -// tslint:disable-next-line:pipe-prefix +// eslint-disable-next-line @angular-eslint/pipe-prefix @Pipe({ name: 'translate' }) class MockTranslatePipe implements PipeTransform { transform(key: string): string { diff --git a/src/config/config.interface.ts b/src/config/config.interface.ts index efae94cc56..1440fda77a 100644 --- a/src/config/config.interface.ts +++ b/src/config/config.interface.ts @@ -1,4 +1,4 @@ -// tslint:disable-next-line:no-empty-interface +// eslint-disable-next-line @typescript-eslint/no-empty-interface export interface Config { } diff --git a/src/config/theme.model.ts b/src/config/theme.model.ts index d65118d5d4..5cdd8200b2 100644 --- a/src/config/theme.model.ts +++ b/src/config/theme.model.ts @@ -3,7 +3,7 @@ import { hasValue, hasNoValue, isNotEmpty } from '../app/shared/empty.util'; import { DSpaceObject } from '../app/core/shared/dspace-object.model'; import { getDSORoute } from '../app/app-routing-paths'; -// tslint:disable:max-classes-per-file +/* eslint-disable max-classes-per-file */ export interface NamedThemeConfig extends Config { name: string; diff --git a/src/typings.d.ts b/src/typings.d.ts index b429d66eda..b9d1b9e9df 100644 --- a/src/typings.d.ts +++ b/src/typings.d.ts @@ -67,11 +67,11 @@ interface WebpackRequire { } // Extend typings -// tslint:disable:no-empty-interface +/* eslint-disable @typescript-eslint/no-empty-interface */ interface NodeRequire extends WebpackRequire { } interface NodeModule extends WebpackModule { } interface Global extends GlobalEnvironment { } -// tslint:enable:no-empty-interface +/* eslint-enable @typescript-eslint/no-empty-interface */ // Allows us to import json files in typescript // See https://hackernoon.com/import-json-into-typescript-8d465beded79#.88tfoy2df diff --git a/tslint.json b/tslint.json deleted file mode 100644 index ef85c50002..0000000000 --- a/tslint.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "extends": [ - "tslint:recommended" - ], - "linterOptions": { - "exclude": [ - "src/environments/environment.ts" - ] - }, - "rulesDirectory": [ - "node_modules/codelyzer" - ], - "rules": { - "callable-types": true, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "curly": true, - "eofline": true, - "forin": true, - "deprecation": { - "severity": "warning" - }, - "import-blacklist": [ - true - ], - "import-spacing": true, - "indent": [ - true, - "spaces" - ], - "interface-name": [ - false, - "always-prefix" - ], - "interface-over-type-literal": true, - "label-position": true, - "max-line-length": [ - false - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-access-missing-member": false, - "no-arg": true, - "no-attribute-decorator": true, - "no-bitwise": true, - "no-console": [ - true, - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-variable": true, - "no-empty": true, - "no-empty-interface": false, - "no-eval": true, - "no-forward-ref": true, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-shadowed-variable": true, - "no-string-literal": true, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unused-expression": true, - "no-var-keyword": true, - "no-var-requires": false, - "object-literal-shorthand": false, - "object-literal-sort-keys": false, - "one-line": [ - true, - "check-open-brace", - "check-catch", - "check-else", - "check-whitespace" - ], - "ordered-imports": [ - false - ], - "prefer-const": true, - "pipe-prefix": [ - true, - "ds" - ], - "quotemark": [ - true, - "single", - "avoid-escape" - ], - "radix": true, - "semicolon": [ - true - ], - "trailing-comma": [ - false, - { - "multiline": "always", - "singleline": "never" - } - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - }, - { - "call-signature": "onespace", - "index-signature": "onespace", - "parameter": "onespace", - "property-declaration": "onespace", - "variable-declaration": "onespace" - } - ], - "unified-signatures": true, - "variable-name": [ - true, - "allow-leading-underscore", - "allow-pascal-case", - "ban-keywords", - "check-format" - ], - "whitespace": [ - true, - "check-branch", - "check-operator" - ], - "component-class-suffix": true, - "component-selector": [ - true, - "element", - "ds", - "kebab-case" - ], - "directive-class-suffix": true, - "directive-selector": [ - true, - "attribute", - "ds", - "camelCase" - ], - "no-input-rename": true, - "no-output-rename": true, - "templates-use-public": false, - "no-host-metadata-property": true, - "no-inputs-metadata-property": true, - "use-life-cycle-interface": false, - "no-outputs-metadata-property": true, - "use-pipe-transform-interface": true - } -} diff --git a/yarn.lock b/yarn.lock index f643a98bba..66fef7e71c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -311,11 +311,6 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" - integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== - "@angular/compiler@~13.2.6": version "13.2.6" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.2.6.tgz#0de8e65fc4fe22273eff1e96917377919dbd2ab3" @@ -323,11 +318,6 @@ dependencies: tslib "^2.3.0" -"@angular/core@9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" - integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== - "@angular/core@~13.2.6": version "13.2.6" resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.6.tgz#685ca3b6de173f9671e251362a2c88f8685454f0" @@ -2946,11 +2936,6 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -app-root-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" - integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== - "aproba@^1.0.3 || ^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" @@ -2991,14 +2976,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - aria-query@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" @@ -3086,11 +3063,6 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -ast-types-flow@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -3172,13 +3144,6 @@ axios@0.21.4: dependencies: follow-redirects "^1.14.0" -axobject-query@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== - dependencies: - ast-types-flow "0.0.7" - axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -3575,11 +3540,6 @@ buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -3962,26 +3922,6 @@ clsx@^1.0.4: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== -codelyzer@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-6.0.2.tgz#25d72eae641e8ff13ffd7d99b27c9c7ad5d7e135" - integrity sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g== - dependencies: - "@angular/compiler" "9.0.0" - "@angular/core" "9.0.0" - app-root-path "^3.0.0" - aria-query "^3.0.0" - axobject-query "2.0.2" - css-selector-tokenizer "^0.7.1" - cssauron "^1.4.0" - damerau-levenshtein "^1.0.4" - rxjs "^6.5.3" - semver-dsl "^1.0.1" - source-map "^0.5.7" - sprintf-js "^1.1.2" - tslib "^1.10.0" - zone.js "~0.10.3" - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -4041,7 +3981,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.11.0, commander@^2.12.1, commander@^2.2.0, commander@^2.20.0: +commander@^2.2.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4462,14 +4402,6 @@ css-select@^4.1.3, css-select@^4.2.0: domutils "^2.8.0" nth-check "^2.0.1" -css-selector-tokenizer@^0.7.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" - integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== - dependencies: - cssesc "^3.0.0" - fastparse "^1.1.2" - css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -4500,13 +4432,6 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssauron@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" - integrity sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg= - dependencies: - through X.X.X - cssdb@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-5.1.0.tgz#ec728d5f5c0811debd0820cbebda505d43003400" @@ -4668,11 +4593,6 @@ cypress@9.5.1: untildify "^4.0.0" yauzl "^2.10.0" -damerau-levenshtein@^1.0.4: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -5859,11 +5779,6 @@ fastest-levenshtein@^1.0.12: resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== -fastparse@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" @@ -6267,7 +6182,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.2.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@~7.2.0: +glob@7.2.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@~7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -8497,7 +8412,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: +mkdirp@^0.5.1, mkdirp@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -10770,7 +10685,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.22.0, resolve@^1.1.7, resolve@^1.14.2, resolve@^1.3.2, resolve@^1.9.0: +resolve@1.22.0, resolve@^1.1.7, resolve@^1.14.2, resolve@^1.9.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -10902,7 +10817,7 @@ rxjs-spy@^7.5.3: rxjs-report-usage "^1.0.4" stacktrace-gps "^3.0.2" -rxjs@6.6.7, rxjs@^6.5.3, rxjs@^6.5.4, rxjs@^6.5.5, rxjs@^6.6.3, rxjs@~6.6.0: +rxjs@6.6.7, rxjs@^6.5.4, rxjs@^6.5.5, rxjs@^6.6.3, rxjs@~6.6.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -11080,13 +10995,6 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -semver-dsl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0" - integrity sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA= - dependencies: - semver "^5.3.0" - semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" @@ -11536,7 +11444,7 @@ source-map@0.7.3, source-map@^0.7.3, source-map@~0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -11576,11 +11484,6 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -sprintf-js@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -11960,7 +11863,7 @@ throttleit@^1.0.0: resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= -through@X.X.X, through@^2.3.6, through@^2.3.8: +through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -12176,37 +12079,11 @@ tslib@2.3.1, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3. resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslint@^6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -13168,11 +13045,6 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zone.js@~0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.3.tgz#3e5e4da03c607c9dcd92e37dd35687a14a140c16" - integrity sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg== - zone.js@~0.11.5: version "0.11.5" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.5.tgz#ab0b449e91fadb5ebb2db189ffe1b7b6048dc8b1"