UNPKG

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
"use strict"; 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==