diff --git a/.eslintrc.json b/.eslintrc.json
index 929afa80ab..1e6e67ca76 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -160,6 +160,9 @@
]
}
],
+ "@angular-eslint/prefer-standalone": [
+ "error"
+ ],
"@angular-eslint/no-attribute-decorator": "error",
"@angular-eslint/no-output-native": "warn",
"@angular-eslint/no-output-on-prefix": "warn",
diff --git a/src/app/browse-by/browse-by-page/browse-by-page.component.spec.ts b/src/app/browse-by/browse-by-page/browse-by-page.component.spec.ts
index db39793cae..1ad9a4d816 100644
--- a/src/app/browse-by/browse-by-page/browse-by-page.component.spec.ts
+++ b/src/app/browse-by/browse-by-page/browse-by-page.component.spec.ts
@@ -20,6 +20,7 @@ import { BrowseByPageComponent } from './browse-by-page.component';
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: '',
+ standalone: true,
template: '',
})
class BrowseByTestComponent {
diff --git a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts
index 8539365f66..35197591be 100644
--- a/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts
+++ b/src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts
@@ -20,6 +20,7 @@ import { BrowseBySwitcherComponent } from './browse-by-switcher.component';
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: '',
+ standalone: true,
template: '',
})
class BrowseByTestComponent {
diff --git a/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts b/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts
index d224c4f0cd..3430457d4c 100644
--- a/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts
+++ b/src/app/process-page/form/process-parameters/parameter-value-input/value-input.component.ts
@@ -10,6 +10,7 @@ import {
*/
@Component({
selector: 'ds-value-input',
+ standalone: true,
template: '',
})
export abstract class ValueInputComponent {
diff --git a/src/app/shared/browse-by/browse-by.component.spec.ts b/src/app/shared/browse-by/browse-by.component.spec.ts
index 760b10a0ec..57f69cc2f7 100644
--- a/src/app/shared/browse-by/browse-by.component.spec.ts
+++ b/src/app/shared/browse-by/browse-by.component.spec.ts
@@ -58,6 +58,7 @@ import { BrowseByComponent } from './browse-by.component';
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'ds-browse-entry-list-element',
+ standalone: true,
template: '',
})
class MockThemedBrowseEntryListElementComponent {
diff --git a/src/app/shared/comcol/sections/comcol-browse-by/comcol-browse-by.component.spec.ts b/src/app/shared/comcol/sections/comcol-browse-by/comcol-browse-by.component.spec.ts
index ae19914f39..0b29f7710a 100644
--- a/src/app/shared/comcol/sections/comcol-browse-by/comcol-browse-by.component.spec.ts
+++ b/src/app/shared/comcol/sections/comcol-browse-by/comcol-browse-by.component.spec.ts
@@ -23,6 +23,7 @@ import { ComcolBrowseByComponent } from './comcol-browse-by.component';
@Component({
// eslint-disable-next-line @angular-eslint/component-selector
selector: '',
+ standalone: true,
template: '',
})
class BrowseByTestComponent {
diff --git a/src/app/shared/disabled-directive.spec.ts b/src/app/shared/disabled-directive.spec.ts
index 96f760fc46..a525163d7b 100644
--- a/src/app/shared/disabled-directive.spec.ts
+++ b/src/app/shared/disabled-directive.spec.ts
@@ -11,9 +11,13 @@ import { By } from '@angular/platform-browser';
import { BtnDisabledDirective } from './btn-disabled.directive';
@Component({
+ standalone: true,
template: `
`,
+ imports: [
+ BtnDisabledDirective,
+ ],
})
class TestComponent {
isDisabled = false;
@@ -26,8 +30,7 @@ describe('DisabledDirective', () => {
beforeEach(() => {
TestBed.configureTestingModule({
- imports: [BtnDisabledDirective],
- declarations: [TestComponent],
+ imports: [BtnDisabledDirective, TestComponent],
});
fixture = TestBed.createComponent(TestComponent);
component = fixture.componentInstance;
diff --git a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts
index 51e520df18..35548d05df 100644
--- a/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts
+++ b/src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.ts
@@ -34,6 +34,7 @@ export enum SelectorActionType {
*/
@Component({
selector: 'ds-dso-selector-modal',
+ standalone: true,
template: '',
})
export abstract class DSOSelectorModalWrapperComponent implements OnInit {
diff --git a/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts b/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts
index c846f053ef..0ca22da9f7 100644
--- a/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts
+++ b/src/app/shared/form/builder/ds-dynamic-form-ui/models/dynamic-vocabulary.component.ts
@@ -28,6 +28,7 @@ import { DsDynamicInputModel } from './ds-dynamic-input.model';
*/
@Component({
selector: 'ds-dynamic-vocabulary',
+ standalone: true,
template: '',
})
export abstract class DsDynamicVocabularyComponent extends DynamicFormControlComponent {
diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts
index 086cd9d81a..803fb7c4b4 100644
--- a/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts
+++ b/src/app/shared/mydspace-actions/claimed-task/abstract/advanced-claimed-task-actions-abstract.component.ts
@@ -27,6 +27,7 @@ import { ClaimedTaskActionsAbstractComponent } from './claimed-task-actions-abst
*/
@Component({
selector: 'ds-advanced-claimed-task-action-abstract',
+ standalone: true,
template: '',
})
export abstract class AdvancedClaimedTaskActionsAbstractComponent extends ClaimedTaskActionsAbstractComponent implements OnInit {
diff --git a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts
index 9ecdad6ab8..dfbe3ae8d7 100644
--- a/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts
+++ b/src/app/shared/mydspace-actions/claimed-task/abstract/claimed-task-actions-abstract.component.ts
@@ -31,6 +31,7 @@ import { MyDSpaceReloadableActionsComponent } from '../../mydspace-reloadable-ac
*/
@Component({
selector: 'ds-claimed-task-action-abstract',
+ standalone: true,
template: '',
})
export abstract class ClaimedTaskActionsAbstractComponent extends MyDSpaceReloadableActionsComponent implements OnDestroy {
diff --git a/src/app/shared/mydspace-actions/mydspace-actions.ts b/src/app/shared/mydspace-actions/mydspace-actions.ts
index 73caf4f30c..261f26fa13 100644
--- a/src/app/shared/mydspace-actions/mydspace-actions.ts
+++ b/src/app/shared/mydspace-actions/mydspace-actions.ts
@@ -37,6 +37,7 @@ export interface MyDSpaceActionsResult {
*/
@Component({
selector: 'ds-mydspace-actions-abstract',
+ standalone: true,
template: '',
})
export abstract class MyDSpaceActionsComponent> {
diff --git a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts
index 062bf25741..c59b2a86f0 100644
--- a/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts
+++ b/src/app/shared/mydspace-actions/mydspace-reloadable-actions.ts
@@ -34,6 +34,7 @@ import { MyDSpaceActionsComponent } from './mydspace-actions';
*/
@Component({
selector: 'ds-mydspace-reloadable-actions',
+ standalone: true,
template: '',
})
export abstract class MyDSpaceReloadableActionsComponent>
diff --git a/src/app/shared/object-select/object-select/object-select.component.ts b/src/app/shared/object-select/object-select/object-select.component.ts
index 323a7cc396..596fd0e4bc 100644
--- a/src/app/shared/object-select/object-select/object-select.component.ts
+++ b/src/app/shared/object-select/object-select/object-select.component.ts
@@ -30,6 +30,7 @@ import { ObjectSelectService } from '../object-select.service';
*/
@Component({
selector: 'ds-object-select-abstract',
+ standalone: true,
template: '',
})
export abstract class ObjectSelectComponent implements OnInit, OnDestroy {
diff --git a/src/app/shared/starts-with/starts-with-abstract.component.ts b/src/app/shared/starts-with/starts-with-abstract.component.ts
index e3b8ca13ab..e2d5ca3e0f 100644
--- a/src/app/shared/starts-with/starts-with-abstract.component.ts
+++ b/src/app/shared/starts-with/starts-with-abstract.component.ts
@@ -23,6 +23,7 @@ import { StartsWithType } from './starts-with-type';
*/
@Component({
selector: 'ds-start-with-abstract',
+ standalone: true,
template: '',
})
export abstract class StartsWithAbstractComponent implements OnInit, OnDestroy {
diff --git a/src/app/shared/theme-support/test/custom/themed-test.component.spec.ts b/src/app/shared/theme-support/test/custom/themed-test.component.spec.ts
index 7b9abefadb..b4851fc0bc 100644
--- a/src/app/shared/theme-support/test/custom/themed-test.component.spec.ts
+++ b/src/app/shared/theme-support/test/custom/themed-test.component.spec.ts
@@ -3,6 +3,7 @@ import { Component } from '@angular/core';
// noinspection AngularMissingOrInvalidDeclarationInModule
@Component({
selector: 'ds-test-component',
+ standalone: true,
template: '',
})
export class TestComponent {
diff --git a/src/app/shared/theme-support/test/test.component.spec.ts b/src/app/shared/theme-support/test/test.component.spec.ts
index 8f048aa2a7..f35423ca59 100644
--- a/src/app/shared/theme-support/test/test.component.spec.ts
+++ b/src/app/shared/theme-support/test/test.component.spec.ts
@@ -3,6 +3,7 @@ import { Component } from '@angular/core';
// noinspection AngularMissingOrInvalidDeclarationInModule
@Component({
selector: 'ds-test-component',
+ standalone: true,
template: '',
})
export class TestComponent {
diff --git a/src/app/shared/theme-support/themed.component.ts b/src/app/shared/theme-support/themed.component.ts
index 2c6b9c8836..dbc237044d 100644
--- a/src/app/shared/theme-support/themed.component.ts
+++ b/src/app/shared/theme-support/themed.component.ts
@@ -37,6 +37,7 @@ import { ThemeService } from './theme.service';
@Component({
selector: 'ds-themed',
+ standalone: true,
styleUrls: ['./themed.component.scss'],
templateUrl: './themed.component.html',
})
diff --git a/src/app/submission/sections/models/section.model.ts b/src/app/submission/sections/models/section.model.ts
index 4868f0c6c1..5ec6a14c0d 100644
--- a/src/app/submission/sections/models/section.model.ts
+++ b/src/app/submission/sections/models/section.model.ts
@@ -29,6 +29,7 @@ export interface SectionDataModel {
*/
@Component({
selector: 'ds-section-model',
+ standalone: true,
template: '',
})
export abstract class SectionModelComponent implements OnDestroy, OnInit, SectionDataModel {
diff --git a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts
index a12a40b52a..d9948462ce 100644
--- a/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts
+++ b/src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts
@@ -30,6 +30,7 @@ import { WorkflowItemActionPageDirective } from '../../workflow-item-action-page
*/
@Component({
selector: 'ds-advanced-workflow-action',
+ standalone: true,
template: '',
})
export abstract class AdvancedWorkflowActionComponent extends WorkflowItemActionPageDirective implements OnInit {