{"_id":"nest-problem-details-filter","_rev":"19-e695a2e0387dda053e5383915e0ec5b6","name":"nest-problem-details-filter","dist-tags":{"latest":"1.10.0"},"versions":{"0.0.1":{"name":"nest-problem-details-filter","version":"0.0.1","author":{"url":"https://fcmam5.me","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@0.0.1","maintainers":[{"name":"fcmam5","email":"dr.fcmam5@gmail.com"}],"homepage":"https://github.com/Fcmam5/nest-http-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-http-problem-details/issues"},"dist":{"shasum":"16551babb88d5165dabf6c495e5123bb20367558","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-0.0.1.tgz","fileCount":20,"integrity":"sha512-imoH7v25Mi4ItC2oaGIije7UuCKdGmyPQWI/0Ik0zVUHvmzFgD0wlwXDf+b+WaRRrrxdGHPS+Jteou89cgyPCg==","signatures":[{"sig":"MEUCIEA3L9gBmSOKx78EAwi3W6XiF/7Wvp+kWtBFz/7JH6nJAiEAxal4ByJSJfL++QoS2rNY/2BtkKR/oNxhopf3R4RC0ZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvCasCRA9TVsSAnZWagAA+MoP/0h7zW02oMtAzT8PWi8J\ndSAIyNA1lGh3U/mPRtUROezA205jPleLKtW1PgYFrzoHsMg/5PU/05pfYESE\nRzCTtuQqRFXgZhAAw87CkoOm2d/5j96mMuq6Nu9VGwLsZhZfMZGu/up9FRkS\nDzvWrjeKvsWA+Y5eNPROYzFCMgbExm4YRWKZi0lmlZvK7k2FTrLtM+8TyZc/\nK3zlAo0mxPiKACheMf7NpfoSFtCY6gppaXBgkt12DmkWM5HRyufkQFzO81cl\niVJLklPMvt+vwVez0zPIvw6a1B658dManlb+anYdMaEFIm15Gn357ZvjHDk9\n2KjS/79lOsSjNoaIKYL/ZYle4Z64ZZ0tHlGFPBjAq0Cy7vG7+R3hFGXJZ9kg\nSBJtDmMdIgJJudR9VFs5i4qYumGQYDXtltnB8mHkTIiZbh6Xhyew1FsfsWPI\nUGrbhqYZxYAsMXy1fiI3c5o8LIRgbF51koaBqeXBa02U0RLcoF4HTP4YMyfp\nbOXB/ORl4xA1mRCtqvvVwThKPHpUan7sqxYVvX+7My8UOxhZ1zY6ypQIC54x\nBbQNNv+OPPL/h0uD0nWZlGYbdy5vnVtZdYJrzZryHixS7+Wvjqsx99PNiIu6\nBaSx8KYr+amLB0WKkdTUIbGbYZ3FpdPFnuIXPx7VMIOfKght28pul0mfayaq\ni7Rd\r\n=NB/W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","typings":"./src/index.d.ts","_npmUser":{"name":"fcmam5","email":"dr.fcmam5@gmail.com"},"repository":{"url":"git+https://github.com/Fcmam5/nest-http-problem-details.git","type":"git"},"_npmVersion":"6.14.12","description":"RFC-7807 conform HTTP problem details Nest.js filter","directories":{},"_nodeVersion":"12.22.1","dependencies":{"@nestjs/common":"^7.6.17"},"_hasShrinkwrap":false,"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_0.0.1_1622943404709_0.23166387272597855","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"nest-problem-details-filter","version":"0.1.0","author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@0.1.0","maintainers":[{"name":"fcmam5","email":"dr.fcmam5@gmail.com"}],"homepage":"https://github.com/Fcmam5/nest-http-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-http-problem-details/issues"},"dist":{"shasum":"0602926abe1f24c33a0ac0c9b414eceeb801a5ac","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-0.1.0.tgz","fileCount":22,"integrity":"sha512-ga/vQYWCh29vKKmgCCyk1lWjJ874B4oR0IvzSpmR6QEDV8RGAAG+3YVKQhq0nQ0Rt6uvci56as9+8sHst/A0/g==","signatures":[{"sig":"MEQCIGa4yCLTHCB1M+si1A79/qensl/wYMX8PeK+DgFsbQ8DAiBDDX7ibu7mLdh42uHh8cfXy/VhOmlU3YGBq1l/gvNnnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105226},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6ec3d1ae87263ef44edf140a23598433539e94ab","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"nest build","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","prepack":"rm -rf dist && npm run build","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","prepublish":"rm -rf dist && npm run build","test:watch":"jest --watch"},"_npmUser":{"name":"fcmam5","email":"dr.fcmam5@gmail.com"},"repository":{"url":"git+https://github.com/Fcmam5/nest-http-problem-details.git","type":"git"},"_npmVersion":"9.8.1","description":"A Nest.js HTTP exceptions filter returning RFC-7807 responses","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","rxjs":"^7.8.1","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.8","ts-loader":"^9.4.3","typescript":"^5.1.3","@nestjs/cli":"^10.0.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@nestjs/core":"^10.0.0","@nestjs/common":"^10.0.0","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.0.0","reflect-metadata":"^0.1.13","@nestjs/schematics":"^10.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.59.11","@typescript-eslint/eslint-plugin":"^5.59.11"},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_0.1.0_1696243034788_0.513923567561875","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"nest-problem-details-filter","version":"0.1.1","author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@0.1.1","maintainers":[{"name":"fcmam5","email":"dr.fcmam5@gmail.com"}],"homepage":"https://github.com/Fcmam5/nest-http-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-http-problem-details/issues"},"dist":{"shasum":"4729e2560a5e18a6796c35d82c2b5ccaa5b513d9","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-0.1.1.tgz","fileCount":22,"integrity":"sha512-31vkUYupVVgCrnz3VUe+lN3TjhaHUMuFuENkh/fI33ePv2SpBBkHiwglK/IPzaXvSzERdnQojN6sJeRVQgLI/g==","signatures":[{"sig":"MEUCIFHTmjyYJrH1Ukp5ztyVWSjtleyTfmdHxTVn3GcvjmtqAiEAmVMIWRm046ModLbwWx/sjFCE++6YID8zbkGNPW+2Z78=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112613},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"43ad7c9410c6c240e307abde249ae7ff2c38d12f","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"nest build","format":"prettier --write \"src/**/*.ts\"","prepack":"rm -rf dist && npm run build","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","prepublish":"rm -rf dist && npm run build","test:watch":"jest --watch"},"_npmUser":{"name":"fcmam5","email":"dr.fcmam5@gmail.com"},"repository":{"url":"git+https://github.com/Fcmam5/nest-http-problem-details.git","type":"git"},"_npmVersion":"9.8.1","description":"A NestJS exception filter to convert JSON responses to [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807)-compliant format. This standardizes HTTP responses and sets `Content-Type` to `application/problem+json`","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.8.1","eslint":"^8.51.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","prettier":"^3.0.3","ts-loader":"^9.5.0","typescript":"^5.2.2","@nestjs/cli":"^10.1.18","@types/jest":"^29.5.5","@types/node":"^20.8.6","@nestjs/core":"^10.2.7","@nestjs/common":"^10.2.7","tsconfig-paths":"^4.2.0","@nestjs/testing":"^10.2.7","reflect-metadata":"^0.1.13","@nestjs/schematics":"^10.0.2","source-map-support":"^0.5.21","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.7.5","@typescript-eslint/eslint-plugin":"^6.7.5"},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_0.1.1_1697299730380_0.11034821975095377","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"nest-problem-details-filter","version":"1.0.0","author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.0.0","maintainers":[{"name":"fcmam5","email":"dr.fcmam5@gmail.com"}],"homepage":"https://github.com/Fcmam5/nest-http-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-http-problem-details/issues"},"dist":{"shasum":"e10b893b48836f3500632923e4481d6d8b2947c4","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.0.0.tgz","fileCount":22,"integrity":"sha512-+Jf2THGKzPGsSYn3qV84d3KbWQ2Q3C78jN00giaB8kzo9hVBIPQT3vMVrTgrYMWIsBPLQptnDV/tGZ1AESUIVg==","signatures":[{"sig":"MEUCICc3i3gYmXg1gVYjInLiTeNiV1GyzRIof7LcyALrlBypAiEAiEqTc+Krz36SCpCEqktdaZ8dc5kPAsZ/629CAegY1hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142655},"jest":{"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"testEnvironment":"node","coverageDirectory":"../coverage","collectCoverageFrom":["**/*.(t|j)s"],"moduleFileExtensions":["js","json","ts"]},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a9b848b14bbfc3412073b54394efe0c013d21a50","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"nest build","format":"prettier --write \"src/**/*.ts\"","prepack":"rm -rf dist && npm run build","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","prepublish":"rm -rf dist && npm run build","test:watch":"jest --watch"},"_npmUser":{"name":"fcmam5","email":"dr.fcmam5@gmail.com"},"repository":{"url":"git+https://github.com/Fcmam5/nest-http-problem-details.git","type":"git"},"_npmVersion":"10.8.2","description":"A NestJS exception filter to convert JSON responses to [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807)-compliant format. This standardizes HTTP responses and sets `Content-Type` to `application/problem+json`","directories":{},"_nodeVersion":"20.18.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","rxjs":"^7.8.1","eslint":"^9.18.0","globals":"^15.14.0","install":"^0.13.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","prettier":"^3.4.2","ts-loader":"^9.5.2","@eslint/js":"^9.18.0","typescript":"^5.7.3","@nestjs/cli":"^11.0.2","@types/jest":"^29.5.14","@types/node":"^22.10.7","@nestjs/core":"^11.0.4","@nestjs/common":"^11.0.4","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.0.4","@eslint/eslintrc":"^3.2.0","reflect-metadata":"^0.2.2","@nestjs/schematics":"^11.0.0","source-map-support":"^0.5.21","eslint-config-prettier":"^10.0.1","eslint-plugin-prettier":"^5.2.3","@typescript-eslint/parser":"^8.21.0","@typescript-eslint/eslint-plugin":"^8.21.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.0.0_1741910257359_0.8246972209985048","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"nest-problem-details-filter","version":"1.1.1","author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.1.1","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-http-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-http-problem-details/issues"},"dist":{"shasum":"60ba2412f35f4dd8c79f2141bebeff89e921be82","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.1.1.tgz","fileCount":3,"integrity":"sha512-ypAn9ZTIrIWhLTwvR6suRf705tgUnvDkARe//rbBX4htBd8ZNYB3cJcIFNlgWgW18LyZxPu1Um/3fqiYbzRtmQ==","signatures":[{"sig":"MEUCIF/Hq3Lalp24++uqFSyYaVk46h58JO22YqZs2LrveoqUAiEA0WLu1raYcyKz6FXSmUx+5VyYqmFWhreleafDJgpD8CA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8230},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1037d785233e304c6f3bae4a7d18aa7bc505fd7a","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"nest build","format":"prettier --write \"src/**/*.ts\"","prepack":"rm -rf dist && npm run build","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","prepublish":"rm -rf dist && npm run build","test:watch":"jest --watch"},"_npmUser":{"name":"fcmam5","email":"au54vz9rk@mozmail.com"},"repository":{"url":"git+https://github.com/Fcmam5/nest-http-problem-details.git","type":"git"},"_npmVersion":"10.8.2","description":"A NestJS exception filter to convert JSON responses to [RFC-7807](https://datatracker.ietf.org/doc/html/rfc7807)-compliant format. This standardizes HTTP responses and sets `Content-Type` to `application/problem+json`","directories":{},"_nodeVersion":"20.18.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","rxjs":"^7.8.2","eslint":"^10.2.1","globals":"^17.5.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.1.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.6.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.19","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","typescript-eslint":"^8.59.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19"},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.1.1_1777225163678_0.06788742944818149","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"nest-problem-details-filter","version":"1.2.4","keywords":["nestjs","nest","problem-details","rfc7807","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.2.4","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-http-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-http-problem-details/issues"},"dist":{"shasum":"0e439f886a5c60ac37841d96b8dc8a9f6587c138","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.2.4.tgz","fileCount":21,"integrity":"sha512-UJB7nyq9EflVix0sT4mwguTvoI/m7BCiFBbFY0P4zp0Mn2V8xivAdPET5IzEezf3RiHRJvLNVozGAb074lOcqQ==","signatures":[{"sig":"MEUCIH+LRyugnWe5DxUi9opCPKkHoSWDc/9xllVhRMiCsZhBAiEA37quQ554CDNiFeguKrTTMmVHpWL2VA0TeCRF6cVWHB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24016},"main":"dist/index.js","types":"dist/index.d.ts","funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"gitHead":"61677ea83e1a7b4960bcbd0b9ecd753dbf5ff5c9","scripts":{"lint":"eslint \"{src,apps,libs,test}/**/*.ts\" --fix","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"src/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"fcmam5","email":"au54vz9rk@mozmail.com"},"repository":{"url":"git+https://github.com/Fcmam5/nest-http-problem-details.git","type":"git"},"_npmVersion":"11.13.0","description":"A NestJS exception filter to convert JSON responses to RFC-7807-compliant format. This standardizes HTTP responses and sets `Content-Type` to `application/problem+json`","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","rxjs":"^7.8.2","eslint":"^10.2.1","globals":"^17.5.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.1.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.6.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.19","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","typescript-eslint":"^8.59.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.2.4_1777327624487_0.9246880807733762","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"nest-problem-details-filter","version":"1.3.0","keywords":["nestjs","nest","problem-details","problem+json","rfc9457","rfc7807","http-api-errors","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.3.0","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"14b717358ccf963bb6b80090f64769513de8d06c","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.3.0.tgz","fileCount":27,"integrity":"sha512-sndSD+hieW1571I/+AQqbf8f+PFUuST2GmeYibaCHEVElHId5D/WTOS+WUQclC+VEGzEdzBCXZkIOYQjekuDhg==","signatures":[{"sig":"MEUCIAiDbOTXOFPIdQ/UV3HDZD9pSuXKFdLHrF2Abk67f5hKAiEAqJUzVp5msxVCbzgxHqFuKkReQrov9zuI1jHQoHGi7Tg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30722},"main":"dist/index.js","_from":"file:/tmp/pack/nest-problem-details-filter-1.3.0.tgz","types":"dist/index.d.ts","funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"scripts":{"lint":"eslint \"{src,tests}/**/*.ts\" --fix","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"src/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"_resolved":"/tmp/pack/nest-problem-details-filter-1.3.0.tgz","_integrity":"sha512-sndSD+hieW1571I/+AQqbf8f+PFUuST2GmeYibaCHEVElHId5D/WTOS+WUQclC+VEGzEdzBCXZkIOYQjekuDhg==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.12.1","description":"A NestJS exception filter to convert JSON responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs. Standardizes HTTP error responses and sets Content-Type to application/problem+json.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","rxjs":"^7.8.2","eslint":"^10.2.1","globals":"^17.5.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.1.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.6.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/testing":"^11.1.19","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","typescript-eslint":"^8.59.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.3.0_1777442344413_0.895650913582102","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"nest-problem-details-filter","version":"1.4.0","keywords":["nestjs","nest","problem-details","problem+json","rfc9457","rfc7807","http-api-errors","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.4.0","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"c0a7ceb50a91b61913838e1dc7cba7788d952ed0","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.4.0.tgz","fileCount":42,"integrity":"sha512-6v5oEsj2dNs/U179IXfx4cVtfJJabA2t6USg83twFixDgZOLqwwNq8aYcy6L6aSfjz+G2Dhq9C+SnVVcTH4Eew==","signatures":[{"sig":"MEYCIQDQ46Geom2Nf1BJgx3oO1bBLztTxPfh2bpBsNOHyrNh9AIhAOeGfcVCVZA0F2+JrwYCFPxdZDJOuU8dX/lsMHYSCB2L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53399},"main":"dist/index.js","_from":"file:/tmp/pack/nest-problem-details-filter-1.4.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./swagger":{"types":"./dist/swagger/index.d.ts","default":"./dist/swagger/index.js"}},"funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"scripts":{"lint":"eslint \"{src,tests}/**/*.ts\" --fix","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"src/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"_resolved":"/tmp/pack/nest-problem-details-filter-1.4.0.tgz","_integrity":"sha512-6v5oEsj2dNs/U179IXfx4cVtfJJabA2t6USg83twFixDgZOLqwwNq8aYcy6L6aSfjz+G2Dhq9C+SnVVcTH4Eew==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.12.1","description":"A NestJS exception filter to convert JSON responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs. Standardizes HTTP error responses and sets Content-Type to application/problem+json.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","rxjs":"^7.8.2","eslint":"^10.2.1","globals":"^17.5.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.1.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.6.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/swagger":"^11.4.2","@nestjs/testing":"^11.1.19","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","typescript-eslint":"^8.59.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/swagger":"^9.0.0 || ^10.0.0 || ^11.0.0"},"peerDependenciesMeta":{"@nestjs/swagger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.4.0_1777613539657_0.8804122145580031","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"nest-problem-details-filter","version":"1.5.0","keywords":["nestjs","nest","problem-details","problem+json","rfc9457","rfc7807","http-api-errors","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.5.0","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"8d3006dafcaebb0d708162ca5659ca7be8820c5a","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.5.0.tgz","fileCount":48,"integrity":"sha512-klFDyWajhe7wuU9co3pyeCeORjJ6DWeTqkS6WtYzmQMiVJx6s2HgnuQyaknwHRRpu3Bl+T/4cldGsAAgUlezaQ==","signatures":[{"sig":"MEUCIBevECa0bc52QsCx8xxl2PN0W/hhSP/CjqYxccNjj/V5AiEA3MHrS/+/KSpT2hCLl+UoUEWkIFYSLTjRitAqPO4j+tE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64402},"main":"dist/index.js","_from":"file:/tmp/pack/nest-problem-details-filter-1.5.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./swagger":{"types":"./dist/swagger/index.d.ts","default":"./dist/swagger/index.js"},"./class-validator-mappers":{"types":"./dist/class-validator-mappers/index.d.ts","default":"./dist/class-validator-mappers/index.js"}},"funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"scripts":{"lint":"eslint \"{src,tests}/**/*.ts\" --fix","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"src/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","start:mock":"node --watch -r ts-node/register tests/mock-main.ts","test:watch":"jest --watch","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"_resolved":"/tmp/pack/nest-problem-details-filter-1.5.0.tgz","_integrity":"sha512-klFDyWajhe7wuU9co3pyeCeORjJ6DWeTqkS6WtYzmQMiVJx6s2HgnuQyaknwHRRpu3Bl+T/4cldGsAAgUlezaQ==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.12.1","description":"A NestJS exception filter to convert JSON responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs. Standardizes HTTP error responses and sets Content-Type to application/problem+json.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","rxjs":"^7.8.2","eslint":"^10.2.1","globals":"^17.5.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.1.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.6.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/swagger":"^11.4.2","@nestjs/testing":"^11.1.19","class-validator":"^0.15.1","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","class-transformer":"^0.5.1","typescript-eslint":"^8.59.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/swagger":"^9.0.0 || ^10.0.0 || ^11.0.0","class-validator":"^0.14.0 || ^0.15.0"},"peerDependenciesMeta":{"@nestjs/swagger":{"optional":true},"class-validator":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.5.0_1777721685616_0.13916233490819363","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"nest-problem-details-filter","version":"1.6.0","keywords":["nestjs","nest","problem-details","problem+json","rfc9457","rfc7807","http-api-errors","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.6.0","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"df2f0410ef5864b7a77fca2f703d92a0bc9a8226","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.6.0.tgz","fileCount":51,"integrity":"sha512-zGUdIcj7lfX2Pani81fs3AnfbdOLiHjp1dzbSczu/wkWQdC4FawppeBMB+oPgY7YYvweWdXdm6p933SpvzsHhQ==","signatures":[{"sig":"MEUCIQDm9c2B22+3IzWzAG5rLt0Te/X3UbO+epJUtQVFpAPuOAIgMPGwlsrdrE3GgZzowdGkCD0VCf28l55Okwntq7M1xiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64845},"main":"dist/index.js","_from":"file:/tmp/pack/nest-problem-details-filter-1.6.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./swagger":{"types":"./dist/swagger/index.d.ts","default":"./dist/swagger/index.js"},"./class-validator-mappers":{"types":"./dist/class-validator-mappers/index.d.ts","default":"./dist/class-validator-mappers/index.js"}},"funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"scripts":{"lint":"eslint \"{src,tests}/**/*.ts\" --fix","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"{src,tests}/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","start:mock":"node --watch -r ts-node/register tests/mock-main.ts","test:watch":"jest --watch","format:check":"prettier --check \"{src,tests}/**/*.ts\"","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"_resolved":"/tmp/pack/nest-problem-details-filter-1.6.0.tgz","_integrity":"sha512-zGUdIcj7lfX2Pani81fs3AnfbdOLiHjp1dzbSczu/wkWQdC4FawppeBMB+oPgY7YYvweWdXdm6p933SpvzsHhQ==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.12.1","description":"A NestJS exception filter to convert JSON responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs. Standardizes HTTP error responses and sets Content-Type to application/problem+json.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","rxjs":"^7.8.2","eslint":"^10.2.1","globals":"^17.5.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.1.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.6.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/swagger":"^11.4.2","@nestjs/testing":"^11.1.19","class-validator":"^0.15.1","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","class-transformer":"^0.5.1","typescript-eslint":"^8.59.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/swagger":"^9.0.0 || ^10.0.0 || ^11.0.0","class-validator":"^0.14.0 || ^0.15.0"},"peerDependenciesMeta":{"@nestjs/swagger":{"optional":true},"class-validator":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.6.0_1777886075726_0.9583940357059086","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"nest-problem-details-filter","version":"1.7.0","keywords":["nestjs","nest","problem-details","problem+json","rfc9457","rfc7807","http-api-errors","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.7.0","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"762974229cac27815278667f71db840d93011e05","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.7.0.tgz","fileCount":51,"integrity":"sha512-BANXKg2BKGu5nqi7lGGTJZlZwJLnWaS18KiEx4CzVXlbn5hJ5xQhHrdnOVinqe0G22k5Fd2kTbDXkfUbnyB7tw==","signatures":[{"sig":"MEUCIQD40qe6SqpdhKmDosr9TB0K8qKdk9fgtMs/8JwJr3FJVAIgYTbiQ4PzRUj4dDUsynSM2U3YwG5QTC2CCt6QhiTsE6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70576},"main":"dist/index.js","_from":"file:/tmp/pack/nest-problem-details-filter-1.7.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./swagger":{"types":"./dist/swagger/index.d.ts","default":"./dist/swagger/index.js"},"./class-validator-mappers":{"types":"./dist/class-validator-mappers/index.d.ts","default":"./dist/class-validator-mappers/index.js"}},"funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"scripts":{"lint":"eslint \"{src,tests}/**/*.ts\" --fix","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"{src,tests}/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","start:mock":"node --watch -r ts-node/register tests/mock-main.ts","test:watch":"jest --watch","format:check":"prettier --check \"{src,tests}/**/*.ts\"","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"_resolved":"/tmp/pack/nest-problem-details-filter-1.7.0.tgz","_integrity":"sha512-BANXKg2BKGu5nqi7lGGTJZlZwJLnWaS18KiEx4CzVXlbn5hJ5xQhHrdnOVinqe0G22k5Fd2kTbDXkfUbnyB7tw==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.12.1","description":"A NestJS exception filter to convert JSON responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs. Standardizes HTTP error responses and sets Content-Type to application/problem+json.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","rxjs":"^7.8.2","eslint":"^10.2.1","globals":"^17.5.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.1.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.6.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/swagger":"^11.4.2","@nestjs/testing":"^11.1.19","class-validator":"^0.15.1","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","class-transformer":"^0.5.1","typescript-eslint":"^8.59.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/swagger":"^9.0.0 || ^10.0.0 || ^11.0.0","class-validator":"^0.14.0 || ^0.15.0"},"peerDependenciesMeta":{"@nestjs/swagger":{"optional":true},"class-validator":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.7.0_1778536510131_0.3840055288763744","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"nest-problem-details-filter","version":"1.8.0","keywords":["nestjs","nest","problem-details","problem+json","rfc9457","rfc7807","http-api-errors","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.8.0","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"790fd2c47014228f0efee667b7e3b0853b81948b","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.8.0.tgz","fileCount":51,"integrity":"sha512-Ol6km+fdm/LUuVcK83dii7iMy04yn228f17zMFm4e3KZL8zQhKmfC6PbdkqwS9ygHXMsFBL1utFexI3/7fwFJw==","signatures":[{"sig":"MEYCIQCeHuI+O1s0jfjDS6nhIaA9gi7kBcnCVllvhn1H0I2PmAIhAIQqdm3267mRM20axzwHSB3lPHJ3XoNOy4V8Vq1yGEse","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76978},"main":"dist/index.js","_from":"file:/tmp/pack/nest-problem-details-filter-1.8.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./swagger":{"types":"./dist/swagger/index.d.ts","default":"./dist/swagger/index.js"},"./class-validator-mappers":{"types":"./dist/class-validator-mappers/index.d.ts","default":"./dist/class-validator-mappers/index.js"}},"funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"scripts":{"lint":"eslint \"{src,tests}/**/*.ts\"","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"{src,tests}/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","start:mock":"node --watch -r ts-node/register tests/mock-main.ts","test:watch":"jest --watch","format:check":"prettier --check \"{src,tests}/**/*.ts\"","prepublishOnly":"rm -rf dist && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"_resolved":"/tmp/pack/nest-problem-details-filter-1.8.0.tgz","_integrity":"sha512-Ol6km+fdm/LUuVcK83dii7iMy04yn228f17zMFm4e3KZL8zQhKmfC6PbdkqwS9ygHXMsFBL1utFexI3/7fwFJw==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.12.1","description":"A NestJS exception filter to convert JSON responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs. Standardizes HTTP error responses and sets Content-Type to application/problem+json.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","rxjs":"^7.8.2","eslint":"^10.3.0","globals":"^17.6.0","ts-jest":"^29.4.9","ts-node":"^10.9.2","prettier":"^3.8.3","supertest":"^7.2.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@nestjs/cli":"^11.0.21","@types/jest":"^30.0.0","@types/node":"^25.7.0","@nestjs/core":"^11.1.19","@nestjs/common":"^11.1.19","tsconfig-paths":"^4.2.0","@nestjs/swagger":"^11.4.2","@nestjs/testing":"^11.1.19","class-validator":"^0.15.1","@types/supertest":"^6.0.3","reflect-metadata":"^0.2.2","class-transformer":"^0.5.1","typescript-eslint":"^8.59.3","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@nestjs/platform-express":"^11.1.19","@nestjs/platform-fastify":"^11.1.19","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/swagger":"^9.0.0 || ^10.0.0 || ^11.0.0","class-validator":"^0.14.0 || ^0.15.0"},"peerDependenciesMeta":{"@nestjs/swagger":{"optional":true},"class-validator":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.8.0_1778579437449_0.6051772285224564","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"nest-problem-details-filter","version":"1.9.0","keywords":["nestjs","nest","problem-details","problem+json","rfc9457","rfc7807","http-api-errors","http","api","rest","json"],"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","_id":"nest-problem-details-filter@1.9.0","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"dcd58ee28aa398f51c99fe0f13523270831bfbfe","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.9.0.tgz","fileCount":54,"integrity":"sha512-MoXBIdZqERKwOMXonzjvCvNAugIdfO7gJWALmMEM8Jq16+6iy6McAb2HiAbPrKhD48vueQXrJHMhh1vyUIc88Q==","signatures":[{"sig":"MEUCIQDfUTPDlxvd+vnHUgADh0VYnQ03daph8EerfmDFNgUHlgIgBHyjViVKjt/AcRwUejD3uombIAhbXI6v310FU6QLLr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":85305},"main":"dist/index.js","_from":"file:/tmp/pack/nest-problem-details-filter-1.9.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./swagger":{"types":"./dist/swagger/index.d.ts","default":"./dist/swagger/index.js"},"./class-validator-mappers":{"types":"./dist/class-validator-mappers/index.d.ts","default":"./dist/class-validator-mappers/index.js"}},"funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"scripts":{"lint":"eslint \"{src,tests}/**/*.ts\"","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"{src,tests}/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","start:mock":"node --watch -r ts-node/register tests/mock-main.ts","test:watch":"jest --watch","format:check":"prettier --check \"{src,tests}/**/*.ts\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"_resolved":"/tmp/pack/nest-problem-details-filter-1.9.0.tgz","_integrity":"sha512-MoXBIdZqERKwOMXonzjvCvNAugIdfO7gJWALmMEM8Jq16+6iy6McAb2HiAbPrKhD48vueQXrJHMhh1vyUIc88Q==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.16.0","description":"A NestJS exception filter to convert JSON responses to RFC 9457 (formerly RFC 7807)-compliant Problem Details for HTTP APIs. Standardizes HTTP error responses and sets Content-Type to application/problem+json.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","rxjs":"^7.8.2","eslint":"^10.8.1","globals":"^17.11.0","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","supertest":"^7.2.2","@eslint/js":"^10.0.1","fast-check":"^4.9.0","typescript":"^6.0.3","@nestjs/cli":"^11.0.24","@types/jest":"^30.0.0","@types/node":"^24.13.3","@nestjs/core":"^11.2.1","@nestjs/common":"^11.2.1","tsconfig-paths":"^4.2.0","@nestjs/swagger":"^11.4.6","@nestjs/testing":"^11.2.1","class-validator":"^0.15.1","@types/supertest":"^7.2.1","reflect-metadata":"^0.2.2","class-transformer":"^0.5.1","typescript-eslint":"^8.67.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@nestjs/platform-express":"^11.2.1","@nestjs/platform-fastify":"^11.2.1","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0","@nestjs/swagger":"^9.0.0 || ^10.0.0 || ^11.0.0","class-validator":"^0.14.0 || ^0.15.0"},"peerDependenciesMeta":{"@nestjs/swagger":{"optional":true},"class-validator":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nest-problem-details-filter_1.9.0_1786914040048_0.34606764464028994","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"_id":"nest-problem-details-filter@1.10.0","bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"dist":{"shasum":"b21efebda81c98e1738cda89b43ea1ef58cb7587","tarball":"https://registry.npmjs.org/nest-problem-details-filter/-/nest-problem-details-filter-1.10.0.tgz","fileCount":54,"integrity":"sha512-cyc0q4Z/qDiu6ORZAUqMZMr/9L2v06BKzgw1chSeqBPZ0Bn65iwvkQYZK5rhvMyM7eGqngBHZwuwlYBxe2ZKAw==","signatures":[{"sig":"MEUCIQCDODMNatGvrFMgnMg8P3RI8G6+C8QT7uMaSJPVHbaTugIgXDkFmBwjZ+/aJYyw7AamneMiD34nk5KyJl2CszNCYF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEs+L1dLhtrftYMNInrUbV8QZmZDBiXDxxaz0V/K1cpDAiEAjVde/bP69/7rkNWAQXuIdY1qsAR9qccO5XWMTPik2R4="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/nest-problem-details-filter@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89277},"main":"dist/index.js","name":"nest-problem-details-filter","_from":"file:/tmp/pack/nest-problem-details-filter-1.10.0.tgz","types":"dist/index.d.ts","author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./swagger":{"types":"./dist/swagger/index.d.ts","default":"./dist/swagger/index.js"},"./class-validator-mappers":{"types":"./dist/class-validator-mappers/index.d.ts","default":"./dist/class-validator-mappers/index.js"}},"funding":{"url":"https://github.com/sponsors/Fcmam5","type":"individual"},"license":"MIT","scripts":{"lint":"eslint \"{src,tests}/**/*.ts\"","test":"jest","build":"rm -f tsconfig.build.tsbuildinfo && nest build","format":"prettier --write \"{src,tests}/**/*.ts\"","lint:fix":"npm run lint -- --fix","test:cov":"jest --coverage","start:mock":"node --watch -r ts-node/register tests/mock-main.ts","test:watch":"jest --watch","format:check":"prettier --check \"{src,tests}/**/*.ts\""},"version":"1.10.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e7032d6-97eb-48f0-ae64-c68ff3a1f345"}},"homepage":"https://github.com/Fcmam5/nest-problem-details#readme","keywords":["nestjs","problem-details","problem+json","rfc9457","rfc7807","http-errors","exception-filter","openapi","validation","retry-after"],"_resolved":"/tmp/pack/nest-problem-details-filter-1.10.0.tgz","_integrity":"sha512-cyc0q4Z/qDiu6ORZAUqMZMr/9L2v06BKzgw1chSeqBPZ0Bn65iwvkQYZK5rhvMyM7eGqngBHZwuwlYBxe2ZKAw==","repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"_npmVersion":"11.16.0","description":"RFC 9457 Problem Details for NestJS — standardized HTTP errors, typed problem exceptions, validation errors, Retry-After, and OpenAPI integration.","directories":{},"maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rxjs":"^7.8.2","eslint":"^10.10.0","globals":"^17.12.0","ts-jest":"^29.4.12","ts-node":"^10.9.2","prettier":"^3.9.6","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","supertest":"^7.2.2","@eslint/js":"^10.0.1","fast-check":"^4.9.0","typescript":"^6.0.3","@nestjs/cli":"^12.0.0","@types/jest":"^30.0.0","@types/node":"^24.13.4","@nestjs/core":"^12.0.1","@nestjs/common":"^12.0.1","tsconfig-paths":"^4.2.0","@nestjs/swagger":"^12.0.1","@nestjs/testing":"^12.0.1","class-validator":"^0.15.1","@types/supertest":"^7.2.1","reflect-metadata":"^0.2.2","class-transformer":"^0.5.1","typescript-eslint":"^8.70.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@nestjs/platform-express":"^12.0.1","@nestjs/platform-fastify":"^12.0.1","eslint-plugin-todo-tickets":"^1.4.0"},"peerDependencies":{"@nestjs/core":"^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0","@nestjs/common":"^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0","@nestjs/swagger":"^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0","class-validator":"^0.14.0 || ^0.15.0"},"peerDependenciesMeta":{"@nestjs/swagger":{"optional":true},"class-validator":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nest-problem-details-filter_1.10.0_1789216023662_0.38784861454833286"}}},"time":{"created":"2021-06-06T01:36:44.709Z","modified":"2026-09-12T12:27:04.082Z","0.0.1":"2021-06-06T01:36:44.839Z","0.1.0":"2023-10-02T10:37:14.977Z","0.1.1":"2023-10-14T16:08:50.573Z","1.0.0":"2025-03-13T23:57:37.538Z","1.1.1":"2026-04-26T17:39:23.816Z","1.2.2":"2026-04-26T23:39:47.076Z","1.2.3":"2026-04-27T20:28:50.764Z","1.2.4":"2026-04-27T22:07:04.619Z","1.3.0":"2026-04-29T05:59:04.572Z","1.4.0":"2026-05-01T05:32:19.797Z","1.5.0":"2026-05-02T11:34:45.758Z","1.6.0":"2026-05-04T09:14:35.885Z","1.7.0":"2026-05-11T21:55:10.270Z","1.8.0":"2026-05-12T09:50:37.591Z","1.9.0":"2026-08-16T21:00:40.201Z","1.10.0":"2026-09-12T12:27:03.744Z"},"bugs":{"url":"https://github.com/Fcmam5/nest-problem-details/issues"},"author":{"url":"Fcmam5","name":"Abdeldjalil Fortas"},"license":"MIT","homepage":"https://github.com/Fcmam5/nest-problem-details#readme","keywords":["nestjs","problem-details","problem+json","rfc9457","rfc7807","http-errors","exception-filter","openapi","validation","retry-after"],"repository":{"url":"git+https://github.com/Fcmam5/nest-problem-details.git","type":"git"},"description":"RFC 9457 Problem Details for NestJS — standardized HTTP errors, typed problem exceptions, validation errors, Retry-After, and OpenAPI integration.","maintainers":[{"name":"fcmam5","email":"au54vz9rk@mozmail.com"}],"readme":"# NestHttpProblemDetails (RFC 9457 / RFC 7807)\n\n[![npm version](https://img.shields.io/npm/v/nest-problem-details-filter)](https://www.npmjs.com/package/nest-problem-details-filter)\n[![install size](https://packagephobia.com/badge?p=nest-problem-details-filter)](https://packagephobia.com/result?p=nest-problem-details-filter)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Main pipeline](https://github.com/Fcmam5/nest-problem-details/actions/workflows/main.yml/badge.svg)](https://github.com/Fcmam5/nest-problem-details/actions/workflows/main.yml) ![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/Fcmam5/nest-problem-details?utm_source=oss&utm_medium=github&utm_campaign=Fcmam5%2Fnest-problem-details&labelColor=171717&color=FF570A&link=https%3A%2F%2Fcoderabbit.ai&label=CodeRabbit+Reviews) [![Coverage Status](https://coveralls.io/repos/github/Fcmam5/nest-problem-details/badge.svg?branch=develop)](https://coveralls.io/github/Fcmam5/nest-problem-details?branch=develop)\n\nMake NestJS return [RFC 9457](https://datatracker.ietf.org/doc/html/rfc9457) (formerly [RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807))-compliant **Problem Details for HTTP APIs**. Drop in one filter — no code changes — and every error in your app starts speaking `application/problem+json`.\n\n> Keywords: RFC 9457, RFC 7807, Problem Details, HTTP API errors, NestJS, application/problem+json.\n\n## Quick start\n\n```bash\nnpm i nest-problem-details-filter\n```\n\n```ts\n// main.ts\nimport { HttpAdapterHost, NestFactory } from '@nestjs/core';\nimport { HttpExceptionFilter } from 'nest-problem-details-filter';\nimport { AppModule } from './app/app.module';\n\nconst app = await NestFactory.create(AppModule);\napp.useGlobalFilters(new HttpExceptionFilter(app.get(HttpAdapterHost)));\n```\n\nEvery `HttpException` your app throws now serializes to `application/problem+json`:\n\n```diff\n- HTTP/1.1 404 Not Found\n- Content-Type: application/json\n- { \"statusCode\": 404, \"message\": \"Dragon not found\" }\n+ HTTP/1.1 404 Not Found\n+ Content-Type: application/problem+json\n+ { \"type\": \"not-found\", \"title\": \"Dragon not found\", \"status\": 404 }\n```\n\nSee [Usage](#usage) for module setup, `Retry-After`, validation errors, and Swagger.\n\n## Features\n\n- **RFC 9457 / RFC 7807 Compliant** - Standardized Problem Details for HTTP APIs\n- **Strict RFC 9457 defaults** - `strictRfcDefaults: true` opts into spec-correct `title`/`detail` mapping and `about:blank` type for any exception lacking an explicit caller-supplied type (see [Strict RFC 9457 defaults](#strict-rfc-9457-defaults))\n- **`Retry-After` header support** - Per RFC 9110 §10.2.3, opt-in via `ProblemDetailsException` or any `HttpException` subclass exposing `retryAfter`\n- **`ProblemDetailsException` base exception class** - Throw RFC 9457 payloads directly with optional `Retry-After`, custom extensions, and machine-readable `errorCode` (see [Throwing exceptions](#throwing-exceptions))\n- **Swagger / OpenAPI decorator (optional)** - `@ApiProblemResponse()` via `nest-problem-details-filter/swagger` subpath auto-documents `application/problem+json` without forcing `@nestjs/swagger` on users who don't need it\n- **Docs / runtime alignment** - Shared resolvers guarantee OpenAPI examples match the wire format (status-to-type map, title fallbacks, base-URI resolution)\n- **Flexible validation error handling** - Three approaches from zero-config to full RFC 9457 JSON Pointer compliance (see [Validation errors](#validation-errors))\n- **Machine-readable error codes** - NestJS 12's `errorCode` is surfaced as an RFC 9457 `errorCode` extension member (see [Throwing exceptions](#throwing-exceptions))\n- **Zero runtime dependencies** - Core filter has no runtime dependencies\n\n## Table of contents: <!-- omit from toc -->\n\n- [NestHttpProblemDetails (RFC 9457 / RFC 7807)](#nesthttpproblemdetails-rfc-9457--rfc-7807)\n  - [Quick start](#quick-start)\n  - [Features](#features)\n  - [Usage](#usage)\n    - [As a global filter](#as-a-global-filter)\n      - [Suppressing `detail` in production](#suppressing-detail-in-production)\n      - [Strict RFC 9457 defaults](#strict-rfc-9457-defaults)\n    - [As a module](#as-a-module)\n    - [Throwing exceptions](#throwing-exceptions)\n      - [`Retry-After` header](#retry-after-header)\n    - [Swagger / OpenAPI](#swagger--openapi)\n    - [Example response](#example-response)\n    - [OpenAPI schema](#openapi-schema)\n    - [Documentation](#documentation)\n    - [Validation errors](#validation-errors)\n      - [Approach 1 — Zero config](#approach-1--zero-config)\n      - [Approach 2 — Field-map via `BadRequestException`](#approach-2--field-map-via-badrequestexception)\n      - [Approach 3 — `ProblemDetailsException` (field-map or RFC pointer array)](#approach-3--problemdetailsexception-field-map-or-rfc-pointer-array)\n  - [Development](#development)\n    - [Tests](#tests)\n    - [Mock app](#mock-app)\n    - [Lint \\& format](#lint--format)\n    - [Build](#build)\n  - [Resources](#resources)\n  - [Contributing](#contributing)\n  - [Security](#security)\n  - [License](#license)\n\n## Usage\n\nInstall the library with:\n\n```bash\n# npm\nnpm i nest-problem-details-filter\n\n# or, pnpm\npnpm i nest-problem-details-filter\n```\n\nThen check [NestJS documentation](https://docs.nestjs.com/exception-filters#binding-filters) on how to bind exception filters.\n\n### As a global filter\n\nIn `main.ts` add `app.useGlobalFilters(new HttpExceptionFilter(app.get(HttpAdapterHost)))` as the following\n\n```ts\nimport { NestFactory, HttpAdapterHost } from '@nestjs/core';\nimport { HttpExceptionFilter } from 'nest-problem-details-filter';\nimport { AppModule } from './app/app.module';\n\nasync function bootstrap() {\n  ...\n\n  const app = await NestFactory.create(AppModule);\n\n  app.useGlobalFilters(new HttpExceptionFilter(app.get(HttpAdapterHost)));\n\n  ...\n}\n```\n\nNote that the `app.get(HttpAdapterHost)` argument is needed because the `HttpExceptionFilter` works for any kind of [NestJS HTTP adapter](https://docs.nestjs.com/faq/http-adapter)!\n\n`HttpExceptionFilter` accepts a base URI for if you want to return absolute URIs for your problem types, e.g:\n\n```ts\napp.useGlobalFilters(new HttpExceptionFilter(app.get(HttpAdapterHost), 'https://example.org'));\n```\n\nWill return:\n\n```json\n{\n  \"type\": \"https://example.org/not-found\",\n  \"title\": \"Dragon not found\",\n  \"status\": 404,\n  \"detail\": \"Could not find any dragon with ID: 99\"\n}\n```\n\n#### Suppressing `detail` in production\n\n> **Recommended for production deployments.** The `detail` field can expose internal error messages to clients. Use the `suppressDetail` option to omit it — either always, or based on custom logic.\n\nWhen you use Nest's built-in exceptions (e.g. `NotFoundException`, `BadRequestException`) or throw a plain `HttpException` without a custom `ProblemDetailsException`, the filter maps the exception's built-in message directly into `detail`. This means stack traces, database error strings, or other sensitive messages can leak to the client without any extra effort on your part.\n\nFor example, throwing `new InternalServerErrorException('Database connection timeout')` will produce:\n\n```json\n{\n  \"type\": \"internal-server-error\",\n  \"title\": \"Internal Server Error\",\n  \"status\": 500,\n  \"detail\": \"Database connection timeout\"\n}\n```\n\nThe `suppressDetail` option accepts either a boolean or a callback:\n\n```ts\nimport { HttpExceptionFilter, SuppressDetail } from 'nest-problem-details-filter';\n\n// Always suppress detail on every response:\napp.useGlobalFilters(new HttpExceptionFilter(app.get(HttpAdapterHost), '', undefined, true));\n\n// Or suppress selectively with a callback:\napp.useGlobalFilters(new HttpExceptionFilter(app.get(HttpAdapterHost), '', undefined, ({ status }) => status >= 500));\n```\n\nWith the callback above, `detail` is stripped from all 5xx responses while remaining visible on 4xx responses (where it is typically safe and useful, e.g. validation messages). See [`docs/usage.md`](./docs/usage.md#suppressing-detail-in-production) for the full API including the `SUPPRESS_DETAIL_KEY` DI token for module usage.\n\n#### Strict RFC 9457 defaults\n\nBy default the filter preserves the legacy `title`/`detail` field mapping for backward compatibility. Enable `strictRfcDefaults` to get fully spec-compliant behavior for any exception that lacks an explicit caller-supplied type:\n\n```ts\n// global filter\napp.useGlobalFilters(\n  new HttpExceptionFilter(app.get(HttpAdapterHost), '', undefined, undefined, true),\n);\n\n// or via the module\nNestProblemDetailsModule.register({ strictRfcDefaults: true })\n```\n\nWith `strictRfcDefaults: true`:\n\n| Throw | `type` | `title` | `detail` |\n|---|---|---|---|\n| `new NotFoundException('Baked goods not found')` | `about:blank` | `Not Found` | `Baked goods not found` |\n| `new NotFoundException()` | `about:blank` | `Not Found` | `Not Found` |\n| `new HttpException('Custom msg', 418)` | `about:blank` | `I'm a Teapot` | `Custom msg` |\n\nWithout the flag (default), the legacy mapping is used. For Nest built-in exceptions (object responses with a string `error` field such as `NotFoundException`), the caller message goes to `title` and the HTTP error string (e.g. `\"Not Found\"`) to `detail`. For plain string responses such as `new HttpException('Custom msg', 418)`, the message maps to `title` and `detail` remains unset.\n\n> **Migration path:** `strictRfcDefaults` defaults to `false` in v1.x. In v2 (next major) it will default to `true` — pass `false` explicitly to keep legacy behavior. In the major release after that, the flag will be removed and strict mode will be the only behavior.\n>\n> **Note:** `strictRfcDefaults` applies to any exception without an explicit `type`: both plain `HttpException` / built-in Nest exceptions and `ProblemDetailsException` instances missing an explicit type emit `about:blank`. Explicit types and details set via `ProblemDetailsException` or the `error` object form are always preserved as-is.\n\nSee [`docs/usage.md`](./docs/usage.md#strict-rfc-9457-defaults) for more details.\n\n### As a module\n\nThe library ships as a [dynamic module](https://docs.nestjs.com/fundamentals/dynamic-modules). Use `register()` (or `registerAsync()`) to configure it, and `HTTP_EXCEPTION_FILTER_KEY` to bind it to `APP_FILTER`:\n\n```typescript\nimport { APP_FILTER } from '@nestjs/core';\nimport { NestProblemDetailsModule, HTTP_EXCEPTION_FILTER_KEY } from 'nest-problem-details-filter';\n\n@Module({\n  imports: [\n    NestProblemDetailsModule.register({\n      baseUri: 'https://api.example.org/problems',\n      httpErrorsMap: { 418: 'teapot-error' },\n      suppressDetail: ({ status }) => status >= 500,\n      strictRfcDefaults: true,\n    }),\n  ],\n  providers: [\n    {\n      provide: APP_FILTER,\n      useExisting: HTTP_EXCEPTION_FILTER_KEY,\n    },\n  ],\n})\nexport class AppModule {}\n```\n\nFor config-driven setups, `registerAsync()` resolves options from a factory:\n\n```typescript\nNestProblemDetailsModule.registerAsync({\n  imports: [ConfigModule],\n  inject: [ConfigService],\n  useFactory: (config: ConfigService) => ({\n    baseUri: config.get('PROBLEMS_BASE_URI'),\n  }),\n});\n```\n\nImporting `NestProblemDetailsModule` directly (without calling `register()`) still works and uses sensible defaults. The legacy pattern of overriding `BASE_PROBLEMS_URI_KEY`, `HTTP_ERRORS_MAP_KEY` and `SUPPRESS_DETAIL_KEY` providers manually is also still supported.\n\nSee:\n\n- [NestJS Dynamic Modules](https://docs.nestjs.com/fundamentals/dynamic-modules)\n- [Custom providers: Alias providers (`useExisting`)](https://docs.nestjs.com/fundamentals/custom-providers#alias-providers-useexisting)\n- [Using `APP_FILTER` token](https://docs.nestjs.com/exception-filters#binding-filters)\n\n### Throwing exceptions\n\nTo produce a Problem Details response, throw either:\n\n- `ProblemDetailsException` — accepts a flat RFC 9457 payload directly (recommended for new code), or\n- a native `HttpException` (`NotFoundException`, `ForbiddenException`, custom subclasses, ...) — the filter recognizes the standard Nest payload shape.\n\n```ts\nimport { ProblemDetailsException } from 'nest-problem-details-filter';\n\nthrow new ProblemDetailsException({\n  type: 'out-of-credit',\n  title: 'You do not have enough credit.',\n  status: 403,\n  detail: 'Your balance is 30, but that costs 50.',\n  balance: 30,\n});\n```\n\n`type` is optional; when omitted, the filter resolves it from its status-to-type map (or falls back to `about:blank`, per RFC 9457 §4.2.1).\n\n#### `Retry-After` header\n\nPass `retryAfter` as a number (delta-seconds), `Date` (absolute), or pre-formatted string on any retriable error response. The filter sets the `Retry-After` header per [RFC 9110 §10.2.3](https://datatracker.ietf.org/doc/html/rfc9110#section-10.2.3) and strips the value from the JSON body. Common cases are `429 Too Many Requests` (rate limiting) and `503 Service Unavailable` (maintenance / backpressure), but the library imposes no status restriction.\n\n```ts\nthrow new ProblemDetailsException({\n  type: 'rate-limit-exceeded',\n  title: 'Too Many Requests',\n  status: 429,\n  detail: 'Quota exceeded.',\n  retryAfter: 3600, // → \"Retry-After: 3600\"\n});\n```\n\nThe filter reads `retryAfter` from any `HttpException` instance (duck-typed), so you can extend Nest's built-in exceptions instead:\n\n```ts\nimport { ServiceUnavailableException } from '@nestjs/common';\nimport { RetryAfterValue } from 'nest-problem-details-filter';\n\nclass MaintenanceException extends ServiceUnavailableException {\n  constructor(public readonly retryAfter: RetryAfterValue) {\n    super('Maintenance window in progress.');\n  }\n}\n\nthrow new MaintenanceException(300); // → \"Retry-After: 300\"\n```\n\nSee [`docs/usage.md`](./docs/usage.md) for the full set of examples (including the native `HttpException` form and `Retry-After` details).\n\n### Swagger / OpenAPI\n\nIf you use `@nestjs/swagger`, import `@ApiProblemResponse` from the `nest-problem-details-filter/swagger` subpath to document `application/problem+json` responses:\n\n```ts\nimport { ApiProblemResponse } from 'nest-problem-details-filter/swagger';\n\n@Controller('dragons')\nexport class DragonsController {\n  @Get(':id')\n  @ApiProblemResponse({ status: 404, type: 'not-found', title: 'Dragon not found' })\n  @ApiProblemResponse({ status: 429, type: 'rate-limit-exceeded', retryAfter: 3600 })\n  findOne(@Param('id') id: string) { ... }\n}\n```\n\nThe decorator is **stackable**: apply once per status code. It auto-generates:\n\n- The canonical `ProblemDetails` schema under `content['application/problem+json']`\n- A response example with `type`, `title`, and `status`\n- The `Retry-After` header schema when `retryAfter` is provided\n\nIf your filter is configured with a `BASE_PROBLEMS_URI`, pass the same value as `baseUri` so the OpenAPI docs match the runtime wire format:\n\n```ts\n@ApiProblemResponse({ status: 404, type: 'not-found', baseUri: 'https://api.example.com/problems' })\n// OpenAPI example type → \"https://api.example.com/problems/not-found\"\n```\n\nLikewise, if you override the default status-to-type map via `HTTP_ERRORS_MAP_KEY`, pass the same map as `httpErrors`:\n\n```ts\n@ApiProblemResponse({ status: 404, httpErrors: { 404: 'missing-resource' } })\n// OpenAPI example type → \"missing-resource\" (not the built-in default)\n```\n\nBy default the decorator inlines the schema in every response so it works out of the box. If you want a named `ProblemDetails` entry in Swagger UI's **Schemas** section, call `addProblemDetailsSchema()` after creating the document:\n\n```ts\nimport { addProblemDetailsSchema } from 'nest-problem-details-filter/swagger';\n\nconst document = SwaggerModule.createDocument(app, builder);\naddProblemDetailsSchema(document);\n```\n\nSee [`docs/usage.md`](./docs/usage.md) for the full decorator API (custom schemas, explicit `examples`, `headers`, etc.).\n\n> **Preview**: copy [`tests/fixtures/swagger-document.json`](./tests/fixtures/swagger-document.json) and paste it into [editor.swagger.io](https://editor.swagger.io) to see how the decorator renders in Swagger UI.\n\n### Example response\n\n```bash\n# curl -i http://localhost:3333/api/dragons/99?title=true&details=true\n\nHTTP/1.1 404 Not Found\nContent-Type: application/problem+json; charset=utf-8\nContent-Length: 109\n...\n\n{\n  \"type\": \"not-found\",\n  \"title\": \"Dragon not found\",\n  \"status\": 404,\n  \"detail\": \"Could not find any dragon with ID: 99\"\n}\n```\n\n### OpenAPI schema\n\nFull JSON Schema and OpenAPI 3.0 definitions are available in [`docs/openapi.md`](./docs/openapi.md).\n\n```yaml\ncomponents:\n  schemas:\n    ProblemDetails:\n      type: object\n      description: >\n        Problem Details object as defined by RFC 9457 (formerly RFC 7807).\n        Returned with media type `application/problem+json`.\n      required:\n        - type\n        - title\n        - status\n      properties:\n        type:\n          type: string\n          format: uri-reference\n          maxLength: 1024\n          default: 'about:blank'\n          description: >\n            A URI reference that identifies the problem type. Per RFC 9457\n            this is a URI-reference (may be relative). Defaults to\n            \"about:blank\" when not provided.\n          example: 'about:blank'\n        title:\n          type: string\n          maxLength: 1024\n          description: >\n            A short, human-readable summary of the problem type. It should\n            not change from occurrence to occurrence of the problem, except\n            for purposes of localization.\n          example: 'Not Found'\n        status:\n          type: integer\n          format: int32\n          minimum: 100\n          maximum: 599\n          description: >\n            The HTTP status code generated by the origin server for this\n            occurrence of the problem.\n          example: 404\n        detail:\n          type: string\n          maxLength: 4096\n          description: >\n            A human-readable explanation specific to this occurrence of the\n            problem.\n          example: 'Could not find any dragon with ID: 99'\n        instance:\n          type: string\n          format: uri-reference\n          maxLength: 1024\n          description: >\n            A URI reference that identifies the specific occurrence of the\n            problem.\n          example: '/dragons/99'\n      additionalProperties: true\n```\n\n### Documentation\n\nCheck the [`docs/`](./docs/) folder for usage examples, the [OpenAPI schema](./docs/openapi.md), and the [RFC 9457 compliance test suite](./docs/rfc9457-compliance.md).\n\n### Validation errors\n\nThe filter ships three flexible approaches for surfacing `class-validator` validation errors — all using the `errors` RFC 9457 extension member (not `detail`, per §3.1.4).\n\n> **Peer dependency:** the helpers below require `class-validator` (already a NestJS validation standard). Install it alongside the filter:\n>\n> ```bash\n> npm install class-validator\n> ```\n\n#### Approach 1 — Zero config\n\nJust register `ValidationPipe` + `HttpExceptionFilter`. The filter detects the `string[]` message Nest emits and moves it to `errors` automatically ([why not using `details` as array?](./docs/usage.md#validation-error-handling)):\n\n```json\n{\n  \"type\": \"bad-request\",\n  \"title\": \"Bad Request\",\n  \"status\": 400,\n  \"detail\": \"Bad Request\",\n  \"errors\": [\"username must be longer than or equal to 3 characters\", \"email must be an email\"]\n}\n```\n\n#### Approach 2 — Field-map via `BadRequestException`\n\nUse `mapClassValidatorErrors()` in `exceptionFactory` for per-field grouping with dotted-path nesting:\n\n```ts\nimport { mapClassValidatorErrors } from 'nest-problem-details-filter/class-validator-mappers';\n\nnew ValidationPipe({\n  exceptionFactory: (e) => new BadRequestException({ message: 'Validation failed', errors: mapClassValidatorErrors(e) }),\n});\n```\n\n```json\n{\n  \"type\": \"bad-request\",\n  \"title\": \"Validation failed\",\n  \"status\": 400,\n  \"errors\": {\n    \"email\": [\"must be an email\"],\n    \"address.street\": [\"should not be empty\"]\n  }\n}\n```\n\n#### Approach 3 — `ProblemDetailsException` (field-map or RFC pointer array)\n\nUse `toValidationProblemDetails()` for a one-liner that returns a `ProblemDetailsException` directly:\n\n```ts\nimport { toValidationProblemDetails } from 'nest-problem-details-filter/class-validator-mappers';\n\n// Field-map (default)\nnew ValidationPipe({ exceptionFactory: (e) => toValidationProblemDetails(e) });\n\n// RFC 9457 JSON Pointer array\nnew ValidationPipe({ exceptionFactory: (e) => toValidationProblemDetails(e, { usePointers: true }) });\n```\n\nPointer format output:\n\n```json\n{\n  \"type\": \"validation-error\",\n  \"title\": \"Validation Failed\",\n  \"status\": 400,\n  \"errors\": [\n    { \"detail\": \"must be an email\", \"pointer\": \"#/email\" },\n    { \"detail\": \"should not be empty\", \"pointer\": \"#/address/street\" }\n  ]\n}\n```\n\nSee [`docs/usage.md`](./docs/usage.md#validation-error-handling) for the full walkthrough including nested objects, custom validators, and all options.\n\n## Development\n\n### Tests\n\nThe library includes reusable integration tests that run against real NestJS applications backed by **Express** and **Fastify** to verify that the filter works correctly with each HTTP adapter.\n\n```bash\n# Run all tests (unit + integration)\nnpm test\n\n# Watch mode\nnpm run test:watch\n\n# With coverage\nnpm run test:cov\n```\n\nA dedicated suite in [`tests/rfc9457/`](./tests/rfc9457/) checks the wire\nformat against the normative text of RFC 9457, section by section — see\n[`docs/rfc9457-compliance.md`](./docs/rfc9457-compliance.md) for the layout,\nwhat's covered, and known gaps (tracked via `TODO #<issue>` markers on any\nskipped test).\n\n> **Disclaimer:** the RFC 9457 compliance suite was generated with AI\n> assistance, prompted to read the RFC directly and derive tests from\n> its MUST/SHOULD statements for #44, then reviewed by a maintainer. It isn't\n> guaranteed to be a complete or perfectly faithful reading of the spec — if\n> you find a gap or a misreading, please\n> [file an issue](https://github.com/Fcmam5/nest-problem-details/issues/new)\n> and/or a PR.\n\n### Mock app\n\nA local NestJS server is available for manual testing and exploring the Swagger / OpenAPI output. It reuses the same controllers as the integration tests, decorated with `@ApiProblemResponse` so the generated spec includes `application/problem+json` response examples.\n\n```bash\n# Start the mock app (reuses the same controllers as the integration tests)\nnpm run start:mock\n```\n\n- API endpoints: `http://localhost:3000/api/test/...`\n- Swagger UI: `http://localhost:3000/api`\n\nThe mock app automatically restarts when you edit `tests/mock-main.ts` or `tests/test-app.module.ts`.\n\n### Lint & format\n\n```bash\nnpm run lint        # ESLint check (no auto-fix; fails on issues)\nnpm run lint:fix    # ESLint with --fix\nnpm run format      # Prettier (src/**/*.ts)\n```\n\n### Build\n\n```bash\nnpm run build       # Compiles src/ → dist/ via nest build\n```\n\n## Resources\n\n- [IETF RFC 9457: Problem Details for HTTP APIs](https://datatracker.ietf.org/doc/html/rfc9457) (obsoletes RFC 7807)\n- [IETF RFC 7807: Problem Details for HTTP APIs (obsoleted)](https://datatracker.ietf.org/doc/html/rfc7807)\n- [Zalando RESTful API:](https://opensource.zalando.com/restful-api-guidelines/#176)\n- And of course, Nest's awesome community:\n  - [Exception filters](https://docs.nestjs.com/exception-filters#exception-filters-1)\n  - [@kamilmysliwiec's comment](https://github.com/nestjs/nest/issues/2953#issuecomment-531678153)\n\n## Contributing\n\nWe welcome contributions! Please see our [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on how to contribute to this project.\n\n## Security\n\nFor security-related issues, please review our [SECURITY.md](./SECURITY.md) for responsible disclosure guidelines.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details\n","readmeFilename":"README.md"}