diff --git a/src/index.js b/src/index.js index 04b6b99..174cef1 100644 --- a/src/index.js +++ b/src/index.js @@ -31,6 +31,10 @@ const schema = { description: "Disable the use of locals export. Defaults to `false`", type: "boolean", }, + enableDefaultExport: { + description: "Enable 'export default'. Defaults to `false`.", + type: "boolean", + }, verifyOnly: { description: "Validate generated `*.d.ts` files and fail if an update is needed (useful in CI). Defaults to `false`", @@ -88,7 +92,8 @@ module.exports = function (content, ...args) { const cssModuleDefinition = generateGenericExportInterface( cssModuleKeys, filenameToPascalCase(filename), - options.disableLocalsExport + options.disableLocalsExport, + options.enableDefaultExport ); applyFormattingAndOptions(cssModuleDefinition, options) diff --git a/src/utils.js b/src/utils.js index 3454110..1ef91f0 100644 --- a/src/utils.js +++ b/src/utils.js @@ -50,7 +50,8 @@ const filenameToTypingsFilename = (filename) => { const generateGenericExportInterface = ( cssModuleKeys, pascalCaseFileName, - disableLocalsExport + disableLocalsExport, + enableDefaultExport ) => { const interfaceName = `I${pascalCaseFileName}`; const moduleName = `${pascalCaseFileName}Module`; @@ -75,7 +76,7 @@ ${interfaceProperties} declare const ${moduleName}: ${namespaceName}.${interfaceName}${localsExportType}; -export = ${moduleName};`; +export ${enableDefaultExport ? 'default' : '='} ${moduleName};`; }; module.exports = {