Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–223 runs
build_error
glibcnode 18–223 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
zipDir
✓ import zipDir from 'rollup-plugin-zipdir';
✗ const zipDir = require('rollup-plugin-zipdir');
ESM-only package; CommonJS require will fail. Default export is a function.
ZipDirOptions
✓ import type { ZipDirOptions } from 'rollup-plugin-zipdir';
TypeScript users can import the options interface. No default import needed for types.
default export (named function)
✓ import zipDir from 'rollup-plugin-zipdir';
zipDir({ outputDir: 'dist' });
✗ import { zipDir } from 'rollup-plugin-zipdir';
The module exposes a single default export (function); named import of 'zipDir' will be undefined.
Basic Rollup config that zips the output directory (build) into a zip file placed in dist/.
// rollup.config.js (ESM)
import zipDir from 'rollup-plugin-zipdir';
export default {
input: 'src/index.js',
output: {
dir: 'build',
format: 'esm',
},
plugins: [
// Must be placed last in plugins array
zipDir({
outputDir: 'dist', // default: 'zip'
filter: (file) => !file.endsWith('.map'), // optional: exclude sourcemaps
}),
],
};
Errors
Common errors & fixes
Error: Cannot read properties of undefined (reading 'dir')
Plugin expects output.dir to be defined, but config uses output.file or output is missing.
fixSet output.dir in Rollup config (e.g., output: { dir: 'build' }). TypeError: zipDir is not a function
Using named import instead of default import.
fixUse default import: import zipDir from 'rollup-plugin-zipdir';
Audit
Dependencies
fflaterequiredCore dependency for zip compression