#package-metadata #npm #async-client #registry #fetching #sync

npm-package

A simple client for fetching metadata from the npm package

2 unstable releases

0.2.0 Jan 31, 2023
0.1.0 Jan 31, 2023

#18 in #package-metadata

Download history 245/week @ 2024-07-28 143/week @ 2024-08-04 201/week @ 2024-08-11 188/week @ 2024-08-18 201/week @ 2024-08-25 239/week @ 2024-09-01 81/week @ 2024-09-08 188/week @ 2024-09-15 81/week @ 2024-09-22 34/week @ 2024-09-29 25/week @ 2024-10-06 35/week @ 2024-10-13 45/week @ 2024-10-20 37/week @ 2024-10-27 57/week @ 2024-11-03 25/week @ 2024-11-10

165 downloads per month

MIT license

11KB
137 lines

npm-package

A very light-weight sync and async client for fetching metadata from the npm registry for a npm package.

Usage

These examples come from our examples folder

Using the Async Client

use npm_package::AsyncNpmClient;
use tokio;

#[tokio::main]
async fn main() {
    let client = AsyncNpmClient::new();
    let is_wsl_package = client.get("is-wsl").await.unwrap();

    println!(
        "Description of is-wsl from the npm registry: {}",
        is_wsl_package.description
    );
}

Using the Sync Client

use npm_package::SyncNpmClient;

fn main() {
    let client = SyncNpmClient::new();
    let package = client.get("is-interactive").unwrap();
    let version_history = package.versions.keys().collect::<Vec<_>>();

    println!("All is-interactive releases on npm: {:?}", version_history);
}

Dependencies

~4–16MB
~217K SLoC