use-package-json 0.0.1

package.json metadata primitives for RustUse
Documentation
use use_package_json::{
    DependencyKind, PackageJson, PackageName, PackageScript, PackageScriptName, PackageType,
    PackageVersion,
};

fn main() -> Result<(), use_package_json::PackageJsonTextError> {
    let manifest = PackageJson::new()
        .with_name(PackageName::new("@rustuse/example")?)
        .with_version(PackageVersion::new("0.1.0")?)
        .with_package_type(PackageType::Module)
        .with_script(
            PackageScriptName::new("test")?,
            PackageScript::new("vitest")?,
        )
        .with_dependency(
            DependencyKind::Dependencies,
            PackageName::new("react")?,
            PackageVersion::new("^18")?,
        );

    assert!(manifest.name().is_some_and(PackageName::is_scoped));
    Ok(())
}