UNPKG

@exabytellc/utils

Version:

EB react utils to make everything a little easier!

36 lines (34 loc) 1.02 kB
import path from "path"; import fs from "fs"; export default function buildFilePlugin( name, { filename, dirname = "", content = () => { } } = {} ) { let config; return { name: name, async configResolved(_config) { config = _config; }, async writeBundle() { try { // Define output directory and file paths const outputDir = path.resolve( config.root, config.build.outDir, dirname ); const outputFile = path.resolve(outputDir, filename); // Create directory if it doesn't exist if (!fs.existsSync(outputDir)) { fs.mkdirSync(outputDir, { recursive: true }); } // Write content to the file fs.writeFileSync(outputFile, await content(config)); console.log(`File "${filename}" has been generated at ${outputDir}`); } catch (error) { console.error(`Failed to generate the file "${filename}":`, error); } }, }; }