1# `elm.json` for applications
3This is a decent baseline for pretty much any applications made with Elm. You will need these dependencies or more.
8 "source-directories": [
11 "elm-version": "0.19.0",
14 "elm/browser": "1.0.0",
22 "elm/virtual-dom": "1.0.0"
25 "test-dependencies": {
37Either `"application"` or `"package"`. All the other fields are based on this choice!
42## `"source-directories"`
44A list of directories where Elm code lives. Most projects just use `"src"` for everything.
51The exact version of Elm this builds with. Should be `"0.19.0"` for most people!
58All the packages you depend upon. We use exact versions, so your `elm.json` file doubles as a "lock file" that ensures reliable builds.
60You can use modules from any `"direct"` dependency in your code. Some `"direct"` dependencies have their own dependencies that folks typically do not care about. These are the `"indirect"` dependencies. They are listed explicitly so that (1) builds are reproducible and (2) you can easily review the quantity and quality of dependencies.
62**Note:** We plan to eventually have a screen in `reactor` that helps add, remove, and upgrade packages. It can sometimes be tricky to keep all of the constraints happy, so we think having a UI will help a lot. If you get into trouble in the meantime, adding things back one-by-one often helps, and I hope you do not get into trouble!
67## `"test-dependencies"`
69All the packages that you use in `tests/` with `elm-test` but not in the application you actually want to ship. This also uses exact versions to make tests more reliable.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list