Registry / aws / eureka-js-client

eureka-js-client

JSON →
library4.5.0jsnpmunverified

A JavaScript client for Netflix OSS Eureka service registry (v4.5.0, actively maintained). Enables Node.js services to register, heartbeat, and discover instances from Eureka servers. Supports YAML configuration, environment-specific overrides (EUREKA_ENV, NODE_ENV), custom request middleware for auth, and delta registry updates. Key differentiator: full Eureka client implementation with instance management, unlike lighter discovery-only libraries.

npm install eureka-js-client
INSTALL
IMPORT
SIG · EUREKA-JS-CLIENT
E
eureka-js-client
awsjavascriptv4.5.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Eureka
const { Eureka } = require('eureka-js-client');
const Eureka = require('eureka-js-client');
Client exports Eureka as a named export, not default. Misleading README shows both styles; use named import.
Eureka
import { Eureka } from 'eureka-js-client';
import Eureka from 'eureka-js-client';
ESM named import is correct. Default import works due to module interop but TypeScript may flag it.
Eureka
const Eureka = require('eureka-js-client').Eureka;
CommonJS require of named export. This is explicit and avoids confusion.

Instantiate and start a Eureka client with minimal configuration, then fetch instances by app ID and stop after 10 seconds.

const { Eureka } = require('eureka-js-client'); const client = new Eureka({ instance: { app: 'my-service', hostName: 'localhost', ipAddr: '127.0.0.1', port: 8080, vipAddress: 'my-service.vip', dataCenterInfo: { name: 'MyOwn' }, }, eureka: { host: '192.168.99.100', port: 8761, servicePath: '/eureka/apps/', }, }); client.start((err) => { if (err) { console.error('Failed to start Eureka client:', err); } else { console.log('Eureka client started and registered'); const instances = client.getInstancesByAppId('other-service'); console.log('Instances:', instances); setTimeout(() => client.stop(), 10000); } });
Debug
Known issues
gotchaConstructor options overwrite YAML config but merge behavior is not documented; missing fields from options may fallback to YAML defaults, causing silent misconfiguration.
fix
Always explicitly set all required options in constructor if using YAML fallback; avoid relying on partial overrides.
affects: >=4.0.0
breakingIn v4.0.0, default export changed to named export. Code using `const Eureka = require('eureka-js-client')` will get the whole module, not the constructor.
fix
Use destructured require: `const { Eureka } = require('eureka-js-client')`.
affects: >=4.0.0
deprecatedThe `request` library used internally is deprecated and unmaintained since 2020, with known security vulnerabilities.
fix
Use requestMiddleware to patch auth/headers; consider forking or switching to a maintained client like `@netflix/eureka-js-client`.
affects: >=4.4.1
gotchaEUREKA_ENV env var takes precedence over NODE_ENV but many users expect NODE_ENV to be the sole configuration driver.
fix
Set EUREKA_ENV explicitly to control environment config file selection, or ensure NODE_ENV is set if EUREKA_ENV is absent.
affects: >=4.5.0
Errors
Common errors & fixes
TypeError: Eureka is not a constructor
Using default import or incorrect require pattern that imports the whole module object.
fix
Use const { Eureka } = require('eureka-js-client'); or import { Eureka } from 'eureka-js-client';
Error: listen EADDRINUSE: address already in use :::8080
Port conflict when multiple instances run on same host without unique ports.
fix
Configure each instance with a different port in the instance configuration or bind to port 0 for dynamic assignment.
Error: Failed to fetch registry: ECONNREFUSED
Eureka server is not running or unreachable at configured host/port.
fix
Verify Eureka server is up and accessible; check eureka.host and eureka.port configuration.
Upgrade
Version history
4.5.0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
17 hits · last 30 days
node
14
OpenAI (training)
1
Resources
eureka-js-client — npm install eureka-js-client · libregistry