{"id":19938626,"url":"https://github.com/sectore/purescript-webpack-vanilla-hmr","last_synced_at":"2025-05-03T14:32:19.305Z","repository":{"id":66673214,"uuid":"54846763","full_name":"sectore/purescript-webpack-vanilla-hmr","owner":"sectore","description":"PureScript + webpack + vanilla HMR","archived":false,"fork":false,"pushed_at":"2018-04-12T11:53:38.000Z","size":1493,"stargazers_count":27,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-07T16:51:49.584Z","etag":null,"topics":["hmr","purescript","webpack"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/sectore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2016-03-27T20:29:44.000Z","updated_at":"2019-04-13T15:36:04.000Z","dependencies_parsed_at":"2023-03-09T09:00:24.646Z","dependency_job_id":null,"html_url":"https://github.com/sectore/purescript-webpack-vanilla-hmr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sectore%2Fpurescript-webpack-vanilla-hmr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sectore%2Fpurescript-webpack-vanilla-hmr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sectore%2Fpurescript-webpack-vanilla-hmr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sectore%2Fpurescript-webpack-vanilla-hmr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sectore","download_url":"https://codeload.github.com/sectore/purescript-webpack-vanilla-hmr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252203330,"owners_count":21710944,"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":["hmr","purescript","webpack"],"created_at":"2024-11-12T23:41:23.909Z","updated_at":"2025-05-03T14:32:19.291Z","avatar_url":"https://github.com/sectore.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# purescript-webpack-vanilla-hmr\n\nSimple + fast build of **[PureScript](purescript.org)** with **[Webpack](https://webpack.js.org/)** and **[Hot Module Replacement (HMR)](https://webpack.js.org/guides/hot-module-replacement/)**. No [Pulp](https://github.com/bodil/pulp), no [Gulp](http://gulpjs.com/) or anything else - just [webpack](https://webpack.github.io/).\n\n![screenshot](./ps_hmr.gif)\n\n## Why?\n\n\u003e \"I strongly suggest you to consider using vanilla HMR API instead of React Hot Loader, React Transform, or other similar projects. It’s just so much simpler—at least, it is today.\"\n\n_Quote by Dan Abranov (Creator of [Redux](redux.js.org), [React Hot Loader](https://github.com/gaearon/react-hot-loader) etc.)_\n\nWhy not the using the same stuff for building PureScript application today?\n\n## Do I need this to run `Pux` with `HMR`?\n\nTo demonstrate the feature of `HMR` [the example app](./src/App.purs) uses [`Pux`](https://github.com/alexmingoia/purescript-pux) under the hood. However, Pux's `starter-app` [has already merged](https://github.com/alexmingoia/pux-starter-app/pull/5) the HMR solution from here. So you don't need to implement this `HMR` _thing_ into your Pux app.  \n\n## Installation\n\nIt's recommended to use [yarn](https://yarnpkg.com/)\n\n```bash\nyarn install\nyarn start\n```\n\nOpen http://localhost:3000/\n\n## Acknowledge\n\n- Documentation of webpack: [\"Hot Module Replacement\" (HMR)](https://webpack.github.io/docs/hot-module-replacement.html)\n- [\"Hot Reloading in React or, an Ode to Accidental Complexity\"](https://medium.com/@dan_abramov/hot-reloading-in-react-1140438583bf#.vnlkto5p1) by Dan Abramov\n- Redux PR 1455 [\"RFC: remove React Transform from examples\"](https://github.com/reactjs/redux/pull/1455)\n- [purs-loader](https://github.com/ethul/purs-loader),  [purescript-webpack-plugin](https://www.npmjs.com/package/purescript-webpack-plugin) and [purescript-webpack-example](https://github.com/ethul/purescript-webpack-example/blob/master/webpack.config.js) by [ethul](https://github.com/ethul)\n- [Webpack and React tutorial - Taking the next steps](http://www.christianalfoni.com/articles/2015_10_01_Taking-the-next-step-with-react-and-webpack) by [Christian Alfoni](https://github.com/christianalfoni)\n- [An Angular 2 Starter kit featuring Angular 2](https://github.com/AngularClass/angular2-webpack-starter) by [AngularClass](https://github.com/AngularClass)\n- Counter Example of [Pux](https://github.com/alexmingoia/purescript-pux), an awesome PureScript FRP interface to React by [Alex Mingoia](https://github.com/alexmingoia)\n\n### License\n[MIT](./LICENSE)\n\nHave fun :) -- Jens Krause -- [jkrause.io](http://jkrause.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsectore%2Fpurescript-webpack-vanilla-hmr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsectore%2Fpurescript-webpack-vanilla-hmr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsectore%2Fpurescript-webpack-vanilla-hmr/lists"}