MCPcopy
hub / github.com/rollup/rollup / build

Function build

cli/run/build.ts:12–58  ·  view source on GitHub ↗
(
	inputOptions: MergedRollupOptions,
	warnings: BatchWarnings,
	silent = false
)

Source from the content-addressed store, hash-verified

10import { printTimings } from './timings';
11
12export default async function build(
13 inputOptions: MergedRollupOptions,
14 warnings: BatchWarnings,
15 silent = false
16): Promise<unknown> {
17 const outputOptions = inputOptions.output;
18 const useStdout = !outputOptions[0].file && !outputOptions[0].dir;
19 const start = Date.now();
20 const files = useStdout ? ['stdout'] : outputOptions.map(t => relativeId(t.file || t.dir!));
21 if (!silent) {
22 let inputFiles: string | undefined;
23 if (typeof inputOptions.input === 'string') {
24 inputFiles = inputOptions.input;
25 } else if (Array.isArray(inputOptions.input)) {
26 inputFiles = inputOptions.input.join(', ');
27 } else if (typeof inputOptions.input === 'object' && inputOptions.input !== null) {
28 inputFiles = Object.values(inputOptions.input).join(', ');
29 }
30 stderr(cyan(`\n${bold(inputFiles!)} → ${bold(files.join(', '))}...`));
31 }
32
33 await using bundle = await rollup(inputOptions as any);
34 if (useStdout) {
35 const output = outputOptions[0];
36 if (output.sourcemap && output.sourcemap !== 'inline') {
37 handleError(logOnlyInlineSourcemapsForStdout());
38 }
39 const { output: outputs } = await bundle.generate(output);
40 for (const file of outputs) {
41 if (outputs.length > 1) process.stdout.write(`\n${cyan(bold(`//→ ${file.fileName}:`))}\n`);
42 process.stdout.write(file.type === 'asset' ? file.source : file.code);
43 }
44 if (!silent) {
45 warnings.flush();
46 }
47 return;
48 }
49
50 await Promise.all(outputOptions.map(bundle.write));
51 if (!silent) {
52 warnings.flush();
53 stderr(green(`created ${bold(files.join(', '))} in ${bold(ms(Date.now() - start))}`));
54 if (bundle && bundle.getTimings) {
55 printTimings(bundle.getTimings());
56 }
57 }
58}

Callers 1

runRollupFunction · 0.85

Calls 7

stderrFunction · 0.90
handleErrorFunction · 0.90
printTimingsFunction · 0.90
relativeIdFunction · 0.85
rollupFunction · 0.85
generateMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…