Skip to content

Conversation

@nikunj-kohli
Copy link

🎯 Description

This PR upgrades ESLint from v6 to v8 and updates related development dependencies to their latest stable versions, addressing Issue #91.

📋 Changes

Dependencies Updated

  • ESLint: v6.5.1v8.57.1
  • eslint-plugin-import: v2.18.2v2.29.0
  • babel-eslint: v10.0.3removed (deprecated)
  • @babel/eslint-parser: → v7.28.5 (new, modern replacement)

Configuration Changes

  • Updated .eslintrc.js:
    • Changed parser from babel-eslint to @babel/eslint-parser
    • Bumped ecmaVersion from 2016 to 2018
  • Updated .github/workflows/test.yml:
    • Changed Node.js test matrix from [16.x, 18.x] to [18.x, 20.x]
    • ESLint v8 requires Node.js ≥18

Bug Fixes

  • Fixed test:unit script: added run flag to prevent vitest from hanging in watch mode
  • Fixed postbuild script: replaced cp with copyfiles for cross-platform compatibility
  • Regenerated package-lock.json with complete ESLint v8 dependency tree

✅ Testing

All tests pass locally and in CI:

✓ npm run test:eslint  # ESLint checks pass
✓ npm run test:unit    # 27 tests passed, 6 skipped
✓ npm test             # Full test suite passes

Pre-commit Hooks

  • ✅ ESLint validation passes
  • ✅ All staged files linted successfully

🔗 Related Issues

Fixes #91

📝 Breaking Changes

None. This is a development dependency update that doesn't affect the package's public API or runtime behavior.

🎉 Migration Notes

For contributors:

  • Ensure Node.js ≥18 is installed for local development
  • Run npm install to update dependencies
  • ESLint v8 includes improved error messages and better performance

Note: The deprecated babel-eslint package has been replaced with the official @babel/eslint-parser as recommended in the Babel ESLint migration guide.


---

This PR description:
- ✅ Clearly explains what was changed and why
- ✅ Documents all dependency updates
- ✅ Includes testing evidence
- ✅ Links to the issue being resolved
- ✅ Notes any breaking changes (none in this case)
- ✅ Provides migration notes for contributors
- ✅ Professional formatting with emojis for visual clarity

You can use this directly when creating your pull request! 🚀---

This PR description:
- ✅ Clearly explains what was changed and why
- ✅ Documents all dependency updates
- ✅ Includes testing evidence
- ✅ Links to the issue being resolved
- ✅ Notes any breaking changes (none in this case)
- ✅ Provides migration notes for contributors
- ✅ Professional formatting with emojis for visual clarity

You can use this directly when creating your pull request! 🚀

- Update ESLint from v6.5.1 to v8.57.1
- Replace deprecated babel-eslint with @babel/eslint-parser v7.28.5
- Update eslint-plugin-import to v2.29.0
- Update .eslintrc.js parser to @babel/eslint-parser and ecmaVersion to 2018
- Fix vitest watch mode by adding run flag to test:unit script
- Fix postbuild script to use cross-platform copyfiles command
- Update CI workflow to use Node 18.x and 20.x (ESLint v8 requires >=18)
- Update package-lock.json with new dependency tree for ESLint v8 ecosystem

Fixes LambdaTest#91
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.

Update ESLint to Latest Version

1 participant