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
21 lines
351 B
JSON
21 lines
351 B
JSON
{
|
|
"name": "@bytelyst/errors",
|
|
"version": "0.1.13",
|
|
"type": "module",
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/index.js",
|
|
"types": "./dist/index.d.ts"
|
|
}
|
|
},
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"test": "vitest run --pool forks"
|
|
}
|
|
}
|