import * as fs from 'fs' import { NextConfig } from 'next' import * as path from 'path' import { TransformerConfig } from '../../transformer/types/config.types' import { LoadedUnbodyConfig } from '../types' export const generateTransformerConfig = ({ config, nextConfig, }: { config: LoadedUnbodyConfig nextConfig: NextConfig }): TransformerConfig => { const conf: TransformerConfig = { dir: config.dir, distDir: nextConfig.distDir || '.next', pagesDir: nextConfig.pagesDir, projectDir: config.projectDir, outDir: path.join(config.dir, 'out'), pagesMetadata: path.join(config.dir, 'pages-metadata.json'), browser: { enable: config.output.browser.enable, concurrency: config.output.browser.concurrency, resourceUrlWhitelist: config.output.browser.resourceUrlWhitelist, }, server: { enable: config.output.server.enable, }, remote: config.remote, } fs.writeFileSync( path.join(conf.dir, 'transformer.config.json'), JSON.stringify(conf, null, 2), ) return conf }