mirror of
https://github.com/jquery/jquery.git
synced 2024-12-09 08:04:24 +00:00
43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
|
import { rollup } from "rollup";
|
||
|
|
||
|
import { loadConfigFile } from "rollup/loadConfigFile";
|
||
|
import path from "node:path";
|
||
|
import { fileURLToPath } from "node:url";
|
||
|
|
||
|
const dirname = path.dirname( fileURLToPath( import.meta.url ) );
|
||
|
const pureEsmConfigPath = path.resolve(
|
||
|
dirname, "..", "rollup-pure-esm.config.js" );
|
||
|
const commonJSConfigPath = path.resolve(
|
||
|
dirname, "..", "rollup-commonjs.config.js" );
|
||
|
|
||
|
// See https://rollupjs.org/javascript-api/#programmatically-loading-a-config-file
|
||
|
async function runRollup( name, configPath ) {
|
||
|
|
||
|
console.log( `Running Rollup, version: ${ name }` );
|
||
|
|
||
|
// options is an array of "inputOptions" objects with an additional
|
||
|
// "output" property that contains an array of "outputOptions".
|
||
|
// We generate a single output so the array only has one element.
|
||
|
const {
|
||
|
options: [ optionsObj ],
|
||
|
warnings
|
||
|
} = await loadConfigFile( configPath, {} );
|
||
|
|
||
|
// "warnings" wraps the default `onwarn` handler passed by the CLI.
|
||
|
// This prints all warnings up to this point:
|
||
|
warnings.flush();
|
||
|
|
||
|
const bundle = await rollup( optionsObj );
|
||
|
await Promise.all( optionsObj.output.map( bundle.write ) );
|
||
|
|
||
|
console.log( `Build completed: Rollup, version: ${ name }` );
|
||
|
}
|
||
|
|
||
|
export async function runRollupPureEsm() {
|
||
|
await runRollup( "pure ESM", pureEsmConfigPath );
|
||
|
}
|
||
|
|
||
|
export async function runRollupEsmAndCommonJs() {
|
||
|
await runRollup( "ESM + CommonJS", commonJSConfigPath );
|
||
|
}
|