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(())
}