Skip to content

[Chore] Remaining Dependency Updates #5364

@vyagh

Description

@vyagh

Remaining dependency updates from #4668

How to Contribute (Read Carefully)

  1. Pick a package
  2. Create a sub-issue: For a single package, create a new issue with your implementation plan to address the blocker
  3. Discuss: Let maintainers review your implementation plan on your 'sub-issue'
  4. Create PR: Only after the maintainers review create and link your PR to both this issue and your sub-issue

Note for New Contributors:
Low-effort items (Cypress, cssnano) are good entry points.


Description

Issue #4668 addressed several outdated dependencies. The following updates were completed:

However, several packages require more significant changes and were deferred. This issue tracks those remaining updates and provides implementation options for contributors.

Remaining Updates

1. Jest 29 → 30

Current: 29.7.0 | Latest: 30.x

Blocker: Jest 30 bundles JSDOM 26 which breaks window.location mocking in tests.


2. Cypress 14 → 15

Current: 14.5.4 | Latest: 15.x

Blocker: Cypress 15 requires Node.js 20.1+. CI currently uses Node 18.x (now EOL).


3. jQuery 2.1.4 → 3.7.1 (Security)

Current: 2.1.4 in index.html | Latest: 3.7.1 (already in lib/)

Blocker: Search functionality depends on jQuery loading synchronously (without defer). Past attempts to defer jQuery loading broke search (#4955, #4987 fixed this by reverting). Upgrading jQuery may introduce similar timing/compatibility issues.


4. gulp-prettier 3 → 6

Current: 3.0.0 | Latest: 6.x

Blocker: gulp-prettier 6 requires ES Modules. gulpfile.js uses CommonJS.


5. ESLint 8 → 9

Current: 8.57.1 (via #5292) | Latest: 9.x

Blocker: ESLint 9 requires "flat config" format.


6. cssnano 6 → 7

Current: 6.1.2 | Latest: 7.x

Blocker: cssnano 7 requires Node.js 18.12+.


7. electron 39 → 40

Current: 39.2.7 | Latest: 40.x

Notes: Major version upgrade, needs thorough testing of Electron app functionality.


8. express 4 → 5

Current: 4.22.1 | Latest: 5.x

Notes: Major version with API changes.


Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions