@visulima/error-handler 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (39) hide show
  1. package/CHANGELOG.md +235 -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/cli-handler.js +1 -1
  19. package/dist/handler/http/fetch-handler.d.ts +8 -7
  20. package/dist/handler/http/fetch-handler.js +1 -1
  21. package/dist/handler/http/node-handler.d.ts +8 -8
  22. package/dist/handler/http/node-handler.js +1 -1
  23. package/dist/index.d.ts +12 -14
  24. package/dist/index.js +1 -1
  25. package/dist/packem_shared/add-status-code-to-response-Dc6Pvpeh.js +1 -0
  26. package/dist/packem_shared/cliHandler-CeQ8tsGj.js +1 -0
  27. package/dist/packem_shared/{createNegotiatedErrorHandler-BLks0_Ak.js → createNegotiatedErrorHandler-b0kjXpZ3.js} +1 -1
  28. package/dist/packem_shared/send-json-DfdjS9Xp.js +1 -0
  29. package/dist/packem_shared/types.d-C763gSYq.d.ts +13 -0
  30. package/package.json +45 -45
  31. package/dist/error-handler/create-negotiated-error-handler.d.ts +0 -4
  32. package/dist/error-handler/fetch-create-negotiated-error-handler.d.ts +0 -3
  33. package/dist/error-handler/fetch-html-error-handler.d.ts +0 -3
  34. package/dist/error-handler/utils/add-status-code-to-response.d.ts +0 -2
  35. package/dist/error-handler/utils/send-json.d.ts +0 -8
  36. package/dist/error-handler/utils/set-error-headers.d.ts +0 -3
  37. package/dist/packem_shared/add-status-code-to-response-BE6paXjR.js +0 -1
  38. package/dist/packem_shared/cliHandler-nqs3YWf5.js +0 -1
  39. package/dist/packem_shared/send-json-Cedv8-Bt.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,238 @@
