Skip to main content

Crate use_composer_json

Crate use_composer_json 

Source
Expand description

§use-composer-json

Composer JSON metadata primitives for RustUse.

§Experimental

use-composer-json is experimental while use-php remains below 0.3.0.

§Example

use use_composer_json::{ComposerJson, ComposerPackageName, ComposerRequirement};

let package = ComposerJson::new()
    .with_name(ComposerPackageName::new("acme/demo")?)
    .with_requirement("php", ComposerRequirement::new("^8.2")?);

assert_eq!(package.name().unwrap().vendor(), "acme");
assert!(package.requirements().contains_key("php"));

§Scope

  • Composer package names, requirements, scripts, repositories, autoload config metadata, stability labels, and package types.

§Non-goals

  • Dependency resolution, lockfile parsing, plugin execution, repository fetching, or package installation.

§License

Licensed under either Apache-2.0 or MIT.

Structs§

ComposerAutoloadConfig
Composer autoload metadata without resolving paths.
ComposerJson
Partial practical Composer JSON metadata.
ComposerPackageName
Composer package name metadata in vendor/package form.
ComposerPackageShortName
ComposerRepository
Composer repository metadata.
ComposerRepositoryUrl
ComposerRequirement
ComposerScript
ComposerScriptName
ComposerVendorName

Enums§

ComposerJsonError
Error returned when Composer metadata is invalid.
ComposerPackageType
Composer package type metadata.
ComposerRepositoryKind
Composer repository kind metadata.
ComposerStability
Composer stability label metadata.