Skip to content

Commit 2fb746f

Browse files
Merge branch 'main' into linkName-in-the-link-decorator-doesnt-assign-to-the-value-on-the-correct-property
# Conflicts: # src/app/core/data/base/base-data.service.spec.ts
2 parents 752eb4c + dcea3ba commit 2fb746f

File tree

286 files changed

+41214
-17765
lines changed

Some content is hidden

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

286 files changed

+41214
-17765
lines changed

.dockerignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,6 @@ npm-debug.log.*
2525

2626
# Webpack files
2727
webpack.records.json
28-
package-lock.json
28+
29+
# Yarn no longer used
30+
yarn.lock

.github/dependabot.yml

Lines changed: 298 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,298 @@
1+
#-------------------
2+
# DSpace's dependabot rules. Enables npm updates for all dependencies on a weekly basis
3+
# for main and any maintenance branches. Security updates only apply to main.
4+
#-------------------
5+
version: 2
6+
updates:
7+
###############
8+
## Main branch
9+
###############
10+
# NOTE: At this time, "security-updates" rules only apply if "target-branch" is unspecified
11+
# So, only this first section can include "applies-to: security-updates"
12+
- package-ecosystem: "npm"
13+
directory: "/"
14+
schedule:
15+
interval: "weekly"
16+
# Allow up to 10 open PRs for dependencies
17+
open-pull-requests-limit: 10
18+
# Group together Angular package upgrades
19+
groups:
20+
# Group together all minor/patch version updates for Angular in a single PR
21+
angular:
22+
applies-to: version-updates
23+
patterns:
24+
- "@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*"
33+
update-types:
34+
- "minor"
35+
- "patch"
36+
# Group together all minor/patch version updates for NgRx in a single PR
37+
ngrx:
38+
applies-to: version-updates
39+
patterns:
40+
- "@ngrx*"
41+
update-types:
42+
- "minor"
43+
- "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"
52+
# Group together all patch version updates for eslint in a single PR
53+
eslint:
54+
applies-to: version-updates
55+
patterns:
56+
- "@typescript-eslint*"
57+
- "eslint*"
58+
update-types:
59+
- "minor"
60+
- "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"
70+
# Group together any testing related version updates
71+
testing:
72+
applies-to: version-updates
73+
patterns:
74+
- "@cypress*"
75+
- "axe-*"
76+
- "cypress*"
77+
- "jasmine*"
78+
- "karma*"
79+
- "ng-mocks"
80+
update-types:
81+
- "minor"
82+
- "patch"
83+
# Group together any testing related security updates
84+
testing-security:
85+
applies-to: security-updates
86+
patterns:
87+
- "@cypress*"
88+
- "axe-*"
89+
- "cypress*"
90+
- "jasmine*"
91+
- "karma*"
92+
- "ng-mocks"
93+
update-types:
94+
- "minor"
95+
- "patch"
96+
# Group together any postcss related version updates
97+
postcss:
98+
applies-to: version-updates
99+
patterns:
100+
- "postcss*"
101+
update-types:
102+
- "minor"
103+
- "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"
112+
# Group together any sass related version updates
113+
sass:
114+
applies-to: version-updates
115+
patterns:
116+
- "sass*"
117+
update-types:
118+
- "minor"
119+
- "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"
128+
# Group together any webpack related version updates
129+
webpack:
130+
applies-to: version-updates
131+
patterns:
132+
- "webpack*"
133+
update-types:
134+
- "minor"
135+
- "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"
144+
ignore:
145+
# Ignore all major version updates for all dependencies. We'll only automate minor/patch updates.
146+
- dependency-name: "*"
147+
update-types: ["version-update:semver-major"]
148+
#####################
149+
## dspace-8_x branch
150+
#####################
151+
- package-ecosystem: "npm"
152+
directory: "/"
153+
target-branch: dspace-8_x
154+
schedule:
155+
interval: "weekly"
156+
# Allow up to 10 open PRs for dependencies
157+
open-pull-requests-limit: 10
158+
# Group together Angular package upgrades
159+
groups:
160+
# Group together all patch version updates for Angular in a single PR
161+
angular:
162+
applies-to: version-updates
163+
patterns:
164+
- "@angular*"
165+
update-types:
166+
- "minor"
167+
- "patch"
168+
# Group together all minor/patch version updates for NgRx in a single PR
169+
ngrx:
170+
applies-to: version-updates
171+
patterns:
172+
- "@ngrx*"
173+
update-types:
174+
- "minor"
175+
- "patch"
176+
# Group together all patch version updates for eslint in a single PR
177+
eslint:
178+
applies-to: version-updates
179+
patterns:
180+
- "@typescript-eslint*"
181+
- "eslint*"
182+
update-types:
183+
- "minor"
184+
- "patch"
185+
# Group together any testing related version updates
186+
testing:
187+
applies-to: version-updates
188+
patterns:
189+
- "@cypress*"
190+
- "axe-*"
191+
- "cypress*"
192+
- "jasmine*"
193+
- "karma*"
194+
- "ng-mocks"
195+
update-types:
196+
- "minor"
197+
- "patch"
198+
# Group together any postcss related version updates
199+
postcss:
200+
applies-to: version-updates
201+
patterns:
202+
- "postcss*"
203+
update-types:
204+
- "minor"
205+
- "patch"
206+
# Group together any sass related version updates
207+
sass:
208+
applies-to: version-updates
209+
patterns:
210+
- "sass*"
211+
update-types:
212+
- "minor"
213+
- "patch"
214+
# Group together any webpack related version updates
215+
webpack:
216+
applies-to: version-updates
217+
patterns:
218+
- "webpack*"
219+
update-types:
220+
- "minor"
221+
- "patch"
222+
ignore:
223+
# Ignore all major version updates for all dependencies. We'll only automate minor/patch updates.
224+
- dependency-name: "*"
225+
update-types: ["version-update:semver-major"]
226+
#####################
227+
## dspace-7_x branch
228+
#####################
229+
- package-ecosystem: "npm"
230+
directory: "/"
231+
target-branch: dspace-7_x
232+
schedule:
233+
interval: "weekly"
234+
# Allow up to 10 open PRs for dependencies
235+
open-pull-requests-limit: 10
236+
# Group together Angular package upgrades
237+
groups:
238+
# Group together all minor/patch version updates for Angular in a single PR
239+
angular:
240+
applies-to: version-updates
241+
patterns:
242+
- "@angular*"
243+
update-types:
244+
- "minor"
245+
- "patch"
246+
# Group together all minor/patch version updates for NgRx in a single PR
247+
ngrx:
248+
applies-to: version-updates
249+
patterns:
250+
- "@ngrx*"
251+
update-types:
252+
- "minor"
253+
- "patch"
254+
# Group together all patch version updates for eslint in a single PR
255+
eslint:
256+
applies-to: version-updates
257+
patterns:
258+
- "@typescript-eslint*"
259+
- "eslint*"
260+
update-types:
261+
- "minor"
262+
- "patch"
263+
# Group together any testing related version updates
264+
testing:
265+
applies-to: version-updates
266+
patterns:
267+
- "@cypress*"
268+
- "axe-*"
269+
- "cypress*"
270+
- "jasmine*"
271+
- "karma*"
272+
- "ng-mocks"
273+
update-types:
274+
- "minor"
275+
- "patch"
276+
# Group together any postcss related version updates
277+
postcss:
278+
applies-to: version-updates
279+
patterns:
280+
- "postcss*"
281+
update-types:
282+
- "minor"
283+
- "patch"
284+
# Group together any sass related version updates
285+
sass:
286+
applies-to: version-updates
287+
patterns:
288+
- "sass*"
289+
update-types:
290+
- "minor"
291+
- "patch"
292+
ignore:
293+
# 7.x Cannot update Webpack past v5.76.1 as later versions not supported by Angular 15
294+
# See also https://github.com/DSpace/dspace-angular/pull/3283#issuecomment-2372488489
295+
- dependency-name: "webpack"
296+
# Ignore all major version updates for all dependencies. We'll only automate minor/patch updates.
297+
- dependency-name: "*"
298+
update-types: ["version-update:semver-major"]

