Skip to content

Support Corsa (TypeScript 7+) #377

@mizdra

Description

@mizdra

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 microsoft/typescript-go#648 and microsoft/typescript-go#2824; 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions