import * as fs from 'fs' import * as fsp from 'fs/promises' import * as path from 'path' export const formatOutputFilename = async ({ pagePath, filename, relativeFilename, extension, }: { pagePath: string filename: string relativeFilename: string extension: string }) => { const ext = path.extname(relativeFilename) const basename = path.basename(relativeFilename, ext) const dirname = path.dirname(relativeFilename).split('/').slice(1).join('/') const fullDirname = path.dirname(filename) if ( fs.existsSync(path.join(fullDirname, basename)) && (await fsp.stat(path.join(fullDirname, basename))).isDirectory() ) { return path.join(dirname, basename, 'index' + extension) } return path.join(dirname, basename + extension) }