{"id":22156,"library":"rollup-plugin-output-size","title":"rollup-plugin-output-size","description":"A Rollup plugin that displays output bundle sizes (uncompressed and gzipped) for assets, chunks, and entries. Current stable version is 2.0.0, released 2025, with peer dependency on Rollup ^2.0.0 || ^3.0.0 || ^4.0.0. Ships TypeScript types. Key differentiators: lightweight (zero dependencies since v2.0.0), uses Node.js built-in gzip and util.styleText, provides customization options (bytes, hide, gzip, silent, summary, handle), and exports utility functions (format, summarize). Actively maintained, with breaking changes in v2.0.0 requiring Node >=20.12.0 and removal of deprecated RollupOutputSizeOptions interface.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/Arnesfield/rollup-plugin-output-size","tags":["javascript","rollup-plugin","output-size","summary","output","size","gzip","typescript"],"install":[{"cmd":"npm install rollup-plugin-output-size","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-output-size","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-output-size","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; the plugin hooks into Rollup's build system","package":"rollup","optional":false}],"imports":[{"note":"ESM-only since v2.0.0; CommonJS require returns { default: outputSize }","wrong":"const outputSize = require('rollup-plugin-output-size')","symbol":"outputSize (default)","correct":"import outputSize from 'rollup-plugin-output-size'"},{"note":"Named export for utility function; available in both ESM and CJS via the package's dual format","wrong":"const { format } = require('rollup-plugin-output-size'); // works in CJS but preferred ESM","symbol":"format","correct":"import { format } from 'rollup-plugin-output-size'"},{"note":"Named export, not default; used for custom summary output","wrong":"import summarize from 'rollup-plugin-output-size'","symbol":"summarize","correct":"import { summarize } from 'rollup-plugin-output-size'"},{"note":"TypeScript type only; do not import as value","wrong":"import { Options } from 'rollup-plugin-output-size' // Value not exported at runtime","symbol":"Options","correct":"import type { Options } from 'rollup-plugin-output-size'"}],"quickstart":{"code":"import outputSize from 'rollup-plugin-output-size';\nimport { format, summarize } from 'rollup-plugin-output-size';\n\nexport default {\n  input: 'src/index.js',\n  output: { dir: 'dist' },\n  plugins: [\n    outputSize({\n      bytes: true,\n      gzip: ['chunk', 'entry'],\n      hide: false,\n      silent: false,\n      summary: true,\n      handle(info) {\n        console.log(format(info));\n      }\n    })\n  ]\n};","lang":"typescript","description":"Shows full configuration with all options and custom handle callback using format utility."},"warnings":[{"fix":"Update Node.js to 20.12.0 or later","message":"Requires Node.js >=20.12.0 in v2.0.0","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Replace with Options interface (import type { Options } from 'rollup-plugin-output-size')","message":"RollupOutputSizeOptions interface removed in v2.0.0","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Use ESM import or destructure: const { default: outputSize } = require('rollup-plugin-output-size')","message":"CommonJS require returns { default: outputSize } not outputSize directly","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Use archiver for accurate total gzip size","message":"Summary total gzip size is sum of individual gzip sizes, not archive-level","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Import type: import type { Options } from 'rollup-plugin-output-size'","message":"Options type not available as runtime value; only as TypeScript type import","severity":"gotcha","affected_versions":">=1.4.0"},{"fix":"Use Options interface","message":"RollupOutputSizeOptions interface deprecated since v1.4.0 and removed in v2.0.0","severity":"deprecated","affected_versions":"<2.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Switch to ESM (import outputSize from 'rollup-plugin-output-size') or use dynamic import()","cause":"Using CommonJS require() on an ESM-only package v2.0.0","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module"},{"fix":"const outputSize = require('rollup-plugin-output-size').default;","cause":"Using default import from CommonJS require but did not destructure .default","error":"TypeError: outputSize is not a function"},{"fix":"Use import outputSize from 'rollup-plugin-output-size'","cause":"Incorrect import of default export when using TypeScript and CommonJS","error":"TypeError: (0 , plugin_1.default) is not a function"},{"fix":"Update Node.js to >=20.12.0","cause":"Node.js version <20.12.0 missing required built-in APIs","error":"Cannot find module 'node:util' or 'node:zlib'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}