{"id":13688225,"url":"https://github.com/purescript-halogen/purescript-halogen-template","last_synced_at":"2026-02-02T04:39:46.318Z","repository":{"id":39905154,"uuid":"49903536","full_name":"purescript-halogen/purescript-halogen-template","owner":"purescript-halogen","description":"Template project for getting started with Halogen","archived":false,"fork":false,"pushed_at":"2023-03-07T06:39:07.000Z","size":35,"stargazers_count":129,"open_issues_count":5,"forks_count":55,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-05-01T16:40:26.460Z","etag":null,"topics":["purescript","purescript-halogen"],"latest_commit_sha":null,"homepage":"","language":"PureScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/purescript-halogen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-01-18T20:34:51.000Z","updated_at":"2025-04-06T03:33:36.000Z","dependencies_parsed_at":"2024-01-14T18:09:43.980Z","dependency_job_id":null,"html_url":"https://github.com/purescript-halogen/purescript-halogen-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/purescript-halogen/purescript-halogen-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript-halogen%2Fpurescript-halogen-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript-halogen%2Fpurescript-halogen-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript-halogen%2Fpurescript-halogen-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript-halogen%2Fpurescript-halogen-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/purescript-halogen","download_url":"https://codeload.github.com/purescript-halogen/purescript-halogen-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purescript-halogen%2Fpurescript-halogen-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29005643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T04:25:24.522Z","status":"ssl_error","status_checked_at":"2026-02-02T04:24:51.069Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["purescript","purescript-halogen"],"created_at":"2024-08-02T15:01:09.126Z","updated_at":"2026-02-02T04:39:46.311Z","avatar_url":"https://github.com/purescript-halogen.png","language":"PureScript","readme":"# Halogen Template\n\n### Quick Start\n```sh\ngit clone https://github.com/purescript-halogen/purescript-halogen-template.git halogen-project\ncd halogen-project\nnpm install\nnpm run build\nnpm run serve\n```\n\n### Introduction\n\nThis is a template for starting a fresh project with the [Halogen](https://github.com/purescript-halogen/purescript-halogen) library for writing declarative, type-safe user interfaces.\n\nYou can learn more about Halogen with these resources:\n\n- The [Halogen documentation](https://github.com/purescript-halogen/purescript-halogen/tree/master/docs), which includes a quick start guide and a concepts reference.\n- The [Learn Halogen](https://github.com/jordanmartinez/learn-halogen) learning repository.\n- The [Real World Halogen](https://github.com/thomashoneyman/purescript-halogen-realworld) application and guide. Note that the published article is written for the older halogen v4, but the code and comments cover the current halogen v5.\n- The [API documentation](https://pursuit.purescript.org/packages/purescript-halogen) on Pursuit\n\nYou can chat with other Halogen users on the [PureScript Discourse](https://discourse.purescript.org), or join the [Functional Programming Slack](https://functionalprogramming.slack.com) ([invite link](https://fpchat-invite.herokuapp.com/)) in the `#purescript` and `#purescript-beginners` channels.\n\nIf you notice any problems with the below setup instructions, or have suggestions on how to make the new-user experience any smoother, please create an issue or pull-request.\n\nCompatible with PureScript compiler 13.x\n\n### Initial Setup\n\n**Prerequisites:** This template assumes you already have Git and Node.js installed with `npm` somewhere on your path.\n\nFirst, clone the repository and step into it:\n\n```sh\ngit clone https://github.com/purescript-halogen/purescript-halogen-template.git halogen-project\ncd halogen-project\n```\n\nThen, install the PureScript compiler, the [Spago](https://github.com/purescript/spago) package manager and build tool, and the [Parcel](https://github.com/parcel-bundler/parcel) bundler. You may either install PureScript tooling _globally_, to reduce duplicated `node_modules` across projects, or _locally_, so that each project uses specific versions of the tools.\n\nTo install the toolchain globally:\n```sh\nnpm install -g purescript spago parcel\n```\n\nTo install the toolchain locally (reads `devDependencies` from `package.json`):\n```sh\nnpm install\n```\n\n### Building\n\nYou can now build the PureScript source code with:\n\n```sh\n# An alias for `spago build`\nnpm run build\n```\n\n### Launching the App\n\nYou can launch your app in the browser with:\n\n```sh\n# An alias for `parcel dev/index.html --out-dir dev-dist --open`\nnpm run serve\n```\n\n### Development Cycle\n\nIf you're using an [editor](https://github.com/purescript/documentation/blob/master/ecosystem/Editor-and-tool-support.md#editors) that supports [`purs ide`](https://github.com/purescript/purescript/tree/master/psc-ide) or are running [`pscid`](https://github.com/kRITZCREEK/pscid), you simply need to keep the previous `npm run serve` command running in a terminal. Any save to a file will trigger an incremental recompilation, rebundle, and web page refresh, so you can immediately see your changes.\n\nIf your workflow does not support automatic recompilation, then you will need to manually re-run `npm run build`. Even with automatic recompilation, a manual rebuild is occasionally required, such as when you add, remove, or modify module names, or notice any other unexpected behavior.\n\n### Production\n\nWhen you are ready to create a minified bundle for deployment, run the following command:\n```sh\nnpm run build-prod\n```\n\nParcel output appears in the `./dist/` directory.\n\nYou can test the production output locally with a tool like [`http-server`](https://github.com/http-party/http-server#installation). It seems that `parcel` should also be able to accomplish this, but it unfortunately will only serve development builds locally.\n```sh\nnpm install -g http-server\nhttp-server dist -o\n```\n\nIf everything looks good, you can then upload the contents of `dist` to your preferred static hosting service.\n","funding_links":[],"categories":["PureScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurescript-halogen%2Fpurescript-halogen-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpurescript-halogen%2Fpurescript-halogen-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurescript-halogen%2Fpurescript-halogen-template/lists"}