[js] create task to update dependencies#16942
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||
There was a problem hiding this comment.
Pull request overview
This PR adds automated JavaScript dependency management capabilities to the Selenium project and updates Node.js dependencies to their latest compatible versions.
Changes:
- Added
node:pinandnode:updaterake tasks for JavaScript dependency management via pnpm - Updated JavaScript dependencies in
selenium-webdriverandgrid-uipackages to latest patch/minor versions - Integrated Node.js dependency updates into the pre-release workflow alongside existing Maven updates
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Rakefile | Adds two new rake tasks: node:pin for refreshing pnpm lockfile and node:update for updating dependencies within semver ranges |
| javascript/selenium-webdriver/package.json | Updates 7 dev dependencies (ws, eslint ecosystem, express, prettier) to latest compatible versions |
| javascript/grid-ui/package.json | Updates ts-jest from 29.4.5 to 29.4.6 |
| javascript/selenium-webdriver/lib/test/data/actions/click.html | Removes unnecessary semicolons from HTML event handler attributes (formatting cleanup) |
| .github/workflows/pre-release.yml | Integrates node:update command into pre-release workflow and updates related documentation |
| pnpm-lock.yaml | Automated lockfile update reflecting all dependency version changes |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
User description
💥 What does this PR do?
Updates JavaScript dependencies for
selenium-webdriverandgrid-uipackages. Thenode:updatecommand wasn't added in time for the recent release, but is now included in the pre-release workflow for next release.Adds two new rake tasks:
node:pin- Refreshes the pnpm lockfile without changing dependency rangesnode:update- Updates dependencies within their specified ranges and refreshes the lockfile🔧 Implementation Notes
The
node:updatetask usespnpm update -rby default, which updates within existing semver ranges. The--latestflag is not used by default to avoid unexpected breaking changes from major version bumps.💡 Additional Considerations
Determine when/if we want to use the
--latestoption to bump version ranges.🔄 Types of changes
PR Type
Enhancement, Tests
Description
Add
node:pinandnode:updaterake tasks for JavaScript dependency managementUpdate JavaScript dependencies in
selenium-webdriverandgrid-uipackagesIntegrate Node.js dependency updates into pre-release workflow alongside Maven updates
Minor HTML formatting fix removing unnecessary semicolons from event handlers
Diagram Walkthrough
File Walkthrough
Rakefile
Add Node.js dependency management rake tasksRakefile
node:pintask to refresh pnpm lockfile without changing dependencyranges
node:updatetask to update dependencies within semver ranges withoptional
--latestflagpackage.json
Update JavaScript dependencies to latest patch/minor versionsjavascript/selenium-webdriver/package.json
wsfrom ^8.18.3 to ^8.19.0@eslint/jsfrom ^9.39.1 to ^9.39.2eslintfrom ^9.39.1 to ^9.39.2eslint-plugin-nfrom ^17.23.1 to ^17.23.2eslint-plugin-prettierfrom ^5.5.4 to ^5.5.5expressfrom ^4.21.2 to ^4.22.1prettierfrom ^3.6.2 to ^3.8.0package.json
Update ts-jest dependencyjavascript/grid-ui/package.json
ts-jestfrom ^29.4.5 to ^29.4.6pre-release.yml
Integrate Node.js dependency updates into pre-release workflow.github/workflows/pre-release.yml
Dependency versions"
./go node:updatecommand to update Node.js dependenciesmaventodependenciesNode.js updates
click.html
Remove semicolons from HTML event handlersjavascript/selenium-webdriver/lib/test/data/actions/click.html
onclickandondblclickeventhandler attributes