https://github.com/maxdeviant/purlin
A common foundation for your PureScript projects
https://github.com/maxdeviant/purlin
purescript
Last synced: 9 months ago
JSON representation
A common foundation for your PureScript projects
- Host: GitHub
- URL: https://github.com/maxdeviant/purlin
- Owner: maxdeviant
- License: mit
- Created: 2020-08-10T21:18:15.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-07T01:26:06.000Z (over 4 years ago)
- Last Synced: 2025-04-09T15:16:49.282Z (9 months ago)
- Topics: purescript
- Language: PureScript
- Homepage:
- Size: 68.4 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Purlin
Purlin provides a common foundation for your [PureScript](https://www.purescript.org/) projects.
## Usage
To get started with Purlin you'll want to install it as a dev dependency:
#### Yarn
```sh
yarn add -D purlin
```
#### npm
```sh
npm i -D purlin
```
Once Purlin is installed you can configure your desired scripts, like so:
```diff json
{
"scripts": {
+ "format": "purlin format"
}
}
```
## Motivation
In a sense, Purlin fills the same role as a project template or generator: a way to get a consistent environment for any PureScript project. However, forking a project template or using a generator to scaffold a project provides no value after the initial project creation. These tools serve as a starting point, but are essentially useless once the project has been setup.
Purlin takes a page out of the [`react-scripts`](https://github.com/facebook/create-react-app/tree/master/packages/react-scripts) handbook and is a single dependency that can be installed initially and then upgraded over time.
We use npm as the distribution mechanism for Purlin due to its convenience. Much of the PureScript and PureScript-adjacent tooling (like [Spago](https://github.com/purescript/spago), [Purty](https://gitlab.com/joneshf/purty), and [Bower](https://bower.io/)) already exists on the npm registry, which makes it easy for us to include these dependencies with Purlin. Additionally, many PureScript projects will be using npm anyways, so installing Purlin is as easy as installing any other npm dependency.