diff --git a/lib/cssModuleToInterface.js b/lib/cssModuleToInterface.js index 6292511..79d9a0c 100644 --- a/lib/cssModuleToInterface.js +++ b/lib/cssModuleToInterface.js @@ -76,5 +76,5 @@ var generateNamedExports = exports.generateNamedExports = function generateNamed var generateGenericExportInterface = exports.generateGenericExportInterface = function generateGenericExportInterface(cssModuleKeys, filename, indent) { var interfaceName = filenameToInterfaceName(filename); var interfaceProperties = cssModuleToTypescriptInterfaceProperties(cssModuleKeys, indent); - return 'export interface ' + interfaceName + ' {\n' + interfaceProperties + '\n}\n\nexport const locals: ' + interfaceName + ';\nexport default locals;\n'; + return 'export interface ' + interfaceName + ' {\n' + interfaceProperties + '\n}\n\nexport const locals: ' + interfaceName + ' & { [className: string]: string };\nexport default locals;\n'; }; \ No newline at end of file diff --git a/src/cssModuleToInterface.js b/src/cssModuleToInterface.js index 3415402..a484f6c 100644 --- a/src/cssModuleToInterface.js +++ b/src/cssModuleToInterface.js @@ -94,7 +94,7 @@ export const generateGenericExportInterface = (cssModuleKeys, filename, indent) ${interfaceProperties} } -export const locals: ${interfaceName}; +export const locals: ${interfaceName} & { [className: string]: string }; export default locals; `); }; diff --git a/test/example-camelcase.css.d.ts b/test/example-camelcase.css.d.ts index 138b508..a0164ad 100644 --- a/test/example-camelcase.css.d.ts +++ b/test/example-camelcase.css.d.ts @@ -4,4 +4,5 @@ export interface IExampleCamelcaseCss { 'barBaz': string; } -export const locals: IExampleCamelcaseCss; +export const locals: IExampleCamelcaseCss & { [className: string]: string }; +export default locals;