use-package-json 0.0.1

package.json metadata primitives for RustUse
Documentation
# use-package-json

`package.json` metadata primitives for `RustUse`.

## Experimental

`use-package-json` is experimental while `use-js` remains below `0.3.0`.

## Example

```rust
use use_package_json::{DependencyKind, PackageJson, PackageName, PackageScript, PackageScriptName, PackageType, PackageVersion};

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::<(), use_package_json::PackageJsonTextError>(())
```

## Scope

- Lightweight package names, versions, scripts, dependency maps, and package type metadata.
- Optional serde derives behind the `serde` feature.

## Non-goals

- Full npm registry validation.
- JSON parsing or formatting.
- Registry API behavior.

## License

Licensed under either Apache-2.0 or MIT.