Skip to content

Commit 6e1b24a

Browse files
committed
Merge branch 'main' into iiif-viewer-fixes
2 parents 07ec407 + dba2d7a commit 6e1b24a

File tree

2,402 files changed

+282741
-67795
lines changed

Some content is hidden

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

2,402 files changed

+282741
-67795
lines changed

.editorconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ trim_trailing_whitespace = false
1515

1616
[*.ts]
1717
quote_type = single
18+
ij_typescript_enforce_trailing_comma = whenmultiline
19+
20+
[*.js]
21+
ij_javascript_enforce_trailing_comma = whenmultiline
1822

1923
[*.json5]
2024
ij_json_keep_blank_lines_in_code = 3

.eslintrc.json

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
"eslint-plugin-rxjs",
1313
"eslint-plugin-simple-import-sort",
1414
"eslint-plugin-import-newlines",
15-
"eslint-plugin-jsonc",
1615
"dspace-angular-ts",
1716
"dspace-angular-html"
1817
],
@@ -161,6 +160,9 @@
161160
]
162161
}
163162
],
163+
"@angular-eslint/prefer-standalone": [
164+
"error"
165+
],
164166
"@angular-eslint/no-attribute-decorator": "error",
165167
"@angular-eslint/no-output-native": "warn",
166168
"@angular-eslint/no-output-on-prefix": "warn",
@@ -251,6 +253,10 @@
251253
"forceSingleLine": true
252254
}
253255
],
256+
"import/enforce-node-protocol-usage": [
257+
"error",
258+
"always"
259+
],
254260

