package-lock-json-parser

ActionsStatus Crates.io

Easily parse package-lock.json dependencies.

It supports lock file versions 1, 2, and 3.

Example

```rust // Getting a full package lock json file. // You'll get information about the lock file version and a list of v1 or v2 dependencies. // v1 lock files will only have v1 dependencies while v3 lock files will only have v2 dependencies. // v2 lock files will get both v1 and v2 dependencies. // Check this URL (https://docs.npmjs.com/cli/v9/configuring-npm/package-lock-json?v=true) if you want to learn more about package-lock.json fields. use std::{error::Error, fs}; use packagelockjson::{parse, PackageLockJson};

fn main() -> Result<(), Box> { let packagelockjsontext = fs::readtostring("package-lock.json")?; let lockfile: PackageLockJson = parse(packagelockjsontext)?; println!("{:?}", lockfile); Ok(()) } ```

```rust // If you just a new a simple list of dependencies try the parsedependencies function. use std::{error::Error, fs}; use packagelockjson::{parsedependencies, SimpleDependency};

fn main() -> Result<(), Box> { let packagelockjsontext = fs::readtostring("package-lock.json")?; let dependencies: Vec = parsedependencies(packagelockjson_text)?; println!("{:?}", dependencies); Ok(()) } ```

Documentation

Visit https://docs.rs/package-lock-json-parser/.

Build

You will need cargo, the Rust package manager.

bash cargo build

Test

bash cargo test