Compiler.Outline

Module for working with gren.json files.

type Outline
= App AppOutline
| Pkg PkgOutline
type alias AppOutline =
{ platform : Platform
, sourceDirectories : Array Path
, grenVersion : SemanticVersion
, dependencies : { direct : Dict String (VersionConstraint SemanticVersion)
, indirect : Dict String (VersionConstraint SemanticVersion)
}
}
type alias PkgOutline =
{ platform : Platform
, name : PackageName
, summary : String
, license : License
, version : SemanticVersion
, exposedModules : Exposed
, grenVersion : SemanticVersionRange
, dependencies : Dict String (VersionConstraint SemanticVersionRange)
}
type VersionConstraint a
= Version a
| LocalPath Path

A dependency version constraint. Either a SemanticVersion, SemanticVersionRange or a Path for a local dependency.

type Exposed
= ExposedArray (Array ModuleName)
| ExposedDict (Dict String (Array ModuleName))

Exposed modules in PkgOutline.

defaultSummary : String

The default summary created by gren init.

findSourceFiles :
Permission
-> Outline
-> Path
-> Task Error (Array { path : Path, moduleName : String , source : String })

Find the source files of a given project.

JSON

jsonDecoder : Decoder Outline

JSON Decoder for Outline.

pkgJsonDecoder : Decoder PkgOutline

JSON Decoder for PkgOutline.

toJson : Outline -> Value

JSON Encoder for Outline.