255261
"unused-imports/no-unused-imports": "error",
256262
"lodash/import-scope": [
@@ -261,9 +267,48 @@
261267
"rxjs/no-nested-subscribe": "off", // todo: go over _all_ cases
262268

263269
// Custom DSpace Angular rules
270+
"dspace-angular-ts/alias-imports": [
271+
"error",
272+
{
273+
"aliases": [
274+
{
275+
"package": "rxjs",
276+
"imported": "of",
277+
"local": "of"
278+
}
279+
]
280+
}
281+
],
264282
"dspace-angular-ts/themed-component-classes": "error",
265283
"dspace-angular-ts/themed-component-selectors": "error",
266-
"dspace-angular-ts/themed-component-usages": "error"
284+
"dspace-angular-ts/themed-component-usages": "error",
285+
"dspace-angular-ts/themed-decorators": [
286+
"off",
287+
{
288+
"decorators": {
289+
"listableObjectComponent": 3,
290+
"rendersSectionForMenu": 2
291+
}
292+
}
293+
],
294+
"dspace-angular-ts/themed-wrapper-no-input-defaults": "error",
295+
"dspace-angular-ts/unique-decorators": [
296+
"off",
297+
{
298+
"decorators": [
299+
"listableObjectComponent"
300+
]
301+
}
302+
],
303+
"dspace-angular-ts/sort-standalone-imports": [
304+
"error",
305+
{
306+
"locale": "en-US",
307+
"maxItems": 0,
308+
"indent": 2,
309+
"trailingComma": true
310+
}
311+
]
267312
}
268313
},
269314
{
@@ -293,18 +338,23 @@
293338
],
294339
"rules": {
295340
// Custom DSpace Angular rules
296-
"dspace-angular-html/themed-component-usages": "error"
341+
"dspace-angular-html/themed-component-usages": "error",
342+
"dspace-angular-html/no-disabled-attribute-on-button": "error",
343+
"@angular-eslint/template/prefer-control-flow": "error"
297344
}
298345
},
299346
{
300347
"files": [
301348
"*.json5"
302349
],
303350
"extends": [
304-
"plugin:jsonc/recommended-with-jsonc"
351+
"plugin:jsonc/recommended-with-json5"
305352
],
306353
"rules": {
307-
"no-irregular-whitespace": "error",
354+
// The ESLint core no-irregular-whitespace rule doesn't work well in JSON
355+
// See: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
356+
"no-irregular-whitespace": "off",
357+
"jsonc/no-irregular-whitespace": "error",
308358
"no-trailing-spaces": "error",
309359
"jsonc/comma-dangle": [
310360
"error",

.github/dependabot.yml

Lines changed: 105 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ updates:
1111
# So, only this first section can include "applies-to: security-updates"
1212
- package-ecosystem: "npm"
1313
directory: "/"
14+
# Monthly dependency updates (NOTE: "schedule" doesn't apply to security updates)
1415
schedule:
15-
interval: "weekly"
16+
interval: "monthly"
17+
time: "05:00"
1618
# Allow up to 10 open PRs for dependencies
1719
open-pull-requests-limit: 10
1820
# Group together Angular package upgrades
@@ -22,14 +24,7 @@ updates:
2224
applies-to: version-updates
2325
patterns:
2426
- "@angular*"
25-
update-types:
26-
- "minor"
27-
- "patch"
28-
# Group together all security updates for Angular. Only accept minor/patch types.
29-
angular-security:
30-
applies-to: security-updates
31-
patterns:
32-
- "@angular*"
27+
- "@ngtools/webpack"
3328
update-types:
3429
- "minor"
3530
- "patch"
@@ -41,14 +36,6 @@ updates:
4136
update-types:
4237
- "minor"
4338
- "patch"
44-
# Group together all security updates for NgRx. Only accept minor/patch types.
45-
ngrx-security:
46-
applies-to: security-updates
47-
patterns:
48-
- "@ngrx*"
49-
update-types:
50-
- "minor"
51-
- "patch"
5239
# Group together all patch version updates for eslint in a single PR
5340
eslint:
5441
applies-to: version-updates
@@ -58,15 +45,6 @@ updates:
5845
update-types:
5946
- "minor"
6047
- "patch"
61-
# Group together all security updates for eslint.
62-
eslint-security:
63-
applies-to: security-updates
64-
patterns:
65-
- "@typescript-eslint*"
66-
- "eslint*"
67-
update-types:
68-
- "minor"
69-
- "patch"
7048
# Group together any testing related version updates
7149
testing:
7250
applies-to: version-updates
@@ -80,9 +58,83 @@ updates:
8058
update-types:
8159
- "minor"
8260
- "patch"
83-
# Group together any testing related security updates
84-
testing-security:
85-
applies-to: security-updates
61+
# Group together any postcss related version updates
62+
postcss:
63+
applies-to: version-updates
64+
patterns:
65+
- "postcss*"
66+
update-types:
67+
- "minor"
68+
- "patch"
69+
# Group together any sass related version updates
70+
sass:
71+
applies-to: version-updates
72+
patterns:
73+
- "sass*"
74+
update-types:
75+
- "minor"
76+
- "patch"
77+
# Group together any webpack related version updates
78+
webpack:
79+
applies-to: version-updates
80+
patterns:
81+
- "webpack*"
82+
update-types:
83+
- "minor"
84+
- "patch"
85+
ignore:
86+
# Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core
87+
- dependency-name: "zone.js"
88+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
89+
# Restrict typescript updates to patch level because that's what our package.json says
90+
- dependency-name: "typescript"
91+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
92+
# Ignore all major version updates for all dependencies. We'll only automate minor/patch updates.
93+
- dependency-name: "*"
94+
update-types: ["version-update:semver-major"]
95+
#####################
96+
## dspace-9_x branch
97+
#####################
98+
- package-ecosystem: "npm"
99+
directory: "/"
100+
target-branch: dspace-9_x
101+
schedule:
102+
interval: "monthly"
103+
time: "05:00"
104+
# Allow up to 10 open PRs for dependencies
105+
open-pull-requests-limit: 10
106+
# Group together Angular package upgrades
107+
groups:
108+
# Group together all patch version updates for Angular in a single PR
109+
angular:
110+
applies-to: version-updates
111+
patterns:
112+
- "@angular*"
113+
- "@ngtools/webpack"
114+
update-types:
115+
- "minor"
116+
- "patch"
117+
# Group together all minor/patch version updates for NgRx in a single PR
118+
ngrx:
119+
applies-to: version-updates
120+
patterns:
121+
- "@ngrx*"
122+
- "@ngtools/webpack"
123+
update-types:
124+
- "minor"
125+
- "patch"
126+
# Group together all patch version updates for eslint in a single PR
127+
eslint:
128+
applies-to: version-updates
129+
patterns:
130+
- "@typescript-eslint*"
131+
- "eslint*"
132+
update-types:
133+
- "minor"
134+
- "patch"
135+
# Group together any testing related version updates
136+
testing:
137+
applies-to: version-updates
86138
patterns:
87139
- "@cypress*"
88140
- "axe-*"
@@ -101,14 +153,6 @@ updates:
101153
update-types:
102154
- "minor"
103155
- "patch"
104-
# Group together any postcss related security updates
105-
postcss-security:
106-
applies-to: security-updates
107-
patterns:
108-
- "postcss*"
109-
update-types:
110-
- "minor"
111-
- "patch"
112156
# Group together any sass related version updates
113157
sass:
114158
applies-to: version-updates
@@ -117,14 +161,6 @@ updates:
117161
update-types:
118162
- "minor"
119163
- "patch"
120-
# Group together any sass related security updates
121-
sass-security:
122-
applies-to: security-updates
123-
patterns:
124-
- "sass*"
125-
update-types:
126-
- "minor"
127-
- "patch"
128164
# Group together any webpack related version updates
129165
webpack:
130166
applies-to: version-updates
@@ -133,15 +169,13 @@ updates:
133169
update-types:
134170
- "minor"
135171
- "patch"
136-
# Group together any webpack related seurity updates
137-
webpack-security:
138-
applies-to: security-updates
139-
patterns:
140-
- "webpack*"
141-
update-types:
142-
- "minor"
143-
- "patch"
144172
ignore:
173+
# Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core
174+
- dependency-name: "zone.js"
175+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
176+
# Restrict typescript updates to patch level because that's what our package.json says
177+
- dependency-name: "typescript"
178+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
145179
# Ignore all major version updates for all dependencies. We'll only automate minor/patch updates.
146180
- dependency-name: "*"
147181
update-types: ["version-update:semver-major"]
@@ -152,7 +186,8 @@ updates:
152186
directory: "/"
153187
target-branch: dspace-8_x
154188
schedule:
155-
interval: "weekly"
189+
interval: "monthly"
190+
time: "05:00"
156191
# Allow up to 10 open PRs for dependencies
157192
open-pull-requests-limit: 10
158193
# Group together Angular package upgrades
@@ -162,6 +197,7 @@ updates:
162197
applies-to: version-updates
163198
patterns:
164199
- "@angular*"
200+
- "@ngtools/webpack"
165201
update-types:
166202
- "minor"
167203
- "patch"
@@ -220,6 +256,12 @@ updates:
220256
- "minor"
221257
- "patch"
222258
ignore:
259+
# Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core
260+
- dependency-name: "zone.js"
261+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
262+
# Restrict typescript updates to patch level because that's what our package.json says
263+
- dependency-name: "typescript"
264+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
223265
# Ignore all major version updates for all dependencies. We'll only automate minor/patch updates.
224266
- dependency-name: "*"
225267
update-types: ["version-update:semver-major"]
@@ -230,7 +272,8 @@ updates:
230272
directory: "/"
231273
target-branch: dspace-7_x
232274
schedule:
233-
interval: "weekly"
275+
interval: "monthly"
276+
time: "05:00"
234277
# Allow up to 10 open PRs for dependencies
235278
open-pull-requests-limit: 10
236279
# Group together Angular package upgrades
@@ -240,6 +283,7 @@ updates:
240283
applies-to: version-updates
241284
patterns:
242285
- "@angular*"
286+
- "@ngtools/webpack"
243287
update-types:
244288
- "minor"
245289
- "patch"
@@ -293,6 +337,12 @@ updates:
293337
# 7.x Cannot update Webpack past v5.76.1 as later versions not supported by Angular 15
294338
# See also https://github.com/DSpace/dspace-angular/pull/3283#issuecomment-2372488489
295339
- dependency-name: "webpack"
340+
# Restrict zone.js updates to patch level to avoid dependency conflicts with @angular/core
341+
- dependency-name: "zone.js"
342+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
343+
# Restrict typescript updates to patch level because that's what our package.json says
344+
- dependency-name: "typescript"
345+
update-types: ["version-update:semver-major", "version-update:semver-minor"]
296346
# Ignore all major version updates for all dependencies. We'll only automate minor/patch updates.
297347
- dependency-name: "*"
298348
update-types: ["version-update:semver-major"]

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ However, reviewers may request that you complete any actions in this list if you
2525
- [ ] My PR **doesn't introduce circular dependencies** (verified via `npm run check-circ-deps`)
2626
- [ ] My PR **includes [TypeDoc](https://typedoc.org/) comments** for _all new (or modified) public methods and classes_. It also includes TypeDoc for large or complex private methods.
2727
- [ ] My PR **passes all specs/tests and includes new/updated specs or tests** based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide).
28-
- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility)** if it makes changes to the user interface.
28+
- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC9x/Accessibility)** if it makes changes to the user interface.
2929
- [ ] My PR **uses i18n (internationalization) keys** instead of hardcoded English text, to allow for translations.
3030
- [ ] My PR **includes details on how to test it**. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
3131
- [ ] If my PR includes new libraries/dependencies (in `package.json`), I've made sure their licenses align with the [DSpace BSD License](https://github.com/DSpace/DSpace/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation.

0 commit comments

Comments
 (0)