{"id":13394717,"url":"https://github.com/easafe/purescript-flame","last_synced_at":"2025-10-22T12:49:28.618Z","repository":{"id":34665389,"uuid":"180029846","full_name":"easafe/purescript-flame","owner":"easafe","description":"Fast \u0026 simple framework for building web applications","archived":false,"fork":false,"pushed_at":"2024-08-09T15:41:18.000Z","size":2776,"stargazers_count":292,"open_issues_count":5,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-09T19:23:04.696Z","etag":null,"topics":["elm-architecture","purescript","ui","web"],"latest_commit_sha":null,"homepage":"https://flame.asafe.dev","language":"PureScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/easafe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"easafe","custom":["https://asafe.dev/donate"]}},"created_at":"2019-04-07T22:10:29.000Z","updated_at":"2024-09-01T06:47:04.000Z","dependencies_parsed_at":"2024-07-14T08:27:59.088Z","dependency_job_id":"2b58c901-a5da-4ba9-89f6-2c567ad8d410","html_url":"https://github.com/easafe/purescript-flame","commit_stats":{"total_commits":191,"total_committers":7,"mean_commits":"27.285714285714285","dds":"0.10994764397905754","last_synced_commit":"8d0e28694f6b985f6503381a1e1fb06ef325cd0c"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easafe%2Fpurescript-flame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easafe%2Fpurescript-flame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easafe%2Fpurescript-flame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/easafe%2Fpurescript-flame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/easafe","download_url":"https://codeload.github.com/easafe/purescript-flame/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243478179,"owners_count":20297209,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["elm-architecture","purescript","ui","web"],"created_at":"2024-07-30T17:01:29.220Z","updated_at":"2025-10-22T12:49:28.599Z","avatar_url":"https://github.com/easafe.png","language":"PureScript","readme":"## Flame ![build status](https://github.com/easafe/purescript-flame/actions/workflows/CI.yml/badge.svg)\n\nFlame is a fast \u0026 simple framework inspired by the Elm architecture for building web applications in PureScript\n\n### Documentation\n\nSee the [project page](https://flame.asafe.dev/) or [pursuit](https://pursuit.purescript.org/packages/purescript-flame)\n\n### Examples\n\nSee the [examples folder](/examples)\n\n### Quick start\n\nInstall:\n\n```bash\nspago install flame\n```\n\nExample counter app:\n\n```purescript\nmodule Counter.Main where\n\nimport Prelude\n\nimport Effect (Effect)\nimport Flame (Html, QuerySelector(..), Subscription)\n-- Side effects free updating; see docs for other examples\nimport Flame.Application.NoEffects as FAN\nimport Flame.Html.Element as HE\nimport Flame.Html.Attribute as HA\n\n-- | The model represents the state of the app\ntype Model = Int\n\n-- | Data type used to represent events\ndata Message = Increment | Decrement\n\n-- | Initial state of the app\ninit :: Model\ninit = 0\n\n-- | `update` is called to handle events\nupdate :: Model -\u003e Message -\u003e Model\nupdate model = case _ of\n      Increment -\u003e model + 1\n      Decrement -\u003e model - 1\n\n-- | `view` is called whenever the model is updated\nview :: Model -\u003e Html Message\nview model = HE.main [HA.id \"main\"] [\n      HE.button [HA.onClick Decrement] [HE.text \"-\"],\n      HE.text $ show model,\n      HE.button [HA.onClick Increment] [HE.text \"+\"]\n]\n\n-- | Events that come from outside the `view`\nsubscribe :: Array (Subscription Message)\nsubscribe = []\n\n-- | Mount the application on the given selector\nmain :: Effect Unit\nmain = FAN.mount_ (QuerySelector \"body\") {\n      init,\n      view,\n      update,\n      subscribe\n}\n```\n\n### Tools\n\n[breeze](https://github.com/easafe/haskell-breeze) can be used to generate Flame markup from HTML\n\n### Licensing\n\nLicenses for loadash, stage0 and snabbdom-to-html added under [licenses](licenses/) since parts of the rendering code was adapted from these projects\n\n### Funding\n\nIf this project is useful for you, consider [throwing a buck](https://asafe.dev/donate) to keep development possible\n","funding_links":["https://github.com/sponsors/easafe","https://asafe.dev/donate"],"categories":["PureScript","UI Libraries","Inspired by Elm"],"sub_categories":["Games"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasafe%2Fpurescript-flame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feasafe%2Fpurescript-flame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasafe%2Fpurescript-flame/lists"}