{"id":22299,"library":"rollup-plugin-zip","title":"rollup-plugin-zip","description":"Rollup plugin that creates a ZIP archive of emitted files during the build process. Version 1.0.3 is the latest stable version, with occasional minor updates. It integrates directly with Rollup's output pipeline, archiving only the files emitted by the bundle, not additional assets (those require separate handling via plugins like rollup-plugin-copy2). This plugin is inspired by zip-webpack-plugin and supports custom output filenames and directories.","status":"active","version":"1.0.3","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/mentaljam/rollup-plugin-zip","tags":["javascript","rollup","plugin","zip","typescript"],"install":[{"cmd":"npm install rollup-plugin-zip","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-zip","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-zip","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required to use this plugin as a Rollup plugin.","package":"rollup","optional":false}],"imports":[{"note":"ESM-only since v1.0.0; CommonJS require is not supported due to pure ESM package.","wrong":"const zip = require('rollup-plugin-zip')","symbol":"default","correct":"import zip from 'rollup-plugin-zip'"},{"note":"This is a default export, not a named export. Named import will fail.","wrong":"import { zip } from 'rollup-plugin-zip'","symbol":"zip","correct":"import zip from 'rollup-plugin-zip'"},{"note":"TypeScript type export for options (file? and dir?). Not available as runtime value.","wrong":"","symbol":"ZipOptions","correct":"import type { ZipOptions } from 'rollup-plugin-zip'"}],"quickstart":{"code":"// rollup.config.js (ESM)\nimport zip from 'rollup-plugin-zip';\nexport default {\n  input: 'src/index.js',\n  output: {\n    dir: 'dist',\n    format: 'es',\n  },\n  plugins: [\n    zip({\n      file: 'bundle.zip',\n      dir: 'archives',\n    }),\n  ],\n};","lang":"javascript","description":"Creates a ZIP archive of all files emitted by Rollup into 'dist', saving as 'archives/bundle.zip'."},"warnings":[{"fix":"Use rollup-plugin-copy2 or similar to copy additional assets before zipping.","message":"Plugin does not archive manually placed assets outside Rollup's emitted files.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use only `file` or only `dir` to avoid confusion; set path relative to output dir or package root accordingly.","message":"If both `file` and `dir` options are provided, `dir` is ignored.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Switch to ES module syntax in your project or use dynamic import.","message":"Package is pure ESM and cannot be imported via require().","severity":"breaking","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use `import zip from 'rollup-plugin-zip'` in an ES module context.","cause":"Package is pure ESM; require() is used instead of import.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/node_modules/rollup-plugin-zip/src/index.js not supported."},{"fix":"Use `import zip from 'rollup-plugin-zip'` without curly braces.","cause":"Named import `{ zip }` used instead of default import.","error":"TypeError: zip is not a function"},{"fix":"Ensure you call `zip()` (with parentheses) in your plugins array, e.g., `plugins: [zip()]`.","cause":"Plugin factory function returned undefined or incorrect object.","error":"The plugin 'rollup-plugin-zip' is not exporting a valid rollup plugin."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}