Skip to content

Commit 44cd3ae

Browse files
committed
Merge branch 'era_8.3_auth_test_ds' into era_UoEMainLibrary-dspace-8_x_ds
# Conflicts: # config/config.example.yml # config/config.yml # cypress/e2e/community-list.cy.ts # cypress/e2e/header.cy.ts # cypress/e2e/item-page.cy.ts # cypress/e2e/login-modal.cy.ts # cypress/e2e/my-dspace.cy.ts # cypress/e2e/pagenotfound.cy.ts # cypress/e2e/search-page.cy.ts # docker/docker-compose-dist.yml # package.json # server.ts # src/app/access-control/epeople-registry/eperson-form/eperson-form.component.html # src/app/access-control/group-registry/group-form/group-form.component.html # src/app/access-control/group-registry/group-form/group-form.component.ts # src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.ts # src/app/admin/admin-sidebar/admin-sidebar.component.html # src/app/breadcrumbs/breadcrumbs.component.scss # src/app/collection-page/collection-form/collection-form.component.ts # src/app/collection-page/collection-page.component.html # src/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts # src/app/community-list-page/community-list-page.component.html # src/app/community-list-page/community-list/community-list.component.html # src/app/core/auth/auth.reducer.spec.ts # src/app/core/auth/auth.reducer.ts # src/app/core/data/request.service.spec.ts # src/app/core/data/request.service.ts # src/app/core/data/root-data.service.spec.ts # src/app/core/data/root-data.service.ts # src/app/core/server-check/server-check.guard.spec.ts # src/app/core/server-check/server-check.guard.ts # src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts # src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html # src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html # src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html # src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html # src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html # src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html # src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.html # src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.html # src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.html # src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html # src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html # src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html # src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.html # src/app/health-page/health-panel/health-component/health-component.component.ts # src/app/info/info-routing-paths.ts # src/app/info/info-routing.module.ts # src/app/item-page/alerts/item-alerts.component.ts # src/app/item-page/edit-item-page/edit-item-page.component.html # src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.html # src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.spec.ts # src/app/item-page/edit-item-page/item-version-history/item-version-history.component.ts # src/app/item-page/full/field-components/file-section/full-file-section.component.html # src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.ts # src/app/item-page/simple/item-types/shared/item-relationships-utils.ts # src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html # src/app/item-page/versions/item-versions.component.ts # src/app/item-page/versions/notice/item-versions-notice.component.ts # src/app/login-page/login-page.component.html # src/app/process-page/detail/process-detail.component.spec.ts # src/app/profile-page/profile-page.component.ts # src/app/register-email-form/register-email-form.component.ts # src/app/root/root.component.html # src/app/shared/access-control-form-container/access-control-form-container.component.ts # src/app/shared/alert/alert.component.spec.ts # src/app/shared/alert/alert.component.ts # src/app/shared/auth-nav-menu/auth-nav-menu.component.html # src/app/shared/browse-by/browse-by.component.html # src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.html # src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.html # src/app/shared/comcol/comcol-page-logo/comcol-page-logo.component.scss # src/app/shared/dso-page/dso-edit-menu.resolver.spec.ts # src/app/shared/dso-page/dso-edit-menu.resolver.ts # src/app/shared/error/error.component.ts # src/app/shared/file-download-link/file-download-link.component.html # src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.ts # src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.html # src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.spec.ts # src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts # src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts # src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.html # src/app/shared/lang-switch/lang-switch.component.html # src/app/shared/log-in/container/log-in-container.component.spec.ts # src/app/shared/log-in/log-in.component.html # src/app/shared/log-in/log-in.component.ts # src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.html # src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts # src/app/shared/log-in/methods/password/log-in-password.component.html # src/app/shared/log-in/methods/password/log-in-password.component.spec.ts # src/app/shared/log-in/methods/password/log-in-password.component.ts # src/app/shared/menu/menu-item/link-menu-item.component.html # src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.html # src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.html # src/app/shared/pagination/pagination.component.html # src/app/shared/search-form/search-form.component.spec.ts # src/app/shared/search-form/search-form.component.ts # src/app/shared/search/search-export-csv/search-export-csv.component.ts # src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.html # src/app/shared/search/search-filters/search-filter/search-filter.component.html # src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.html # src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.ts # src/app/shared/search/search-filters/search-filters.component.html # src/app/shared/search/search-labels/search-label/search-label.component.html # src/app/shared/search/search-results/search-results.component.html # src/app/shared/testing/auth-service.stub.ts # src/app/shared/theme-support/themed.component.ts # src/app/shared/utils/markdown.pipe.ts # src/app/statistics-page/statistics-page/statistics-page.component.html # src/app/statistics-page/statistics-table/statistics-table.component.html # src/app/submission/sections/container/section-container.component.ts # src/app/submission/sections/identifiers/section-identifiers.component.ts # src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.ts # src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.ts # src/app/submission/sections/upload/file/section-upload-file.component.html # src/app/submission/sections/upload/section-upload.component.ts # src/app/thumbnail/thumbnail.component.html # src/assets/i18n/ar.json5 # src/assets/i18n/bn.json5 # src/assets/i18n/ca.json5 # src/assets/i18n/cs.json5 # src/assets/i18n/de.json5 # src/assets/i18n/el.json5 # src/assets/i18n/en.json5 # src/assets/i18n/es.json5 # src/assets/i18n/fi.json5 # src/assets/i18n/fr.json5 # src/assets/i18n/gd.json5 # src/assets/i18n/hi.json5 # src/assets/i18n/hu.json5 # src/assets/i18n/it.json5 # src/assets/i18n/ja.json5 # src/assets/i18n/kk.json5 # src/assets/i18n/lv.json5 # src/assets/i18n/nl.json5 # src/assets/i18n/pl.json5 # src/assets/i18n/pt-BR.json5 # src/assets/i18n/pt-PT.json5 # src/assets/i18n/sr-lat.json5 # src/assets/i18n/sv.json5 # src/assets/i18n/sw.json5 # src/assets/i18n/tr.json5 # src/assets/i18n/uk.json5 # src/assets/i18n/vi.json5 # src/config/config.util.ts # src/config/default-app-config.ts # src/modules/app/browser-init.service.ts # src/robots.txt.ejs # src/themes/custom/app/footer/footer.component.ts # src/themes/custom/app/header-nav-wrapper/header-navbar-wrapper.component.ts # src/themes/custom/app/shared/auth-nav-menu/auth-nav-menu.component.ts # src/themes/custom/app/shared/object-list/object-list.component.ts # src/themes/custom/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts # src/themes/dspace/app/navbar/navbar.component.scss # src/themes/dspace/styles/_global-styles.scss # src/themes/eager-themes.module.ts # src/themes/era/app/admin/admin-sidebar/admin-sidebar.component.ts # src/themes/era/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts # src/themes/era/app/breadcrumbs/breadcrumbs.component.ts # src/themes/era/app/collection-page/collection-page.component.html # src/themes/era/app/collection-page/collection-page.component.ts # src/themes/era/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts # src/themes/era/app/community-list-page/community-list-page.component.ts # src/themes/era/app/community-list-page/community-list/community-list.component.ts # src/themes/era/app/community-page/community-page.component.ts # src/themes/era/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts # src/themes/era/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts # src/themes/era/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts # src/themes/era/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts # src/themes/era/app/footer/footer.component.html # src/themes/era/app/footer/footer.component.ts # src/themes/era/app/forbidden/forbidden.component.ts # src/themes/era/app/forgot-password/forgot-password-email/forgot-email.component.ts # src/themes/era/app/forgot-password/forgot-password-form/forgot-password-form.component.ts # src/themes/era/app/header-nav-wrapper/header-navbar-wrapper.component.ts # src/themes/era/app/header/header.component.html # src/themes/era/app/header/header.component.scss # src/themes/era/app/header/header.component.ts # src/themes/era/app/home-page/home-news/home-news.component.ts # src/themes/era/app/home-page/home-page.component.html # src/themes/era/app/home-page/home-page.component.ts # src/themes/era/app/home-page/recent-item-list/recent-item-list.component.ts # src/themes/era/app/home-page/top-level-community-list/top-level-community-list.component.html # src/themes/era/app/home-page/top-level-community-list/top-level-community-list.component.ts # src/themes/era/app/info/end-user-agreement/end-user-agreement.component.ts # src/themes/era/app/info/feedback/feedback-form/feedback-form.component.ts # src/themes/era/app/info/feedback/feedback.component.ts # src/themes/era/app/info/privacy/privacy.component.ts # src/themes/era/app/item-page/alerts/item-alerts.component.ts # src/themes/era/app/item-page/edit-item-page/item-status/item-status.component.ts # src/themes/era/app/item-page/full/field-components/file-section/full-file-section.component.ts # src/themes/era/app/item-page/full/full-item-page.component.ts # src/themes/era/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts # src/themes/era/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts # src/themes/era/app/item-page/media-viewer/media-viewer.component.ts # src/themes/era/app/item-page/simple/field-components/file-section/file-section.component.ts # src/themes/era/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts # src/themes/era/app/item-page/simple/item-page.component.ts # src/themes/era/app/item-page/simple/item-types/publication/publication.component.ts # src/themes/era/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts # src/themes/era/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts # src/themes/era/app/login-page/login-page.component.ts # src/themes/era/app/logout-page/logout-page.component.ts # src/themes/era/app/lookup-by-id/objectnotfound/objectnotfound.component.ts # src/themes/era/app/my-dspace-page/my-dspace-page.component.ts # src/themes/era/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss # src/themes/era/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts # src/themes/era/app/navbar/navbar.component.html # src/themes/era/app/navbar/navbar.component.scss # src/themes/era/app/navbar/navbar.component.ts # src/themes/era/app/pagenotfound/pagenotfound.component.ts # src/themes/era/app/profile-page/profile-page.component.ts # src/themes/era/app/register-page/create-profile/create-profile.component.ts # src/themes/era/app/register-page/register-email/register-email.component.ts # src/themes/era/app/request-copy/deny-request-copy/deny-request-copy.component.ts # src/themes/era/app/request-copy/email-request-copy/email-request-copy.component.ts # src/themes/era/app/request-copy/grant-request-copy/grant-request-copy.component.ts # src/themes/era/app/root/root.component.ts # src/themes/era/app/search-navbar/search-navbar.component.ts # src/themes/era/app/search-page/configuration-search-page.component.ts # src/themes/era/app/search-page/search-page.component.ts # src/themes/era/app/shared/auth-nav-menu/auth-nav-menu.component.html # src/themes/era/app/shared/auth-nav-menu/auth-nav-menu.component.scss # src/themes/era/app/shared/auth-nav-menu/auth-nav-menu.component.ts # src/themes/era/app/shared/collection-dropdown/collection-dropdown.component.ts # src/themes/era/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts # src/themes/era/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts # src/themes/era/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts # src/themes/era/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts # src/themes/era/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts # src/themes/era/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts # src/themes/era/app/shared/file-download-link/file-download-link.component.ts # src/themes/era/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts # src/themes/era/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component.ts # src/themes/era/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts # src/themes/era/app/shared/loading/loading.component.ts # src/themes/era/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts # src/themes/era/app/shared/object-collection/shared/badges/badges.component.ts # src/themes/era/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts # src/themes/era/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts # src/themes/era/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts # src/themes/era/app/shared/object-list/collection-list-element/collection-list-element.component.ts # src/themes/era/app/shared/object-list/community-list-element/community-list-element.component.ts # src/themes/era/app/shared/object-list/object-list.component.ts # src/themes/era/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts # src/themes/era/app/shared/results-back-button/results-back-button.component.ts # src/themes/era/app/shared/search-form/search-form.component.ts # src/themes/era/app/shared/search/search-filters/search-filters.component.ts # src/themes/era/app/shared/search/search-results/search-results.component.ts # src/themes/era/app/shared/search/search-settings/search-settings.component.ts # src/themes/era/app/shared/search/search-sidebar/search-sidebar.component.ts # src/themes/era/app/shared/starts-with/date/starts-with-date.component.ts # src/themes/era/app/shared/starts-with/text/starts-with-text.component.ts # src/themes/era/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts # src/themes/era/app/statistics-page/community-statistics-page/community-statistics-page.component.ts # src/themes/era/app/statistics-page/item-statistics-page/item-statistics-page.component.ts # src/themes/era/app/statistics-page/site-statistics-page/site-statistics-page.component.ts # src/themes/era/app/submission/edit/submission-edit.component.ts # src/themes/era/app/submission/import-external/submission-import-external.component.ts # src/themes/era/app/submission/sections/upload/file/section-upload-file.component.ts # src/themes/era/app/submission/submit/submission-submit.component.ts # src/themes/era/app/thumbnail/thumbnail.component.ts # src/themes/era/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts # src/themes/era/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts # src/themes/era/eager-theme.module.ts # src/themes/era/lazy-theme.module.ts # src/themes/era/styles/_global-styles.scss # yarn.lock
2 parents edfcc98 + 821662a commit 44cd3ae

