Skip to content

Commit 09c7977

Browse files
Merge remote-tracking branch 'gitHub/main' into task/main/DURACOM-317
2 parents cea9adb + 93b9b46 commit 09c7977

File tree

1,139 files changed

+8788
-7646
lines changed

Some content is hidden

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

1,139 files changed

+8788
-7646
lines changed

.eslintrc.json

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
"@angular-eslint/eslint-plugin",
66
"eslint-plugin-import",
77
"eslint-plugin-jsdoc",
8-
"eslint-plugin-deprecation",
98
"unused-imports",
109
"eslint-plugin-lodash",
1110
"eslint-plugin-jsonc",
12-
"eslint-plugin-rxjs",
11+
"@smarttools/rxjs",
1312
"eslint-plugin-simple-import-sort",
1413
"eslint-plugin-import-newlines",
14+
"@stylistic",
1515
"dspace-angular-ts",
1616
"dspace-angular-html"
1717
],
@@ -37,7 +37,7 @@
3737
"plugin:@typescript-eslint/recommended-requiring-type-checking",
3838
"plugin:@angular-eslint/recommended",
3939
"plugin:@angular-eslint/template/process-inline-templates",
40-
"plugin:rxjs/recommended"
40+
"plugin:@smarttools/rxjs/recommended-legacy"
4141
],
4242
"rules": {
4343
"indent": [
@@ -175,15 +175,16 @@
175175
"ignoreParameters": true
176176
}
177177
],
178-
"@typescript-eslint/quotes": [
178+
"@angular-eslint/prefer-inject": "off",
179+
"@stylistic/quotes": [
179180
"error",
180181
"single",
181182
{
182183
"avoidEscape": true,
183184
"allowTemplateLiterals": true
184185
}
185186
],
186-
"@typescript-eslint/semi": "error",
187+
"@stylistic/semi": "error",
187188
"@typescript-eslint/no-shadow": "error",
188189
"@typescript-eslint/dot-notation": "error",
189190
"@typescript-eslint/consistent-type-definitions": "error",
@@ -206,9 +207,9 @@
206207
]
207208
}
208209
],
209-
"@typescript-eslint/type-annotation-spacing": "error",
210+
"@stylistic/type-annotation-spacing": "error",
210211
"@typescript-eslint/unified-signatures": "error",
211-
"@typescript-eslint/ban-types": "error",
212+
"@typescript-eslint/no-restricted-types": "error",
212213
"@typescript-eslint/no-floating-promises": "warn",
213214
"@typescript-eslint/no-misused-promises": "warn",
214215
"@typescript-eslint/restrict-plus-operands": "warn",
@@ -223,6 +224,7 @@
223224
"@typescript-eslint/no-unsafe-call": "off",
224225
"@typescript-eslint/no-unsafe-argument": "off",
225226
"@typescript-eslint/no-unsafe-return": "off",
227+
"@typescript-eslint/no-redundant-type-constituents": "off",
226228
"@typescript-eslint/restrict-template-expressions": "off",
227229
"@typescript-eslint/require-await": "off",
228230
"@typescript-eslint/no-base-to-string": [
@@ -235,7 +237,7 @@
235237
}
236238
],
237239

238-
"deprecation/deprecation": "warn",
240+
"@typescript-eslint/no-deprecated": "warn",
239241

240242
"simple-import-sort/imports": "error",
241243
"simple-import-sort/exports": "error",
@@ -264,7 +266,7 @@
264266
"method"
265267
],
266268

267-
"rxjs/no-nested-subscribe": "off", // todo: go over _all_ cases
269+
"@smarttools/rxjs/no-nested-subscribe": "off", // todo: go over _all_ cases
268270

