| | |
| | | platform: "node", |
| | | format: "esm", |
| | | packages: "external", |
| | | sourcemap: true, |
| | | sourcesContent: false, |
| | | plugins: [ |
| | | { |
| | | name: "css-and-scripts-as-text", |
| | |
| | | const log = new QuartzLogger(argv.verbose) |
| | | |
| | | const CHUNK_SIZE = 128 |
| | | let concurrency = fps.length < CHUNK_SIZE ? 1 : os.availableParallelism() |
| | | let concurrency = ctx.argv.concurrency ?? (fps.length < CHUNK_SIZE ? 1 : os.availableParallelism()) |
| | | |
| | | let res: ProcessedContent[] = [] |
| | | log.start(`Parsing input files using ${concurrency} threads`) |
| | |
| | | childPromises.push(pool.exec("parseFiles", [argv, chunk, ctx.allSlugs])) |
| | | } |
| | | |
| | | const results: ProcessedContent[][] = await WorkerPromise.all(childPromises) |
| | | const results: ProcessedContent[][] = await WorkerPromise.all(childPromises).catch((err) => { |
| | | const errString = err.toString().slice("Error:".length) |
| | | console.error(errString) |
| | | process.exit(1) |
| | | }) |
| | | res = results.flat() |
| | | await pool.terminate() |
| | | } |