choonkeat/elm-fullstack/3.0.0

NOTE: the latest version is 4.0.1

Renamed to choonkeat/elm-webapp. It is published under that name, and new versions come out there.

Versions published as choonkeat/elm-fullstack still install under that name. 4 versions of 7 come from the new location (see their notes). 3 versions could not be recovered and cannot be installed.

Rerouted (fork, verified). The original repository is gone. This copy comes from a fork that still has the tag. The Lamdera package server serves a copy recovered from https://github.com/jsegura/elm-fullstack (a fork).

What we checked: Rebuilt with git archive from commit 301fd458a703 of https://github.com/jsegura/elm-fullstack (a fork) (zip prefix choonkeat-elm-fullstack-db94cbd/, America/Los_Angeles times): the zip is byte-identical to the one package.elm-lang.org recorded, SHA-1 d796a6bc0ba9f7eea19dc4fd06494774ee8bde28.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/choonkeat/elm-fullstack/zipball/3.0.0/

Fullstack

A setup for writing http based, client-server app in elm, inspired wholly by Lamdera

Getting started

npx elm-fullstack-init element hello-app

This will create a skeleton file directory structure

hello-app
├── Makefile
├── index.js
└── src
    ├── Client.elm
    ├── Server.elm
    └── Types.elm

1 directory, 5 files
  • src/Client.elm is where our Browser.element resides. The only exception is, this app includes a built-in sendToServer Task

    npx elm-fullstack-init application hello-app

    or

    npx elm-fullstack-init document hello-app
  • src/Server.elm is where our elm Platform.worker resides. It serves your SPA by default, and can respond to sendToServer

  • src/Types.elm includes the custom types that defines the protocol between Client and Server

  • index.js boots up our Server.elm and listens to http requests at port 8000

License

Copyright © 2020 Chew Choon Keat

Distributed under the MIT license.