Turn elm.json files into data that is nice to use in Elm.
The contents of an elm.json with "type": "application".
The dependencies for a project. The order is preserved from JSON.
The contents of an elm.json with "type": "package".
There are two ways to specify "exposed-modules" field in an elm.json
for packages. In one you just list the exposed modules. In the other, you
provide headers for chunks of module names. In either case, the package website
preserves this information to make the presentation nicer.
There are two types of Elm projects, one for applications and another one for packages. The
elm.jsonis different in each case, so they are modeled asApplicationInfoandPackageInfotypes.