{"id":13620813,"url":"https://github.com/eeue56/servelm","last_synced_at":"2025-07-20T17:32:35.361Z","repository":{"id":142126921,"uuid":"45920783","full_name":"eeue56/servelm","owner":"eeue56","description":"Server-side Elm","archived":false,"fork":false,"pushed_at":"2018-03-18T00:00:05.000Z","size":125,"stargazers_count":116,"open_issues_count":1,"forks_count":10,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-15T01:14:08.388Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Elm","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/eeue56.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":"2015-11-10T15:25:42.000Z","updated_at":"2024-01-12T14:49:24.000Z","dependencies_parsed_at":"2024-01-14T05:00:10.337Z","dependency_job_id":"9bb10b82-ba20-403d-8eab-1b83c93f1f35","html_url":"https://github.com/eeue56/servelm","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/eeue56/servelm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eeue56%2Fservelm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eeue56%2Fservelm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eeue56%2Fservelm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eeue56%2Fservelm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eeue56","download_url":"https://codeload.github.com/eeue56/servelm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eeue56%2Fservelm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266165525,"owners_count":23886635,"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":[],"created_at":"2024-08-01T21:00:59.670Z","updated_at":"2025-07-20T17:32:35.339Z","avatar_url":"https://github.com/eeue56.png","language":"Elm","funding_links":[],"categories":["Elm","Tools"],"sub_categories":[],"readme":"# Servelm - Elm Http Server\n\n# Deprecated. Server side elm is not designed to work this way.\n\n\n\n\nThis server, along with rtfeldman's Elm stylesheets, means that we can now have full stack Elm support. At no point in the development of an application will you have to write anything other than Elm!\n\nIt now supports server-side rendering of elm-html.\n\nA demo can be found [here](http://107.170.81.176/). The styling is done through compile-time correct CSS provided by [elm-stylesheets](https://github.com/rtfeldman/elm-stylesheets).\n\n# APIs exposed\n\nThe Http.Server module allows you to create servers and run them.\n\n## Sending out Elm\n\nUse the `Http.Response.writeElm` function to compile an Elm file on request. It will compile an Elm file found with `name + \".elm\"\"`. It will write the output to a file in the same folder as `name + \".html\"`. This will then be served out to the client. There is basic caching involved at the moment, which works based on the lifecycle of the server. Restart the server if you make any changes.\n\nThis is enabled by the [node-elm-compiler](https://github.com/rtfeldman/node-elm-compiler) package.\n\nIt also supports server-side rendering of elm-html, through using the [vdom-to-html](https://github.com/nthtran/vdom-to-html) package.\n\n\n## Get started\n\nTo start Elm inside of Node simply this to the end of your compiled Elm code.\n\n```JavaScript\nElm.worker(Elm.Main);\n```\n\nTake a look at `example/run.sh` to see a complete usage\n\n```bash\nelm make example/server/Main.elm --output=example/main.js\necho \"Elm.worker(Elm.Main);\" \u003e\u003e example/main.js\nnode example/main.js\n```\n\n## Run the example\n\nThis project depends on Node.js and the `node` command.\n\n```bash\nexample/run.sh\n```\n\nThen load up the browser to see it working!\n\n\n# Credit\n\nOriginally inspired by https://github.com/Fresheyeball/elm-http-server.\n\nThere was some great work already there, I just cleaned it up a little and integrated it with some other packages.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feeue56%2Fservelm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feeue56%2Fservelm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feeue56%2Fservelm/lists"}