-
-
Notifications
You must be signed in to change notification settings - Fork 100
Open
Description
Description
The codebase currently uses CommonJS export = and require() patterns which prevent full ES6 module adoption. This issue tracks the creation of a codemod for automated migration in a future major version.
Current State
- Multiple files use
export =for CommonJS compatibility - Dynamic
require()calls throughout the codebase - Consumers rely on
require()to import these modules
Files Using export =
package/rules/webpack.tspackage/rules/rspack.tspackage/env.ts- Other configuration export files
Proposed Solution
- Create a codemod that:
- Converts
export =toexport default - Converts
require()toimportstatements - Handles dynamic imports appropriately
- Converts
- Test codemod on example projects
- Document migration path for users
- Release as part of next major version
Acceptance Criteria
- Codemod successfully converts all patterns
- Migration guide written
- Example migrations provided
- All tests pass with ES6 modules
- Performance benchmarks show no regression
Breaking Change Notice
This will be a breaking change requiring a major version bump. Users will need to update their import statements or run the provided codemod.
Related
- See ESLINT_TECHNICAL_DEBT.md for full context
- Blocks full TypeScript strict mode adoption
Metadata
Metadata
Assignees
Labels
No labels