@visulima/error-handler 2.0.0-alpha.3 → 2.0.0-alpha.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +332 -0
  2. package/LICENSE.md +1 -1
  3. package/dist/error-handler/html-error-handler.d.ts +13 -12
  4. package/dist/error-handler/html-error-handler.js +1 -1
  5. package/dist/error-handler/json-error-handler.d.ts +13 -12
  6. package/dist/error-handler/json-error-handler.js +1 -1
  7. package/dist/error-handler/jsonapi-error-handler.d.ts +3 -2
  8. package/dist/error-handler/jsonapi-error-handler.js +1 -1
  9. package/dist/error-handler/jsonp-error-handler.d.ts +14 -13
  10. package/dist/error-handler/jsonp-error-handler.js +1 -1
  11. package/dist/error-handler/problem-error-handler.d.ts +6 -5
  12. package/dist/error-handler/problem-error-handler.js +1 -1
  13. package/dist/error-handler/text-error-handler.d.ts +12 -11
  14. package/dist/error-handler/text-error-handler.js +1 -1
  15. package/dist/error-handler/xml-error-handler.d.ts +24 -23
  16. package/dist/error-handler/xml-error-handler.js +1 -1
  17. package/dist/handler/cli-handler.d.ts +27 -4
  18. package/dist/handler/http/fetch-handler.d.ts +8 -7
  19. package/dist/handler/http/fetch-handler.js +1 -1
  20. package/dist/handler/http/node-handler.d.ts +8 -8
  21. package/dist/handler/http/node-handler.js +1 -1
  22. package/dist/index.d.ts +12 -14
  23. package/dist/index.js +1 -1
  24. package/dist/packem_shared/add-status-code-to-response-Dc6Pvpeh.js +1 -0
  25. package/dist/packem_shared/{createNegotiatedErrorHandler-BLks0_Ak.js → createNegotiatedErrorHandler-DlEHBPFw.js} +1 -1
  26. package/dist/packem_shared/send-json-DfdjS9Xp.js +1 -0
  27. package/dist/packem_shared/types.d-C763gSYq.d.ts +13 -0
  28. package/package.json +31 -33
  29. package/dist/error-handler/create-negotiated-error-handler.d.ts +0 -4
  30. package/dist/error-handler/fetch-create-negotiated-error-handler.d.ts +0 -3
  31. package/dist/error-handler/fetch-html-error-handler.d.ts +0 -3
  32. package/dist/error-handler/utils/add-status-code-to-response.d.ts +0 -2
  33. package/dist/error-handler/utils/send-json.d.ts +0 -8
  34. package/dist/error-handler/utils/set-error-headers.d.ts +0 -3
  35. package/dist/packem_shared/add-status-code-to-response-BE6paXjR.js +0 -1
  36. package/dist/packem_shared/send-json-Cedv8-Bt.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,335 @@
