mizdra / mizdra/css-modules-kit

Support Corsa (TypeScript 7+)

Open
#377 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Status: Blocked Type: Feature
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.