Skip to content

A Visual Studio Code extension for generating type definitions and source map files of CSS Module.

License

Notifications You must be signed in to change notification settings

DarrenDanielDay/css-module-types-and-map

Repository files navigation

css-module-types-and-map

A simple extension for generating TypeScript definition files and source map files for css modules.

Features

  • Generate TypeScript definition and source map code for css module (*.module.css).
  • Naming export variable with camelCased file name.
  • Support to add generated files to .gitignore.

How it works

The inspiration of this extension is another extension -- CSS Modules Typed. It generates TypeScript definition files for css modules. When we import css module files in JavaScript/TypeScript code, the vscode's builtin TypeScript language service knows that the exported object should have properties declared in the .d.ts files and then gives us auto complete options for the class names, and @value names.

However, when we try to go to the definition of these properties (class name and @value name), we will get to the .d.ts files. This extension will also generate .d.ts.map files mapping to css module files so we can get to the css modules files where the class name / @value name occurred first.

Maybe it's a tricky way to implement some language features for css module. But source map files are designed to map the position in source file for a generated file. Since .d.ts files are generated, it's reasonable to generate corresponding source map files.

Currently only .module.css files are supported, and scss, sass, less will not be supported since the naming logic is complicated in nested structure.


Enjoy!

About

A Visual Studio Code extension for generating type definitions and source map files of CSS Module.

Resources

License

Stars

Watchers

Forks

Packages

No packages published