.github/pull_request_template.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ However, reviewers may request that you complete any actions in this list if you
2121

2222
- [ ] My PR is **created against the `main` branch** of code (unless it is a backport or is fixing an issue specific to an older branch).
2323
- [ ] My PR is **small in size** (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
24-
- [ ] My PR **passes [ESLint](https://eslint.org/)** validation using `yarn lint`
25-
- [ ] My PR **doesn't introduce circular dependencies** (verified via `yarn check-circ-deps`)
24+
- [ ] My PR **passes [ESLint](https://eslint.org/)** validation using `npm run lint`
25+
- [ ] 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).
2828
- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility)** if it makes changes to the user interface.

.github/workflows/build.yml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -69,39 +69,39 @@ jobs:
6969
fi
7070
google-chrome --version
7171
72-
# https://github.com/actions/cache/blob/main/examples.md#node---yarn
73-
- name: Get Yarn cache directory
74-
id: yarn-cache-dir-path
75-
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
76-
- name: Cache Yarn dependencies
72+
# https://github.com/actions/cache/blob/main/examples.md#node---npm
73+
- name: Get NPM cache directory
74+
id: npm-cache-dir
75+
run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
76+
- name: Cache NPM dependencies
7777
uses: actions/cache@v4
7878
with:
79-
# Cache entire Yarn cache directory (see previous step)
80-
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
81-
# Cache key is hash of yarn.lock. Therefore changes to yarn.lock will invalidate cache
82-
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
83-
restore-keys: ${{ runner.os }}-yarn-
79+
# Cache entire NPM cache directory (see previous step)
80+
path: ${{ steps.npm-cache-dir.outputs.dir }}
81+
# Cache key is hash of package-lock.json. Therefore changes to package-lock.json will invalidate cache
82+
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
83+
restore-keys: ${{ runner.os }}-npm-
8484

85-
- name: Install Yarn dependencies
86-
run: yarn install --frozen-lockfile
85+
- name: Install NPM dependencies
86+
run: npm clean-install
8787

8888
- name: Build lint plugins
89-
run: yarn run build:lint
89+
run: npm run build:lint
9090

9191
- name: Run lint plugin tests
92-
run: yarn run test:lint:nobuild
92+
run: npm run test:lint:nobuild
9393

9494
- name: Run lint
95-
run: yarn run lint:nobuild --quiet
95+
run: npm run lint:nobuild -- --quiet
9696

9797
- name: Check for circular dependencies
98-
run: yarn run check-circ-deps
98+
run: npm run check-circ-deps
9999

100100
- name: Run build
101-
run: yarn run build:prod
101+
run: npm run build:prod
102102

103103
- name: Run specs (unit tests)
104-
run: yarn run test:headless
104+
run: npm run test:headless
105105

106106
# Upload code coverage report to artifact (for one version of Node only),
107107
# so that it can be shared with the 'codecov' job (see below)
@@ -131,7 +131,7 @@ jobs:
131131
# Run tests in Chrome, headless mode (default)
132132
browser: chrome
133133
# Start app before running tests (will be stopped automatically after tests finish)
134-
start: yarn run serve:ssr
134+
start: npm run serve:ssr
135135
# Wait for backend & frontend to be available
136136
# NOTE: We use the 'sites' REST endpoint to also ensure the database is ready
137137
wait-on: http://127.0.0.1:8080/server/api/core/sites, http://127.0.0.1:4000
@@ -167,7 +167,7 @@ jobs:
167167
# Start up the app with SSR enabled (run in background)
168168
- name: Start app in SSR (server-side rendering) mode
169169
run: |
170-
nohup yarn run serve:ssr &
170+
nohup npm run serve:ssr &
171171
printf 'Waiting for app to start'
172172
until curl --output /dev/null --silent --head --fail http://127.0.0.1:4000/home; do
173173
printf '.'

0 commit comments

Comments
 (0)