A webpack loader for compiling PureScript modules with support for hot-reloading and dead code elimination.
purs-loader is a webpack loader that compiles PureScript code within webpack build pipelines. It solves the problem of integrating PureScript—a strongly-typed functional programming language—into modern JavaScript tooling, enabling features like hot-reloading and efficient bundling. The loader bridges the gap between PureScript's compiler and webpack's module system.
Frontend or full-stack developers who use webpack and want to incorporate PureScript into their projects, particularly those exploring functional programming in web development.
Developers choose purs-loader because it provides a seamless way to use PureScript with webpack, offering familiar workflows like hot-reloading and dead code elimination without leaving the webpack ecosystem. Its experimental psc-ide support also enables faster rebuilds compared to traditional compilation.
PureScript loader for webpack
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables instant rebuilds of individual PureScript files during development, as highlighted in the Key Features for faster iteration.
Uses PureScript's bundle option to remove unused code from the final output, optimizing bundle size for production deployments.
Integrates with purescript-psa for readable, color-coded error and warning messages, improving debugging efficiency as noted in the README.
Supports both spago and psc-package, allowing developers to choose their preferred dependency management tool, as detailed in the options.
Key features like psc-ide support and package manager integration are labeled experimental in the README, risking bugs or breaking changes in workflows.
On systems like NixOS, binary compatibility issues require manual fixes for 'spawn ENOENT' errors, adding configuration overhead as noted in troubleshooting.
In watch mode, errors may not display properly without extra plugin configuration, complicating setup as mentioned in the troubleshooting section.