1
+ ## @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)
2
+
3
+
4
+ ### Dependencies
5
+
6
+ * **@visulima/error:** upgraded to 6.0.0-alpha.22
7
+
8
+ ## @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)
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * **@visulima/error:** upgraded to 6.0.0-alpha.21
14
+
15
+ ## @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)
16
+
17
+
18
+ ### Dependencies
19
+
20
+ * **@visulima/error:** upgraded to 6.0.0-alpha.20
21
+
22
+ ## @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)
23
+
24
+
25
+ ### Dependencies
26
+
27
+ * **@visulima/error:** upgraded to 6.0.0-alpha.19
28
+
29
+ ## @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)
30
+
31
+
32
+ ### Dependencies
33
+
34
+ * **@visulima/error:** upgraded to 6.0.0-alpha.18
35
+
36
+ ## @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)
37
+
38
+
39
+ ### Dependencies
40
+
41
+ * **@visulima/error:** upgraded to 6.0.0-alpha.17
42
+
43
+ ## @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)
44
+
45
+ ### Miscellaneous Chores
46
+
47
+ * **error-handler:** apply prettier and eslint quote-style auto-fix ([27f45d8](https://github.com/visulima/visulima/commit/27f45d8686fefcf9a6ca8519d4199150617dbd9a))
48
+ * **error-handler:** housekeeping cleanup ([ea3f457](https://github.com/visulima/visulima/commit/ea3f457736922835b42e3b46aa83c575e76c4864))
49
+
50
+
51
+ ### Dependencies
52
+
53
+ * **@visulima/error:** upgraded to 6.0.0-alpha.16
54
+
55
+ ## @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)
56
+
57
+
58
+ ### Dependencies
59
+
60
+ * **@visulima/error:** upgraded to 6.0.0-alpha.15
61
+
62
+ ## @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)
63
+
64
+ ### Miscellaneous Chores
65
+
66
+ * **error-handler:** upgrade packem to 2.0.0-alpha.76 ([33bd1ff](https://github.com/visulima/visulima/commit/33bd1ffe927a6637444696b4acfd7a9052b26a8f))
67
+ * re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
68
+
69
+
70
+ ### Dependencies
71
+
72
+ * **@visulima/error:** upgraded to 6.0.0-alpha.14
73
+
74
+ ## @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)
75
+
76
+ ### Bug Fixes
77
+
78
+ * **error-debugging:** resolve eslint and formatting issues ([7d0ada8](https://github.com/visulima/visulima/commit/7d0ada8787bf624df5a7d504448a4d1b69165aba))
79
+ * **error-debugging:** resolve eslint and type-safety issues ([886dbff](https://github.com/visulima/visulima/commit/886dbffe3f744c9493fcc54e781de3fd21eebf78))
80
+ * **error-handler:** remove unused [@ts-expect-error](https://github.com/ts-expect-error) on end() overload ([a8eb6a6](https://github.com/visulima/visulima/commit/a8eb6a6ab8d42c1a6881dda5c605a4d20dde069f))
81
+ * **error-handler:** resolve eslint and formatting issues ([324f5d8](https://github.com/visulima/visulima/commit/324f5d89f1bcceac4fbe44c6002040aa63be1ec9))
82
+ * 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))
83
+
84
+ ### Miscellaneous Chores
85
+
86
+ * bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
87
+ * **error-handler:** apply formatter and lint fixes ([9ab7d48](https://github.com/visulima/visulima/commit/9ab7d48758f89b434e8c463c45f94eedc4619ab9))
88
+ * **error-handler:** enforce curly braces and apply lint fixes ([ced1569](https://github.com/visulima/visulima/commit/ced1569c34fde28975eda76e5e84db6d87059865))
89
+ * fixed jsr.json ([5d85e51](https://github.com/visulima/visulima/commit/5d85e5179de38e284ec433b14d77c71a1619c8d6))
90
+
91
+ ### Continuous Integration
92
+
93
+ * disable isolatedDeclarationTransformer ([d5845d8](https://github.com/visulima/visulima/commit/d5845d888012fbe20a020cb2c02ec57269356e56))
94
+
95
+
96
+ ### Dependencies
97
+
98
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.10
99
+
100
+ ## @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)
101
+
102
+ ### Bug Fixes
103
+
104
+ * **error-handler:** properly fix eslint errors in code ([591179f](https://github.com/visulima/visulima/commit/591179fb1b56587986449878a95abfc18f6d735b))
105
+ * **error-handler:** remove remaining eslint suppressions with proper code fixes ([58b05d6](https://github.com/visulima/visulima/commit/58b05d6cb5d98c29e0abe57af35120696504b22b))
106
+ * **error-handler:** resolve eslint errors ([ab613b8](https://github.com/visulima/visulima/commit/ab613b8683677fd0ca7e09b06b3fe94e59df9bd0))
107
+
108
+ ### Miscellaneous Chores
109
+
110
+ * apply linting and formatting fixes across packages ([5d150a5](https://github.com/visulima/visulima/commit/5d150a578f9ce861c791843c683deeb849b774a9))
111
+ * **error-debugging:** remove empty dependency objects from package.json ([7eb7c8e](https://github.com/visulima/visulima/commit/7eb7c8eba1394e515fa77c0f56baf41c0810de2e))
112
+ * **error-handler:** add tsconfig.eslint.json for type-aware linting ([8e52a91](https://github.com/visulima/visulima/commit/8e52a916c1b7a0262b5ef097985be5ccaa735401))
113
+ * **error-handler:** apply prettier formatting ([eeb50dd](https://github.com/visulima/visulima/commit/eeb50ddf301722cb7f1439001d2b1c06e88797ae))
114
+ * **error-handler:** migrate .prettierrc.cjs to prettier.config.js ([6fb8eb8](https://github.com/visulima/visulima/commit/6fb8eb8832335f8b249cded58fe78c3ee5edc000))
115
+
116
+
117
+ ### Dependencies
118
+
119
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.9
120
+ * **@visulima/error:** upgraded to 6.0.0-alpha.8
121
+
122
+ ## @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)
123
+
124
+ ### Features
125
+
126
+ * **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
127
+
128
+
129
+ ### Dependencies
130
+
131
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.8
132
+ * **@visulima/error:** upgraded to 6.0.0-alpha.7
133
+
134
+ ## @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)
135
+
136
+ ### Bug Fixes
137
+
138
+ * **error-handler:** use workspace:* for internal [@visulima](https://github.com/visulima) deps ([d453330](https://github.com/visulima/visulima/commit/d4533305f56a3e6f06e7381f639aa89ce4ae477b))
139
+ * **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
140
+
141
+ ### Miscellaneous Chores
142
+
143
+ * **error-handler:** migrate deps to pnpm catalogs ([cc75436](https://github.com/visulima/visulima/commit/cc75436984973d46084af7aa592cb5bf45736b30))
144
+
145
+
146
+ ### Dependencies
147
+
148
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.7
149
+ * **@visulima/error:** upgraded to 6.0.0-alpha.6
150
+
151
+ ## @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)
152
+
153
+ ### Bug Fixes
154
+
155
+ * resolve 5 audit vulnerabilities (simple-git, express-rate-limit, tar, file-type, hono) ([2986d77](https://github.com/visulima/visulima/commit/2986d770746afd3223a074dc1a1a0040cca56e61))
156
+
157
+ ### Miscellaneous Chores
158
+
159
+ * **error-handler:** update dependencies ([7423461](https://github.com/visulima/visulima/commit/742346112111d015094b7db7e759e422acaf52d5))
160
+ * visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
161
+
162
+ ## @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)
163
+
164
+ ### Bug Fixes
165
+
166
+ * **error-handler:** update packem to 2.0.0-alpha.54 ([03aad29](https://github.com/visulima/visulima/commit/03aad29df5527fa431ad01b561ea296d6f1cf622))
167
+
168
+ ### Documentation
169
+
170
+ * **error,error-handler,ono,inspector,source-map,vite-overlay:** add comprehensive Fumadocs documentation ([a0c8c92](https://github.com/visulima/visulima/commit/a0c8c92949cff2730fc6122f717fe344c030f366))
171
+
172
+ ### Miscellaneous Chores
173
+
174
+ * **error-debugging:** update dependencies ([6002ece](https://github.com/visulima/visulima/commit/6002ece1803b2ba8261cff42a362dd6e8ddcc3ee))
175
+ * **error-handler:** update dependencies ([306a3b8](https://github.com/visulima/visulima/commit/306a3b89dedbe6e50ff1978e3635ddea99e527e4))
176
+ * update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
177
+ * year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
178
+
179
+
180
+ ### Dependencies
181
+
182
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.6
183
+ * **@visulima/error:** upgraded to 6.0.0-alpha.5
184
+
185
+ ## @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)
186
+
187
+ ### Miscellaneous Chores
188
+
189
+ * **error-handler:** update dependencies ([e84d234](https://github.com/visulima/visulima/commit/e84d234a98400af596aecc265b7121ef607237dd))
190
+
191
+
192
+ ### Dependencies
193
+
194
+ * **@visulima/error:** upgraded to 6.0.0-alpha.4
195
+
196
+ ## @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)
197
+
198
+ ### Bug Fixes
199
+
200
+ * **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))
201
+ * **error-handler:** update package files ([a059109](https://github.com/visulima/visulima/commit/a059109774f5b961326ab917083db91cff641667))
202
+
203
+ ### Miscellaneous Chores
204
+
205
+ * **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))
206
+
207
+
208
+ ### Dependencies
209
+
210
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.5
211
+ * **@visulima/error:** upgraded to 6.0.0-alpha.3
212
+
213
+ ## @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)
214
+
215
+ ### Miscellaneous Chores
216
+
217
+ * fixed project.json names and schema path ([964722f](https://github.com/visulima/visulima/commit/964722f691db205c7edb9aa6db29e849a647500b))
218
+
219
+
220
+ ### Dependencies
221
+
222
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.4
223
+
224
+ ## @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)
225
+
226
+ ### Bug Fixes
227
+
228
+ * update package OG images across multiple packages ([f08e4dd](https://github.com/visulima/visulima/commit/f08e4dd2b105ccb29c8412020a9c2be36d6c1e9e))
229
+
230
+
231
+ ### Dependencies
232
+
233
+ * **@visulima/boxen:** upgraded to 3.0.0-alpha.3
234
+ * **@visulima/error:** upgraded to 6.0.0-alpha.2
235
+
1
236
  ## @visulima/error-handler [2.0.0-alpha.2](https://github.com/visulima/visulima/compare/@visulima/error-handler@2.0.0-alpha.1...@visulima/error-handler@2.0.0-alpha.2) (2025-12-08)
2
237
 
3
238
 
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 f=Object.defineProperty;var l=(t,a)=>f(t,"name",{value:a,configurable:!0});import{getReasonPhrase as d}from"http-status-codes";import{p as u}from"../packem_shared/add-status-code-to-response-Dc6Pvpeh.js";import{a as h}from"../packem_shared/set-error-headers-DT9rVGtW.js";var g=Object.defineProperty,k=l((t,a)=>g(t,"name",{value:a,configurable:!0}),"c");const b="callback",$=k((t={})=>async(a,c,e)=>{u(e,a),h(e,a);const{statusCode:r}=e,s=d(r),n=new URL(c.url??"http://localhost","http://localhost"),p=t.callbackParamName??b,m=n.searchParams.get(p)??"callback";let o;if(t.formatter)o=await t.formatter({error:a,reasonPhrase:s,request:c,response:e,statusCode:r});else{const{expose:i}=a;o={message:a.message||s,error:s,statusCode:r,...i?{stack:a.stack}:{}}}e.setHeader("content-type","application/javascript; charset=utf-8"),e.end(`${m}(${JSON.stringify(o)});`)},"jsonpErrorHandler");export{$ 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,3 +1,3 @@
1
- var o=Object.defineProperty;var a=(r,e)=>o(r,"name",{value:e,configurable:!0});import{buildOutput as i}from"../packem_shared/cliHandler-nqs3YWf5.js";import{terminalOutput as f}from"../packem_shared/cliHandler-nqs3YWf5.js";var u=Object.defineProperty,l=a((r,e)=>u(r,"name",{value:e,configurable:!0}),"o");const d=l(async(r,e={})=>{const{errorAnsi:t,solutionBox:n}=await i(r,e);return n===void 0?t:`${t}
1
+ var o=Object.defineProperty;var a=(r,e)=>o(r,"name",{value:e,configurable:!0});import{buildOutput as i}from"../packem_shared/cliHandler-CeQ8tsGj.js";import{terminalOutput as f}from"../packem_shared/cliHandler-CeQ8tsGj.js";var u=Object.defineProperty,l=a((r,e)=>u(r,"name",{value:e,configurable:!0}),"o");const d=l(async(r,e={})=>{const{errorAnsi:t,solutionBox:n}=await i(r,e);return n===void 0?t:`${t}
2
2
 
3
3
  ${n}`},"ansiHandler");export{d as ansiHandler,f 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 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 v}from"../../error-handler/jsonp-error-handler.js";import p from"../../error-handler/problem-error-handler.js";import{textErrorHandler as y}from"../../error-handler/text-error-handler.js";import{xmlErrorHandler as H}from"../../error-handler/xml-error-handler.js";import{htmlErrorHandler as j}from"../../error-handler/html-error-handler.js";var x=Object.defineProperty,h=c((r,e)=>x(r,"name",{value:e,configurable:!0}),"i");class L{static{c(this,"x")}static{h(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 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 n={headers:Object.fromEntries(s.headers.entries()),method:s.method,url:s.url},a=new L;await r(e,n,a);const o={};for(const[l,i]of Object.entries(a.headers))o[l]=Array.isArray(i)?i.join(", "):String(i);return new Response(a.responseBody,{headers:o,status:a.statusCode})},"adaptErrorHandlerToFetch"),E=h((r,e,s)=>async(n,a)=>{const o=a.headers.get("accept"),l=k(o);let i=s??d(p);if(l==="text/html"&&s)i=s;else switch(l){case"application/javascript":{i=d(v());break}case"application/json":{i=d(g());break}case"application/problem+json":{i=d(p);break}case"application/vnd.api+json":{i=d(w);break}case"application/xml":{i=d(H());break}case"text/plain":{i=d(y());break}}for(const{handler:u,regex:m}of r){const f=o??"";if(m.test(f)){i=u;break}}return n.expose=e,i(n,a)},"createFetchNegotiatedErrorHandler");var C=Object.defineProperty,t=c((r,e)=>C(r,"name",{value:e,configurable:!0}),"e");class S{static{c(this,"d")}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,n){this.statusCode=e;let a=n;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,n){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 M=t((r={})=>{const e=j(r);return async(s,n)=>{const a={headers:Object.fromEntries(n.headers.entries()),method:n.method,url:n.url},o=new S;await e(s,a,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,A=c((r,e)=>O(r,"name",{value:e,configurable:!0}),"t");const K=A((r,e={})=>{const s=M(e),n=E(e.extraHandlers??[],e.showTrace??!0,s);return async a=>(e.onError&&await e.onError(r,a),n(r,a))},"fetchHandler");export{K 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-b0kjXpZ3.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-b0kjXpZ3.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};
@@ -0,0 +1 @@
1
+ var h=Object.defineProperty;var c=(e,r)=>h(e,"name",{value:r,configurable:!0});import{createRequire as y}from"node:module";import{parseStacktrace as v}from"@visulima/error/stacktrace";import{boxen as x}from"@visulima/boxen";import{renderError as w}from"@visulima/error/error";import{ruleBasedFinder as F,errorHintFinder as B}from"@visulima/error/solution";const b=y(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=c(e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[r,t]=u.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return u.getBuiltinModule(e)}return b(e)},"__cjs_getBuiltinModule"),{readFile:_}=p("node:fs/promises"),{fileURLToPath:O}=p("node:url");var T=Object.defineProperty,A=c((e,r)=>T(e,"name",{value:r,configurable:!0}),"r");const q=["cjs","mjs"],P=["mdoc"],S=A(e=>{const r=(e.split("?")[0]??e).split(".").pop()?.toLowerCase();if(!r||q.includes(r))return"javascript";if(P.includes(r))return"markdown";switch(r){case"js":case"cjs":case"mjs":return"javascript";case"json":return"json";case"json5":return"json5";case"jsonc":return"jsonc";case"jsx":return"jsx";case"sql":return"sql";case"ts":case"cts":case"mts":return"typescript";case"tsx":return"tsx";case"xml":return"xml";case"md":return"markdown";case"mdx":return"mdx";case"svelte":return"svelte";case"vue":return"vue";case"html":return"html";case"css":return"css";case"scss":return"scss";case"less":return"less";case"sass":return"sass";case"stylus":return"stylus";case"styl":return"styl";case"txt":return"text";default:return"javascript"}},"findLanguageBasedOnExtension");var k=Object.defineProperty,m=c((e,r)=>k(e,"name",{value:r,configurable:!0}),"o");const l=new Map,L=m(async e=>{if(/^(?:http|https|file|data):/.test(e)){if(l.has(e))return l.get(e);if(e.startsWith("file:"))try{const r=O(e),t=await _(r,"utf8");return l.set(e,t),t}catch{return}try{const r=await fetch(e);if(!r.ok)return;const t=await r.text();return l.set(e,t),t}catch{return}}},"getFileSource");m(()=>{l.clear()},"clearFileSourceCache");var C=Object.defineProperty,f=c((e,r)=>C(e,"name",{value:r,configurable:!0}),"d");const M=f(e=>e.replace(/^\s*#+\s*/,"").trim(),"sanitizeTitle"),R=f(async(e,r,t=!1)=>{const a=[...r,F,B],s=v(e,{frameLimit:1})[0]??{};for await(const o of a.sort((i,n)=>i.priority-n.priority)){const{handle:i}=o;if(typeof i!="function")continue;const n=await i(e,{file:s.file??"",language:S(s.file??""),line:s.line??0,snippet:s.file?await L(s.file):""});if(n)return n}},"runSolutionFinders"),$=f(async(e,r)=>{const{solutionFinders:t=[],solutionTitle:a,color:s,debug:o=!1,...i}=r,n=w(e,{...i,...s?.codeFrame}),d=await R(e,t,o);if(!d)return{errorAnsi:n,solutionBox:void 0};const g=M(d.header??a??"A possible solution to this error"),j=x(d.body,{borderStyle:"round",padding:{top:1,right:2,bottom:1,left:2},margin:{top:0,right:0,bottom:0,left:0},headerText:`💡 ${g}`,headerAlignment:"left",textAlignment:"left",...s?.boxen});return{errorAnsi:n,solutionBox:j}},"buildOutput"),D=f(async(e,r={})=>{const{logger:t=console,...a}=r,{errorAnsi:s,solutionBox:o}=await $(e,a);t.error(s),o&&(t.log(""),t.log(o))},"terminalOutput");export{$ as buildOutput,D as terminalOutput};
@@ -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 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 s from"../error-handler/problem-error-handler.js";import{textErrorHandler as E}from"../error-handler/text-error-handler.js";import{xmlErrorHandler as g}from"../error-handler/xml-error-handler.js";var h=Object.defineProperty,y=c((r,e)=>h(r,"name",{value:e,configurable:!0}),"i");const q=y((r,e,t)=>async(p,o,l)=>{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??s;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=s;break}case"application/vnd.api+json":{a=v;break}case"application/xml":case"text/xml":{a=g();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,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,48 @@
1
1
  {
2
2
  "name": "@visulima/error-handler",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.21",
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
38
  "bugs": {
39
39
  "url": "https://github.com/visulima/visulima/issues"
40
40
  },
41
+ "license": "MIT",
42
+ "author": {
43
+ "name": "Daniel Bannert",
44
+ "email": "d.bannert@anolilab.de"
45
+ },
41
46
  "repository": {
42
47
  "type": "git",
43
48
  "url": "git+https://github.com/visulima/visulima.git",
@@ -53,13 +58,13 @@
53
58
  "url": "https://anolilab.com/support"
54
59
  }
55
60
  ],
56
- "license": "MIT",
57
- "author": {
58
- "name": "Daniel Bannert",
59
- "email": "d.bannert@anolilab.de"
60
- },
61
- "sideEffects": false,
61
+ "files": [
62
+ "dist",
63
+ "README.md",
64
+ "CHANGELOG.md"
65
+ ],
62
66
  "type": "module",
67
+ "sideEffects": false,
63
68
  "exports": {
64
69
  ".": {
65
70
  "types": "./dist/index.d.ts",
@@ -127,25 +132,20 @@
127
132
  },
128
133
  "./package.json": "./package.json"
129
134
  },
130
- "files": [
131
- "dist",
132
- "README.md",
133
- "CHANGELOG.md"
134
- ],
135
+ "publishConfig": {
136
+ "access": "public",
137
+ "provenance": true
138
+ },
135
139
  "dependencies": {
136
- "@tinyhttp/accepts": "^2.2.4",
137
- "@visulima/boxen": "3.0.0-alpha.2",
138
- "@visulima/error": "6.0.0-alpha.1",
140
+ "@tinyhttp/accepts": "^2.3.0",
141
+ "@visulima/boxen": "3.0.0-alpha.10",
142
+ "@visulima/error": "6.0.0-alpha.22",
139
143
  "http-errors": "^2.0.1",
140
144
  "http-status-codes": "^2.3.0",
141
- "jstoxml": "^7.0.1",
142
- "ts-japi": "^1.12.1"
145
+ "jstoxml": "^7.1.0",
146
+ "ts-japi": "^1.12.3"
143
147
  },
144
148
  "engines": {
145
- "node": ">=22.13 <=25.x"
146
- },
147
- "publishConfig": {
148
- "access": "public",
149
- "provenance": true
149
+ "node": "^22.14.0 || >=24.10.0"
150
150
  }
151
151
  }
@@ -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 j=Object.defineProperty;var c=(e,r)=>j(e,"name",{value:r,configurable:!0});import{createRequire as y}from"node:module";import{parseStacktrace as v}from"@visulima/error/stacktrace";import{boxen as x}from"@visulima/boxen";import{renderError as w}from"@visulima/error/error";import{ruleBasedFinder as F,errorHintFinder as B}from"@visulima/error/solution";const b=y(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=c(e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[r,t]=u.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return u.getBuiltinModule(e)}return b(e)},"__cjs_getBuiltinModule"),{readFile:_}=p("node:fs/promises"),{fileURLToPath:O}=p("node:url");var T=Object.defineProperty,A=c((e,r)=>T(e,"name",{value:r,configurable:!0}),"t");const q=["cjs","mjs"],P=["mdoc"],S=A(e=>{const r=(e.split("?")[0]??e).split(".").pop()?.toLowerCase();if(!r||q.includes(r))return"javascript";if(P.includes(r))return"markdown";switch(r){case"js":return"javascript";case"json":return"json";case"json5":return"json5";case"jsonc":return"jsonc";case"jsx":return"jsx";case"sql":return"sql";case"ts":return"typescript";case"tsx":return"tsx";case"xml":return"xml";case"md":return"markdown";case"mdx":return"mdx";case"svelte":return"svelte";case"vue":return"vue";case"html":return"html";case"css":return"css";case"scss":return"scss";case"less":return"less";case"sass":return"sass";case"stylus":return"stylus";case"styl":return"styl";default:return"javascript"}},"findLanguageBasedOnExtension");var k=Object.defineProperty,m=c((e,r)=>k(e,"name",{value:r,configurable:!0}),"o");const l=new Map,L=m(async e=>{if(/^(?:http|https|file|data):/.test(e)){if(l.has(e))return l.get(e);if(e.startsWith("file:"))try{const r=O(e),t=await _(r,"utf8");return l.set(e,t),t}catch{return}try{const r=await fetch(e);if(!r.ok)return;const t=await r.text();return l.set(e,t),t}catch{return}}},"getFileSource");m(()=>{l.clear()},"clearFileSourceCache");var C=Object.defineProperty,f=c((e,r)=>C(e,"name",{value:r,configurable:!0}),"d");const M=f(e=>e.replace(/^\s*#+\s*/,"").trim(),"sanitizeTitle"),R=f(async(e,r,t=!1)=>{const a=[...r,F,B],s=v(e,{frameLimit:1})[0]??{};for await(const o of a.sort((i,n)=>i.priority-n.priority)){const{handle:i}=o;if(typeof i!="function")continue;const n=await i(e,{file:s.file??"",language:S(s.file??""),line:s.line??0,snippet:s.file?await L(s.file):""});if(n)return n}},"runSolutionFinders"),$=f(async(e,r)=>{const{solutionFinders:t=[],solutionTitle:a,color:s,debug:o=!1,...i}=r,n=w(e,{...i,...s?.codeFrame}),d=await R(e,t,o);if(!d)return{errorAnsi:n,solutionBox:void 0};const g=M(d.header??a??"A possible solution to this error"),h=x(d.body,{borderStyle:"round",padding:{top:1,right:2,bottom:1,left:2},margin:{top:0,right:0,bottom:0,left:0},headerText:`💡 ${g}`,headerAlignment:"left",textAlignment:"left",...s?.boxen});return{errorAnsi:n,solutionBox:h}},"buildOutput"),D=f(async(e,r={})=>{const{logger:t=console,...a}=r,{errorAnsi:s,solutionBox:o}=await $(e,a);t.error(s),o&&(t.log(""),t.log(o))},"terminalOutput");export{$ as buildOutput,D as terminalOutput};
@@ -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};