Skip to content

Conversation

@alexandrevryghem
Copy link
Member

References

Description

Updated the ESLint version to v9, since ESLint v8 is now EOL. I also removed two unsupported dependencies and replaced them with supported rule equivalents. Some parts of this PR could be backported to older DSpace versions, but upgrading the ESLint version would require backporting the fixes made in #4804 as well.

Instructions for Reviewers

List of changes in this PR:

  • Upgraded ESLint from v8 to v9
  • Removed the eslint-plugin-deprecation dependency. Starting from @[email protected], a similar rule was introduced which doesn't require any additional dependencies: @typescript-eslint/no-deprecated
  • Replaced the eslint-plugin-rxjs dependency with @smarttools/eslint-plugin-rxjs, since the old dependency hasn't been updated for over four years and lacks ESLint 9 support

Guidance for how to review this PR:

  • Verify that the replaced linting rules work correctly
  • Verify that our custom linting rules still build & work correctly

Checklist

  • 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).
  • 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 npm run lint
  • My PR doesn't introduce circular dependencies (verified via npm run 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.
  • My PR aligns with Accessibility guidelines if it makes changes to the user interface.
  • My PR uses i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
  • 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.
  • 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.

@alexandrevryghem alexandrevryghem added this to the 10.0 milestone Nov 18, 2025
@alexandrevryghem alexandrevryghem self-assigned this Nov 18, 2025
@alexandrevryghem alexandrevryghem added the dependencies Pull requests that update a dependency file label Nov 18, 2025
@alexandrevryghem alexandrevryghem moved this to 🙋 Needs Reviewers Assigned in DSpace 10.0 Release Nov 18, 2025
@github-actions
Copy link

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

- Replaced eslint-plugin-deprecation dependency with the new built-in @typescript-eslint/no-deprecated rule
- Replaced unmaintained eslint-plugin-rxjs dependency with @smarttools/eslint-plugin-rxjs
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 @alexandrevryghem ! This looks good to me and I see that all lint checks pass in GitHub CI. (As a sidenote, I cannot verify the behavior on Windows because I'm hitting this new error #4872...however, that error also exists on main, so it's unrelated to this PR)

I'm going to merge this as it looks to work well. Will also flag this for backport to dspace-9_x as it'd be good to backport this to 9.0 (especially since we backported the Angular 20 upgrade already)

@github-project-automation github-project-automation bot moved this from 🙋 Needs Reviewers Assigned to 👍 Reviewer Approved in DSpace 10.0 Release Nov 25, 2025
@tdonohue tdonohue added the port to dspace-9_x This PR needs to be ported to `dspace-9_x` branch for next bug-fix release label Nov 25, 2025
@tdonohue tdonohue merged commit 46fd60d into DSpace:main Nov 25, 2025
17 of 18 checks passed
@github-project-automation github-project-automation bot moved this from 👍 Reviewer Approved to ✅ Done in DSpace 10.0 Release Nov 25, 2025
@alexandrevryghem alexandrevryghem deleted the eslint-9-upgrade branch November 25, 2025 20:12
@dspace-bot
Copy link
Contributor

Successfully created backport PR for dspace-9_x:

@tdonohue tdonohue removed the port to dspace-9_x This PR needs to be ported to `dspace-9_x` branch for next bug-fix release label Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file high priority

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

3 participants