When docker-prep packs @bytelyst/* as tarballs, a second physical copy of @bytelyst/errors can be created, breaking prototype identity. The fastify-core error handler's 'error instanceof ServiceError' then returned false, mis-mapping ConflictError/BadRequestError/etc. to HTTP 500. Fix: brand ServiceError instances with a global Symbol.for() key and add a Symbol.hasInstance that recognizes any branded instance for the base class, while preserving prototype-chain semantics for subclasses. Resilient to duplicated module copies without touching call sites. - errors: brand + custom hasInstance (+3 cross-instance unit tests) - fastify-core: regression test (duplicated-copy ServiceError -> 409 not 500) - bump @bytelyst/errors 0.1.11 -> 0.1.13, published to Gitea registry |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| tsconfig.json | ||