You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

private-registry-mock

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

private-registry-mock

Simple mocked server and package of an npm private registry.

0.3.0
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

private-registry-mock

Simple mocked server and package of an npm private registry. Inspired by mock-private-registry.

Install

npm install --save-dev private-registry-mock
Other Package Managers
yarn add --dev private-registry-mock

Usage

This package exports a function that starts a server and exposes an endpoint for the given package name, returning a JSON object with a mock of the package's metadata from the npm registry.

The default route is shown below:

import mockPrivateRegistry from "private-registry-mock";
import ky from "ky";

const server = await mockPrivateRegistry();
const response = await ky.get("http://localhost:63142/@mockscope%2Ffoobar", {
  headers: { authorization: "Bearer SecretToken" }
}).json();

console.log(response);
//=> { name: "@mockscope/foobar", ... }

await server.close();

Also exposes a health-check endpoint at / for testing connectivity:

import mockPrivateRegistry from "private-registry-mock";
import ky from "ky";

const server = await mockPrivateRegistry();
const response = await ky.get("http://localhost:63142/").json();

console.log(response);
//=> { message: "Connected!" }

await server.close();

API

mockPrivateRegistry(packageName)

mockPrivateRegistry(options?)

Returns a Promise<object> with the computed server options and:

  • close(): - Gracefully closes the server. Returns a Promise<TerminationResponse>.

packageName

Type: string
Default: "@mockscope/foobar"

The name of the mocked package. Determines the route of the server.

Names are soft encoded, preserving @s but escaping all other special characters via encodeURIComponent (i.e. / becomes %2F).

options

Type: object

Options for the server to use while mocking.

port

Type: number
Default: 63142 | 63143 | 63144, in order of availability.

The port to listen on. If not provided, attempts to use a set of default ports, and falls back to a random port if unavailable.

hostname

Type: string
Default: "localhost"

The hostname to listen on.

token

Type: object
Default: { type: "bearer", value: "SecretToken" }

The authentication type and token to use.

type

Type: "bearer" | "basic"
Default: "bearer"

The type of authentication to use.

value

Type: string
Default: "SecretToken"

The token to use for authentication.

package

Type: object
Default: { name: "@mockscope/foobar", version: "1.0.0" }

Information about the mocked package. Determines the route of the server.

Names are soft encoded, preserving @s but escaping all other special characters via encodeURIComponent (i.e. / becomes %2F).

name

Type: string
Default: "@mockscope/foobar"

The name of the mocked package. Determines the route of the server.

version

Type: string
Default: "1.0.0"

The version of the mocked package.

TerminationResponse

Internally, lil-http-terminator is used to gracefully close the server.

code

Type: "TIMED_OUT" | "SERVER_ERROR" | "TERMINATED" | "INTERNAL_ERROR"

Termination state.

success

Type: boolean

Whether or not the server was successfully closed.

message

Type: string

Termination or error message.

error

Type: Error | undefined

If termination fails, the error that caused it.

  • mock-private-registry - Mock of a private npm registry, useful for testing npm-related stuff.
  • @probablyup/mock-private-registry - Mock of a private npm registry, useful for testing npm-related stuff. This is a fork of "mock-private-registry" with support for mocking multiple packages.
  • package-json - Get metadata of a package from the npm registry.

Keywords

nodejs

FAQs

Package last updated on 23 Feb 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts