UNPKG

@tylertech/forge-build-tools

Version:
38 lines 4.4 kB
import { rollup } from 'rollup'; import cpath from 'canonical-path'; const { isAbsolute } = cpath; /** * Creates a rollup bundle from the provided configuration. * @param config The rollup bundle configuration options. */ export function createRollupBundle(config) { const bundleOptions = { context: 'this', external: (id) => { if (config.globals[id]) { return true; } if (isAbsolute(id)) { if (!id.match(/node_modules/)) { return false; } } else if (id.match(/^\./)) { return false; } return true; }, input: config.input, plugins: config.plugins || [] }; const writeOptions = { name: config.name, banner: config.banner, format: config.format, file: config.file, globals: config.globals, sourcemap: true }; return rollup(bundleOptions).then(bundle => bundle.write(writeOptions)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1bmRsaW5nL3JvbGx1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNELE1BQU0sRUFBaUIsTUFBTSxRQUFRLENBQUM7QUFDbkcsT0FBTyxLQUFLLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQztBQWE3Qjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBMkI7SUFDNUQsTUFBTSxhQUFhLEdBQWtCO1FBQ25DLE9BQU8sRUFBRSxNQUFNO1FBQ2YsUUFBUSxFQUFFLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDdkIsSUFBSyxNQUFNLENBQUMsT0FBc0MsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUN2RCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO29CQUM5QixPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ25CLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7S0FDOUIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFrQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNyQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3ZCLFNBQVMsRUFBRSxJQUFJO0tBQ2hCLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZUZvcm1hdCwgR2xvYmFsc09wdGlvbiwgUGx1Z2luLCBPdXRwdXRPcHRpb25zLCByb2xsdXAsIFJvbGx1cE9wdGlvbnMgfSBmcm9tICdyb2xsdXAnO1xuaW1wb3J0IGNwYXRoIGZyb20gJ2Nhbm9uaWNhbC1wYXRoJztcblxuY29uc3QgeyBpc0Fic29sdXRlIH0gPSBjcGF0aDtcblxuZXhwb3J0IGludGVyZmFjZSBJUm9sbHVwQnVuZGxlQ29uZmlnIHtcbiAgaW5wdXQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBmb3JtYXQ6IE1vZHVsZUZvcm1hdDtcbiAgZmlsZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGdsb2JhbHM6IEdsb2JhbHNPcHRpb247XG4gIGJhbm5lcjogc3RyaW5nO1xuICBwbHVnaW5zOiBQbHVnaW5bXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcm9sbHVwIGJ1bmRsZSBmcm9tIHRoZSBwcm92aWRlZCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIGNvbmZpZyBUaGUgcm9sbHVwIGJ1bmRsZSBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSb2xsdXBCdW5kbGUoY29uZmlnOiBJUm9sbHVwQnVuZGxlQ29uZmlnKTogUHJvbWlzZTxhbnk+IHtcbiAgY29uc3QgYnVuZGxlT3B0aW9uczogUm9sbHVwT3B0aW9ucyA9IHtcbiAgICBjb250ZXh0OiAndGhpcycsXG4gICAgZXh0ZXJuYWw6IChpZDogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoKGNvbmZpZy5nbG9iYWxzIGFzIHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9KVtpZF0pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNBYnNvbHV0ZShpZCkpIHtcbiAgICAgICAgaWYgKCFpZC5tYXRjaCgvbm9kZV9tb2R1bGVzLykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaWQubWF0Y2goL15cXC4vKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGlucHV0OiBjb25maWcuaW5wdXQsXG4gICAgcGx1Z2luczogY29uZmlnLnBsdWdpbnMgfHwgW11cbiAgfTtcblxuICBjb25zdCB3cml0ZU9wdGlvbnM6IE91dHB1dE9wdGlvbnMgPSB7XG4gICAgbmFtZTogY29uZmlnLm5hbWUsXG4gICAgYmFubmVyOiBjb25maWcuYmFubmVyLFxuICAgIGZvcm1hdDogY29uZmlnLmZvcm1hdCxcbiAgICBmaWxlOiBjb25maWcuZmlsZSxcbiAgICBnbG9iYWxzOiBjb25maWcuZ2xvYmFscyxcbiAgICBzb3VyY2VtYXA6IHRydWVcbiAgfTtcblxuICByZXR1cm4gcm9sbHVwKGJ1bmRsZU9wdGlvbnMpLnRoZW4oYnVuZGxlID0+IGJ1bmRsZS53cml0ZSh3cml0ZU9wdGlvbnMpKTtcbn1cbiJdfQ==