Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stricter ESLint configuration for code quality, consistency & cleaner merges #2343

Merged
merged 40 commits into from
Mar 8, 2024
Merged
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
702246b
ESLint: enforce prefer-const where possible
ybnd May 8, 2023
95d3ff6
ESLint: fix prefer-const violations
ybnd May 8, 2023
f1a8920
ESLint: enforce no-case-declarations
ybnd May 8, 2023
0f1ebfb
ESLint: fix no-case-declaration violations
ybnd May 8, 2023
ad42050
ESLint: enforce no-extra-boolean-cast
ybnd May 8, 2023
6f0c1e0
ESLint: fix no-extra-boolean-cast violations
ybnd May 8, 2023
80c9dae
ESLint: enforce ban-types
ybnd May 8, 2023
74e9e5f
ESLint: fix ban-types violations
ybnd May 8, 2023
fa2c22d
ESLint: enforce Angular HTML no-negated-async
ybnd Jun 27, 2023
741c600
ESLint: fix no-negated-async violations
ybnd Jun 27, 2023
3ce98cd
ESLint: enforce Angular HTML eqeqeq
ybnd Jun 27, 2023
8a650a2
ESlint: fix eqeqeq violations
ybnd Jun 27, 2023
218ce83
ESLint: enforce low-impact recommended RxJs rules
ybnd May 19, 2023
1b717e1
ESLint: fix RxJs rule violations (pt. 1)
ybnd May 19, 2023
b505cbc
ESLint: enforce indentation
ybnd Jun 27, 2023
0690a20
ESLint: fix indentation
ybnd Jun 27, 2023
725dbc3
ESLint: enforce dangling commas
ybnd May 20, 2023
917c36d
ESLint: fix dangling commas
ybnd Jun 27, 2023
fa404ff
ESLint: enforce import formatting
ybnd May 20, 2023
a11be65
ESlint: fix imports
ybnd Jun 27, 2023
436a4d7
ESLint: enforce object-curly-spacing
ybnd Jun 27, 2023
0633460
ESLint: fix object-curly-spacing
ybnd Jun 27, 2023
2cad56c
Fix tests
ybnd Jun 28, 2023
07259ca
ESLint/TypeScript: enforce no-implicit-any-catch
ybnd Jun 28, 2023
c0f43bc
ESLint: fix rxjs/no-implicit-any-catch
ybnd Jun 28, 2023
c0f9042
Merge remote-tracking branch 'origin/main' into more-eslint
ybnd Jul 7, 2023
544306a
Merge remote-tracking branch 'origin/main' into more-eslint
ybnd Dec 12, 2023
47875dd
Fix stray lint issue
ybnd Dec 13, 2023
4a87c9a
Merge remote-tracking branch 'origin/main' into more-eslint
ybnd Dec 19, 2023
ca1d810
Autofix lint issues
ybnd Dec 19, 2023
968c233
Manual lint fixes
ybnd Dec 19, 2023
5af4f89
Merge remote-tracking branch 'origin/main' into more-eslint
ybnd Jan 9, 2024
6ff2170
Merge remote-tracking branch 'origin/main' into more-eslint
ybnd Jan 12, 2024
dbf7fd6
Merge remote-tracking branch 'origin/main' into more-eslint
ybnd Mar 6, 2024
2b540cd
Autofix lint issues
ybnd Mar 6, 2024
3b48d9a
Manually fix lint issues
ybnd Mar 6, 2024
ebbbd64
Fix tests
ybnd Mar 6, 2024
5edc689
Fix null/undefined incosistencies
ybnd Mar 6, 2024
86885f7
Merge remote-tracking branch 'origin/main' into more-eslint
ybnd Mar 7, 2024
33d5253
Only log errors for DspaceRestService.get
ybnd Mar 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Autofix lint issues
ybnd committed Dec 19, 2023
commit ca1d81048a24480f208b0c997fb7ab5e947e4fb1
Original file line number Diff line number Diff line change
@@ -4,18 +4,16 @@ import { RouterModule } from '@angular/router';
import { AuthenticatedGuard } from '../../core/auth/authenticated.guard';
import { I18nBreadcrumbResolver } from '../../core/breadcrumbs/i18n-breadcrumb.resolver';
import { I18nBreadcrumbsService } from '../../core/breadcrumbs/i18n-breadcrumbs.service';
import { QualityAssuranceBreadcrumbResolver } from '../../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
import { QualityAssuranceBreadcrumbService } from '../../core/breadcrumbs/quality-assurance-breadcrumb.service';
import { QUALITY_ASSURANCE_EDIT_PATH } from './admin-notifications-routing-paths';
import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component';
import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.component';
import { AdminQualityAssuranceTopicsPageResolver } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page-resolver.service';
import { AdminQualityAssuranceEventsPageResolver } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.resolver';
import { SourceDataResolver } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.resolver';
import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component';
import { AdminQualityAssuranceSourcePageResolver } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page-resolver.service';
import { QualityAssuranceBreadcrumbResolver } from '../../core/breadcrumbs/quality-assurance-breadcrumb.resolver';
import { QualityAssuranceBreadcrumbService } from '../../core/breadcrumbs/quality-assurance-breadcrumb.service';
import {
SourceDataResolver
} from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-data.resolver';
import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component';
import { AdminQualityAssuranceTopicsPageResolver } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page-resolver.service';

