@@ -35,11 +35,16 @@ export const isCompilable = (filename: string): boolean => {
3535}
3636
3737export interface IndexTemplate {
38- ( paths : string [ ] ) : string
38+ ( paths : FileInfo [ ] ) : string
3939}
4040
41- const defaultIndexTemplate : IndexTemplate = ( paths ) => {
42- const exportEntries = paths . map ( ( filePath ) => {
41+ interface FileInfo {
42+ path : string
43+ originalPath : string
44+ }
45+
46+ const defaultIndexTemplate : IndexTemplate = ( paths : FileInfo [ ] ) => {
47+ const exportEntries = paths . map ( ( { path : filePath } ) => {
4348 const basename = path . basename ( filePath , path . extname ( filePath ) )
4449 const exportName = formatExportName ( basename )
4550 return `export { default as ${ exportName } } from './${ basename } '`
@@ -92,7 +97,7 @@ export const dirCommand: SvgrCommand = async (
9297
9398 const generateIndex = async (
9499 dest : string ,
95- files : string [ ] ,
100+ files : FileInfo [ ] ,
96101 opts : Options ,
97102 ) => {
98103 const ext = resolveExtension ( opts , extOpt , false )
@@ -119,17 +124,27 @@ export const dirCommand: SvgrCommand = async (
119124 if ( stats . isDirectory ( ) ) {
120125 const dirname = filename
121126 const files = await fs . readdir ( dirname )
122- const results = await Promise . all (
127+ const results = ( await Promise . all (
123128 files . map ( async ( relativeFile ) => {
124129 const absFile = path . join ( dirname , relativeFile )
125- return handle ( absFile , root )
130+ return [ absFile , await handle ( absFile , root ) ]
126131 } ) ,
127- )
128- const transformed = results . filter ( ( result ) => result . transformed )
132+ ) ) as [
133+ string ,
134+ {
135+ dest : string | null
136+ transformed : boolean
137+ } ,
138+ ] [ ]
139+ const transformed = results . filter ( ( [ , result ] ) => result . transformed )
129140 if ( transformed . length ) {
130141 const destFiles = results
131- . map ( ( result ) => result . dest )
132- . filter ( Boolean ) as string [ ]
142+ . filter ( ( [ , result ] ) => result . dest )
143+ . map ( ( [ originalPath , result ] ) => ( {
144+ path : result . dest ,
145+ originalPath,
146+ } ) )
147+ . filter ( ( { path } ) => path ) as FileInfo [ ]
133148 const dest = path . resolve (
134149 outDir as string ,
135150 path . relative ( root , dirname ) ,
0 commit comments