Avoid mutable defaults:The helper that merges config will silently overwrite default headers if you pass a plain object – you’ll lose your custom token header forever.
The “this” trap:If you ever call a helper via destructuring , you’ll break its internal `this` binding – it will start throwing “undefined is not a function”. The fix? Use `helpers.isString` directly.
Circular import nightmare:`buildURL` imports `AxiosURLSearchParams`, which in turn imports `helpers/merge`. If you edit one file without updating or, Node will throw “Maximum call stack size exceeded”。
The hidden fallback:`combineURLs` has an obscure fallback when both arguments are empty strings – it returns an empty string instead of “/”. This tiny edge‑case caused my production site to request “//api” and get a CORS error.
The speedometer’s silent drift:If you don’t reset its internal timer after a long pause , next speed calculation becomes astronomically high because deltaTime is near zero.