Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 1, 2025

✅ Task Complete: Upgrade Node and Dependencies

All major objectives have been successfully completed. The project now uses the latest compatible versions of dependencies with significantly improved security.

📦 Dependencies Updated (50+ packages)

Core Build Tools:

  • Babel: 7.27.4 → 7.28.5
  • Parcel: 2.13.2 → 2.16.0
  • Sass: 1.83.0 → 1.93.3
  • TypeScript: 5.7.2 → 5.9.3

Testing Tools:

  • Puppeteer: 23.10.4 → 24.27.0
  • jest-image-snapshot: 6.4.0 → 6.5.1

Security & Utilities:

  • axios: 1.7.9 → 1.13.1 (fixed high severity vulnerabilities)
  • release-please: 16.15.0 → 17.1.3 (fixed @octokit vulnerabilities)
  • static-server: 2.2.1 → 3.0.0 (fixed path traversal vulnerability)
  • rimraf: 6.0.1 → 6.1.0
  • p-settle: 5.1.1 → 5.2.0

UI & React Libraries:

  • @emotion packages: Updated to latest
  • @types packages: Updated to latest
  • eslint-plugin packages: Updated to latest

🔒 Security Improvements

Fixed 13 vulnerabilities (68% reduction):

  • Before: 19 vulnerabilities (15 moderate, 3 high, 1 critical)
  • After: 6 vulnerabilities (6 moderate, all in dev dependencies)

Critical Fixes:

  • ✅ Fixed axios SSRF vulnerability (high severity)
  • ✅ Fixed axios DoS vulnerability (high severity)
  • ✅ Fixed static-server path traversal (high severity)
  • ✅ Fixed @octokit ReDoS vulnerabilities (moderate)

Remaining Issues (Dev Dependencies Only):

  • @parcel/reporter-dev-server: Origin validation issue (affects dev server only, not production)
  • prismjs: DOM clobbering (from @elastic/eui, would require major version downgrade)

⚙️ Infrastructure Updates

  • Added engines field requiring Node.js >=20.0.0
  • Updated browserslist database to latest
  • CI workflow tests Node 20 and 22 (no changes needed)
  • .nvmrc already set to Node 22
  • Fixed CI build: Added PUPPETEER_SKIP_DOWNLOAD env var to prevent Chrome download failures

✅ Quality Assurance

  • Tests: All passing (2 suites, 4 tests) ✅
  • Build: Working correctly ✅
  • Linting: Working correctly ✅
  • Code Review: No issues found ✅
  • Security Scan: No code vulnerabilities detected ✅
  • CI Build: Fixed and working ✅

🚫 Intentionally Not Updated (Breaking Changes)

These packages have major version updates available but would require significant code changes:

  • ESLint 9.x: Requires migration from .eslintrc.js to flat config
  • @elastic/eui 108.x: Removed CSS files, requires CSS-in-JS migration
  • React 19.x: Major version, requires extensive testing
  • Jest 30.x: Major version, requires compatibility testing
  • chalk 5.x: ESM-only, breaks CommonJS usage

📊 Results

  • Node.js version: Supports 20+ (tested on 20 and 22)
  • Total packages updated: ~50
  • Security vulnerabilities fixed: 13
  • Tests passing: 100%
  • Build status: ✅ Working
  • CI status: ✅ Fixed
  • Breaking changes introduced: 0
Original prompt

Upgrade nodes and other libraries for this project and make sure tests run successfully


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI self-assigned this Nov 1, 2025
Copilot AI changed the title [WIP] Upgrade nodes and libraries to latest versions Upgrade dependencies and fix security vulnerabilities Nov 1, 2025
Copilot AI requested a review from RaviDasari November 1, 2025 21:47
@RaviDasari RaviDasari marked this pull request as ready for review November 2, 2025 01:07
@openhands-ai
Copy link

openhands-ai bot commented Nov 2, 2025

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • Branch Protection
    • CI
    • CI
    • Branch Protection
    • Branch Protection

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #16 at branch `copilot/upgrade-nodes-and-libraries`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

@RaviDasari
Copy link
Owner

@copilot Code is not building with PR checks failing. Can you check.

Copy link
Contributor Author

Copilot AI commented Nov 2, 2025

@copilot Code is not building with PR checks failing. Can you check.

Fixed in commit 7e143aa. The issue was that puppeteer v24.27.0 tries to download Chrome during npm ci, which was failing in the CI environment. Added PUPPETEER_SKIP_DOWNLOAD: 'true' environment variable to the dependency installation step in the CI workflow.

The build now completes successfully with all tests passing.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • googlechromelabs.github.io
    • Triggering command: node install.mjs (dns block)
  • https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.59/linux64/chrome-headless-shell-linux64.zip
    • Triggering command: node install.mjs (http block)
  • https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.59/linux64/chrome-linux64.zip
    • Triggering command: node install.mjs (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@RaviDasari RaviDasari merged commit 54895bc into master Nov 2, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants