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.
createRollupLicensePlugin
✓ import { createRollupLicensePlugin } from 'rollup-license-plugin'
✗ const createRollupLicensePlugin = require('rollup-license-plugin')
ESM-only since v3. Use dynamic import() for CommonJS.
createViteLicensePlugin
✓ import { createViteLicensePlugin } from 'rollup-license-plugin'
✗ import { createViteLicensePlugin } from 'rollup-license-plugin' (none)
Same as createRollupLicensePlugin but for Vite.
PluginOptions
✓ import type { PluginOptions } from 'rollup-license-plugin'
✗ import { PluginOptions } from 'rollup-license-plugin' (value import)
TypeScript type import only; not a runtime value.
default
✓ import rollupLicensePlugin from 'rollup-license-plugin'
✗ const rollupLicensePlugin = require('rollup-license-plugin').default
Default export is an object { createRollupLicensePlugin, createViteLicensePlugin }. Avoid require() for default.
Configures rollup-license-plugin in a Rollup config to generate a third-party notice JSON and fail the build on GPL/AGPL licenses.
// rollup.config.js
import { createRollupLicensePlugin } from 'rollup-license-plugin';
export default {
input: 'src/index.js',
output: { dir: 'dist', format: 'esm' },
plugins: [
createRollupLicensePlugin({
outputFilename: 'thirdPartyNotices.json',
// fail on GPL or AGPL licenses
unacceptableLicenseTest: (licenseId) => /^(GPL|AGPL)/.test(licenseId),
// exclude your own packages
excludedPackageTest: (packageName) => packageName === '@mycompany/internal'
})
]
};
Errors
Common errors & fixes
Cannot find module 'rollup-license-plugin' or its corresponding type declarations.
Package is ESM-only but project uses CommonJS require()
fixUse dynamic import: const { createRollupLicensePlugin } = await import('rollup-license-plugin'); Error: 'createRollupLicensePlugin' is not a function
Incorrect import of default export (entire object)
fixUse named import: import { createRollupLicensePlugin } from 'rollup-license-plugin'; The plugin outputFilename is not a string
Output path must be a string, not an object or array
fixPass a string like 'third-party-licenses.json'
Audit
Dependencies
rollupoptionalpeer dependency for Rollup plugin integration
viteoptionalpeer dependency for Vite plugin integration