Typed CLI project configuration and JSON decoding for Proton.
Dependencies
moonbit-community/proton_config does not have a README file
pub(all) suberror ProjectConfigError {
FileRead(path~ : String, detail~ : String)
Syntax(name~ : String, diagnostics~ : String)
InvalidRoot
Validation(errors~ : Array[ProjectConfigError])
MissingField(path~ : String)
DuplicateValue(path~ : String, value~ : String)
UnknownField(path~ : String)
InvalidField(path~ : String, expectation~ : String)
UnsupportedValue(path~ : String, value~ : String)
} derive(Eq, Debug)pub(all) struct ProjectConfig {
base_dir : String
backend : ProjectBackendConfig?
frontend : ProjectFrontendConfig?
package_config : ProjectPackageConfig?
} derive(Eq, Debug)fn ProjectConfig::new(base_dir : String, backend? : ProjectBackendConfig?, frontend? : ProjectFrontendConfig?, package_config? : ProjectPackageConfig?) -> ProjectConfigfn ProjectDocumentType::new(name : String, extensions : Array[String], role? : String) -> ProjectDocumentTypefn ProjectFrontendConfig::new(dev_url? : String?, dist? : String?, before_dev? : String?, before_build? : String?, path? : String?) -> ProjectFrontendConfigpub(all) struct ProjectPackageConfig {
product_name : String
identifier : String
version : String
formats : Array[String]
icons : Array[String]
resources : Array[String]
sign : ProjectSignConfig?
url_schemes : Array[String]
document_types : Array[ProjectDocumentType]
output : String
} derive(Eq, Debug)fn ProjectPackageConfig::new(product_name : String, identifier : String, version : String, formats? : Array[String], icons? : Array[String], resources? : Array[String], sign? : ProjectSignConfig?, url_schemes? : Array[String], document_types? : Array[ProjectDocumentType], output? : String) -> ProjectPackageConfigfn load_project_config_from_json(json : Json, base_dir : String) -> ProjectConfig raise ProjectConfigErrorfn load_project_config_from_text(source : String, base_dir : String, name? : String) -> ProjectConfig raise ProjectConfigErrorTyped CLI project configuration and JSON decoding for Proton.
Dependencies