# elm-fullstack

> cli to initialize an elm-fullstack app

Latest version **4.0.1** (published 2021-03-24) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install elm-fullstack
pnpm add elm-fullstack
yarn add elm-fullstack
bun add elm-fullstack
```

Provides the commands `elm-fullstack`, `elm-fullstack-init`.

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 4.0.1 |
| Published | 2021-03-24 |
| First published | 2020-10-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 120.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 61 |
| Author | choonkeat |
| Maintainers | choonkeat |
| Keywords | elm, fullstack, elm-fullstack, http, client, server |

## Links

- npm: https://www.npmjs.com/package/elm-fullstack
- Repository: https://github.com/choonkeat/elm-fullstack
- Homepage: https://github.com/choonkeat/elm-fullstack#readme
- Issues: https://github.com/choonkeat/elm-fullstack/issues
- npm.io page: https://npm.io/package/elm-fullstack

## Alternatives

- [launchdarkly-js-client-sdk](https://npm.io/package/launchdarkly-js-client-sdk.md) — 2.5M weekly downloads
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) — 2.1M weekly downloads
- [@c8y/client](https://npm.io/package/@c8y/client.md) — 15.3K weekly downloads
- [@signaldb/maverickjs](https://npm.io/package/@signaldb/maverickjs.md) — 1.7K weekly downloads
- [@bbc/http-transport-cache](https://npm.io/package/@bbc/http-transport-cache.md) — 1.2K weekly downloads

## Recent versions

- 4.0.1 (latest) — 2021-03-24
- 3.3.0-rc1 (next) — 2021-01-29
- 4.0.0 — 2021-02-17
- 3.3.0 — 2021-02-14
- 3.2.2 — 2021-01-31
- 3.2.0 — 2020-11-15
- 3.1.1 — 2020-11-14
- 3.1.0 — 2020-11-14
- 3.0.3 — 2020-10-25

## README

# Renamed to [choonkeat/elm-webapp](https://package.elm-lang.org/packages/choonkeat/elm-webapp/latest)

Github repo at [https://github.com/choonkeat/elm-webapp](https://github.com/choonkeat/elm-webapp)

---

## Fullstack

A setup for writing http based, client-server app in elm, inspired wholly by [Lamdera](https://lamdera.app)

### Getting started

```
npx elm-fullstack element hello-app
```

This will create a skeleton file directory structure

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

1 directory, 5 files
```

- `src/Client.elm` is where our [Browser.element](https://package.elm-lang.org/packages/elm/browser/latest/Browser#element) resides. The only exception is, this app includes a built-in `sendToServer` [Task](https://package.elm-lang.org/packages/elm/core/latest/Task)

    To generate [Browser.document](https://package.elm-lang.org/packages/elm/browser/latest/Browser#document) or [Browser.application](https://package.elm-lang.org/packages/elm/browser/latest/Browser#application) instead, use either commands
    ```
    npx elm-fullstack document hello-app
    npx elm-fullstack application hello-app
    ```

- `src/Server.elm` is where our elm [Platform.worker](https://package.elm-lang.org/packages/elm/core/latest/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
- `src/Types.elm` holds the types shared between Server and Client.
- `src/Types/Auto.elm` contains [auto-generated Json Encoder and Decoder](https://github.com/choonkeat/elm-auto-encoder-decoder) for all types defined in `src/Types.elm`. See [notes regarding imported types](https://github.com/choonkeat/elm-auto-encoder-decoder#dont-be-alarmed-with-i-cannot-find--variable-compiler-errors).

### License

Copyright © 2020 Chew Choon Keat

Distributed under the MIT license.

---
_Source: https://npm.io/package/elm-fullstack · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
