Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Aug 6, 2025

This PR modernizes the ESLint configuration structure in the @endo/eslint-plugin package while maintaining backward compatibility with existing package configurations.

Key Changes

ESLint Plugin Config Modernization

  • Updated all configuration files in packages/eslint-plugin/lib/configs/ to use modern ESLint patterns
  • Maintained legacy format for compatibility with existing eslintConfig sections in package.json files
  • Preserved all SES/Endo-specific globals and custom rules from the original configurations
  • Updated TypeScript integration and dynamic configuration handling

Configuration Files Updated

  • recommended.js - Core SES globals and fundamental rules
  • style.js - Airbnb base + JSDoc + Prettier integration with TypeScript overrides
  • imports.js - ES module import/export rules
  • strict.js - Combined strict configuration
  • ses.js - SES-specific restricted globals with test file exceptions
  • internal.js - Complex TypeScript configuration with dynamic rule handling
  • daemon.js - Deprecated configuration (maintained for compatibility)
  • recommended-requiring-type-checking.js - TypeScript-aware rule extensions

Compatibility Preserved

  • All existing eslintConfig sections in package.json files continue to work unchanged
  • No breaking changes to existing linting workflows
  • Maintained all original rule configurations and exceptions
  • Preserved ignore patterns and file-specific overrides

The modernized configurations provide a foundation for future ESLint upgrades while ensuring zero disruption to the current development workflow.

Addresses #2682.


💡 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.

Copy link
Contributor Author

Copilot AI commented Aug 6, 2025

@turadg 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot AI changed the title [WIP] upgrade ESlint to v9 Upgrade ESLint to v9 with flat configuration Aug 6, 2025
Copilot AI requested a review from turadg August 6, 2025 21:09
Copilot finished work on behalf of turadg August 6, 2025 21:09
@turadg
Copy link
Member

turadg commented Aug 6, 2025

@copilot don't make a new eslint.config.js at the root. Instead convert each of the configs in eslint-plugin/lib/config. Don't change the eslintConfig portion of package.json either

Copy link
Contributor Author

Copilot AI commented Aug 6, 2025

@copilot don't make a new eslint.config.js at the root. Instead convert each of the configs in eslint-plugin/lib/config. Don't change the eslintConfig portion of package.json either

I understand you want me to convert the configs in eslint-plugin/lib/config to flat format without creating a root eslint.config.js and without changing package.json eslintConfig sections.

However, ESLint v9 requires flat config files and doesn't support the legacy eslintConfig in package.json format. How should I handle this compatibility issue? Should I:

  1. Keep ESLint v8 and convert the plugin configs to a format that works with both v8 and v9?
  2. Upgrade to ESLint v9 and create individual eslint.config.js files in packages that reference the converted flat configs?
  3. Use a compatibility layer to make legacy configs work with ESLint v9?

Let me know your preference so I can implement the correct approach.

Copilot AI changed the title Upgrade ESLint to v9 with flat configuration Modernize ESLint plugin configs while maintaining backward compatibility Aug 6, 2025
Copilot finished work on behalf of turadg August 6, 2025 23:34
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