use-package-json 0.0.1

package.json metadata primitives for RustUse
Documentation
  • Coverage
  • 65.91%
    29 out of 44 items documented1 out of 31 items with examples
  • Size
  • Source code size: 16.1 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.24 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 8s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • RustUse/use-js
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • CloudBranch

use-package-json

package.json metadata primitives for RustUse.

Experimental

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

Example

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.