269271
// Custom DSpace Angular rules
270272
"dspace-angular-ts/alias-imports": [
@@ -279,7 +281,7 @@
279281
]
280282
}
281283
],
282-
"dspace-angular-ts/themed-component-classes": "error",
284+
"dspace-angular-ts/no-default-standalone-value": "error",
283285
"dspace-angular-ts/themed-component-selectors": "error",
284286
"dspace-angular-ts/themed-component-usages": "error",
285287
"dspace-angular-ts/themed-decorators": [

.github/dependabot.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ updates:
1515
schedule:
1616
interval: "monthly"
1717
time: "05:00"
18+
# Allow updates to be delayed for a configurable number of days to mitigate
19+
# some classes of supply chain attacks
20+
cooldown:
21+
default-days: 7
1822
# Allow up to 10 open PRs for dependencies
1923
open-pull-requests-limit: 10
2024
# Group together Angular package upgrades
@@ -101,6 +105,10 @@ updates:
101105
schedule:
102106
interval: "monthly"
103107
time: "05:00"
108+
# Allow updates to be delayed for a configurable number of days to mitigate
109+
# some classes of supply chain attacks
110+
cooldown:
111+
default-days: 7
104112
# Allow up to 10 open PRs for dependencies
105113
open-pull-requests-limit: 10
106114
# Group together Angular package upgrades
@@ -188,6 +196,10 @@ updates:
188196
schedule:
189197
interval: "monthly"
190198
time: "05:00"
199+
# Allow updates to be delayed for a configurable number of days to mitigate
200+
# some classes of supply chain attacks
201+
cooldown:
202+
default-days: 7
191203
# Allow up to 10 open PRs for dependencies
192204
open-pull-requests-limit: 10
193205
# Group together Angular package upgrades
@@ -274,6 +286,10 @@ updates:
274286
schedule:
275287
interval: "monthly"
276288
time: "05:00"
289+
# Allow updates to be delayed for a configurable number of days to mitigate
290+
# some classes of supply chain attacks
291+
cooldown:
292+
default-days: 7
277293
# Allow up to 10 open PRs for dependencies
278294
open-pull-requests-limit: 10
279295
# Group together Angular package upgrades

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
DSPACE_REST_PORT: 8080
2222
DSPACE_REST_NAMESPACE: '/server'
2323
DSPACE_REST_SSL: false
24-
# Spin up UI on 127.0.0.1 to avoid host resolution issues in e2e tests with Node 18+
24+
# Spin up UI on 127.0.0.1 to avoid host resolution issues in e2e tests with Node 20+
2525
DSPACE_UI_HOST: 127.0.0.1
2626
DSPACE_UI_PORT: 4000
2727
# Ensure all SSR caching is disabled in test environment
@@ -44,7 +44,7 @@ jobs:
4444
strategy:
4545
# Create a matrix of Node versions to test against (in parallel)
4646
matrix:
47-
node-version: [18.x, 20.x]
47+
node-version: [20.x, 22.x]
4848
# Do NOT exit immediately if one matrix job fails
4949
fail-fast: false
5050
# These are the actual CI steps to perform per job
@@ -114,7 +114,7 @@ jobs:
114114
# NOTE: Angular CLI only supports code coverage for specs. See https://github.com/angular/angular-cli/issues/6286
115115
- name: Upload code coverage report to Artifact
116116
uses: actions/upload-artifact@v4
117-
if: matrix.node-version == '18.x'
117+
if: matrix.node-version == '20.x'
118118
with:
119119
name: coverage-report-${{ matrix.node-version }}
120120
path: 'coverage/dspace-angular/lcov.info'

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This image will be published as dspace/dspace-angular
22
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details
33

4-
FROM docker.io/node:18-alpine
4+
FROM docker.io/node:20-alpine
55

66
# Ensure Python and other build tools are available
77
# These are needed to install some node modules, especially on linux/arm64

Dockerfile.dist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Test build:
55
# docker build -f Dockerfile.dist -t dspace/dspace-angular:latest-dist .
66

7-
FROM docker.io/node:18-alpine AS build
7+
FROM docker.io/node:20-alpine AS build
88

99
# Ensure Python and other build tools are available
1010
# These are needed to install some node modules, especially on linux/arm64
@@ -17,7 +17,7 @@ RUN npm install
1717
ADD . /app/
1818
RUN npm run build:prod
1919

20-
FROM node:18-alpine
20+
FROM node:20-alpine
2121
RUN npm install --global pm2
2222

2323
COPY --chown=node:node --from=build /app/dist /app/dist

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ https://wiki.lyrasis.org/display/DSDOC9x/Installing+DSpace
3535
Quick start
3636
-----------
3737

38-
**Ensure you're running [Node](https://nodejs.org) `v18.x` or `v20.x`, [npm](https://www.npmjs.com/) >= `v10.x`**
38+
**Ensure you're running [Node](https://nodejs.org) `v20.x`, `v22.x` or `v24.x`, [npm](https://www.npmjs.com/) >= `v10.x`**
3939

4040
```bash
4141
# clone the repo
@@ -90,7 +90,7 @@ Requirements
9090
------------
9191

9292
- [Node.js](https://nodejs.org)
93-
- Ensure you're running node `v18.x` or `v20.x`
93+
- Ensure you're running node `v20.x`, `v22.x` or `v24.x`
9494

9595
If you have [`nvm`](https://github.com/creationix/nvm#install-script) or [`nvm-windows`](https://github.com/coreybutler/nvm-windows) installed, which is highly recommended, you can run `nvm install --lts && nvm use` to install and start using the latest Node LTS.
9696

@@ -454,7 +454,6 @@ dspace-angular
454454
├── karma.conf.js * Karma configuration file for Unit Test
455455
├── LICENSE *
456456
├── LICENSES_THIRD_PARTY *
457-
├── nodemon.json * Nodemon (https://nodemon.io/) configuration
458457
├── package.json * This file describes the npm package for this project, its dependencies, scripts, etc.
459458
├── package-lock.json * npm lockfile (https://docs.npmjs.com/cli/v10/configuring-npm/package-lock-json)
460459
├── postcss.config.js * PostCSS (http://postcss.org/) configuration

angular.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,30 @@
290290
},
291291
"@angular-eslint/schematics:library": {
292292
"setParserOptionsProject": true
293+
},
294+
"@schematics/angular:component": {
295+
"type": "component"
296+
},
297+
"@schematics/angular:directive": {
298+
"type": "directive"
299+
},
300+
"@schematics/angular:service": {
301+
"type": "service"
302+
},
303+
"@schematics/angular:guard": {
304+
"typeSeparator": "."
305+
},
306+
"@schematics/angular:interceptor": {
307+
"typeSeparator": "."
308+
},
309+
"@schematics/angular:module": {
310+
"typeSeparator": "."
311+
},
312+
"@schematics/angular:pipe": {
313+
"typeSeparator": "."
314+
},
315+
"@schematics/angular:resolver": {
316+
"typeSeparator": "."
293317
}
294318
}
295319
}

config/config.example.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ submission:
235235
style: text-muted
236236
icon: fa-circle-xmark
237237

238-
# Default Language in which the UI will be rendered if the user's browser language is not an active language
239-
defaultLanguage: en
238+
# Fallback language in which the UI will be rendered if the user's browser language is not an active language
239+
fallbackLanguage: en
240240

241241
# Languages. DSpace Angular holds a message catalog for each of the following languages.
242242
# When set to active, users will be able to switch to the use of this language in the user interface.

cypress/plugins/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const fs = require('node:fs');
1+
import fs from 'node:fs';
22

33
// These two global variables are used to store information about the REST API used
44
// by these e2e tests. They are filled out prior to running any tests in the before()

docs/lint/html/rules/themed-component-usages.md

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,7 @@ _______
3030
##### use no-prefix selectors in TypeScript templates
3131
3232
```html
33-
@Component({
34-
template: '<ds-test-themeable></ds-test-themeable>'
35-
})
36-
class Test {
37-
}
33+
<ds-test-themeable></ds-test-themeable>
3834
```
3935
4036

@@ -43,11 +39,7 @@ class Test {
4339
Filename: `lint/test/fixture/src/test.spec.ts`
4440

4541
```html
46-
@Component({
47-
template: '<ds-test-themeable></ds-test-themeable>'
48-
})
49-
class Test {
50-
}
42+
<ds-test-themeable></ds-test-themeable>
5143
```
5244
5345

@@ -56,11 +48,7 @@ class Test {
5648
Filename: `lint/test/fixture/src/test.spec.ts`
5749

5850
```html
59-
@Component({
60-
template: '<ds-base-test-themeable></ds-base-test-themeable>'
61-
})
62-
class Test {
63-
}
51+
<ds-base-test-themeable></ds-base-test-themeable>
6452
```
6553
6654

0 commit comments

Comments
 (0)