Skip to content

Support Corsa (TypeScript 7+) #377

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#63772 and microsoft/TypeScript#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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions