Registry / devops / axios-circuit-breaker

axios-circuit-breaker

JSON →
library1.0.0jsnpmunverified

Axios interceptor that implements the Circuit Breaker pattern for microservices. Version 1.0.0, stable. Easy integration with existing Axios instances; configurable thresholds, reset periods, and fault detection strategies. Ships TypeScript types. Ideal for adding resilience to Axios-based HTTP clients with minimal overhead.

npm install axios-circuit-breaker
INSTALL
IMPORT
SIG · AXIOS-CIRCUIT-BREA
A
axios-circuit-breaker
devopsjavascriptv1.0.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.

axiosCircuitBreaker
import { axiosCircuitBreaker } from 'axios-circuit-breaker'
const axiosCircuitBreaker = require('axios-circuit-breaker')
Default export not available; use named import. ESM only.
CircuitBreakerOpenError
import { CircuitBreakerOpenError } from 'axios-circuit-breaker'
import CircuitBreakerOpenError from 'axios-circuit-breaker';
Error class is exported as a named export, not default.
CircuitBreakerHalfOpenError
import { CircuitBreakerHalfOpenError } from 'axios-circuit-breaker'
const { CircuitBreakerHalfOpenError } = require('axios-circuit-breaker');
CommonJS require works but ESM import is preferred.

Creates an Axios instance, applies circuit breaker interceptor with custom config, and handles CircuitBreakerOpenError.

import axios from 'axios'; import { axiosCircuitBreaker, CircuitBreakerOpenError } from 'axios-circuit-breaker'; const instance = axios.create({ baseURL: 'http://localhost:3000' }); axiosCircuitBreaker(instance, { id: 'MyService', threshold: 10, thresholdPeriodMs: 5000, resetPeriodMs: 10000, numRequestsToCloseCircuit: 5, isFault: (error) => error.response?.status >= 500, logger: (msg) => console.log(msg) }); async function makeRequest() { try { const response = await instance.get('/api/data'); console.log(response.data); } catch (error) { if (error instanceof CircuitBreakerOpenError) { console.error('Circuit breaker is open, request blocked.'); } else { console.error('Request failed:', error.message); } } } makeRequest();
Debug
Known issues
breakingaxios-circuit-breaker only supports Axios v1.x. Use with older versions will break.
fix
Ensure axios dependency is ^1.0.0.
affects: >=1.0.0
gotchaThe circuit breaker operates on a per-axios-instance basis. Using the default axios instance instead of a dedicated one will share state across all requests.
fix
Always create a new axios instance with axios.create() for each group of requests you want to protect independently.
affects: >=0.0.1
gotchaThe isFault function might count unexpected errors (e.g., network errors) as faults. By default it checks response status >= 500, but network errors have no response.
fix
If you want network errors to be counted as faults, modify isFault: (error) => !error.response || error.response.status >= 500.
affects: >=0.0.1
deprecatedNo deprecated features known in v1.0.0
affects: >=1.0.0
Errors
Common errors & fixes
Module not found: Can't resolve 'axios-circuit-breaker'
Missing npm install or import path incorrect.
fix
Run 'npm install axios-circuit-breaker' and ensure import path is valid.
TypeError: axiosCircuitBreaker is not a function
Default import used instead of named import.
fix
Use import { axiosCircuitBreaker } from 'axios-circuit-breaker'.
Error: Cannot find module 'axios-circuit-breaker'
Package not installed or node_modules missing.
fix
Run 'npm install' or 'npm install axios-circuit-breaker'.
Upgrade
Version history
1.0.0latest on npm
Audit
Dependencies
axiosrequiredpeer dependency: axios is required (version 1.x) to intercept requests.
Agent activity
21 hits · last 30 days
node
20
OpenAI (training)
1
Resources
axios-circuit-breaker — npm install axios-circuit-breaker · libregistry