A lightweight private npm proxy registry application with comprehensive package management, authentication, and web interface capabilities
—
Core server creation and lifecycle management for running Verdaccio programmatically or via CLI.
Creates a Verdaccio server instance for programmatic usage with flexible configuration options.
/**
* Primary server factory function for programmatic usage
* @param config - Configuration file path (string) or undefined for default configuration
* @returns Promise resolving to HTTP/HTTPS server instance ready to listen
*/
function runServer(config?: string): Promise<any>;Usage Examples:
import { runServer } from "verdaccio";
// Default configuration (looks for config.yaml in current directory)
const server = await runServer();
server.listen(4873, () => {
console.log("Verdaccio started on http://localhost:4873");
});
// Custom configuration file
const serverFromFile = await runServer("./custom-config.yaml");
serverFromFile.listen(5000);
// Absolute path to configuration
const serverFromAbsPath = await runServer("/etc/verdaccio/config.yaml");
serverFromAbsPath.listen(4873);Legacy function for starting Verdaccio server (deprecated in favor of runServer).
/**
* Legacy server bootstrap function (deprecated, use runServer instead)
* @param config - Configuration object
* @param cliListen - Listen address from CLI arguments
* @param configPath - Path to configuration file
* @param pkgVersion - Package version string
* @param pkgName - Package name string
* @param callback - Callback function called for each listen address
*/
function startVerdaccio(
config: any,
cliListen: string,
configPath: string,
pkgVersion: string,
pkgName: string,
callback: Callback
): void;
interface Callback {
(webServer: any, addr: any, pkgName: string, pkgVersion: string): void;
}Default callback implementation for server listening (used with legacy startVerdaccio).
/**
* Default callback implementation for server listening (deprecated)
* @param webServer - Express application instance
* @param addr - Listen address configuration
* @param pkgName - Package name
* @param pkgVersion - Package version
*/
function listenDefaultCallback(
webServer: Application,
addr: any,
pkgName: string,
pkgVersion: string
): void;Low-level server factory for creating HTTP/HTTPS server instances.
/**
* Create HTTP/HTTPS server instance based on configuration
* @param config - Verdaccio configuration object
* @param addr - Address configuration object
* @param app - Express application instance
* @returns HTTP or HTTPS server instance
*/
function createServerFactory(config: Config, addr: any, app: any): any;Utility function for displaying experimental features information.
/**
* Display information about enabled experimental features
* @param flags - Experimental features configuration object
*/
function displayExperimentsInfoBox(flags: any): void;Server management functions handle various error conditions:
All server factory functions will throw descriptive errors for configuration and startup issues.
Verdaccio supports HTTPS with two configuration methods:
const server = await runServer({
https: {
key: "/path/to/private.key",
cert: "/path/to/certificate.crt",
ca: "/path/to/ca.crt" // optional
}
});const server = await runServer({
https: {
pfx: "/path/to/certificate.pfx",
passphrase: "certificate-password" // optional
}
});Key configuration options for server management:
listen: Host and port binding configurationhttps: HTTPS certificate configurationserver.keepAliveTimeout: Keep-alive timeout in secondsserver.trustProxy: Trust proxy headers configurationInstall with Tessl CLI
npx tessl i tessl/npm-verdaccio