proton_config

    Typed CLI project configuration and JSON decoding for Proton.

    Download zip
    Version
    0.2.5
    License
    Apache-2.0
    Last updated
    10 days ago
    Downloads
    7K

    Dependencies

    moonbit-community/proton_config does not have a README file

    ProjectConfigError

    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
    )

    Failures produced while loading and validating proton.project.json.

    ProjectConfigError::equal

    ProjectConfigError::message

    fn ProjectConfigError::message(self : ProjectConfigError) -> String

    ProjectConfigError::not_equal

    ProjectConfigError::output

    fn ProjectConfigError::output(self : ProjectConfigError, logger : &Logger) -> Unit

    ProjectConfigError::to_string

    fn ProjectConfigError::to_string(self : ProjectConfigError) -> String

    ProjectBackendConfig

    pub(all) struct ProjectBackendConfig {
    path : String
    app_package : String
    } derive(Eq,
    Debug
    )

    The MoonBit backend that proton_cli builds and launches.

    ProjectBackendConfig::ProjectBackendConfig

    fn ProjectBackendConfig::ProjectBackendConfig(path : String, app_package : String) -> ProjectBackendConfig

    ProjectBackendConfig::app_package

    fn ProjectBackendConfig::app_package(self : ProjectBackendConfig) -> String

    ProjectBackendConfig::equal

    ProjectBackendConfig::not_equal

    ProjectBackendConfig::path

    fn ProjectBackendConfig::path(self : ProjectBackendConfig) -> String

    ProjectConfig

    pub(all) struct ProjectConfig {
    base_dir : String
    identifier : String
    backend : ProjectBackendConfig?
    frontend : ProjectFrontendConfig?
    package_config : ProjectPackageConfig?
    } derive(Eq,
    Debug
    )

    Project description shared by Proton tooling and managed applications.

    ProjectConfig::ProjectConfig

    fn ProjectConfig::ProjectConfig(base_dir : String, identifier : String, backend? : ProjectBackendConfig?, frontend? : ProjectFrontendConfig?, package_config? : ProjectPackageConfig?) -> ProjectConfig

    ProjectConfig::backend

    ProjectConfig::base_dir

    fn ProjectConfig::base_dir(self : ProjectConfig) -> String

    ProjectConfig::equal

    ProjectConfig::frontend

    ProjectConfig::identifier

    fn ProjectConfig::identifier(self : ProjectConfig) -> String

    Returns the canonical reverse-DNS application identifier.

    ProjectConfig::not_equal

    fn ProjectConfig::not_equal(x : ProjectConfig, y : ProjectConfig) -> Bool

    ProjectConfig::package_config

    fn ProjectConfig::package_config(self : ProjectConfig) -> ProjectPackageConfig?

    ProjectDocumentType

    pub(all) struct ProjectDocumentType {
    name : String
    extensions : Array[String]
    role : String
    } derive(Eq,
    Debug
    )

    ProjectDocumentType::ProjectDocumentType

    fn ProjectDocumentType::ProjectDocumentType(name : String, extensions : Array[String], role? : String) -> ProjectDocumentType

    ProjectDocumentType::equal

    ProjectDocumentType::extensions

    fn ProjectDocumentType::extensions(self : ProjectDocumentType) -> Array[String]

    ProjectDocumentType::not_equal

    ProjectFrontendConfig

    pub(all) struct ProjectFrontendConfig {
    dev_url : String?
    dist : String?
    before_dev : String?
    before_build : String?
    path : String?
    } derive(Eq,
    Debug
    )

    Frontend commands and paths needed before the application can run.

    ProjectFrontendConfig::ProjectFrontendConfig

    fn ProjectFrontendConfig::ProjectFrontendConfig(dev_url? : String?, dist? : String?, before_dev? : String?, before_build? : String?, path? : String?) -> ProjectFrontendConfig

    ProjectFrontendConfig::before_build

    fn ProjectFrontendConfig::before_build(self : ProjectFrontendConfig) -> String?

    ProjectFrontendConfig::before_dev

    fn ProjectFrontendConfig::before_dev(self : ProjectFrontendConfig) -> String?

    ProjectFrontendConfig::dev_url

    fn ProjectFrontendConfig::dev_url(self : ProjectFrontendConfig) -> String?

    ProjectFrontendConfig::dist

    fn ProjectFrontendConfig::dist(self : ProjectFrontendConfig) -> String?

    ProjectFrontendConfig::equal

    ProjectFrontendConfig::not_equal

    ProjectFrontendConfig::path

    fn ProjectFrontendConfig::path(self : ProjectFrontendConfig) -> String?

    ProjectPackageConfig

    pub(all) struct ProjectPackageConfig {
    product_name : 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
    )

    Static metadata and payload inputs consumed by proton_cli package.

    ProjectPackageConfig::ProjectPackageConfig

    fn ProjectPackageConfig::ProjectPackageConfig(product_name : String, version : String, formats? : Array[String], icons? : Array[String], resources? : Array[String], sign? : ProjectSignConfig?, url_schemes? : Array[String], document_types? : Array[ProjectDocumentType], output? : String) -> ProjectPackageConfig

    ProjectPackageConfig::document_types

    ProjectPackageConfig::equal

    ProjectPackageConfig::formats

    fn ProjectPackageConfig::formats(self : ProjectPackageConfig) -> Array[String]

    ProjectPackageConfig::icons

    fn ProjectPackageConfig::icons(self : ProjectPackageConfig) -> Array[String]

    ProjectPackageConfig::not_equal

    ProjectPackageConfig::output

    fn ProjectPackageConfig::output(self : ProjectPackageConfig) -> String

    ProjectPackageConfig::resources

    fn ProjectPackageConfig::resources(self : ProjectPackageConfig) -> Array[String]

    ProjectPackageConfig::sign

    ProjectPackageConfig::url_schemes

    fn ProjectPackageConfig::url_schemes(self : ProjectPackageConfig) -> Array[String]

    ProjectPackageConfig::version

    fn ProjectPackageConfig::version(self : ProjectPackageConfig) -> String

    ProjectSignConfig

    pub(all) struct ProjectSignConfig {
    binaries : Array[String]
    } derive(Eq,
    Debug
    )

    ProjectSignConfig::ProjectSignConfig

    fn ProjectSignConfig::ProjectSignConfig(binaries? : Array[String]) -> ProjectSignConfig

    ProjectSignConfig::binaries

    fn ProjectSignConfig::binaries(self : ProjectSignConfig) -> Array[String]

    ProjectSignConfig::equal

    ProjectSignConfig::not_equal

    fn ProjectSignConfig::not_equal(x : ProjectSignConfig, y : ProjectSignConfig) -> Bool

    load_project_config_from_file

    fn load_project_config_from_file(path : String) -> ProjectConfig raise ProjectConfigError

    load_project_config_from_json

    fn load_project_config_from_json(json : Json, base_dir : String) -> ProjectConfig raise ProjectConfigError

    load_project_config_from_text

    fn load_project_config_from_text(source : String, base_dir : String, name? : String) -> ProjectConfig raise ProjectConfigError

    validate_application_identifier

    fn validate_application_identifier(value : String) -> String raise ProjectConfigError

    Validates and trims a canonical reverse-DNS application identifier.

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io