@cpuchain/rollup
Version:
Rollup plugin & config generator for CPUchain TypeScript projects
31 lines (23 loc) • 818 B
text/typescript
import { workerData } from 'worker_threads';
import { writeFile, access, constants, mkdir } from 'fs/promises';
import path from 'path';
import { generateDtsBundle } from 'dts-bundle-generator';
async function generateBundle() {
const { input, output } = workerData as { input: string; output: string };
const outputDir = path.dirname(output);
try {
await access(outputDir, constants.W_OK);
} catch {
await mkdir(outputDir, { recursive: true });
}
let bundle = generateDtsBundle([
{
filePath: input,
},
]).join('');
if (bundle?.includes('Generated by dts-bundle-generator')) {
bundle = bundle.replace(/^\/\/ Generated by dts-bundle-generator.*(\r?\n){1,2}/m, '');
}
await writeFile(output, bundle);
}
generateBundle();