Registry / devops / rollup-plugin-purs

rollup-plugin-purs

JSON →
library1.0.38jsnpmunverified

Rollup plugin to bundle PureScript modules into optimized JavaScript bundles. Current stable version is 1.0.38. It integrates PureScript compilation output with Rollup, offering tree shaking and advanced optimizations like uncurrying, inlining, dead code elimination, and constant propagation. Compared to purs bundle or webpack, it produces smaller file sizes (e.g., 35.7 kB vs 65.2 kB for a sample app). Requires manual PureScript compilation beforehand (e.g., with pulp build). Releases are infrequent; last update was in 2017. Not actively maintained, but functional for existing projects.

npm install rollup-plugin-purs
INSTALL
IMPORT
SIG · ROLLUP-PLUGIN-PURS
R
rollup-plugin-purs
devopsjavascriptv1.0.38
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
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
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import purs from 'rollup-plugin-purs'
const purs = require('rollup-plugin-purs')
The package is ESM-only; CommonJS require will fail. Use import syntax.
purs
import purs from 'rollup-plugin-purs'
import { purs } from 'rollup-plugin-purs'
The plugin is exported as default, not named. Named import { purs } is incorrect.
Plugin
import type { Plugin } from 'rollup'
import { Plugin } from 'rollup-plugin-purs'
TypeScript type for the plugin configuration is not exported by this package; use rollup's Plugin type.

Basic Rollup config to bundle PureScript output. Requires prior PureScript compilation with pulp build.

// rollup.config.js import purs from 'rollup-plugin-purs'; export default { input: 'src/Main.purs', output: { file: 'bundle.js', format: 'iife', sourcemap: true }, plugins: [purs()] }; // Build: run 'pulp build -- --source-maps' first, then 'rollup -c'
Debug
Known issues
gotchaPlugin does not compile PureScript; you must run pulp build or purs compile first.
fix
Run 'pulp build -- --source-maps' or equivalent before running rollup.
affects: >=1.0.0
gotchaRequires Rollup version ^0.41.6; incompatible with newer Rollup versions (>=1.0.0).
fix
Use an older Rollup version (e.g., 0.41.6) or consider alternatives.
affects: >=1.0.0
gotchaassumePureVars optimization can break programs with impure FFI or unsafe functions.
fix
Set assumePureVars: false in options if using impure FFI.
affects: >=1.0.0
gotchadebug: true may display warnings about dynamic exports, require, or module; can be suppressed with comment pragmas.
fix
Add // rollup-plugin-purs ignore dynamic exports comments in source files.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'rollup-plugin-purs'
The package is not installed or npm install failed.
fix
Run 'npm install rollup-plugin-purs --save-dev'.
SyntaxError: Unexpected token 'export' — maybe you need to use CommonJS require?
Using require() instead of import on an ESM-only package.
fix
Use 'import purs from "rollup-plugin-purs"' in an ES module context or set type:"module" in package.json.
Error: The 'dest' option is deprecated. Use 'output.file' instead.
Rollup version mismatch: dest was used in older Rollup config.
fix
Use output.file instead of dest, or use Rollup ^0.41.6 which supports dest.
Upgrade
Version history
1.0.38latest on npm
Audit
Dependencies
rolluprequiredPeer dependency; requires rollup ^0.41.6 to work as a plugin.
Agent activity
4 hits · last 30 days
node
4
Resources
rollup-plugin-purs — npm install rollup-plugin-purs · libregistry