mizdra / mizdra/css-modules-kit
Support Corsa (TypeScript 7+)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 197
- Forks
- 15
- Avg merge
- 1h 33m
- Merged PRs (30d)
- 9
Description
Clear and concise description of the problem
CSS Modules Kit provides three tools: codegen, ts-plugin, and linter-plugin. None of them currently work with Corsa (TypeScript 7+).
Suggested solution
Make all three tools support Corsa.
Additional context
codegen and linter-plugin depend on the Compiler API, while ts-plugin depends on both the Compiler API and the Language Service Plugin APIs. Neither is implemented in Corsa yet, so adding Corsa support to CSS Modules Kit requires waiting for these APIs to land.
The Compiler API has been announced as in development for TypeScript 7.1+. However, it is unclear whether it will offer the same functionality as Strada's, so we cannot yet tell whether codegen and linter-plugin can be adapted to work with Corsa.
There is no announced roadmap for the Language Service Plugin yet. In addition, ts-plugin works by generating virtual TypeScript code for .module.css files via a Volar.js-based mechanism, so it is also unclear whether Corsa's Language Service Plugin will offer equivalent capabilities. This is being discussed in https://github.com/microsoft/TypeScript/issues/63772 and https://github.com/microsoft/TypeScript/issues/63800; once resolved, it should become possible to make ts-plugin work with Corsa.
Workarounds
If you install typescript@^6.0.0 in your project, codegen and linter-plugin will continue to work.
ts-plugin also works if you switch the TypeScript used by your editor to the 6.x line. The exact steps depend on the editor. In VS Code, either uninstall the TypeScript Native Preview extension or set typescript.experimental.useTsgo to false.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the Compiler API and Language Service Plugin dependencies for codegen, ts-plugin, and linter-plugin, then follow the TypeScript discussions in issues 63772 and 63800. Once equivalent Corsa APIs are available, determine whether all three tools can be adapted and verify that each supports Corsa while retaining TypeScript 6.x compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100