lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
86 lines • 13.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRollupConfig = void 0;
const typescript_1 = require("typescript");
const plugin_node_resolve_1 = require("@rollup/plugin-node-resolve");
const umd_ids_1 = require("./umd-ids");
function getRollupConfig(bundleOptions, scriptOptions, buildConfig, logger) {
// plugins
const plugins = [];
if (bundleOptions.moduleFormat === 'umd' || bundleOptions.moduleFormat === 'cjs' || bundleOptions.commonjs) {
// Must be before rollup-plugin-typescript2 in the plugin list, especially when browser: true option is used,
// see https://github.com/ezolenko/rollup-plugin-typescript2/issues/66
plugins.push(plugin_node_resolve_1.nodeResolve());
}
if (/\.ts$/i.test(bundleOptions._entryFilePath) && scriptOptions._tsConfigInfo) {
const tsConfigInfo = scriptOptions._tsConfigInfo;
const tsConfigPath = tsConfigInfo.tsConfigPath;
const scriptTarget = tsConfigInfo.tsCompilerConfig.options.target;
// eslint-disable-next-line @typescript-eslint/no-var-requires
const typescriptPlugin = require('rollup-plugin-typescript2');
const typescriptModulePath = scriptOptions._projectTypescriptModulePath
? scriptOptions._projectTypescriptModulePath
: 'typescript';
const rptOptions = {
tsconfig: tsConfigPath,
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
typescript: require(typescriptModulePath)
};
if ((bundleOptions.moduleFormat === 'umd' || bundleOptions.moduleFormat === 'cjs') &&
(!scriptTarget || scriptTarget > typescript_1.ScriptTarget.ES5)) {
rptOptions.tsconfigOverride = {
compilerOptions: {
target: 'ES5'
}
};
}
plugins.push(typescriptPlugin(rptOptions));
}
if (bundleOptions.commonjs) {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const commonjsPlugin = require('@rollup/plugin-commonjs');
const customOptions = typeof bundleOptions.commonjs === 'object' ? bundleOptions.commonjs : {};
const commonjsOption = Object.assign({ extensions: ['.js', '.ts'], sourceMap: bundleOptions.sourceMap }, customOptions);
plugins.push(commonjsPlugin(commonjsOption));
}
const externals = bundleOptions._externals;
const globals = bundleOptions._globals;
const inputOptions = {
input: bundleOptions._entryFilePath,
// preserveSymlinks: preserveSymlinks,
external: (id) => {
return externals.some((dep) => id === dep || id.startsWith(`${dep}/`));
},
plugins,
onwarn(warning) {
if (typeof warning === 'string') {
logger.warn(warning);
return;
}
// Skip certain warnings
// should intercept ... but doesn't in some rollup versions
if (!warning.message || warning.code === 'THIS_IS_UNDEFINED') {
return;
}
logger.warn(warning.message);
}
};
const outputOptions = {
file: bundleOptions._outputFilePath,
exports: scriptOptions.exports,
name: bundleOptions._umdId,
amd: { id: buildConfig._packageName },
format: bundleOptions.moduleFormat,
globals: (moduleid) => umd_ids_1.getUmdGlobalVariable(moduleid, globals),
sourcemap: bundleOptions.sourceMap
};
if (buildConfig._bannerText) {
outputOptions.banner = buildConfig._bannerText;
}
return {
inputOptions,
outputOptions
};
}
exports.getRollupConfig = getRollupConfig;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJvbGx1cC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbImhlbHBlcnMvZ2V0LXJvbGx1cC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQTBDO0FBSzFDLHFFQUEwRDtBQUkxRCx1Q0FBaUQ7QUFFakQsU0FBZ0IsZUFBZSxDQUMzQixhQUEwQyxFQUMxQyxhQUFvQyxFQUNwQyxXQUFnQyxFQUNoQyxNQUFrQjtJQUtsQixVQUFVO0lBQ1YsTUFBTSxPQUFPLEdBQW9CLEVBQUUsQ0FBQztJQUVwQyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEtBQUssS0FBSyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEtBQUssS0FBSyxJQUFJLGFBQWEsQ0FBQyxRQUFRLEVBQUU7UUFDeEcsNkdBQTZHO1FBQzdHLHNFQUFzRTtRQUN0RSxPQUFPLENBQUMsSUFBSSxDQUFDLGlDQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxhQUFhLENBQUMsYUFBYSxFQUFFO1FBQzVFLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUVsRSw4REFBOEQ7UUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsMkJBQTJCLENBQTRDLENBQUM7UUFFekcsTUFBTSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsNEJBQTRCO1lBQ25FLENBQUMsQ0FBQyxhQUFhLENBQUMsNEJBQTRCO1lBQzVDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFFbkIsTUFBTSxVQUFVLEdBQWdCO1lBQzVCLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLG1FQUFtRTtZQUNuRSxVQUFVLEVBQUUs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dCAqIGFzIHJvbGx1cCBmcm9tICdyb2xsdXAnO1xuaW1wb3J0IHsgU2NyaXB0VGFyZ2V0IH0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IEJ1aWxkQ29uZmlnSW50ZXJuYWwsIFNjcmlwdEJ1bmRsZU9wdGlvbnNJbnRlcm5hbCwgU2NyaXB0T3B0aW9uc0ludGVybmFsIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IExvZ2dlckJhc2UgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IG5vZGVSZXNvbHZlIH0gZnJvbSAnQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlJztcbmltcG9ydCB7IFJvbGx1cENvbW1vbkpTT3B0aW9ucyB9IGZyb20gJ0Byb2xsdXAvcGx1Z2luLWNvbW1vbmpzJztcbmltcG9ydCB7IFJQVDJPcHRpb25zIH0gZnJvbSAncm9sbHVwLXBsdWdpbi10eXBlc2NyaXB0Mic7XG5cbmltcG9ydCB7IGdldFVtZEdsb2JhbFZhcmlhYmxlIH0gZnJvbSAnLi91bWQtaWRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvbGx1cENvbmZpZyhcbiAgICBidW5kbGVPcHRpb25zOiBTY3JpcHRCdW5kbGVPcHRpb25zSW50ZXJuYWwsXG4gICAgc2NyaXB0T3B0aW9uczogU2NyaXB0T3B0aW9uc0ludGVybmFsLFxuICAgIGJ1aWxkQ29uZmlnOiBCdWlsZENvbmZpZ0ludGVybmFsLFxuICAgIGxvZ2dlcjogTG9nZ2VyQmFzZVxuKToge1xuICAgIGlucHV0T3B0aW9uczogcm9sbHVwLklucHV0T3B0aW9ucztcbiAgICBvdXRwdXRPcHRpb25zOiByb2xsdXAuT3V0cHV0T3B0aW9ucztcbn0ge1xuICAgIC8vIHBsdWdpbnNcbiAgICBjb25zdCBwbHVnaW5zOiByb2xsdXAuUGx1Z2luW10gPSBbXTtcblxuICAgIGlmIChidW5kbGVPcHRpb25zLm1vZHVsZUZvcm1hdCA9PT0gJ3VtZCcgfHwgYnVuZGxlT3B0aW9ucy5tb2R1bGVGb3JtYXQgPT09ICdjanMnIHx8IGJ1bmRsZU9wdGlvbnMuY29tbW9uanMpIHtcbiAgICAgICAgLy8gTXVzdCBiZSBiZWZvcmUgcm9sbHVwLXBsdWdpbi10eXBlc2NyaXB0MiBpbiB0aGUgcGx1Z2luIGxpc3QsIGVzcGVjaWFsbHkgd2hlbiBicm93c2VyOiB0cnVlIG9wdGlvbiBpcyB1c2VkLFxuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2V6b2xlbmtvL3JvbGx1cC1wbHVnaW4tdHlwZXNjcmlwdDIvaXNzdWVzLzY2XG4gICAgICAgIHBsdWdpbnMucHVzaChub2RlUmVzb2x2ZSgpKTtcbiAgICB9XG5cbiAgICBpZiAoL1xcLnRzJC9pLnRlc3QoYnVuZGxlT3B0aW9ucy5fZW50cnlGaWxlUGF0aCkgJiYgc2NyaXB0T3B0aW9ucy5fdHNDb25maWdJbmZvKSB7XG4gICAgICAgIGNvbnN0IHRzQ29uZmlnSW5mbyA9IHNjcmlwdE9wdGlvbnMuX3RzQ29uZmlnSW5mbztcbiAgICAgICAgY29uc3QgdHNDb25maWdQYXRoID0gdHNDb25maWdJbmZvLnRzQ29uZmlnUGF0aDtcbiAgICAgICAgY29uc3Qgc2NyaXB0VGFyZ2V0ID0gdHNDb25maWdJbmZvLnRzQ29tcGlsZXJDb25maWcub3B0aW9ucy50YXJnZXQ7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICAgICAgY29uc3QgdHlwZXNjcmlwdFBsdWdpbiA9IHJlcXVpcmUoJ3JvbGx1cC1wbHVnaW4tdHlwZXNjcmlwdDInKSBhcyAob3B0aW9uczogUlBUMk9wdGlvbnMpID0+IHJvbGx1cC5QbHVnaW47XG5cbiAgICAgICAgY29uc3QgdHlwZXNjcmlwdE1vZHVsZVBhdGggPSBzY3JpcHRPcHRpb25zLl9wcm9qZWN0VHlwZXNjcmlwdE1vZHVsZVBhdGhcbiAgICAgICAgICAgID8gc2NyaXB0T3B0aW9ucy5fcHJvamVjdFR5cGVzY3JpcHRNb2R1bGVQYXRoXG4gICAgICAgICAgICA6ICd0eXBlc2NyaXB0JztcblxuICAgICAgICBjb25zdCBycHRPcHRpb25zOiBSUFQyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIHRzY29uZmlnOiB0c0NvbmZpZ1BhdGgsXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgICAgICAgICB0eXBlc2NyaXB0OiByZXF1aXJlKHR5cGVzY3JpcHRNb2R1bGVQYXRoKVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChidW5kbGVPcHRpb25zLm1vZHVsZUZvcm1hdCA9PT0gJ3VtZCcgfHwgYnVuZGxlT3B0aW9ucy5tb2R1bGVGb3JtYXQgPT09ICdjanMnKSAmJlxuICAgICAgICAgICAgKCFzY3JpcHRUYXJnZXQgfHwgc2NyaXB0VGFyZ2V0ID4gU2NyaXB0VGFyZ2V0LkVTNSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBycHRPcHRpb25zLnRzY29uZmlnT3ZlcnJpZGUgPSB7XG4gICAgICAgICAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogJ0VTNSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcGx1Z2lucy5wdXNoKHR5cGVzY3JpcHRQbHVnaW4ocnB0T3B0aW9ucykpO1xuICAgIH1cblxuICAgIGlmIChidW5kbGVPcHRpb25zLmNvbW1vbmpzKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgICAgIGNvbnN0IGNvbW1vbmpzUGx1Z2luID0gcmVxdWlyZSgnQHJvbGx1cC9wbHVnaW4tY29tbW9uanMnKSBhcyAob3B0aW9uczogUm9sbHVwQ29tbW9uSlNPcHRpb25zKSA9PiByb2xsdXAuUGx1Z2luO1xuXG4gICAgICAgIGNvbnN0IGN1c3RvbU9wdGlvbnMgPSB0eXBlb2YgYnVuZGxlT3B0aW9ucy5jb21tb25qcyA9PT0gJ29iamVjdCcgPyBidW5kbGVPcHRpb25zLmNvbW1vbmpzIDoge307XG4gICAgICAgIGNvbnN0IGNvbW1vbmpzT3B0aW9uOiBSb2xsdXBDb21tb25KU09wdGlvbnMgPSB7XG4gICAgICAgICAgICBleHRlbnNpb25zOiBbJy5qcycsICcudHMnXSxcbiAgICAgICAgICAgIHNvdXJjZU1hcDogYnVuZGxlT3B0aW9ucy5zb3VyY2VNYXAsXG4gICAgICAgICAgICAuLi5jdXN0b21PcHRpb25zXG4gICAgICAgIH07XG5cbiAgICAgICAgcGx1Z2lucy5wdXNoKGNvbW1vbmpzUGx1Z2luKGNvbW1vbmpzT3B0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZXJuYWxzID0gYnVuZGxlT3B0aW9ucy5fZXh0ZXJuYWxzO1xuICAgIGNvbnN0IGdsb2JhbHMgPSBidW5kbGVPcHRpb25zLl9nbG9iYWxzO1xuXG4gICAgY29uc3QgaW5wdXRPcHRpb25zOiByb2xsdXAuSW5wdXRPcHRpb25zID0ge1xuICAgICAgICBpbnB1dDogYnVuZGxlT3B0aW9ucy5fZW50cnlGaWxlUGF0aCxcbiAgICAgICAgLy8gcHJlc2VydmVTeW1saW5rczogcHJlc2VydmVTeW1saW5rcyxcbiAgICAgICAgZXh0ZXJuYWw6IChpZDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZXh0ZXJuYWxzLnNvbWUoKGRlcCkgPT4gaWQgPT09IGRlcCB8fCBpZC5zdGFydHNXaXRoKGAke2RlcH0vYCkpO1xuICAgICAgICB9LFxuICAgICAgICBwbHVnaW5zLFxuICAgICAgICBvbndhcm4od2FybmluZzogc3RyaW5nIHwgcm9sbHVwLlJvbGx1cFdhcm5pbmcpOiB2b2lkIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygd2FybmluZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIud2Fybih3YXJuaW5nKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2tpcCBjZXJ0YWluIHdhcm5pbmdzXG4gICAgICAgICAgICAvLyBzaG91bGQgaW50ZXJjZXB0IC4uLiBidXQgZG9lc24ndCBpbiBzb21lIHJvbGx1cCB2ZXJzaW9uc1xuICAgICAgICAgICAgaWYgKCF3YXJuaW5nLm1lc3NhZ2UgfHwgd2FybmluZy5jb2RlID09PSAnVEhJU19JU19VTkRFRklORUQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsb2dnZXIud2Fybih3YXJuaW5nLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IG91dHB1dE9wdGlvbnM6IHJvbGx1cC5PdXRwdXRPcHRpb25zID0ge1xuICAgICAgICBmaWxlOiBidW5kbGVPcHRpb25zLl9vdXRwdXRGaWxlUGF0aCxcbiAgICAgICAgZXhwb3J0czogc2NyaXB0T3B0aW9ucy5leHBvcnRzLFxuICAgICAgICBuYW1lOiBidW5kbGVPcHRpb25zLl91bWRJZCxcbiAgICAgICAgYW1kOiB7IGlkOiBidWlsZENvbmZpZy5fcGFja2FnZU5hbWUgfSxcbiAgICAgICAgZm9ybWF0OiBidW5kbGVPcHRpb25zLm1vZHVsZUZvcm1hdCxcbiAgICAgICAgZ2xvYmFsczogKG1vZHVsZWlkKSA9PiBnZXRVbWRHbG9iYWxWYXJpYWJsZShtb2R1bGVpZCwgZ2xvYmFscyksXG4gICAgICAgIHNvdXJjZW1hcDogYnVuZGxlT3B0aW9ucy5zb3VyY2VNYXBcbiAgICB9O1xuXG4gICAgaWYgKGJ1aWxkQ29uZmlnLl9iYW5uZXJUZXh0KSB7XG4gICAgICAgIG91dHB1dE9wdGlvbnMuYmFubmVyID0gYnVpbGRDb25maWcuX2Jhbm5lclRleHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRPcHRpb25zLFxuICAgICAgICBvdXRwdXRPcHRpb25zXG4gICAgfTtcbn1cbiJdfQ==