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.