11import { makeLegalIdentifier } from '@rollup/pluginutils' ;
2- import type { ExportMode } from './types.js' ;
2+ import type { ComposedClassesMode , ExportMode } from './types.js' ;
33
44type ImportSpecifiers = Record < string /* exportName */ , string /* importAs */ > ;
55export type Imports = Map < string /* filePath */ , ImportSpecifiers > ;
@@ -44,6 +44,7 @@ const importsToCode = (
4444const exportsToCode = (
4545 exports : Exports ,
4646 exportMode : ExportMode ,
47+ composedClassesMode : ComposedClassesMode ,
4748 allowArbitraryNamedExports = false ,
4849) => {
4950 let code = '' ;
@@ -52,7 +53,12 @@ const exportsToCode = (
5253 const exportedVariables = Object . entries ( exports ) . flatMap (
5354 ( [ exportName , { exportAs, code : value } ] ) => {
5455 const jsVariable = makeLegalIdentifier ( exportName ) ;
55- variables . add ( `const ${ jsVariable } = \`${ value } \`;` ) ;
56+
57+ if ( composedClassesMode === 'string' || ( composedClassesMode === 'array' && ! value . includes ( ' ' ) ) ) {
58+ variables . add ( `const ${ jsVariable } = \`${ value } \`;` ) ;
59+ } else {
60+ variables . add ( `const ${ jsVariable } = [${ value . split ( ' ' ) . map ( v => `\`${ v } \`` ) . join ( ', ' ) } ];` ) ;
61+ }
5662
5763 return Array . from ( exportAs ) . map ( ( exportAsName ) => {
5864 const exportNameSafe = makeLegalIdentifier ( exportAsName ) ;
@@ -116,10 +122,11 @@ export const generateEsm = (
116122 imports : Imports ,
117123 exports : Exports ,
118124 exportMode : ExportMode ,
125+ composedClassesMode : ComposedClassesMode ,
119126 allowArbitraryNamedExports = false ,
120127) => (
121128 importsToCode ( imports , exportMode , allowArbitraryNamedExports )
122- + exportsToCode ( exports , exportMode , allowArbitraryNamedExports )
129+ + exportsToCode ( exports , exportMode , composedClassesMode , allowArbitraryNamedExports )
123130) ;
124131
125132const dtsComment = `
0 commit comments