3,760 files changed

Lines changed: 371895 additions & 87925 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc.json

Lines changed: 90 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,15 @@
88
"eslint-plugin-deprecation",
99
"unused-imports",
1010
"eslint-plugin-lodash",
11-
"eslint-plugin-jsonc"
11+
"eslint-plugin-jsonc",
12+
"eslint-plugin-rxjs",
13+
"eslint-plugin-simple-import-sort",
14+
"eslint-plugin-import-newlines",
15+
"dspace-angular-ts",
16+
"dspace-angular-html"
17+
],
18+
"ignorePatterns": [
19+
"lint/test/fixture"
1220
],
1321
"overrides": [
1422
{
@@ -18,7 +26,8 @@
1826
"parserOptions": {
1927
"project": [
2028
"./tsconfig.json",
21-
"./cypress/tsconfig.json"
29+
"./cypress/tsconfig.json",
30+
"./lint/tsconfig.json"
2231
],
2332
"createDefaultProgram": true
2433
},
@@ -27,17 +36,32 @@
2736
"plugin:@typescript-eslint/recommended",
2837
"plugin:@typescript-eslint/recommended-requiring-type-checking",
2938
"plugin:@angular-eslint/recommended",
30-
"plugin:@angular-eslint/template/process-inline-templates"
39+
"plugin:@angular-eslint/template/process-inline-templates",
40+
"plugin:rxjs/recommended"
3141
],
3242
"rules": {
43+
"indent": [
44+
"error",
45+
2,
46+
{
47+
"SwitchCase": 1,
48+
"ignoredNodes": [
49+
"ClassBody.body > PropertyDefinition[decorators.length > 0] > .key"
50+
]
51+
}
52+
],
3353
"max-classes-per-file": [
3454
"error",
3555
1
3656
],
3757
"comma-dangle": [
38-
"off",
58+
"error",
3959
"always-multiline"
4060
],
61+
"object-curly-spacing": [
62+
"error",
63+
"always"
64+
],
4165
"eol-last": [
4266
"error",
4367
"always"
@@ -104,15 +128,13 @@
104128
"allowTernary": true
105129
}
106130
],
107-
"prefer-const": "off", // todo: re-enable & fix errors (more strict than it used to be in TSLint)
131+
"prefer-const": "error",
132+
"no-case-declarations": "error",
133+
"no-extra-boolean-cast": "error",
108134
"prefer-spread": "off",
109135
"no-underscore-dangle": "off",
110-
111-
// todo: disabled rules from eslint:recommended, consider re-enabling & fixing
112136
"no-prototype-builtins": "off",
113137
"no-useless-escape": "off",
114-
"no-case-declarations": "off",
115-
"no-extra-boolean-cast": "off",
116138

117139
"@angular-eslint/directive-selector": [
118140
"error",
@@ -139,10 +161,10 @@
139161
}
140162
],
141163
"@angular-eslint/no-attribute-decorator": "error",
142-
"@angular-eslint/no-forward-ref": "error",
143164
"@angular-eslint/no-output-native": "warn",
144165
"@angular-eslint/no-output-on-prefix": "warn",
145166
"@angular-eslint/no-conflicting-lifecycle": "warn",
167+
"@angular-eslint/use-lifecycle-interface": "error",
146168

