package_json_basic_usage/
basic_usage.rs1use use_package_json::{
2 DependencyKind, PackageJson, PackageName, PackageScript, PackageScriptName, PackageType,
3 PackageVersion,
4};
5
6fn main() -> Result<(), use_package_json::PackageJsonTextError> {
7 let manifest = PackageJson::new()
8 .with_name(PackageName::new("@rustuse/example")?)
9 .with_version(PackageVersion::new("0.1.0")?)
10 .with_package_type(PackageType::Module)
11 .with_script(
12 PackageScriptName::new("test")?,
13 PackageScript::new("vitest")?,
14 )
15 .with_dependency(
16 DependencyKind::Dependencies,
17 PackageName::new("react")?,
18 PackageVersion::new("^18")?,
19 );
20
21 assert!(manifest.name().is_some_and(PackageName::is_scoped));
22 Ok(())
23}