Typescript definitions for npm registry endpoints
For example:
import * as npm from '@npm/types';
fetch('https://registry.npmjs.org/cookie')
.then((res) => res.json())
.then((obj: npm.Packument) => {
// `obj` has proper registry types!
})
Response type for the https://registry.npmjs.org/:packageName
endpoint
Response type for the https://registry.npmjs.org/:packageName/:packageVersion
endpoint. Also the type of Packument['versions']
entries.
Response type for the https://registry.npmjs.org/:packageName
endpoint, when made with the 'Accept: application/vnd.npm.install-v1+json' header.
Response type for the https://registry.npmjs.org/:packageName/:packageVersion
endpoint, when made with the 'Accept: application/vnd.npm.install-v1+json' header. Also the type of Manifest['versions']
entries.
A "loose" definition of package.json structures.
Note
This is not an authoritative definition of package.json structures. Rather, it is a best-effort attempt to describe the fields that are de-facto standards for Node.js, npm, and TypeScript development.