Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependencies for Node v20 #2356

Merged
merged 5 commits into from
Feb 29, 2024
Merged

Update dependencies for Node v20 #2356

merged 5 commits into from
Feb 29, 2024

Conversation

mwoodiupui
Copy link
Member

@mwoodiupui mwoodiupui commented Jul 6, 2023

References

Description

Updated dependencies to make the project build with Node v20.

Instructions for Reviewers

List of changes in this PR:

  • Updated @angular/cli and eslint-plugin-jsdoc enough to fix build failures.

Checklist

  • 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.
  • My PR passes ESLint validation using yarn lint
  • My PR doesn't introduce circular dependencies (verified via yarn check-circ-deps)
  • My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
  • My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
  • If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
  • If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
  • If my PR fixes an issue ticket, I've linked them together.

@mwoodiupui mwoodiupui added dependencies Pull requests that update a dependency file quick win Pull request is small in size & should be easy to review and/or merge code task labels Jul 6, 2023
@mwoodiupui mwoodiupui self-assigned this Jul 6, 2023
@tdonohue tdonohue added the 1 APPROVAL pull request only requires a single approval to merge label Jul 6, 2023
@tdonohue
Copy link
Member

tdonohue commented Jul 6, 2023

Just a sidenote: We should test these changes using Node 18 & 16 as well. If these updates work for v16, 18 and 20, we may want to consider backporting this to dspace-7_x. If not, then this must be only applied to main.

@mwoodiupui
Copy link
Member Author

The automated tests build with Node 16 and 18. Do we need additional testing with those versions?

@tdonohue
Copy link
Member

tdonohue commented Jul 6, 2023

@mwoodiupui : I'd recommend a quick manual test as well. Since the automated tests work, that's an excellent sign. But, for safety sake, I'd really like to spin up the UI in Node 16 & 18 to ensure nothing strange occurs, especially since our e2e (integration) tests are still very minimal. Just very hesitant to backport this to dspace-7_x until we are sure it has no adverse affects on folks running Node 16 or 18.

@tdonohue tdonohue added the port to dspace-7_x This PR needs to be ported to `dspace-7_x` branch for next bug-fix release label Jul 6, 2023
@alanorth
Copy link
Contributor

alanorth commented Jul 7, 2023

I did some basic tests on dspace-7_x using Node.js v18:

  • Build dev app
  • Browse, search
  • Submit item, edit item

No errors in the console or logs. Here are the versions resolved at the time I built and tested @mwoodiupui's patch:

$ npx ng version
...
Angular CLI: 16.1.4
Node: 18.16.0
Package Manager: yarn 1.22.19
OS: linux x64

Angular: 15.2.8
... animations, cdk, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, platform-server, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1502.5
@angular-devkit/build-angular   15.2.6
@angular-devkit/core            12.2.18
@angular-devkit/schematics      12.2.18
@angular/cli                    16.1.4
@ngtools/webpack                15.2.6
@nguniversal/builders           15.2.1
@nguniversal/express-engine     15.2.1
@schematics/angular             16.1.4
rxjs                            7.8.0
typescript                      4.8.4
webpack                         5.76.1

@mwoodiupui
Copy link
Member Author

Built and run on Gallium (v16 LTS). Browse, search, submit seem to work.

Angular CLI: 16.1.4
Node: 16.20.1
Package Manager: yarn 1.22.19
OS: linux x64

Angular: 15.2.8
... animations, cdk, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, platform-server, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1502.5
@angular-devkit/build-angular   15.2.6
@angular-devkit/core            12.2.18
@angular-devkit/schematics      12.2.18
@angular/cli                    16.1.4
@ngtools/webpack                15.2.6
@nguniversal/builders           15.2.1
@nguniversal/express-engine     15.2.1
@schematics/angular             16.1.4
rxjs                            7.8.0
typescript                      4.8.4
webpack                         5.76.1

@github-actions
Copy link

Hi @mwoodiupui,
Conflicts have been detected against the base branch.
Please resolve these conflicts as soon as you can. Thanks!

Copy link

Hi @mwoodiupui,
Conflicts have been detected against the base branch.
Please resolve these conflicts as soon as you can. Thanks!

@mwoodiupui
Copy link
Member Author

Locally tested this day with yarn test on Node 16.20.2, 18.19.1, 20.11.0. All passed.

Copy link
Member

@tdonohue tdonohue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Thanks @mwoodiupui ! I figured this be good to apply before other dependency updates. Tested this locally using Node 18 and I found no adverse effects. Merging immediately.

NOTE: I've setup the automatic backporting on this PR...but I'm uncertain how well that will work with the yarn.lock file. So, if it doesn't work, we'll need to manually port this to 7.6.x for 7.6.2

@tdonohue tdonohue added this to the 8.0 milestone Feb 29, 2024
@tdonohue tdonohue merged commit 4fa5237 into DSpace:main Feb 29, 2024
13 checks passed
@dspace-bot
Copy link
Contributor

Backport failed for dspace-7_x, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin dspace-7_x
git worktree add -d .worktree/backport-2356-to-dspace-7_x origin/dspace-7_x
cd .worktree/backport-2356-to-dspace-7_x
git switch --create backport-2356-to-dspace-7_x
git cherry-pick -x ed5267820e6619d0723bbbd4e0859a069b9a26e5 faa2089d5cda4ff76e9588fbb87eeae3eb37d84f 5e8a767c1f1394ff5b146cf0b726e04b91035611 44cb4ec9c9e72e8c594e3fa0149d8d12e406587d

@tdonohue
Copy link
Member

@mwoodiupui : As I feared, this couldn't be ported automatically. If you can find time to create a corresponding PR for the dspace-7_x branch, I can get it quickly tested/merged once it is ready. Thanks!

alanorth added a commit to alanorth/dspace-angular that referenced this pull request Mar 4, 2024
alanorth added a commit to alanorth/dspace-angular that referenced this pull request Mar 4, 2024
@tdonohue tdonohue removed the port to dspace-7_x This PR needs to be ported to `dspace-7_x` branch for next bug-fix release label Mar 4, 2024
@tdonohue
Copy link
Member

tdonohue commented Mar 4, 2024

Ported to 7.x in #2849

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 APPROVAL pull request only requires a single approval to merge code task dependencies Pull requests that update a dependency file quick win Pull request is small in size & should be easy to review and/or merge
Projects
No open projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

dspace-angular 7.6 won't build with Node v20
4 participants