import { recursiveTravelDirectory } from './utils/recursiveTravelDirectory' import { generateIndexTs } from './utils/generateIndexTs' import { RecursiveGenerateReexportIndex } from '../types' export const recursiveGenerateExportFile = ({ rootDirectory, generatedFileExt = 'js', fileExts = ['ts', 'tsx', 'js', 'jsx'], babelConfigPath, stripFileExts = fileExts, exclude, ignoreDirectory, }: RecursiveGenerateReexportIndex) => { return recursiveTravelDirectory({ rootDirectory, travelCallBack: ({ directory, childFiles, childDirectories }) => { generateIndexTs({ exclude, inputFileNames: childFiles.filter(childFild => !/index\..+$/g.test(childFild)), inputDirectoryNames: childDirectories, currentWorkingDirectory: directory, fileExts, babelConfigPath, stripFileExts, generatedFileExt, ignoreDirectory, }) }, }) }