0.12.0 • Published 6 months ago

node-nuget-client v0.12.0

Weekly downloads
3
License
ISC
Repository
github
Last release
6 months ago

node-nuget-client

What?

A NuGet client for Node

Why?

I'd like to wrap a CLI nuget package with a node package so I need a client

Why the silly name?

Like so many npm package names, the most obvious / best one (nuget-client) was already taken, and abandoned

It's not complete tho?

Correct. Currently you can use the api or cli client to do:

CLI

  • query package info (cli: npx node-nuget-client info <packageId>)
  • search for packages (cli: npx node-nuget-client search [words...])
  • download a package (cli: npx node-nuget-client download <packageId>)

API

import { NugetClient } from "./nuget-client";
const client = new NugetClient();
const info = await client.fetchPackageInfo("nunit.consolerunner")

WHY IT TAKES SO LONG?!

Honestly, it's all up to the nuget api.

Because the nuget api is a web of indirections. To get to downloading a package is (eventually) going to take 4 http calls. And I'm not (yet) even trying to resolve dependencies.

For extra fun, packages which have a long history will take even longer because the query interface doesn't seem to allow asking a simple question like "what's the info on the current version of package X". Instead, you have to fetch the entire history of that package and trawl it. So, in addition to multiple http latencies, you may spend time downloading and parsing 65k of json just to get a few hundred bytes of useful information. This client caches what it can (and will cache more in the near future), so perhaps some of that cost is mitigated; I think that the official nuget clients bootstrap their package queries from the top every time.

0.10.0

6 months ago

0.11.0

6 months ago

0.9.0

6 months ago

0.12.0

6 months ago

0.8.0

6 months ago

0.7.0

6 months ago

0.6.0

4 years ago

0.5.0

4 years ago

0.4.0

4 years ago

0.3.0

4 years ago

0.2.0

4 years ago

0.1.0

4 years ago

0.0.3

4 years ago

0.0.4

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago