UNPKG

rollup-plugin-webpack-stats

Version:

Rollup/Vite/Rolldown plugin to generate a stats JSON file with a bundle-stats webpack-compatible structure

33 lines (31 loc) 1.41 kB
const require_runtime = require('./_virtual/_rolldown/runtime.cjs'); const require_utils = require('./utils.cjs'); const require_transform = require('./transform.cjs'); const require_write = require('./write.cjs'); let rollup_plugin_stats_extract = require("rollup-plugin-stats/extract"); rollup_plugin_stats_extract = require_runtime.__toESM(rollup_plugin_stats_extract); //#region src/plugin.ts const PLUGIN_NAME = "webpackStats"; const webpackStats = (options = {}) => ({ name: PLUGIN_NAME, async generateBundle(outputOptions, bundle) { const { fileName, excludeAssets, excludeModules, write = require_write.statsWrite, ...transformOptions } = typeof options === "function" ? options(outputOptions) : options; const stats = require_transform.bundleToWebpackStats((0, rollup_plugin_stats_extract.default)(bundle, { excludeAssets, excludeModules, source: true }), transformOptions); const filepath = require_utils.resolveFilepath(fileName, outputOptions.dir); try { const res = await write(filepath, stats); const outputSize = require_utils.getByteSize(res.content); this.info(`Stats saved to ${res.filepath} (${require_utils.formatFileSize(outputSize)})`); } catch (error) { const message = error instanceof Error ? error.message : JSON.stringify(error); this.warn(message); } } }); //#endregion exports.webpackStats = webpackStats; //# sourceMappingURL=plugin.cjs.map