1
+ ## @visulima/error-handler [2.0.0-alpha.30](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.29...@visulima/error-handler@2.0.0-alpha.30) (2026-06-04)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **error-handler:** 3 bug fixes ([550c3f1](https://github.com/visulima/visulima/commit/550c3f16fb702d01c24192c434ea190e83d2a21b))
6
+ * **lint:** clear pre-existing eslint rot across packages ([#674](https://github.com/visulima/visulima/issues/674)) ([5354253](https://github.com/visulima/visulima/commit/5354253b163bd50bcefaf8a3fddf831bdb5df32b))
7
+
8
+
9
+ ### Dependencies
10
+
11
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.12
12
+ * **@visulima/error:** upgraded to 6.0.0-alpha.32
13
+
14
+ ## @visulima/error-handler [2.0.0-alpha.29](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.28...@visulima/error-handler@2.0.0-alpha.29) (2026-06-02)
15
+
16
+ ### Bug Fixes
17
+
18
+ * **tests:** revert unsafe vitest autofixes from the lint sweep ([378f27c](https://github.com/visulima/visulima/commit/378f27caa370f1d3188aef2ed36d46839abc88c4))
19
+
20
+ ### Miscellaneous Chores
21
+
22
+ * apply eslint + prettier autofixes across packages ([c1bb784](https://github.com/visulima/visulima/commit/c1bb7848a0d93d0dfe2960c77e3cda22239c79a0))
23
+
24
+ ### Tests
25
+
26
+ * **error-handler:** cover negotiation, formatters, and onError paths ([9826de9](https://github.com/visulima/visulima/commit/9826de9093bf5a08c3e073390d6fc0da22ab93b1))
27
+ * **error-handler:** cover negotiator, reason-phrase and status branches ([3ad3ed0](https://github.com/visulima/visulima/commit/3ad3ed0bfac60a441091212bbc907f2440d364b3))
28
+ * improve coverage across packages ([91bd6d3](https://github.com/visulima/visulima/commit/91bd6d3b61736e3c8bd1fc59b0b5955f76a5d323))
29
+
30
+
31
+ ### Dependencies
32
+
33
+ * **@visulima/error:** upgraded to 6.0.0-alpha.31
34
+
35
+ ## @visulima/error-handler [2.0.0-alpha.28](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.27...@visulima/error-handler@2.0.0-alpha.28) (2026-05-27)
36
+
37
+ ### Bug Fixes
38
+
39
+ * **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
40
+
41
+ ### Documentation
42
+
43
+ * prettier-format agent instructions ([71b6414](https://github.com/visulima/visulima/commit/71b6414528780ac82c4e0bb25b5f4f11faba5549))
44
+
45
+ ### Miscellaneous Chores
46
+
47
+ * sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
48
+
49
+
50
+ ### Dependencies
51
+
52
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.11
53
+ * **@visulima/error:** upgraded to 6.0.0-alpha.30
54
+
55
+ ## @visulima/error-handler [2.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.26...@visulima/error-handler@2.0.0-alpha.27) (2026-05-26)
56
+
57
+ ### Miscellaneous Chores
58
+
59
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
60
+ * **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
61
+
62
+ ### Tests
63
+
64
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
65
+
66
+
67
+ ### Dependencies
68
+
69
+ * **@visulima/error:** upgraded to 6.0.0-alpha.28
70
+
71
+ ## @visulima/error-handler [2.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.25...@visulima/error-handler@2.0.0-alpha.26) (2026-05-20)
72
+
73
+
74
+ ### Dependencies
75
+
76
+ * **@visulima/error:** upgraded to 6.0.0-alpha.27
77
+
78
+ ## @visulima/error-handler [2.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.24...@visulima/error-handler@2.0.0-alpha.25) (2026-05-19)
79
+
80
+
81
+ ### Dependencies
82
+
83
+ * **@visulima/error:** upgraded to 6.0.0-alpha.26
84
+
85
+ ## @visulima/error-handler [2.0.0-alpha.24](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.23...@visulima/error-handler@2.0.0-alpha.24) (2026-05-16)
86
+
87
+
88
+ ### Dependencies
89
+
90
+ * **@visulima/error:** upgraded to 6.0.0-alpha.25
91
+
92
+ ## @visulima/error-handler [2.0.0-alpha.23](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.22...@visulima/error-handler@2.0.0-alpha.23) (2026-05-14)
93
+
94
+ ### Miscellaneous Chores
95
+
96
+ * **error:** apply prettier and eslint formatting sweep ([25c5eaf](https://github.com/visulima/visulima/commit/25c5eaf4989bddfe860b52aea113b3e229fea84f))
97
+
98
+
99
+ ### Dependencies
100
+
101
+ * **@visulima/error:** upgraded to 6.0.0-alpha.24
102
+
103
+ ## @visulima/error-handler [2.0.0-alpha.22](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.21...@visulima/error-handler@2.0.0-alpha.22) (2026-05-11)
104
+
105
+
106
+ ### Dependencies
107
+
108
+ * **@visulima/error:** upgraded to 6.0.0-alpha.23
109
+
110
+ ## @visulima/error-handler [2.0.0-alpha.21](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.20...@visulima/error-handler@2.0.0-alpha.21) (2026-05-11)
111
+
112
+
113
+ ### Dependencies
114
+
115
+ * **@visulima/error:** upgraded to 6.0.0-alpha.22
116
+
117
+ ## @visulima/error-handler [2.0.0-alpha.20](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.19...@visulima/error-handler@2.0.0-alpha.20) (2026-05-10)
118
+
119
+
120
+ ### Dependencies
121
+
122
+ * **@visulima/error:** upgraded to 6.0.0-alpha.21
123
+
124
+ ## @visulima/error-handler [2.0.0-alpha.19](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.18...@visulima/error-handler@2.0.0-alpha.19) (2026-05-10)
125
+
126
+
127
+ ### Dependencies
128
+
129
+ * **@visulima/error:** upgraded to 6.0.0-alpha.20
130
+
131
+ ## @visulima/error-handler [2.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.17...@visulima/error-handler@2.0.0-alpha.18) (2026-05-07)
132
+
133
+
134
+ ### Dependencies
135
+
136
+ * **@visulima/error:** upgraded to 6.0.0-alpha.19
137
+
138
+ ## @visulima/error-handler [2.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.16...@visulima/error-handler@2.0.0-alpha.17) (2026-05-07)
139
+
140
+
141
+ ### Dependencies
142
+
143
+ * **@visulima/error:** upgraded to 6.0.0-alpha.18
144
+
145
+ ## @visulima/error-handler [2.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.15...@visulima/error-handler@2.0.0-alpha.16) (2026-05-06)
146
+
147
+
148
+ ### Dependencies
149
+
150
+ * **@visulima/error:** upgraded to 6.0.0-alpha.17
151
+
152
+ ## @visulima/error-handler [2.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.14...@visulima/error-handler@2.0.0-alpha.15) (2026-05-06)
153
+
154
+ ### Miscellaneous Chores
155
+
156
+ * **error-handler:** apply prettier and eslint quote-style auto-fix ([27f45d8](https://github.com/visulima/visulima/commit/27f45d8686fefcf9a6ca8519d4199150617dbd9a))
157
+ * **error-handler:** housekeeping cleanup ([ea3f457](https://github.com/visulima/visulima/commit/ea3f457736922835b42e3b46aa83c575e76c4864))
158
+
159
+
160
+ ### Dependencies
161
+
162
+ * **@visulima/error:** upgraded to 6.0.0-alpha.16
163
+
164
+ ## @visulima/error-handler [2.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.13...@visulima/error-handler@2.0.0-alpha.14) (2026-05-04)
165
+
166
+
167
+ ### Dependencies
168
+
169
+ * **@visulima/error:** upgraded to 6.0.0-alpha.15
170
+
171
+ ## @visulima/error-handler [2.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.12...@visulima/error-handler@2.0.0-alpha.13) (2026-04-30)
172
+
173
+ ### Miscellaneous Chores
174
+
175
+ * **error-handler:** upgrade packem to 2.0.0-alpha.76 ([33bd1ff](https://github.com/visulima/visulima/commit/33bd1ffe927a6637444696b4acfd7a9052b26a8f))
176
+ * re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
177
+
178
+
179
+ ### Dependencies
180
+
181
+ * **@visulima/error:** upgraded to 6.0.0-alpha.14
182
+
183
+ ## @visulima/error-handler [2.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.11...@visulima/error-handler@2.0.0-alpha.12) (2026-04-22)
184
+
185
+ ### Bug Fixes
186
+
187
+ * **error-debugging:** resolve eslint and formatting issues ([7d0ada8](https://github.com/visulima/visulima/commit/7d0ada8787bf624df5a7d504448a4d1b69165aba))
188
+ * **error-debugging:** resolve eslint and type-safety issues ([886dbff](https://github.com/visulima/visulima/commit/886dbffe3f744c9493fcc54e781de3fd21eebf78))
189
+ * **error-handler:** remove unused [@ts-expect-error](https://github.com/ts-expect-error) on end() overload ([a8eb6a6](https://github.com/visulima/visulima/commit/a8eb6a6ab8d42c1a6881dda5c605a4d20dde069f))
190
+ * **error-handler:** resolve eslint and formatting issues ([324f5d8](https://github.com/visulima/visulima/commit/324f5d89f1bcceac4fbe44c6002040aa63be1ec9))
191
+ * Remove JSR configuration generation script and generated jsr.json files ([#616](https://github.com/visulima/visulima/issues/616)) ([533744b](https://github.com/visulima/visulima/commit/533744b103b74896941db5b727173e617a27a63b))
192
+
193
+ ### Miscellaneous Chores
194
+
195
+ * bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
196
+ * **error-handler:** apply formatter and lint fixes ([9ab7d48](https://github.com/visulima/visulima/commit/9ab7d48758f89b434e8c463c45f94eedc4619ab9))
197
+ * **error-handler:** enforce curly braces and apply lint fixes ([ced1569](https://github.com/visulima/visulima/commit/ced1569c34fde28975eda76e5e84db6d87059865))
198
+ * fixed jsr.json ([5d85e51](https://github.com/visulima/visulima/commit/5d85e5179de38e284ec433b14d77c71a1619c8d6))
199
+
200
+ ### Continuous Integration
201
+
202
+ * disable isolatedDeclarationTransformer ([d5845d8](https://github.com/visulima/visulima/commit/d5845d888012fbe20a020cb2c02ec57269356e56))
203
+
204
+
205
+ ### Dependencies
206
+
207
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.10
208
+
209
+ ## @visulima/error-handler [2.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.10...@visulima/error-handler@2.0.0-alpha.11) (2026-04-08)
210
+
211
+ ### Bug Fixes
212
+
213
+ * **error-handler:** properly fix eslint errors in code ([591179f](https://github.com/visulima/visulima/commit/591179fb1b56587986449878a95abfc18f6d735b))
214
+ * **error-handler:** remove remaining eslint suppressions with proper code fixes ([58b05d6](https://github.com/visulima/visulima/commit/58b05d6cb5d98c29e0abe57af35120696504b22b))
215
+ * **error-handler:** resolve eslint errors ([ab613b8](https://github.com/visulima/visulima/commit/ab613b8683677fd0ca7e09b06b3fe94e59df9bd0))
216
+
217
+ ### Miscellaneous Chores
218
+
219
+ * apply linting and formatting fixes across packages ([5d150a5](https://github.com/visulima/visulima/commit/5d150a578f9ce861c791843c683deeb849b774a9))
220
+ * **error-debugging:** remove empty dependency objects from package.json ([7eb7c8e](https://github.com/visulima/visulima/commit/7eb7c8eba1394e515fa77c0f56baf41c0810de2e))
221
+ * **error-handler:** add tsconfig.eslint.json for type-aware linting ([8e52a91](https://github.com/visulima/visulima/commit/8e52a916c1b7a0262b5ef097985be5ccaa735401))
222
+ * **error-handler:** apply prettier formatting ([eeb50dd](https://github.com/visulima/visulima/commit/eeb50ddf301722cb7f1439001d2b1c06e88797ae))
223
+ * **error-handler:** migrate .prettierrc.cjs to prettier.config.js ([6fb8eb8](https://github.com/visulima/visulima/commit/6fb8eb8832335f8b249cded58fe78c3ee5edc000))
224
+
225
+
226
+ ### Dependencies
227
+
228
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.9
229
+ * **@visulima/error:** upgraded to 6.0.0-alpha.8
230
+
231
+ ## @visulima/error-handler [2.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.9...@visulima/error-handler@2.0.0-alpha.10) (2026-03-26)
232
+
233
+ ### Features
234
+
235
+ * **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
236
+
237
+
238
+ ### Dependencies
239
+
240
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.8
241
+ * **@visulima/error:** upgraded to 6.0.0-alpha.7
242
+
243
+ ## @visulima/error-handler [2.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.8...@visulima/error-handler@2.0.0-alpha.9) (2026-03-26)
244
+
245
+ ### Bug Fixes
246
+
247
+ * **error-handler:** use workspace:* for internal [@visulima](https://github.com/visulima) deps ([d453330](https://github.com/visulima/visulima/commit/d4533305f56a3e6f06e7381f639aa89ce4ae477b))
248
+ * **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
249
+
250
+ ### Miscellaneous Chores
251
+
252
+ * **error-handler:** migrate deps to pnpm catalogs ([cc75436](https://github.com/visulima/visulima/commit/cc75436984973d46084af7aa592cb5bf45736b30))
253
+
254
+
255
+ ### Dependencies
256
+
257
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.7
258
+ * **@visulima/error:** upgraded to 6.0.0-alpha.6
259
+
260
+ ## @visulima/error-handler [2.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.7...@visulima/error-handler@2.0.0-alpha.8) (2026-03-16)
261
+
262
+ ### Bug Fixes
263
+
264
+ * resolve 5 audit vulnerabilities (simple-git, express-rate-limit, tar, file-type, hono) ([2986d77](https://github.com/visulima/visulima/commit/2986d770746afd3223a074dc1a1a0040cca56e61))
265
+
266
+ ### Miscellaneous Chores
267
+
268
+ * **error-handler:** update dependencies ([7423461](https://github.com/visulima/visulima/commit/742346112111d015094b7db7e759e422acaf52d5))
269
+ * visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
270
+
271
+ ## @visulima/error-handler [2.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.6...@visulima/error-handler@2.0.0-alpha.7) (2026-03-06)
272
+
273
+ ### Bug Fixes
274
+
275
+ * **error-handler:** update packem to 2.0.0-alpha.54 ([03aad29](https://github.com/visulima/visulima/commit/03aad29df5527fa431ad01b561ea296d6f1cf622))
276
+
277
+ ### Documentation
278
+
279
+ * **error,error-handler,ono,inspector,source-map,vite-overlay:** add comprehensive Fumadocs documentation ([a0c8c92](https://github.com/visulima/visulima/commit/a0c8c92949cff2730fc6122f717fe344c030f366))
280
+
281
+ ### Miscellaneous Chores
282
+
283
+ * **error-debugging:** update dependencies ([6002ece](https://github.com/visulima/visulima/commit/6002ece1803b2ba8261cff42a362dd6e8ddcc3ee))
284
+ * **error-handler:** update dependencies ([306a3b8](https://github.com/visulima/visulima/commit/306a3b89dedbe6e50ff1978e3635ddea99e527e4))
285
+ * update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
286
+ * year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
287
+
288
+
289
+ ### Dependencies
290
+
291
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.6
292
+ * **@visulima/error:** upgraded to 6.0.0-alpha.5
293
+
294
+ ## @visulima/error-handler [2.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.5...@visulima/error-handler@2.0.0-alpha.6) (2026-01-17)
295
+
296
+ ### Miscellaneous Chores
297
+
298
+ * **error-handler:** update dependencies ([e84d234](https://github.com/visulima/visulima/commit/e84d234a98400af596aecc265b7121ef607237dd))
299
+
300
+
301
+ ### Dependencies
302
+
303
+ * **@visulima/error:** upgraded to 6.0.0-alpha.4
304
+
305
+ ## @visulima/error-handler [2.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.4...@visulima/error-handler@2.0.0-alpha.5) (2025-12-27)
306
+
307
+ ### Bug Fixes
308
+
309
+ * **dependencies:** update hono and related packages to version 4.11.2 and update @hono/swagger-ui to version 0.5.3 ([5d3eed5](https://github.com/visulima/visulima/commit/5d3eed57d30d8216bf91484f35d39678938651fb))
310
+ * **error-handler:** update package files ([a059109](https://github.com/visulima/visulima/commit/a059109774f5b961326ab917083db91cff641667))
311
+
312
+ ### Miscellaneous Chores
313
+
314
+ * **dependencies:** update msw to version 2.12.6, jsdom to version 27.4.0, and [@tanstack](https://github.com/tanstack) packages to version 1.144.0 in package.json files ([1aa0236](https://github.com/visulima/visulima/commit/1aa0236e1f8190eecf7526cf2dc0f369cac02d87))
315
+
316
+
317
+ ### Dependencies
318
+
319
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.5
320
+ * **@visulima/error:** upgraded to 6.0.0-alpha.3
321
+
322
+ ## @visulima/error-handler [2.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.3...@visulima/error-handler@2.0.0-alpha.4) (2025-12-13)
323
+
324
+ ### Miscellaneous Chores
325
+
326
+ * fixed project.json names and schema path ([964722f](https://github.com/visulima/visulima/commit/964722f691db205c7edb9aa6db29e849a647500b))
327
+
328
+
329
+ ### Dependencies
330
+
331
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.4
332
+
1
333
  ## @visulima/error-handler [2.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.2...@visulima/error-handler@2.0.0-alpha.3) (2025-12-11)
2
334
 
3
335
  ### Bug Fixes
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 visulima
3
+ Copyright (c) 2026 visulima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,13 +1,14 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { ErrorHandler } from "./types.d.d.ts";
3
- export type HtmlErrorHandlerOptions = {
4
- cspNonce?: string;
5
- errorPage?: string | ((parameters: {
6
- error: Error;
7
- reasonPhrase: string;
8
- request: IncomingMessage;
9
- response: ServerResponse;
10
- statusCode: number;
11
- }) => string | Promise<string>);
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { a as ErrorHandler } from "../packem_shared/types.d-C763gSYq.js";
3
+ type HtmlErrorHandlerOptions = {
4
+ cspNonce?: string;
5
+ errorPage?: string | ((parameters: {
6
+ error: Error;
7
+ reasonPhrase: string;
8
+ request: IncomingMessage;
9
+ response: ServerResponse;
10
+ statusCode: number;
11
+ }) => string | Promise<string>);
12
12
  };
13
- export declare const htmlErrorHandler: (options?: HtmlErrorHandlerOptions) => ErrorHandler;
13
+ declare const htmlErrorHandler: (options?: HtmlErrorHandlerOptions) => ErrorHandler;
14
+ export { HtmlErrorHandlerOptions, htmlErrorHandler };
@@ -1,4 +1,4 @@
1
- var l=Object.defineProperty;var n=(e,r)=>l(e,"name",{value:r,configurable:!0});import{getReasonPhrase as c}from"http-status-codes";import{a as m}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";var g=Object.defineProperty,s=n((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const x=s((e={})=>async(r,d,t)=>{m(t,r),t.setHeader("content-type","text/html; charset=utf-8");const o=c(t.statusCode)||"Error",a=e.cspNonce?` nonce="${e.cspNonce}"`:"";if(e.errorPage){const i=typeof e.errorPage=="function"?await e.errorPage({error:r,reasonPhrase:o,request:d,response:t,statusCode:t.statusCode}):e.errorPage;if(i){t.end(i);return}}t.end(String.raw`<!DOCTYPE html>
1
+ var l=Object.defineProperty;var n=(e,r)=>l(e,"name",{value:r,configurable:!0});import{getReasonPhrase as c}from"http-status-codes";import{p as m}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";var g=Object.defineProperty,s=n((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const x=s((e={})=>async(r,d,t)=>{m(t,r),t.setHeader("content-type","text/html; charset=utf-8");const o=c(t.statusCode)||"Error",a=e.cspNonce?` nonce="${e.cspNonce}"`:"";if(e.errorPage){const i=typeof e.errorPage=="function"?await e.errorPage({error:r,reasonPhrase:o,request:d,response:t,statusCode:t.statusCode}):e.errorPage;if(i){t.end(i);return}}t.end(String.raw`<!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8">
@@ -1,14 +1,15 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { ErrorHandler } from "./types.d.d.ts";
3
- export type JsonErrorBody = Record<string, unknown> | unknown[];
4
- export type JsonErrorFormatter = (parameters: {
5
- error: Error;
6
- reasonPhrase: string;
7
- request: IncomingMessage;
8
- response: ServerResponse;
9
- statusCode: number;
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { a as ErrorHandler } from "../packem_shared/types.d-C763gSYq.js";
3
+ type JsonErrorBody = Record<string, unknown> | unknown[];
4
+ type JsonErrorFormatter = (parameters: {
5
+ error: Error;
6
+ reasonPhrase: string;
7
+ request: IncomingMessage;
8
+ response: ServerResponse;
9
+ statusCode: number;
10
10
  }) => JsonErrorBody | Promise<JsonErrorBody>;
11
- export type JsonErrorHandlerOptions = {
12
- formatter?: JsonErrorFormatter;
11
+ type JsonErrorHandlerOptions = {
12
+ formatter?: JsonErrorFormatter;
13
13
  };
14
- export declare const jsonErrorHandler: (options?: JsonErrorHandlerOptions) => ErrorHandler;
14
+ declare const jsonErrorHandler: (options?: JsonErrorHandlerOptions) => ErrorHandler;
15
+ export { JsonErrorBody, JsonErrorFormatter, JsonErrorHandlerOptions, jsonErrorHandler };
@@ -1 +1 @@
1
- var p=Object.defineProperty;var a=(e,r)=>p(e,"name",{value:r,configurable:!0});import{getReasonPhrase as u}from"http-status-codes";import{a as f}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as n}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as i}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,l=a((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const h=l((e={})=>async(r,m,s)=>{f(s,r),i(s,r);const{statusCode:o}=s,t=u(o)||"An error occurred";if(e.formatter){const c=await e.formatter({error:r,reasonPhrase:t,request:m,response:s,statusCode:o});n(s,c);return}const{expose:d}=r;n(s,{message:r.message||t,error:t,statusCode:o,...d?{stack:r.stack}:{}})},"jsonErrorHandler");export{h as jsonErrorHandler};
1
+ var f=Object.defineProperty;var a=(e,r)=>f(e,"name",{value:r,configurable:!0});import{getReasonPhrase as i}from"http-status-codes";import{p as u}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";import{s as n}from"../packem_shared/send-json-DfdjS9Xp.js";import{a as d}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,l=a((e,r)=>g(e,"name",{value:r,configurable:!0}),"n");const h=l((e={})=>async(r,m,s)=>{u(s,r),d(s,r);const{statusCode:t}=s,o=i(t)||"An error occurred";if(e.formatter){const p=await e.formatter({error:r,reasonPhrase:o,request:m,response:s,statusCode:t});n(s,p);return}const{expose:c}=r;n(s,{message:r.message||o,error:o,statusCode:t,...c?{stack:r.stack}:{}})},"jsonErrorHandler");export{h as jsonErrorHandler};
@@ -1,3 +1,4 @@
1
- import type { ErrorHandler } from "./types.d.d.ts";
1
+ import { a as ErrorHandler } from "../packem_shared/types.d-C763gSYq.js";
2
+ import 'node:http';
2
3
  declare const jsonapiErrorHandler: ErrorHandler;
3
- export default jsonapiErrorHandler;
4
+ export { jsonapiErrorHandler as default };
@@ -1 +1 @@
1
- var u=Object.defineProperty;var i=(e,s)=>u(e,"name",{value:s,configurable:!0});import{isHttpError as f}from"http-errors";import{getReasonPhrase as n}from"http-status-codes";import a from"ts-japi";import{a as l}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as t}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as c}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,C=i((e,s)=>g(e,"name",{value:s,configurable:!0}),"n");const d="An error occurred",H=C((e,s,r)=>{if(l(r,e),c(r,e),e instanceof a.JapiError||a.JapiError.isLikeJapiError(e)){const o=new a.ErrorSerializer;t(r,o.serialize(e))}else if(f(e)){const o="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:r.statusCode,m="title"in e&&typeof e.title=="string"?e.title:void 0,p="message"in e&&typeof e.message=="string"?e.message:"";t(r,{errors:[{code:o??r.statusCode,title:m||n(o)||d,detail:p}]})}else{const{message:o}=e;t(r,{errors:[{code:"500",title:n(r.statusCode)||d,detail:o}]})}},"jsonapiErrorHandler");export{H as default};
1
+ var l=Object.defineProperty;var a=(e,o)=>l(e,"name",{value:o,configurable:!0});import{isHttpError as u}from"http-errors";import{getReasonPhrase as n}from"http-status-codes";import i from"ts-japi";import{p as d}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";import{s as t}from"../packem_shared/send-json-DfdjS9Xp.js";import{a as c}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,m=a((e,o)=>g(e,"name",{value:o,configurable:!0}),"i");const E=m((e,o)=>"statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:o,"resolveStatusCode"),H=m((e,o,r)=>{if(d(r,e),c(r,e),e instanceof i.JapiError||i.JapiError.isLikeJapiError(e)){const s=new i.ErrorSerializer;t(r,s.serialize(e))}else if(u(e)){const s=E(e,r.statusCode),p="title"in e&&typeof e.title=="string"?e.title:void 0,f="message"in e&&typeof e.message=="string"?e.message:"";t(r,{errors:[{code:s,title:p??n(s),detail:f}]})}else{const{message:s}=e;t(r,{errors:[{code:"500",title:n(r.statusCode),detail:s}]})}},"jsonapiErrorHandler");export{H as default};
@@ -1,15 +1,16 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { ErrorHandler } from "./types.d.d.ts";
3
- export type JsonpErrorBody = Record<string, unknown> | unknown[];
4
- export type JsonpErrorFormatter = (parameters: {
5
- error: Error;
6
- reasonPhrase: string;
7
- request: IncomingMessage;
8
- response: ServerResponse;
9
- statusCode: number;
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { a as ErrorHandler } from "../packem_shared/types.d-C763gSYq.js";
3
+ declare const jsonpErrorHandler: (options?: JsonpErrorHandlerOptions) => ErrorHandler;
4
+ type JsonpErrorBody = Record<string, unknown> | unknown[];
5
+ type JsonpErrorFormatter = (parameters: {
6
+ error: Error;
7
+ reasonPhrase: string;
8
+ request: IncomingMessage;
9
+ response: ServerResponse;
10
+ statusCode: number;
10
11
  }) => JsonpErrorBody | Promise<JsonpErrorBody>;
11
- export type JsonpErrorHandlerOptions = {
12
- callbackParamName?: string;
13
- formatter?: JsonpErrorFormatter;
12
+ type JsonpErrorHandlerOptions = {
13
+ callbackParamName?: string;
14
+ formatter?: JsonpErrorFormatter;
14
15
  };
15
- export declare const jsonpErrorHandler: (options?: JsonpErrorHandlerOptions) => ErrorHandler;
16
+ export { JsonpErrorBody, JsonpErrorFormatter, JsonpErrorHandlerOptions, jsonpErrorHandler };
@@ -1 +1 @@
1
- var i=Object.defineProperty;var n=(e,a)=>i(e,"name",{value:a,configurable:!0});import{getReasonPhrase as f}from"http-status-codes";import{a as u}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as h}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,b=n((e,a)=>g(e,"name",{value:a,configurable:!0}),"c");const k="callback",C=b((e={})=>async(a,c,t)=>{u(t,a),h(t,a);const{statusCode:r}=t,s=f(r)||"An error occurred",l=new URL(c.url??"http://localhost","http://localhost"),p=e.callbackParamName||k,m=l.searchParams.get(p)||"callback";let o;if(e.formatter)o=await e.formatter({error:a,reasonPhrase:s,request:c,response:t,statusCode:r});else{const{expose:d}=a;o={message:a.message||s,error:s,statusCode:r,...d?{stack:a.stack}:{}}}t.setHeader("content-type","application/javascript; charset=utf-8"),t.end(`${m}(${JSON.stringify(o)});`)},"jsonpErrorHandler");export{C as jsonpErrorHandler};
1
+ var h=Object.defineProperty;var p=(t,a)=>h(t,"name",{value:a,configurable:!0});import{getReasonPhrase as u}from"http-status-codes";import{p as d}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";import{a as g}from"../packem_shared/set-error-headers-DT9rVGtW.js";var $=Object.defineProperty,P=p((t,a)=>$(t,"name",{value:a,configurable:!0}),"c");const c="callback",y=P((t={})=>async(a,l,e)=>{d(e,a),g(e,a);const{statusCode:s}=e,o=u(s),i=new URL(l.url??"http://localhost","http://localhost"),m=t.callbackParamName??c;let r=i.searchParams.get(m)??c,n;if(t.formatter)n=await t.formatter({error:a,reasonPhrase:o,request:l,response:e,statusCode:s});else{const{expose:f}=a;n={message:a.message||o,error:o,statusCode:s,...f?{stack:a.stack}:{}}}(r.length>64||!/^[A-Za-z_$][\w$.]*$/u.test(r))&&(r=c),e.setHeader("content-type","application/javascript; charset=utf-8"),e.end(`${r}(${JSON.stringify(n)});`)},"jsonpErrorHandler");export{y as jsonpErrorHandler};
@@ -1,7 +1,8 @@
1
- import type { ErrorHandler } from "./types.d.d.ts";
1
+ import { a as ErrorHandler } from "../packem_shared/types.d-C763gSYq.js";
2
+ import 'node:http';
2
3
  /**
3
- * Normalizes errors according to the API Problem spec (RFC 7807).
4
- * @see https://tools.ietf.org/html/rfc7807
5
- */
4
+ * Normalizes errors according to the API Problem spec (RFC 7807).
5
+ * @see https://tools.ietf.org/html/rfc7807
6
+ */
6
7
  declare const problemErrorHandler: ErrorHandler;
7
- export default problemErrorHandler;
8
+ export { problemErrorHandler as default };
@@ -1 +1 @@
1
- var c=Object.defineProperty;var i=(e,o)=>c(e,"name",{value:o,configurable:!0});import{isHttpError as y}from"http-errors";import{getReasonPhrase as p}from"http-status-codes";import{a as b}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{s as n}from"../packem_shared/send-json-Cedv8-Bt.js";import{a as C}from"../packem_shared/set-error-headers-DT9rVGtW.js";var v=Object.defineProperty,g=i((e,o)=>v(e,"name",{value:o,configurable:!0}),"i");const d="about:blank",u="An error occurred",R=g((e,o,t)=>{const{message:a,stack:r}=e;if(y(e)){const l="expose"in e?e.expose:void 0,s="statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:t.statusCode,m="title"in e&&typeof e.title=="string"?e.title:void 0,f="type"in e&&typeof e.type=="string"?e.type:void 0;t.statusCode=s,C(t,e),n(t,{type:f||d,title:m||p(s)||u,status:s,detail:a,...l?{trace:r}:{}},"application/problem+json")}else b(t,e),n(t,{type:d,title:p(t.statusCode)||u,status:t.statusCode,detail:a,...e.expose?{trace:r}:{}},"application/problem+json")},"problemErrorHandler");export{R as default};
1
+ var y=Object.defineProperty;var i=(e,o)=>y(e,"name",{value:o,configurable:!0});import{isHttpError as c}from"http-errors";import{getReasonPhrase as p}from"http-status-codes";import{p as b}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";import{s as n}from"../packem_shared/send-json-DfdjS9Xp.js";import{a as C}from"../packem_shared/set-error-headers-DT9rVGtW.js";var v=Object.defineProperty,l=i((e,o)=>v(e,"name",{value:o,configurable:!0}),"o");const u="about:blank",g=l((e,o)=>"statusCode"in e&&typeof e.statusCode=="number"?e.statusCode:"status"in e&&typeof e.status=="number"?e.status:o,"resolveStatusCode"),h=l((e,o,t)=>{const{message:a,stack:r}=e;if(c(e)){const m="expose"in e?e.expose:void 0,s=g(e,t.statusCode),d="title"in e&&typeof e.title=="string"?e.title:void 0,f="type"in e&&typeof e.type=="string"?e.type:void 0;t.statusCode=s,C(t,e),n(t,{type:f??u,title:d??p(s),status:s,detail:a,...m?{trace:r}:{}},"application/problem+json")}else b(t,e),n(t,{type:u,title:p(t.statusCode),status:t.statusCode,detail:a,...e.expose?{trace:r}:{}},"application/problem+json")},"problemErrorHandler");export{h as default};
@@ -1,13 +1,14 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { ErrorHandler } from "./types.d.d.ts";
3
- export type TextErrorFormatter = (parameters: {
4
- error: Error;
5
- reasonPhrase: string;
6
- request: IncomingMessage;
7
- response: ServerResponse;
8
- statusCode: number;
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { a as ErrorHandler } from "../packem_shared/types.d-C763gSYq.js";
3
+ type TextErrorFormatter = (parameters: {
4
+ error: Error;
5
+ reasonPhrase: string;
6
+ request: IncomingMessage;
7
+ response: ServerResponse;
8
+ statusCode: number;
9
9
  }) => string | Promise<string>;
10
- export type TextErrorHandlerOptions = {
11
- formatter?: TextErrorFormatter;
10
+ type TextErrorHandlerOptions = {
11
+ formatter?: TextErrorFormatter;
12
12
  };
13
- export declare const textErrorHandler: (options?: TextErrorHandlerOptions) => ErrorHandler;
13
+ declare const textErrorHandler: (options?: TextErrorHandlerOptions) => ErrorHandler;
14
+ export { TextErrorFormatter, TextErrorHandlerOptions, textErrorHandler };
@@ -1,3 +1,3 @@
1
- var f=Object.defineProperty;var d=(r,e)=>f(r,"name",{value:e,configurable:!0});import{getReasonPhrase as i}from"http-status-codes";import{a as u}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as l}from"../packem_shared/set-error-headers-DT9rVGtW.js";var x=Object.defineProperty,v=d((r,e)=>x(r,"name",{value:e,configurable:!0}),"m");const E=v((r={})=>async(e,c,t)=>{u(t,e),l(t,e);const{statusCode:o}=t,a=i(o)||"Error";if(t.setHeader("content-type","text/plain; charset=utf-8"),r.formatter){const p=await r.formatter({error:e,reasonPhrase:a,request:c,response:t,statusCode:o});t.end(p);return}const s=e.message||a,{expose:m}=e,n=m?e.stack:void 0;t.end(n?`${s}
1
+ var f=Object.defineProperty;var c=(t,e)=>f(t,"name",{value:e,configurable:!0});import{getReasonPhrase as i}from"http-status-codes";import{p as u}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";import{a as l}from"../packem_shared/set-error-headers-DT9rVGtW.js";var x=Object.defineProperty,v=c((t,e)=>x(t,"name",{value:e,configurable:!0}),"m");const E=v((t={})=>async(e,m,r)=>{u(r,e),l(r,e);const{statusCode:o}=r,a=i(o)||"Error";if(r.setHeader("content-type","text/plain; charset=utf-8"),t.formatter){const d=await t.formatter({error:e,reasonPhrase:a,request:m,response:r,statusCode:o});r.end(d);return}const s=e.message||a,{expose:p}=e,n=p?e.stack:void 0;r.end(n?`${s}
2
2
 
3
3
  ${n}`:s)},"textErrorHandler");export{E as textErrorHandler};
@@ -1,26 +1,27 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { ErrorHandler } from "./types.d.d.ts";
3
- export type XmlErrorBody = Record<string, unknown> | unknown[];
4
- export type XmlErrorFormatter = (parameters: {
5
- error: Error;
6
- reasonPhrase: string;
7
- request: IncomingMessage;
8
- response: ServerResponse;
9
- statusCode: number;
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { a as ErrorHandler } from "../packem_shared/types.d-C763gSYq.js";
3
+ type XmlErrorBody = Record<string, unknown> | unknown[];
4
+ type XmlErrorFormatter = (parameters: {
5
+ error: Error;
6
+ reasonPhrase: string;
7
+ request: IncomingMessage;
8
+ response: ServerResponse;
9
+ statusCode: number;
10
10
  }) => XmlErrorBody | Promise<XmlErrorBody>;
11
- export type ToXmlOptions = {
12
- attributeExplicitTrue?: boolean;
13
- attributeFilter?: (key: string, value: unknown) => boolean;
14
- attributeReplacements?: Record<string, string>;
15
- contentMap?: (content: string) => string;
16
- contentReplacements?: Record<string, string>;
17
- header?: string | boolean;
18
- indent?: string;
19
- selfCloseTags?: boolean;
11
+ type ToXmlOptions = {
12
+ attributeExplicitTrue?: boolean;
13
+ attributeFilter?: (key: string, value: unknown) => boolean;
14
+ attributeReplacements?: Record<string, string>;
15
+ contentMap?: (content: string) => string;
16
+ contentReplacements?: Record<string, string>;
17
+ header?: string | boolean;
18
+ indent?: string;
19
+ selfCloseTags?: boolean;
20
20
  };
21
- export type XmlErrorHandlerOptions = {
22
- formatter?: XmlErrorFormatter;
23
- toXml?: ToXmlOptions;
24
- xmlHeader?: boolean;
21
+ type XmlErrorHandlerOptions = {
22
+ formatter?: XmlErrorFormatter;
23
+ toXml?: ToXmlOptions;
24
+ xmlHeader?: boolean;
25
25
  };
26
- export declare const xmlErrorHandler: (options?: XmlErrorHandlerOptions) => ErrorHandler;
26
+ declare const xmlErrorHandler: (options?: XmlErrorHandlerOptions) => ErrorHandler;
27
+ export { ToXmlOptions, XmlErrorBody, XmlErrorFormatter, XmlErrorHandlerOptions, xmlErrorHandler };
@@ -1 +1 @@
1
- var c=Object.defineProperty;var l=(t,e)=>c(t,"name",{value:e,configurable:!0});import{getReasonPhrase as p}from"http-status-codes";import{toXML as u}from"jstoxml";import{a as d}from"../packem_shared/add-status-code-to-response-BE6paXjR.js";import{a as X}from"../packem_shared/set-error-headers-DT9rVGtW.js";var f=Object.defineProperty,b=l((t,e)=>f(t,"name",{value:e,configurable:!0}),"l");const h=b((t={})=>async(e,n,o)=>{d(o,e),X(o,e);const{statusCode:r}=o,a=p(r)||"An error occurred";let s;if(t.formatter)s=await t.formatter({error:e,reasonPhrase:a,request:n,response:o,statusCode:r});else{const{expose:i}=e;s={error:{statusCode:r,name:a,message:e.message||a,...i?{stack:e.stack}:{}}}}const m=u(s,{header:t.toXml?.header??t.xmlHeader??!0,indent:t.toXml?.indent??" ",...t.toXml?.attributeReplacements?{attributeReplacements:t.toXml.attributeReplacements}:{},...t.toXml?.attributeFilter?{attributeFilter:t.toXml.attributeFilter}:{},...t.toXml?.attributeExplicitTrue===void 0?{}:{attributeExplicitTrue:t.toXml.attributeExplicitTrue},...t.toXml?.contentMap?{contentMap:t.toXml.contentMap}:{},...t.toXml?.contentReplacements?{contentReplacements:t.toXml.contentReplacements}:{},...t.toXml?.selfCloseTags===void 0?{}:{selfCloseTags:t.toXml.selfCloseTags}});o.setHeader("content-type","application/xml; charset=utf-8"),o.end(m)},"xmlErrorHandler");export{h as xmlErrorHandler};
1
+ var c=Object.defineProperty;var s=(t,e)=>c(t,"name",{value:e,configurable:!0});import{getReasonPhrase as p}from"http-status-codes";import{toXML as u}from"jstoxml";import{p as d}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";import{a as X}from"../packem_shared/set-error-headers-DT9rVGtW.js";var f=Object.defineProperty,b=s((t,e)=>f(t,"name",{value:e,configurable:!0}),"l");const h=b((t={})=>async(e,n,o)=>{d(o,e),X(o,e);const{statusCode:r}=o,a=p(r)||"An error occurred";let l;if(t.formatter)l=await t.formatter({error:e,reasonPhrase:a,request:n,response:o,statusCode:r});else{const{expose:i}=e;l={error:{statusCode:r,name:a,message:e.message||a,...i?{stack:e.stack}:{}}}}const m=u(l,{header:t.toXml?.header??t.xmlHeader??!0,indent:t.toXml?.indent??" ",...t.toXml?.attributeReplacements?{attributeReplacements:t.toXml.attributeReplacements}:{},...t.toXml?.attributeFilter?{attributeFilter:t.toXml.attributeFilter}:{},...t.toXml?.attributeExplicitTrue===void 0?{}:{attributeExplicitTrue:t.toXml.attributeExplicitTrue},...t.toXml?.contentMap?{contentMap:t.toXml.contentMap}:{},...t.toXml?.contentReplacements?{contentReplacements:t.toXml.contentReplacements}:{},...t.toXml?.selfCloseTags===void 0?{}:{selfCloseTags:t.toXml.selfCloseTags}});o.setHeader("content-type","application/xml; charset=utf-8"),o.end(m)},"xmlErrorHandler");export{h as xmlErrorHandler};
@@ -1,4 +1,27 @@
1
- import type { BaseCliOptions } from "../../../../../shared/utils/cli-error-builder.d.ts";
2
- export type { BaseCliOptions, CliHandlerOptions } from "../../../../../shared/utils/cli-error-builder.d.ts";
3
- export declare const ansiHandler: (error: Error, options?: BaseCliOptions) => Promise<string>;
4
- export { terminalOutput as cliHandler } from "../../../../../shared/utils/cli-error-builder.d.ts";
1
+ import { RenderErrorOptions } from '@visulima/error/error';
2
+ import { SolutionFinder } from '@visulima/error/solution';
3
+ type CliLogger = {
4
+ error: (...arguments_: unknown[]) => void;
5
+ log: (...arguments_: unknown[]) => void;
6
+ };
7
+ type ColorizeMethod = (value: string) => string;
8
+ type BaseCliOptions = {
9
+ solutionTitle?: string;
10
+ solutionFinders?: SolutionFinder[];
11
+ debug?: boolean;
12
+ } & Partial<Omit<RenderErrorOptions, "color">> & {
13
+ color?: {
14
+ codeFrame?: RenderErrorOptions["color"];
15
+ boxen?: {
16
+ headerTextColor?: ColorizeMethod;
17
+ textColor?: ColorizeMethod;
18
+ borderColor?: ColorizeMethod;
19
+ };
20
+ };
21
+ };
22
+ type CliHandlerOptions = BaseCliOptions & {
23
+ logger?: CliLogger;
24
+ };
25
+ declare const terminalOutput: (error: Error, options?: CliHandlerOptions) => Promise<void>;
26
+ declare const ansiHandler: (error: Error, options?: BaseCliOptions) => Promise<string>;
27
+ export { type BaseCliOptions, type CliHandlerOptions, ansiHandler, terminalOutput as cliHandler };
@@ -1,8 +1,9 @@
1
- import type { HtmlErrorHandlerOptions } from "../../error-handler/html-error-handler.d.ts";
2
- import type { FetchErrorHandlers } from "../../error-handler/types.d.d.ts";
1
+ import { HtmlErrorHandlerOptions } from "../../error-handler/html-error-handler.js";
2
+ import { F as FetchErrorHandlers } from "../../packem_shared/types.d-C763gSYq.js";
3
+ import 'node:http';
3
4
  declare const fetchHandler: (error: Error, options?: HtmlErrorHandlerOptions & {
4
- extraHandlers?: FetchErrorHandlers;
5
- onError?: (error: Error, request: Request) => void | Promise<void>;
6
- showTrace?: boolean;
7
- }) => Promise<(request: Request) => Promise<Response>>;
8
- export default fetchHandler;
5
+ extraHandlers?: FetchErrorHandlers;
6
+ onError?: (error: Error, request: Request) => void | Promise<void>;
7
+ showTrace?: boolean;
8
+ }) => (request: Request) => Promise<Response>;
9
+ export { fetchHandler as default };
@@ -1 +1 @@
1
- var b=Object.defineProperty;var c=(r,e)=>b(r,"name",{value:e,configurable:!0});import{jsonErrorHandler as g}from"../../error-handler/json-error-handler.js";import w from"../../error-handler/jsonapi-error-handler.js";import{jsonpErrorHandler as y}from"../../error-handler/jsonp-error-handler.js";import u from"../../error-handler/problem-error-handler.js";import{textErrorHandler as H}from"../../error-handler/text-error-handler.js";import{xmlErrorHandler as v}from"../../error-handler/xml-error-handler.js";import{htmlErrorHandler as L}from"../../error-handler/html-error-handler.js";var j=Object.defineProperty,h=c((r,e)=>j(r,"name",{value:e,configurable:!0}),"a$1");class x{static{c(this,"j")}static{h(this,"MockServerResponse")}statusCode=200;headers={};_body="";setHeader(e,s){this.headers[e.toLowerCase()]=s}getHeader(e){return this.headers[e.toLowerCase()]}getHeaders(){return{...this.headers}}writeHead(e){this.statusCode=e}write(e){this._body+=e.toString()}end(e){e&&(this._body+=e.toString())}flushHeaders(){}}const k=h(r=>{if(!r)return"text/html";const e=r.toLowerCase();return e.includes("text/html")?"text/html":e.includes("application/vnd.api+json")?"application/vnd.api+json":e.includes("application/problem+json")?"application/problem+json":e.includes("application/json")?"application/json":e.includes("text/plain")?"text/plain":e.includes("application/javascript")||e.includes("text/javascript")?"application/javascript":e.includes("application/xml")||e.includes("text/xml")?"application/xml":"text/html"},"negotiateContentType"),d=h(r=>async(e,s)=>{const a={headers:Object.fromEntries(s.headers.entries()),method:s.method,url:s.url},i=new x;await r(e,a,i);const o={};for(const[l,n]of Object.entries(i.headers))o[l]=Array.isArray(n)?n.join(", "):String(n);return new Response(i._body,{headers:o,status:i.statusCode})},"adaptErrorHandlerToFetch"),C=h((r,e,s)=>async(a,i)=>{const o=i.headers.get("accept"),l=k(o);let n=s||d(u);if(l==="text/html"&&s)n=s;else switch(l){case"application/javascript":{n=d(y());break}case"application/json":{n=d(g());break}case"application/problem+json":{n=d(u);break}case"application/vnd.api+json":{n=d(w);break}case"application/xml":{n=d(v());break}case"text/plain":{n=d(H());break}}for(const{handler:p,regex:m}of r){const f=o??"";if(m.test(f)){n=p;break}}return a.expose=e,n(a,i)},"createFetchNegotiatedErrorHandler");var E=Object.defineProperty,t=c((r,e)=>E(r,"name",{value:e,configurable:!0}),"e");class S{static{c(this,"b")}static{t(this,"MockServerResponse")}statusCode=200;statusMessage="";headers={};headersSent=!1;writable=!0;finished=!1;writableEnded=!1;writableFinished=!1;writableHighWaterMark=16384;writableLength=0;destroyed=!1;writableCorked=0;readable=!1;readableHighWaterMark=16384;readableLength=0;errored=null;closed=!1;readableAborted=!1;readableDidRead=!1;readableEncoding=null;readableEnded=!1;readableFlowing=null;_events;_eventsCount=0;_maxListeners;body="";sendDate=!0;strictContentLength=!1;chunkedEncoding=!1;shouldKeepAlive=!0;useChunkedEncodingByDefault=!0;_hasBody=!0;_trailer="";connection=null;socket=null;setHeader(e,s){return this.headers[e.toLowerCase()]=s,this}getHeader(e){return this.headers[e.toLowerCase()]}getHeaders(){return{...this.headers}}getHeaderNames(){return Object.keys(this.headers)}hasHeader(e){return e.toLowerCase()in this.headers}removeHeader(e){return delete this.headers[e.toLowerCase()],this}writeHead(e,s,a){return this.statusCode=e,typeof s=="string"&&(this.statusMessage=s),typeof s=="object"&&(a=s),a&&Object.assign(this.headers,a),this}write(e){return this.body+=e.toString(),!0}end(e,s,a){return e&&(this.body+=e.toString()),this.finished=!0,this}flushHeaders(){this.headersSent=!0}addListener=t(()=>this,"addListener");on=t(()=>this,"on");once=t(()=>this,"once");removeListener=t(()=>this,"removeListener");off=t(()=>this,"off");removeAllListeners=t(()=>this,"removeAllListeners");setMaxListeners=t(()=>this,"setMaxListeners");getMaxListeners=t(()=>10,"getMaxListeners");listeners=t(()=>[],"listeners");rawListeners=t(()=>[],"rawListeners");emit=t(()=>!1,"emit");eventNames=t(()=>[],"eventNames");listenerCount=t(()=>0,"listenerCount");prependListener=t(()=>this,"prependListener");prependOnceListener=t(()=>this,"prependOnceListener");cork=t(()=>{},"cork");uncork=t(()=>{},"uncork");destroy=t(()=>this,"destroy");read=t(()=>null,"read");setEncoding=t(()=>this,"setEncoding");pause=t(()=>this,"pause");resume=t(()=>this,"resume");isPaused=t(()=>!1,"isPaused");destroySoon=t(()=>this,"destroySoon");pipe=t(()=>({}),"pipe");unpipe=t(()=>this,"unpipe");unshift=t(()=>{},"unshift");wrap=t(()=>this,"wrap");setTimeout=t(()=>this,"setTimeout");assignSocket=t(()=>{},"assignSocket");detachSocket=t(()=>{},"detachSocket");writeContinue=t(()=>{},"writeContinue");writeEarlyHints=t(()=>{},"writeEarlyHints")}const M=t((r={})=>{const e=L(r);return async(s,a)=>{const i={headers:Object.fromEntries(a.headers.entries()),method:a.method,url:a.url},o=new S;await e(s,i,o);const l=o.getHeader("content-type")||"text/html; charset=utf-8";return new Response(o.body,{headers:{"content-type":l,...o.headers},status:o.statusCode})}},"fetchHtmlErrorHandler");var O=Object.defineProperty,_=c((r,e)=>O(r,"name",{value:e,configurable:!0}),"t");const B=_(async(r,e={})=>{const s=M(e),a=C(e.extraHandlers??[],e.showTrace??!0,s);return async i=>(e?.onError&&await e.onError(r,i),a(r,i))},"fetchHandler");export{B as default};
1
+ var w=Object.defineProperty;var h=(n,e)=>w(n,"name",{value:e,configurable:!0});import{jsonErrorHandler as v}from"../../error-handler/json-error-handler.js";import H from"../../error-handler/jsonapi-error-handler.js";import{jsonpErrorHandler as x}from"../../error-handler/jsonp-error-handler.js";import b from"../../error-handler/problem-error-handler.js";import{textErrorHandler as j}from"../../error-handler/text-error-handler.js";import{xmlErrorHandler as L}from"../../error-handler/xml-error-handler.js";import{htmlErrorHandler as k}from"../../error-handler/html-error-handler.js";var E=Object.defineProperty,p=h((n,e)=>E(n,"name",{value:e,configurable:!0}),"c");class C{static{h(this,"v")}static{p(this,"MockServerResponse")}statusCode=200;headers={};responseBody="";setHeader(e,s){this.headers[e.toLowerCase()]=s}getHeader(e){return this.headers[e.toLowerCase()]}getHeaders(){return{...this.headers}}writeHead(e){this.statusCode=e}write(e){this.responseBody+=e.toString()}end(e){e&&(this.responseBody+=e.toString())}flushHeaders(){}}const S=[{chosen:"text/html",types:["text/html"]},{chosen:"application/vnd.api+json",types:["application/vnd.api+json"]},{chosen:"application/problem+json",types:["application/problem+json"]},{chosen:"application/json",types:["application/json"]},{chosen:"text/plain",types:["text/plain"]},{chosen:"application/javascript",types:["application/javascript","text/javascript"]},{chosen:"application/xml",types:["application/xml","text/xml"]}],O=p(n=>{if(!n)return"text/html";const e=[];for(const o of n.split(",")){const[a,...i]=o.trim().split(";"),d=(a??"").trim().toLowerCase();if(d==="")continue;let r=1;for(const f of i){const[y,g]=f.trim().split("=");if((y??"").trim().toLowerCase()==="q"){const m=Number.parseFloat((g??"").trim());Number.isNaN(m)||(r=m)}}if(r<=0)continue;const[c="",u=""]=d.split("/");e.push({quality:r,subtype:u,type:c})}if(e.length===0)return"text/html";const s=p(o=>{const[a,i]=o.split("/");return e.some(({subtype:d,type:r})=>r==="*"&&d==="*"||r===a&&d==="*"?!0:r===a&&d===i)},"matches");for(const{chosen:o,types:a}of S)if(a.some(i=>s(i)))return o;return"text/html"},"negotiateContentType"),l=p(n=>async(e,s)=>{const o={headers:Object.fromEntries(s.headers.entries()),method:s.method,url:s.url},a=new C;await n(e,o,a);const i={};for(const[d,r]of Object.entries(a.headers))i[d]=Array.isArray(r)?r.join(", "):String(r);return new Response(a.responseBody,{headers:i,status:a.statusCode})},"adaptErrorHandlerToFetch"),M=p((n,e,s)=>async(o,a)=>{const i=a.headers.get("accept"),d=O(i);let r=s??l(b);if(d==="text/html"&&s)r=s;else switch(d){case"application/javascript":{r=l(x());break}case"application/json":{r=l(v());break}case"application/problem+json":{r=l(b);break}case"application/vnd.api+json":{r=l(H);break}case"application/xml":{r=l(L());break}case"text/plain":{r=l(j());break}}for(const{handler:c,regex:u}of n){const f=i??"";if(u.test(f)){r=c;break}}return e?"expose"in o||(o.expose=!0):o.expose=!1,r(o,a)},"createFetchNegotiatedErrorHandler");var A=Object.defineProperty,t=h((n,e)=>A(n,"name",{value:e,configurable:!0}),"e");class N{static{h(this,"b")}static{t(this,"MockServerResponse")}statusCode=200;statusMessage="";headers={};headersSent=!1;writable=!0;finished=!1;writableEnded=!1;writableFinished=!1;writableHighWaterMark=16384;writableLength=0;destroyed=!1;writableCorked=0;readable=!1;readableHighWaterMark=16384;readableLength=0;errored=void 0;closed=!1;readableAborted=!1;readableDidRead=!1;readableEncoding=void 0;readableEnded=!1;readableFlowing=void 0;body="";sendDate=!0;strictContentLength=!1;chunkedEncoding=!1;shouldKeepAlive=!0;useChunkedEncodingByDefault=!0;connection=void 0;socket=void 0;setHeader(e,s){return this.headers[e.toLowerCase()]=s,this}getHeader(e){return this.headers[e.toLowerCase()]}getHeaders(){return{...this.headers}}getHeaderNames(){return Object.keys(this.headers)}hasHeader(e){return e.toLowerCase()in this.headers}removeHeader(e){return delete this.headers[e.toLowerCase()],this}writeHead(e,s,o){this.statusCode=e;let a=o;return typeof s=="string"&&(this.statusMessage=s),typeof s=="object"&&(a=s),a&&Object.assign(this.headers,a),this}write(e){return this.body+=e.toString(),!0}end(e,s,o){return e&&(this.body+=e.toString()),this.finished=!0,this}flushHeaders(){this.headersSent=!0}addListener=t(()=>this,"addListener");on=t(()=>this,"on");once=t(()=>this,"once");removeListener=t(()=>this,"removeListener");off=t(()=>this,"off");removeAllListeners=t(()=>this,"removeAllListeners");setMaxListeners=t(()=>this,"setMaxListeners");getMaxListeners=t(()=>10,"getMaxListeners");listeners=t(()=>[],"listeners");rawListeners=t(()=>[],"rawListeners");emit=t(()=>!1,"emit");eventNames=t(()=>[],"eventNames");listenerCount=t(()=>0,"listenerCount");prependListener=t(()=>this,"prependListener");prependOnceListener=t(()=>this,"prependOnceListener");cork=t(()=>{},"cork");uncork=t(()=>{},"uncork");destroy=t(()=>this,"destroy");read=t(()=>{},"read");setEncoding=t(()=>this,"setEncoding");pause=t(()=>this,"pause");resume=t(()=>this,"resume");isPaused=t(()=>!1,"isPaused");destroySoon=t(()=>this,"destroySoon");pipe=t(()=>({}),"pipe");unpipe=t(()=>this,"unpipe");unshift=t(()=>{},"unshift");wrap=t(()=>this,"wrap");setTimeout=t(()=>this,"setTimeout");assignSocket=t(()=>{},"assignSocket");detachSocket=t(()=>{},"detachSocket");writeContinue=t(()=>{},"writeContinue");writeEarlyHints=t(()=>{},"writeEarlyHints")}const R=t((n={})=>{const e=k(n);return async(s,o)=>{const a={headers:Object.fromEntries(o.headers.entries()),method:o.method,url:o.url},i=new N;await e(s,a,i);const d={"content-type":i.getHeader("content-type")??"text/html; charset=utf-8"};for(const[r,c]of Object.entries(i.headers))r!=="content-type"&&(d[r]=Array.isArray(c)?c.join(", "):String(c));return new Response(i.body,{headers:d,status:i.statusCode})}},"fetchHtmlErrorHandler");var B=Object.defineProperty,F=h((n,e)=>B(n,"name",{value:e,configurable:!0}),"t");const G=F((n,e={})=>{const s=R(e),o=M(e.extraHandlers??[],e.showTrace??!0,s);return async a=>(e.onError&&await e.onError(n,a),o(n,a))},"fetchHandler");export{G as default};
@@ -1,9 +1,9 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { HtmlErrorHandlerOptions } from "../../error-handler/html-error-handler.d.ts";
3
- import type { ErrorHandlers } from "../../error-handler/types.d.d.ts";
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { HtmlErrorHandlerOptions } from "../../error-handler/html-error-handler.js";
3
+ import { E as ErrorHandlers } from "../../packem_shared/types.d-C763gSYq.js";
4
4
  declare const nodeHandler: (error: Error, options?: HtmlErrorHandlerOptions & {
5
- extraHandlers?: ErrorHandlers;
6
- onError?: (error: Error, request: IncomingMessage, response: ServerResponse) => void | Promise<void>;
7
- showTrace?: boolean;
8
- }) => Promise<(request: IncomingMessage, response: ServerResponse) => Promise<void>>;
9
- export default nodeHandler;
5
+ extraHandlers?: ErrorHandlers;
6
+ onError?: (error: Error, request: IncomingMessage, response: ServerResponse) => void | Promise<void>;
7
+ showTrace?: boolean;
8
+ }) => (request: IncomingMessage, response: ServerResponse) => Promise<void>;
9
+ export { nodeHandler as default };
@@ -1 +1 @@
1
- var s=Object.defineProperty;var o=(a,r)=>s(a,"name",{value:r,configurable:!0});import c from"../../packem_shared/createNegotiatedErrorHandler-BLks0_Ak.js";import{htmlErrorHandler as m}from"../../error-handler/html-error-handler.js";var d=Object.defineProperty,i=o((a,r)=>d(a,"name",{value:r,configurable:!0}),"s");const v=i(async(a,r={})=>{const n=m(r),l=c(r.extraHandlers??[],r.showTrace??!0,n);return async(e,t)=>{r?.onError&&await r.onError(a,e,t),await l(a,e,t)}},"nodeHandler");export{v as default};
1
+ var i=Object.defineProperty;var o=(a,r)=>i(a,"name",{value:r,configurable:!0});import l from"../../packem_shared/createNegotiatedErrorHandler-DlEHBPFw.js";import{htmlErrorHandler as s}from"../../error-handler/html-error-handler.js";var c=Object.defineProperty,m=o((a,r)=>c(a,"name",{value:r,configurable:!0}),"t");const v=m((a,r={})=>{const n=s(r),d=l(r.extraHandlers??[],r.showTrace??!0,n);return async(e,t)=>{r.onError&&await r.onError(a,e,t),await d(a,e,t)}},"nodeHandler");export{v as default};
package/dist/index.d.ts CHANGED
@@ -1,14 +1,12 @@
1
- export { default as createNegotiatedErrorHandler } from "./error-handler/create-negotiated-error-handler.d.ts";
2
- export type { HtmlErrorHandlerOptions } from "./error-handler/html-error-handler.d.ts";
3
- export { htmlErrorHandler } from "./error-handler/html-error-handler.d.ts";
4
- export type { JsonErrorBody, JsonErrorFormatter, JsonErrorHandlerOptions } from "./error-handler/json-error-handler.d.ts";
5
- export { jsonErrorHandler } from "./error-handler/json-error-handler.d.ts";
6
- export { default as jsonapiErrorHandler } from "./error-handler/jsonapi-error-handler.d.ts";
7
- export type { JsonpErrorBody, JsonpErrorFormatter, JsonpErrorHandlerOptions } from "./error-handler/jsonp-error-handler.d.ts";
8
- export { jsonpErrorHandler } from "./error-handler/jsonp-error-handler.d.ts";
9
- export { default as problemErrorHandler } from "./error-handler/problem-error-handler.d.ts";
10
- export type { TextErrorFormatter, TextErrorHandlerOptions } from "./error-handler/text-error-handler.d.ts";
11
- export { textErrorHandler } from "./error-handler/text-error-handler.d.ts";
12
- export type { ApiFormat, ErrorHandler, ErrorHandlers } from "./error-handler/types.d.d.ts";
13
- export type { ToXmlOptions, XmlErrorBody, XmlErrorFormatter, XmlErrorHandlerOptions } from "./error-handler/xml-error-handler.d.ts";
14
- export { xmlErrorHandler } from "./error-handler/xml-error-handler.d.ts";
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { E as ErrorHandlers, a as ErrorHandler } from "./packem_shared/types.d-C763gSYq.js";
3
+ export { type A as ApiFormat } from "./packem_shared/types.d-C763gSYq.js";
4
+ export { type HtmlErrorHandlerOptions, htmlErrorHandler } from "./error-handler/html-error-handler.js";
5
+ export { type JsonErrorBody, type JsonErrorFormatter, type JsonErrorHandlerOptions, jsonErrorHandler } from "./error-handler/json-error-handler.js";
6
+ export { default as jsonapiErrorHandler } from "./error-handler/jsonapi-error-handler.js";
7
+ export { type JsonpErrorBody, type JsonpErrorFormatter, type JsonpErrorHandlerOptions, jsonpErrorHandler } from "./error-handler/jsonp-error-handler.js";
8
+ export { default as problemErrorHandler } from "./error-handler/problem-error-handler.js";
9
+ export { type TextErrorFormatter, type TextErrorHandlerOptions, textErrorHandler } from "./error-handler/text-error-handler.js";
10
+ export { type ToXmlOptions, type XmlErrorBody, type XmlErrorFormatter, type XmlErrorHandlerOptions, xmlErrorHandler } from "./error-handler/xml-error-handler.js";
11
+ declare const createNegotiatedErrorHandler: (errorHandlers: ErrorHandlers, showTrace: boolean, defaultHtmlHandler?: ErrorHandler) => (error: Error, request: IncomingMessage, response: ServerResponse) => Promise<void>;
12
+ export { type ErrorHandler, type ErrorHandlers, createNegotiatedErrorHandler };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{default as e}from"./packem_shared/createNegotiatedErrorHandler-BLks0_Ak.js";import{htmlErrorHandler as t}from"./error-handler/html-error-handler.js";import{jsonErrorHandler as d}from"./error-handler/json-error-handler.js";import{default as m}from"./error-handler/jsonapi-error-handler.js";import{jsonpErrorHandler as p}from"./error-handler/jsonp-error-handler.js";import{default as E}from"./error-handler/problem-error-handler.js";import{textErrorHandler as s}from"./error-handler/text-error-handler.js";import{xmlErrorHandler as u}from"./error-handler/xml-error-handler.js";export{e as createNegotiatedErrorHandler,t as htmlErrorHandler,d as jsonErrorHandler,m as jsonapiErrorHandler,p as jsonpErrorHandler,E as problemErrorHandler,s as textErrorHandler,u as xmlErrorHandler};
1
+ import{default as e}from"./packem_shared/createNegotiatedErrorHandler-DlEHBPFw.js";import{htmlErrorHandler as t}from"./error-handler/html-error-handler.js";import{jsonErrorHandler as d}from"./error-handler/json-error-handler.js";import{default as m}from"./error-handler/jsonapi-error-handler.js";import{jsonpErrorHandler as p}from"./error-handler/jsonp-error-handler.js";import{default as E}from"./error-handler/problem-error-handler.js";import{textErrorHandler as s}from"./error-handler/text-error-handler.js";import{xmlErrorHandler as u}from"./error-handler/xml-error-handler.js";export{e as createNegotiatedErrorHandler,t as htmlErrorHandler,d as jsonErrorHandler,m as jsonapiErrorHandler,p as jsonpErrorHandler,E as problemErrorHandler,s as textErrorHandler,u as xmlErrorHandler};
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var r=(e,t)=>a(e,"name",{value:t,configurable:!0});import{StatusCodes as u}from"http-status-codes";var d=Object.defineProperty,n=r((e,t)=>d(e,"name",{value:t,configurable:!0}),"s");const i=n((e,t)=>{const o=t,s=Number(o.statusCode??o.status);if(Number.isInteger(s)&&s>=400&&s<=599){e.statusCode=s;return}e.statusCode<400&&(e.statusCode=u.INTERNAL_SERVER_ERROR)},"addStatusCodeToResponse");export{i as p};
@@ -1 +1 @@
1
- var j=Object.defineProperty;var c=(r,e)=>j(r,"name",{value:e,configurable:!0});import{Accepts as d}from"@tinyhttp/accepts";import{jsonErrorHandler as b}from"../error-handler/json-error-handler.js";import v from"../error-handler/jsonapi-error-handler.js";import{jsonpErrorHandler as k}from"../error-handler/jsonp-error-handler.js";import l from"../error-handler/problem-error-handler.js";import{textErrorHandler as E}from"../error-handler/text-error-handler.js";import{xmlErrorHandler as h}from"../error-handler/xml-error-handler.js";var y=Object.defineProperty,H=c((r,e)=>y(r,"name",{value:e,configurable:!0}),"i");const q=H((r,e,t)=>async(p,o,s)=>{const n=new d(o).type(["text/html","application/vnd.api+json","application/problem+json","application/json","text/plain","application/javascript","text/javascript","application/xml","text/xml"]);let a=t||l;if(n==="text/html"&&t)a=t;else switch(n){case"application/javascript":case"text/javascript":{a=k();break}case"application/json":{a=b();break}case"application/problem+json":{a=l;break}case"application/vnd.api+json":{a=v;break}case"application/xml":case"text/xml":{a=h();break}case"text/plain":{a=E();break}}for(const{handler:m,regex:x}of r){const i=o.headers.accept??"",f=Array.isArray(i)?i.join(","):i;if(x.test(f)){a=m;break}}p.expose=e,await a(p,o,s)},"createNegotiatedErrorHandler");export{q as default};
1
+ var j=Object.defineProperty;var n=(r,e)=>j(r,"name",{value:e,configurable:!0});import{Accepts as d}from"@tinyhttp/accepts";import{jsonErrorHandler as b}from"../error-handler/json-error-handler.js";import v from"../error-handler/jsonapi-error-handler.js";import{jsonpErrorHandler as k}from"../error-handler/jsonp-error-handler.js";import c from"../error-handler/problem-error-handler.js";import{textErrorHandler as E}from"../error-handler/text-error-handler.js";import{xmlErrorHandler as h}from"../error-handler/xml-error-handler.js";var g=Object.defineProperty,u=n((r,e)=>g(r,"name",{value:e,configurable:!0}),"i");const q=u((r,e,o)=>async(t,p,l)=>{const s=new d(p).type(["text/html","application/vnd.api+json","application/problem+json","application/json","text/plain","application/javascript","text/javascript","application/xml","text/xml"]);let a=o??c;if(s==="text/html"&&o)a=o;else switch(s){case"application/javascript":case"text/javascript":{a=k();break}case"application/json":{a=b();break}case"application/problem+json":{a=c;break}case"application/vnd.api+json":{a=v;break}case"application/xml":case"text/xml":{a=h();break}case"text/plain":{a=E();break}}for(const{handler:m,regex:x}of r){const i=p.headers.accept??"",f=Array.isArray(i)?i.join(","):i;if(x.test(f)){a=m;break}}e?"expose"in t||(t.expose=!0):t.expose=!1,await a(t,p,l)},"createNegotiatedErrorHandler");export{q as default};
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var t=(e,n)=>a(e,"name",{value:n,configurable:!0});var o=Object.defineProperty,s=t((e,n)=>o(e,"name",{value:n,configurable:!0}),"n");const i=s((e,n,r="application/json; charset=utf-8")=>{e.setHeader("content-type",r),e.end(JSON.stringify(n))},"sendJson");export{i as s};
@@ -0,0 +1,13 @@
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ type ErrorHandler = (error: Error, request: IncomingMessage, response: ServerResponse) => Promise<void> | void;
3
+ type FetchErrorHandler = (error: unknown, request: Request) => Promise<Response>;
4
+ type ErrorHandlers = {
5
+ handler: ErrorHandler;
6
+ regex: RegExp;
7
+ }[];
8
+ type FetchErrorHandlers = {
9
+ handler: FetchErrorHandler;
10
+ regex: RegExp;
11
+ }[];
12
+ type ApiFormat = "jsonapi" | "problem" | "html";
13
+ export { ApiFormat as A, ErrorHandlers as E, FetchErrorHandlers as F, ErrorHandler as a };
package/package.json CHANGED
@@ -1,43 +1,41 @@
1
1
  {
2
2
  "name": "@visulima/error-handler",
3
- "version": "2.0.0-alpha.3",
3
+ "version": "2.0.0-alpha.30",
4
4
  "description": "Error handlers for use in development and production environments.",
5
5
  "keywords": [
6
- "visulima",
7
- "error",
8
- "exception",
9
- "error-handlers",
10
- "diagnostics",
11
- "debugging",
12
- "stacktrace",
6
+ "anolilab",
7
+ "cli",
13
8
  "code-frame",
14
9
  "codeframe",
15
- "source-code-preview",
10
+ "connect",
16
11
  "content-negotiation",
17
- "problem-json",
18
- "rfc7807",
19
- "jsonapi",
12
+ "debugging",
13
+ "devtools",
14
+ "diagnostics",
15
+ "error",
16
+ "error-handler",
17
+ "error-handlers",
18
+ "error-reporting",
19
+ "exception",
20
+ "express",
21
+ "html-error",
22
+ "http-errors",
20
23
  "json-api",
24
+ "jsonapi",
21
25
  "jsonp",
22
- "xml",
23
- "html-error",
24
- "cli",
25
- "node",
26
- "express",
27
- "connect",
28
26
  "middleware",
29
- "http-errors",
30
- "devtools",
31
- "error-reporting",
27
+ "node",
28
+ "problem-json",
29
+ "rfc7807",
30
+ "source-code-preview",
31
+ "stacktrace",
32
+ "visulima",
32
33
  "whoops",
33
- "youch",
34
- "anolilab",
35
- "error-handler"
34
+ "xml",
35
+ "youch"
36
36
  ],
37
37
  "homepage": "https://visulima.com/packages/error-handler",
38
- "bugs": {
39
- "url": "https://github.com/visulima/visulima/issues"
40
- },
38
+ "bugs": "https://github.com/visulima/visulima/issues",
41
39
  "repository": {
42
40
  "type": "git",
43
41
  "url": "git+https://github.com/visulima/visulima.git",
@@ -133,16 +131,16 @@
133
131
  "CHANGELOG.md"
134
132
  ],
135
133
  "dependencies": {
136
- "@tinyhttp/accepts": "^2.2.4",
137
- "@visulima/boxen": "3.0.0-alpha.3",
138
- "@visulima/error": "6.0.0-alpha.2",
134
+ "@tinyhttp/accepts": "^2.3.0",
135
+ "@visulima/boxen": "3.0.0-alpha.12",
136
+ "@visulima/error": "6.0.0-alpha.32",
139
137
  "http-errors": "^2.0.1",
140
138
  "http-status-codes": "^2.3.0",
141
- "jstoxml": "^7.0.1",
142
- "ts-japi": "^1.12.1"
139
+ "jstoxml": "^7.1.0",
140
+ "ts-japi": "^1.12.3"
143
141
  },
144
142
  "engines": {
145
- "node": ">=22.13 <=25.x"
143
+ "node": "^22.14.0 || >=24.10.0"
146
144
  },
147
145
  "publishConfig": {
148
146
  "access": "public",
@@ -1,4 +0,0 @@
1
- import type { IncomingMessage, ServerResponse } from "node:http";
2
- import type { ErrorHandler, ErrorHandlers } from "./types.d.d.ts";
3
- declare const createNegotiatedErrorHandler: <Request extends IncomingMessage, Response extends ServerResponse>(errorHandlers: ErrorHandlers, showTrace: boolean, defaultHtmlHandler?: ErrorHandler) => (error: Error, request: Request, response: Response) => Promise<void>;
4
- export default createNegotiatedErrorHandler;
@@ -1,3 +0,0 @@
1
- import type { FetchErrorHandlers } from "./types.d.d.ts";
2
- declare const createFetchNegotiatedErrorHandler: (errorHandlers: FetchErrorHandlers, showTrace: boolean, defaultHtmlHandler?: (error: Error, request: Request) => Promise<Response>) => (error: Error, request: Request) => Promise<Response>;
3
- export default createFetchNegotiatedErrorHandler;
@@ -1,3 +0,0 @@
1
- import type { HtmlErrorHandlerOptions } from "./html-error-handler.d.ts";
2
- export declare const fetchHtmlErrorHandler: (options?: HtmlErrorHandlerOptions) => (error: Error, request: Request) => Promise<Response>;
3
- export default fetchHtmlErrorHandler;
@@ -1,2 +0,0 @@
1
- import type { ServerResponse } from "node:http";
2
- export declare const addStatusCodeToResponse: (response: ServerResponse, error: unknown) => void;
@@ -1,8 +0,0 @@
1
- import type { ServerResponse } from "node:http";
2
- /**
3
- * Send `JSON` object
4
- * @param response response object
5
- * @param jsonBody of data
6
- * @param contentType optional content-type header value
7
- */
8
- export declare const sendJson: (response: ServerResponse, jsonBody: unknown, contentType?: string) => void;
@@ -1,3 +0,0 @@
1
- import type { ServerResponse } from "node:http";
2
- declare const setErrorHeaders: (response: ServerResponse, error: unknown) => void;
3
- export default setErrorHeaders;
@@ -1 +0,0 @@
1
- var r=Object.defineProperty;var o=(e,s)=>r(e,"name",{value:s,configurable:!0});import{StatusCodes as u}from"http-status-codes";var d=Object.defineProperty,n=o((e,s)=>d(e,"name",{value:s,configurable:!0}),"s");const i=n((e,s)=>{const a=s,t=Number(a.statusCode??a.status);if(Number.isInteger(t)&&t>=400&&t<=599){e.statusCode=t;return}e.statusCode<400&&(e.statusCode=u.INTERNAL_SERVER_ERROR)},"addStatusCodeToResponse");export{i as a};
@@ -1 +0,0 @@
1
- var s=Object.defineProperty;var t=(e,n)=>s(e,"name",{value:n,configurable:!0});var a=Object.defineProperty,o=t((e,n)=>a(e,"name",{value:n,configurable:!0}),"t");const i=o((e,n,r="application/json; charset=utf-8")=>{e.setHeader("content-type",r),e.end(JSON.stringify(n))},"sendJson");export{i as s};