147169
"@typescript-eslint/no-inferrable-types":[
148170
"error",
@@ -183,7 +205,7 @@
183205
],
184206
"@typescript-eslint/type-annotation-spacing": "error",
185207
"@typescript-eslint/unified-signatures": "error",
186-
"@typescript-eslint/ban-types": "warn", // todo: deal with {} type issues & re-enable
208+
"@typescript-eslint/ban-types": "error",
187209
"@typescript-eslint/no-floating-promises": "warn",
188210
"@typescript-eslint/no-misused-promises": "warn",
189211
"@typescript-eslint/restrict-plus-operands": "warn",
@@ -200,17 +222,65 @@
200222
"@typescript-eslint/no-unsafe-return": "off",
201223
"@typescript-eslint/restrict-template-expressions": "off",
202224
"@typescript-eslint/require-await": "off",
225+
"@typescript-eslint/no-base-to-string": [
226+
"error",
227+
{
228+
"ignoredTypeNames": [
229+
"ResourceType",
230+
"Error"
231+
]
232+
}
233+
],
203234

204235
"deprecation/deprecation": "warn",
205236

237+
"simple-import-sort/imports": "error",
238+
"simple-import-sort/exports": "error",
206239
"import/order": "off",
240+
"import/first": "error",
241+
"import/newline-after-import": "error",
242+
"import/no-duplicates": "error",
207243
"import/no-deprecated": "warn",
208244
"import/no-namespace": "error",
245+
"import-newlines/enforce": [
246+
"error",
247+
{
248+
"items": 1,
249+
"semi": true,
250+
"forceSingleLine": true
251+
}
252+
],
253+
209254
"unused-imports/no-unused-imports": "error",
210255
"lodash/import-scope": [
211256
"error",
212257
"method"
213-
]
258+
],
259+
260+
"rxjs/no-nested-subscribe": "off", // todo: go over _all_ cases
261+
262+
// Custom DSpace Angular rules
263+
"dspace-angular-ts/themed-component-classes": "error",
264+
"dspace-angular-ts/themed-component-selectors": "error",
265+
"dspace-angular-ts/themed-component-usages": "error"
266+
}
267+
},
268+
{
269+
"files": [
270+
"*.spec.ts"
271+
],
272+
"parserOptions": {
273+
"project": [
274+
"./tsconfig.json",
275+
"./cypress/tsconfig.json"
276+
],
277+
"createDefaultProgram": true
278+
},
279+
"rules": {
280+
"prefer-const": "off",
281+
282+
// Custom DSpace Angular rules
283+
"dspace-angular-ts/themed-component-usages": "error"
214284
}
215285
},
216286
{
@@ -221,20 +291,23 @@
221291
"plugin:@angular-eslint/template/recommended"
222292
],
223293
"rules": {
224-
// todo: re-enable & fix errors
225-
"@angular-eslint/template/no-negated-async": "off",
226-
"@angular-eslint/template/eqeqeq": "off"
294+
// Custom DSpace Angular rules
295+
"dspace-angular-html/themed-component-usages": "error",
296+
"dspace-angular-html/no-disabled-attribute-on-button": "error"
227297
}
228298
},
229299
{
230300
"files": [
231301
"*.json5"
232302
],
233303
"extends": [
234-
"plugin:jsonc/recommended-with-jsonc"
304+
"plugin:jsonc/recommended-with-json5"
235305
],
236306
"rules": {
237-
"no-irregular-whitespace": "error",
307+
// The ESLint core no-irregular-whitespace rule doesn't work well in JSON
308+
// See: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
309+
"no-irregular-whitespace": "off",
310+
"jsonc/no-irregular-whitespace": "error",
238311
"no-trailing-spaces": "error",
239312
"jsonc/comma-dangle": [
240313
"error",

.gitattributes

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,7 @@
1313
*.css eol=lf
1414
*.scss eol=lf
1515
*.html eol=lf
16-
*.svg eol=lf
16+
*.svg eol=lf
17+
18+
# Generated documentation should have LF line endings to reduce git noise
19+
docs/lint/**/*.md eol=lf

.github/disabled-workflows/pull_request_opened.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)