I remember feeling puzzled the first time my TypeScript compiler complained about an imported .module.css
file in my React code. Everything worked at runtime, but VSCode kept throwing red squiggles. To avoid confusion, I decided to create a quick fix that put an end to these errors.
Thank me by sharing on Twitter 🙏
Cannot find module ‘./MyComponent.module.css’ or its corresponding type declarations.
1. Creating a Declaration File
I started by adding a new file named custom.d.ts
in my src
folder. In that file, I placed this line:
declare module '*.module.css';
Because my application only needed .module.css
files, I stuck with one line. However, if I had .module.scss
files, I would add another line:
declare module '*.module.scss';
2. Updating My tsconfig.json
After creating custom.d.ts
, I made sure my tsconfig.json
included it in the include
array. For instance:
Start with Why: How Great Leaders Inspire Everyone to Take Action
$10.49 (as of March 7, 2025 13:30 GMT +00:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Careless People: A Cautionary Tale of Power, Greed, and Lost Idealism
$18.18 (as of March 7, 2025 13:30 GMT +00:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Co-Intelligence: Living and Working with AI
$17.79 (as of March 7, 2025 13:30 GMT +00:00 - More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.){
"compilerOptions": {
"strict": true,
"jsx": "react",
"moduleResolution": "node",
"skipLibCheck": true
},
"include": ["src", "src/custom.d.ts"]
}
That way, TypeScript knew where to find this new declaration file.
3. Verifying in VSCode
Lastly, I restarted VSCode. The error messages about missing types for .module.css
vanished. My editor’s autocompletion also improved since TypeScript recognized those modules as valid imports.
Conclusion
This approach ended my frustration over mysterious CSS module type errors. Now I feel much more confident when importing .module.css
files in my React and TypeScript projects.