@NgModule({
imports: [
@@ -27,13 +25,13 @@ import {
pathMatch: 'full',
resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceTopicsParams: AdminQualityAssuranceTopicsPageResolver
openaireQualityAssuranceTopicsParams: AdminQualityAssuranceTopicsPageResolver,
},
data: {
title: 'admin.quality-assurance.page.title',
breadcrumbKey: 'admin.quality-assurance',
showBreadcrumbsFluid: false
}
showBreadcrumbsFluid: false,
},
},
{
canActivate: [ AuthenticatedGuard ],
@@ -43,13 +41,13 @@ import {
resolve: {
breadcrumb: I18nBreadcrumbResolver,
openaireQualityAssuranceSourceParams: AdminQualityAssuranceSourcePageResolver,
sourceData: SourceDataResolver
sourceData: SourceDataResolver,
},
data: {
title: 'admin.notifications.source.breadcrumbs',
breadcrumbKey: 'admin.notifications.source',
showBreadcrumbsFluid: false
}
showBreadcrumbsFluid: false,
},
},
{
canActivate: [ AuthenticatedGuard ],
@@ -58,15 +56,15 @@ import {
pathMatch: 'full',
resolve: {
breadcrumb: QualityAssuranceBreadcrumbResolver,
openaireQualityAssuranceEventsParams: AdminQualityAssuranceEventsPageResolver
openaireQualityAssuranceEventsParams: AdminQualityAssuranceEventsPageResolver,
},
data: {
title: 'admin.notifications.event.page.title',
breadcrumbKey: 'admin.notifications.event',
showBreadcrumbsFluid: false
}
}
])
showBreadcrumbsFluid: false,
},
},
]),
],
providers: [
I18nBreadcrumbResolver,
@@ -76,8 +74,8 @@ import {
AdminQualityAssuranceEventsPageResolver,
AdminQualityAssuranceSourcePageResolver,
QualityAssuranceBreadcrumbResolver,
QualityAssuranceBreadcrumbService
]
QualityAssuranceBreadcrumbService,
],
})
/**
* Routing module for the Notifications section of the admin sidebar
11 changes: 6 additions & 5 deletions src/app/admin/admin-notifications/admin-notifications.module.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';

import { CoreModule } from '../../core/core.module';
import { NotificationsModule } from '../../notifications/notifications.module';
import { SharedModule } from '../../shared/shared.module';
import { AdminNotificationsRoutingModule } from './admin-notifications-routing.module';
import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component';
import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page/admin-quality-assurance-events-page.component';
import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component';
import {NotificationsModule} from '../../notifications/notifications.module';
import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component';

@NgModule({
imports: [
CommonModule,
SharedModule,
CoreModule.forRoot(),
AdminNotificationsRoutingModule,
NotificationsModule
NotificationsModule,
],
declarations: [
AdminQualityAssuranceTopicsPageComponent,
AdminQualityAssuranceEventsPageComponent,
AdminQualityAssuranceSourcePageComponent
AdminQualityAssuranceSourcePageComponent,
],
entryComponents: []
entryComponents: [],
})
/**
* This module handles all components related to the notifications pages
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import {
async,
ComponentFixture,
TestBed,
} from '@angular/core/testing';

import { AdminQualityAssuranceEventsPageComponent } from './admin-quality-assurance-events-page.component';

describe('AdminQualityAssuranceEventsPageComponent', () => {
@@ -9,9 +14,9 @@ describe('AdminQualityAssuranceEventsPageComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AdminQualityAssuranceEventsPageComponent ],
schemas: [NO_ERRORS_SCHEMA]
schemas: [NO_ERRORS_SCHEMA],
})
.compileComponents();
.compileComponents();
}));

beforeEach(() => {
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ import { Component } from '@angular/core';
*/
@Component({
selector: 'ds-quality-assurance-events-page',
templateUrl: './admin-quality-assurance-events-page.component.html'
templateUrl: './admin-quality-assurance-events-page.component.html',
})
export class AdminQualityAssuranceEventsPageComponent {

Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import {
ActivatedRouteSnapshot,
Resolve,
RouterStateSnapshot,
} from '@angular/router';

/**
* Interface for the route parameters.
@@ -26,7 +30,7 @@ export class AdminQualityAssuranceEventsPageResolver implements Resolve<AdminQua
return {
pageId: route.queryParams.pageId,
pageSize: parseInt(route.queryParams.pageSize, 10),
currentPage: parseInt(route.queryParams.page, 10)
currentPage: parseInt(route.queryParams.page, 10),
};
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot, Router } from '@angular/router';
import {
ActivatedRouteSnapshot,
Resolve,
Router,
RouterStateSnapshot,
} from '@angular/router';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';

import { environment } from '../../../../environments/environment';
import { PaginatedList } from '../../../core/data/paginated-list.model';
import { QualityAssuranceSourceObject } from '../../../core/notifications/qa/models/quality-assurance-source.model';
import { QualityAssuranceSourceService } from '../../../notifications/qa/source/quality-assurance-source.service';
import {environment} from '../../../../environments/environment';
/**
* This class represents a resolver that retrieve the route data before the route is activated.
*/
@@ -16,9 +22,9 @@ export class SourceDataResolver implements Resolve<Observable<QualityAssuranceSo
* Initialize the effect class variables.
* @param {QualityAssuranceSourceService} qualityAssuranceSourceService
*/
constructor(
constructor(
private qualityAssuranceSourceService: QualityAssuranceSourceService,
private router: Router
private router: Router,
) { }
/**
* Method for resolving the parameters in the current route.
@@ -28,12 +34,12 @@ export class SourceDataResolver implements Resolve<Observable<QualityAssuranceSo
*/
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<QualityAssuranceSourceObject[]> {
return this.qualityAssuranceSourceService.getSources(this.pageSize, 0).pipe(
map((sources: PaginatedList<QualityAssuranceSourceObject>) => {
if (sources.page.length === 1) {
this.router.navigate([this.getResolvedUrl(route) + '/' + sources.page[0].id]);
}
return sources.page;
}));
map((sources: PaginatedList<QualityAssuranceSourceObject>) => {
if (sources.page.length === 1) {
this.router.navigate([this.getResolvedUrl(route) + '/' + sources.page[0].id]);
}
return sources.page;
}));
}

/**
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';
import {
ActivatedRouteSnapshot,
Resolve,
RouterStateSnapshot,
} from '@angular/router';

/**
* Interface for the route parameters.
@@ -26,7 +30,7 @@ export class AdminQualityAssuranceSourcePageResolver implements Resolve<AdminQua
return {
pageId: route.queryParams.pageId,
pageSize: parseInt(route.queryParams.pageSize, 10),
currentPage: parseInt(route.queryParams.page, 10)
currentPage: parseInt(route.queryParams.page, 10),
};
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import {
ComponentFixture,
TestBed,
} from '@angular/core/testing';

import { AdminQualityAssuranceSourcePageComponent } from './admin-quality-assurance-source-page.component';

@@ -10,9 +13,9 @@ describe('AdminQualityAssuranceSourcePageComponent', () => {
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ AdminQualityAssuranceSourcePageComponent ],
schemas: [NO_ERRORS_SCHEMA]
schemas: [NO_ERRORS_SCHEMA],
})
.compileComponents();
.compileComponents();
});

beforeEach(() => {
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';
import {
ActivatedRouteSnapshot,
Resolve,
RouterStateSnapshot,
} from '@angular/router';

/**
* Interface for the route parameters.
@@ -26,7 +30,7 @@ export class AdminQualityAssuranceTopicsPageResolver implements Resolve<AdminQua
return {
pageId: route.queryParams.pageId,
pageSize: parseInt(route.queryParams.pageSize, 10),
currentPage: parseInt(route.queryParams.page, 10)
currentPage: parseInt(route.queryParams.page, 10),
};
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import { NO_ERRORS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import {
async,
ComponentFixture,
TestBed,
} from '@angular/core/testing';

import { AdminQualityAssuranceTopicsPageComponent } from './admin-quality-assurance-topics-page.component';

describe('AdminQualityAssuranceTopicsPageComponent', () => {
@@ -9,9 +14,9 @@ describe('AdminQualityAssuranceTopicsPageComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AdminQualityAssuranceTopicsPageComponent ],
schemas: [NO_ERRORS_SCHEMA]
schemas: [NO_ERRORS_SCHEMA],
})
.compileComponents();
.compileComponents();
}));

beforeEach(() => {
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ import { Component } from '@angular/core';
*/
@Component({
selector: 'ds-notification-qa-page',
templateUrl: './admin-quality-assurance-topics-page.component.html'
templateUrl: './admin-quality-assurance-topics-page.component.html',
})
export class AdminQualityAssuranceTopicsPageComponent {

2 changes: 1 addition & 1 deletion src/app/admin/admin-routing.module.ts
Original file line number Diff line number Diff line change
@@ -7,8 +7,8 @@ import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curati
import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component';
import { MetadataImportPageComponent } from './admin-import-metadata-page/metadata-import-page.component';
import {
NOTIFICATIONS_MODULE_PATH,
REGISTRIES_MODULE_PATH,
NOTIFICATIONS_MODULE_PATH
} from './admin-routing-paths';
import { AdminSearchPageComponent } from './admin-search-page/admin-search-page.component';
import { AdminWorkflowPageComponent } from './admin-workflow-page/admin-workflow-page.component';
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {QualityAssuranceBreadcrumbResolver} from './quality-assurance-breadcrumb.resolver';
import { QualityAssuranceBreadcrumbResolver } from './quality-assurance-breadcrumb.resolver';

describe('QualityAssuranceBreadcrumbResolver', () => {
describe('resolve', () => {
@@ -15,15 +15,15 @@ describe('QualityAssuranceBreadcrumbResolver', () => {
return this[param];
},
sourceId: 'testSourceId',
topicId: 'testTopicId'
}
topicId: 'testTopicId',
},
};
qualityAssuranceBreadcrumbService = {};
resolver = new QualityAssuranceBreadcrumbResolver(qualityAssuranceBreadcrumbService);
});

it('should resolve the breadcrumb config', () => {
const resolvedConfig = resolver.resolve(route as any, {url: fullPath + 'testSourceId'} as any);
const resolvedConfig = resolver.resolve(route as any, { url: fullPath + 'testSourceId' } as any);
const expectedConfig = { provider: qualityAssuranceBreadcrumbService, key: expectedKey, url: fullPath };
expect(resolvedConfig).toEqual(expectedConfig);
});
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
import { Injectable } from '@angular/core';
import {QualityAssuranceBreadcrumbService} from './quality-assurance-breadcrumb.service';
import {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from '@angular/router';
import {BreadcrumbConfig} from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
import {
ActivatedRouteSnapshot,
Resolve,
RouterStateSnapshot,
} from '@angular/router';

import { BreadcrumbConfig } from '../../breadcrumbs/breadcrumb/breadcrumb-config.model';
import { QualityAssuranceBreadcrumbService } from './quality-assurance-breadcrumb.service';

@Injectable({
providedIn: 'root'
providedIn: 'root',
})
export class QualityAssuranceBreadcrumbResolver implements Resolve<BreadcrumbConfig<string>> {
constructor(protected breadcrumbService: QualityAssuranceBreadcrumbService) {}
Loading