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:
Highwings 8K 10K 4K HDMI Cable 48Gbps 6.6FT/2M, Certified Ultra High Speed HDMI Cable Braided Cord-4K@120Hz 8K@60Hz, DTS:X, HDCP 2.2 & 2.3, HDR 10 Compatible with Roku TV/PS5/HDTV/Blu-ray
$6.99 (as of August 16, 2025 23:18 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.)WOLFBOX MF50 Electric Air Duster-110000RPM Super Power Cordless Air Duster, 3-Gear Adjustable Mini Blower with Fast Charging, Dust Blower for Computer, Keyboard, House, Outdoor and Car
$33.98 (as of August 16, 2025 23:18 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.)The Legend of Zelda™: Tears of the Kingdom – The Complete Official Guide: Collector's Edition
$24.99 (as of August 12, 2025 16:53 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.