nitro 2.2.28 → 3.0.0-alpha.0

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 (306) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +11 -259
  3. package/dist/_chunks/app.mjs +19797 -0
  4. package/dist/_chunks/build.mjs +84 -0
  5. package/dist/_chunks/build2.mjs +318 -0
  6. package/dist/_chunks/build3.mjs +6452 -0
  7. package/dist/_chunks/detect-acorn.mjs +503 -0
  8. package/dist/_chunks/index.mjs +22242 -0
  9. package/dist/_chunks/index2.mjs +297 -0
  10. package/dist/_chunks/index3.mjs +1058 -0
  11. package/dist/_chunks/index4.mjs +1206 -0
  12. package/dist/_chunks/info.mjs +11157 -0
  13. package/dist/_chunks/json5.mjs +68 -0
  14. package/dist/_chunks/jsonc.mjs +51 -0
  15. package/dist/_chunks/pathe.M-eThtNZ.mjs +204 -0
  16. package/dist/_chunks/plugin.mjs +960 -0
  17. package/dist/_chunks/server.mjs +254 -0
  18. package/dist/_chunks/snapshot.mjs +284 -0
  19. package/dist/_chunks/toml.mjs +259 -0
  20. package/dist/_chunks/yaml.mjs +86 -0
  21. package/dist/cli/build.mjs +54 -0
  22. package/dist/cli/common.mjs +13 -0
  23. package/dist/cli/dev.mjs +95 -0
  24. package/dist/cli/index.d.mts +1 -0
  25. package/dist/cli/index.mjs +477 -0
  26. package/dist/cli/index2.mjs +17 -0
  27. package/dist/cli/list.mjs +34 -0
  28. package/dist/cli/prepare.mjs +24 -0
  29. package/dist/cli/run.mjs +60 -0
  30. package/dist/index.d.mts +52 -0
  31. package/dist/index.mjs +55 -0
  32. package/dist/node_modules/@poppinss/colors/build/index.js +169 -0
  33. package/dist/node_modules/@poppinss/colors/package.json +116 -0
  34. package/dist/node_modules/@poppinss/dumper/build/chunk-26HALFTP.js +602 -0
  35. package/dist/node_modules/@poppinss/dumper/build/formatters/console/main.js +441 -0
  36. package/dist/node_modules/@poppinss/dumper/build/formatters/html/main.js +717 -0
  37. package/dist/node_modules/@poppinss/dumper/package.json +122 -0
  38. package/dist/node_modules/@poppinss/exception/build/index.js +63 -0
  39. package/dist/node_modules/@poppinss/exception/package.json +106 -0
  40. package/dist/node_modules/@sindresorhus/is/distribution/index.js +1313 -0
  41. package/dist/node_modules/@sindresorhus/is/distribution/utilities.js +3 -0
  42. package/dist/node_modules/@sindresorhus/is/package.json +81 -0
  43. package/dist/node_modules/@speed-highlight/core/dist/index.js +4 -0
  44. package/dist/node_modules/@speed-highlight/core/dist/terminal.js +2 -0
  45. package/dist/node_modules/@speed-highlight/core/package.json +90 -0
  46. package/dist/node_modules/cookie/dist/index.js +239 -0
  47. package/dist/node_modules/cookie/package.json +42 -0
  48. package/dist/node_modules/croner/dist/croner.js +1 -0
  49. package/dist/node_modules/croner/package.json +63 -0
  50. package/dist/node_modules/defu/dist/defu.mjs +69 -0
  51. package/dist/node_modules/defu/package.json +43 -0
  52. package/dist/node_modules/destr/dist/index.mjs +72 -0
  53. package/dist/node_modules/destr/package.json +47 -0
  54. package/dist/node_modules/error-stack-parser-es/dist/index.mjs +38 -0
  55. package/dist/node_modules/error-stack-parser-es/dist/lite.mjs +167 -0
  56. package/dist/node_modules/error-stack-parser-es/package.json +83 -0
  57. package/dist/node_modules/get-port-please/dist/index.mjs +430 -0
  58. package/dist/node_modules/get-port-please/package.json +39 -0
  59. package/dist/node_modules/hookable/dist/index.mjs +290 -0
  60. package/dist/node_modules/hookable/package.json +49 -0
  61. package/dist/node_modules/kleur/index.js +110 -0
  62. package/dist/node_modules/kleur/index.mjs +110 -0
  63. package/dist/node_modules/kleur/package.json +51 -0
  64. package/dist/node_modules/klona/dist/index.mjs +81 -0
  65. package/dist/node_modules/klona/full/index.mjs +53 -0
  66. package/dist/node_modules/klona/package.json +74 -0
  67. package/dist/node_modules/scule/dist/index.mjs +80 -0
  68. package/dist/node_modules/scule/package.json +43 -0
  69. package/dist/node_modules/source-map/lib/array-set.js +100 -0
  70. package/dist/node_modules/source-map/lib/base64-vlq.js +94 -0
  71. package/dist/node_modules/source-map/lib/base64.js +19 -0
  72. package/dist/node_modules/source-map/lib/binary-search.js +113 -0
  73. package/dist/node_modules/source-map/lib/mapping-list.js +83 -0
  74. package/dist/node_modules/source-map/lib/mappings.wasm +0 -0
  75. package/dist/node_modules/source-map/lib/read-wasm.js +27 -0
  76. package/dist/node_modules/source-map/lib/source-map-consumer.js +1081 -0
  77. package/dist/node_modules/source-map/lib/source-map-generator.js +439 -0
  78. package/dist/node_modules/source-map/lib/source-node.js +430 -0
  79. package/dist/node_modules/source-map/lib/url.js +13 -0
  80. package/dist/node_modules/source-map/lib/util.js +444 -0
  81. package/dist/node_modules/source-map/lib/wasm.js +138 -0
  82. package/dist/node_modules/source-map/package.json +79 -0
  83. package/dist/node_modules/source-map/source-map.js +10 -0
  84. package/dist/node_modules/std-env/dist/index.mjs +1 -0
  85. package/dist/node_modules/std-env/package.json +46 -0
  86. package/dist/node_modules/supports-color/index.js +202 -0
  87. package/dist/node_modules/supports-color/package.json +64 -0
  88. package/dist/node_modules/ufo/dist/index.mjs +638 -0
  89. package/dist/node_modules/ufo/package.json +47 -0
  90. package/dist/node_modules/unctx/dist/index.mjs +131 -0
  91. package/dist/node_modules/unctx/package.json +67 -0
  92. package/dist/node_modules/youch/build/chunk-4L7RY2JA.js +42 -0
  93. package/dist/node_modules/youch/build/chunk-4XB2BYKC.js +85 -0
  94. package/dist/node_modules/youch/build/chunk-4YEN7HVQ.js +61 -0
  95. package/dist/node_modules/youch/build/chunk-EUJBVOYB.js +83 -0
  96. package/dist/node_modules/youch/build/chunk-HFSXRSKS.js +85 -0
  97. package/dist/node_modules/youch/build/chunk-JAN2TFI2.js +222 -0
  98. package/dist/node_modules/youch/build/chunk-OSUFJZHZ.js +6 -0
  99. package/dist/node_modules/youch/build/chunk-PINJDICN.js +72 -0
  100. package/dist/node_modules/youch/build/chunk-PUHGL6HA.js +41 -0
  101. package/dist/node_modules/youch/build/chunk-VE4LENUR.js +45 -0
  102. package/dist/node_modules/youch/build/index.js +352 -0
  103. package/dist/node_modules/youch/build/public/error_cause/style.css +5 -0
  104. package/dist/node_modules/youch/build/public/error_info/script.js +13 -0
  105. package/dist/node_modules/youch/build/public/error_info/style.css +144 -0
  106. package/dist/node_modules/youch/build/public/error_stack/script.js +74 -0
  107. package/dist/node_modules/youch/build/public/error_stack/style.css +220 -0
  108. package/dist/node_modules/youch/build/public/error_stack_source/style.css +123 -0
  109. package/dist/node_modules/youch/build/public/header/script.js +16 -0
  110. package/dist/node_modules/youch/build/public/header/style.css +56 -0
  111. package/dist/node_modules/youch/build/public/layout/script.js +20 -0
  112. package/dist/node_modules/youch/build/public/layout/style.css +431 -0
  113. package/dist/node_modules/youch/package.json +133 -0
  114. package/dist/node_modules/youch-core/build/index.js +316 -0
  115. package/dist/node_modules/youch-core/package.json +124 -0
  116. package/dist/presets/_nitro/runtime/nitro-dev.d.mts +1 -0
  117. package/dist/presets/_nitro/runtime/nitro-dev.mjs +62 -0
  118. package/dist/presets/_nitro/runtime/nitro-prerenderer.d.mts +3 -0
  119. package/dist/presets/_nitro/runtime/nitro-prerenderer.mjs +18 -0
  120. package/dist/presets/_nitro/runtime/service-worker.d.mts +1 -0
  121. package/dist/presets/_nitro/runtime/service-worker.mjs +21 -0
  122. package/dist/presets/aws-amplify/runtime/aws-amplify.d.mts +1 -0
  123. package/dist/presets/aws-amplify/runtime/aws-amplify.mjs +13 -0
  124. package/dist/presets/aws-lambda/runtime/_utils.d.mts +18 -0
  125. package/dist/presets/aws-lambda/runtime/_utils.mjs +102 -0
  126. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.d.mts +3 -0
  127. package/dist/presets/aws-lambda/runtime/aws-lambda-streaming.mjs +33 -0
  128. package/dist/presets/aws-lambda/runtime/aws-lambda.d.mts +3 -0
  129. package/dist/presets/aws-lambda/runtime/aws-lambda.mjs +13 -0
  130. package/dist/presets/azure/runtime/_utils.d.mts +2 -0
  131. package/dist/presets/azure/runtime/_utils.mjs +50 -0
  132. package/dist/presets/azure/runtime/azure-swa.d.mts +5 -0
  133. package/dist/presets/azure/runtime/azure-swa.mjs +28 -0
  134. package/dist/presets/bun/runtime/bun.d.mts +1 -0
  135. package/dist/presets/bun/runtime/bun.mjs +27 -0
  136. package/dist/presets/cloudflare/runtime/_module-handler.d.mts +13 -0
  137. package/dist/presets/cloudflare/runtime/_module-handler.mjs +93 -0
  138. package/dist/presets/cloudflare/runtime/cloudflare-durable.d.mts +19 -0
  139. package/dist/presets/cloudflare/runtime/cloudflare-durable.mjs +74 -0
  140. package/dist/presets/cloudflare/runtime/cloudflare-module.d.mts +9 -0
  141. package/dist/presets/cloudflare/runtime/cloudflare-module.mjs +20 -0
  142. package/dist/presets/cloudflare/runtime/cloudflare-pages.d.mts +20 -0
  143. package/dist/presets/cloudflare/runtime/cloudflare-pages.mjs +47 -0
  144. package/dist/presets/cloudflare/runtime/plugin.dev.d.mts +3 -0
  145. package/dist/presets/cloudflare/runtime/plugin.dev.mjs +89 -0
  146. package/dist/presets/deno/runtime/deno-deploy.d.mts +1 -0
  147. package/dist/presets/deno/runtime/deno-deploy.mjs +17 -0
  148. package/dist/presets/deno/runtime/deno-server.d.mts +6 -0
  149. package/dist/presets/deno/runtime/deno-server.mjs +59 -0
  150. package/dist/presets/netlify/runtime/netlify-edge.d.mts +3 -0
  151. package/dist/presets/netlify/runtime/netlify-edge.mjs +17 -0
  152. package/dist/presets/netlify/runtime/netlify.d.mts +3 -0
  153. package/dist/presets/netlify/runtime/netlify.mjs +24 -0
  154. package/dist/presets/node/runtime/node-cluster.d.mts +1 -0
  155. package/dist/presets/node/runtime/node-cluster.mjs +58 -0
  156. package/dist/presets/node/runtime/node-middleware.d.mts +4 -0
  157. package/dist/presets/node/runtime/node-middleware.mjs +14 -0
  158. package/dist/presets/node/runtime/node-server.d.mts +3 -0
  159. package/dist/presets/node/runtime/node-server.mjs +44 -0
  160. package/dist/presets/standard/runtime/server.d.mts +5 -0
  161. package/dist/presets/standard/runtime/server.mjs +6 -0
  162. package/dist/presets/stormkit/runtime/stormkit.d.mts +21 -0
  163. package/dist/presets/stormkit/runtime/stormkit.mjs +28 -0
  164. package/dist/presets/vercel/runtime/vercel.d.mts +8 -0
  165. package/dist/presets/vercel/runtime/vercel.mjs +17 -0
  166. package/dist/presets/winterjs/runtime/winterjs.d.mts +1 -0
  167. package/dist/presets/winterjs/runtime/winterjs.mjs +87 -0
  168. package/dist/presets/zeabur/runtime/zeabur.d.mts +3 -0
  169. package/dist/presets/zeabur/runtime/zeabur.mjs +4 -0
  170. package/dist/presets.mjs +2460 -0
  171. package/dist/runtime/index.d.mts +11 -0
  172. package/dist/runtime/index.mjs +17 -0
  173. package/dist/runtime/internal/app.d.mts +2 -0
  174. package/dist/runtime/internal/app.mjs +153 -0
  175. package/dist/runtime/internal/cache.d.mts +7 -0
  176. package/dist/runtime/internal/cache.mjs +236 -0
  177. package/dist/runtime/internal/context.d.mts +12 -0
  178. package/dist/runtime/internal/context.mjs +17 -0
  179. package/dist/runtime/internal/database.d.mts +2 -0
  180. package/dist/runtime/internal/database.mjs +14 -0
  181. package/dist/runtime/internal/debug.d.mts +2 -0
  182. package/dist/runtime/internal/debug.mjs +5 -0
  183. package/dist/runtime/internal/empty.d.mts +0 -0
  184. package/dist/runtime/internal/empty.mjs +0 -0
  185. package/dist/runtime/internal/error/dev.d.mts +9 -0
  186. package/dist/runtime/internal/error/dev.mjs +122 -0
  187. package/dist/runtime/internal/error/prod.d.mts +8 -0
  188. package/dist/runtime/internal/error/prod.mjs +62 -0
  189. package/dist/runtime/internal/error/utils.d.mts +8 -0
  190. package/dist/runtime/internal/error/utils.mjs +3 -0
  191. package/dist/runtime/internal/index.d.mts +3 -0
  192. package/dist/runtime/internal/index.mjs +3 -0
  193. package/dist/runtime/internal/lib/http-graceful-shutdown.d.mts +16 -0
  194. package/dist/runtime/internal/lib/http-graceful-shutdown.mjs +213 -0
  195. package/dist/runtime/internal/meta.d.mts +2 -0
  196. package/dist/runtime/internal/meta.mjs +3 -0
  197. package/dist/runtime/internal/plugin.d.mts +3 -0
  198. package/dist/runtime/internal/plugin.mjs +4 -0
  199. package/dist/runtime/internal/renderer.d.mts +3 -0
  200. package/dist/runtime/internal/renderer.mjs +36 -0
  201. package/dist/runtime/internal/route-rules.d.mts +8 -0
  202. package/dist/runtime/internal/route-rules.mjs +62 -0
  203. package/dist/runtime/internal/routes/dev-tasks.d.mts +3 -0
  204. package/dist/runtime/internal/routes/dev-tasks.mjs +23 -0
  205. package/dist/runtime/internal/routes/openapi.d.mts +3 -0
  206. package/dist/runtime/internal/routes/openapi.mjs +100 -0
  207. package/dist/runtime/internal/routes/renderer-template.d.mts +2 -0
  208. package/dist/runtime/internal/routes/renderer-template.dev.d.mts +3 -0
  209. package/dist/runtime/internal/routes/renderer-template.dev.mjs +21 -0
  210. package/dist/runtime/internal/routes/renderer-template.mjs +4 -0
  211. package/dist/runtime/internal/routes/scalar.d.mts +3 -0
  212. package/dist/runtime/internal/routes/scalar.mjs +194 -0
  213. package/dist/runtime/internal/routes/swagger.d.mts +3 -0
  214. package/dist/runtime/internal/routes/swagger.mjs +44 -0
  215. package/dist/runtime/internal/runtime-config.d.mts +9 -0
  216. package/dist/runtime/internal/runtime-config.mjs +49 -0
  217. package/dist/runtime/internal/shutdown.d.mts +9 -0
  218. package/dist/runtime/internal/shutdown.mjs +34 -0
  219. package/dist/runtime/internal/static.d.mts +3 -0
  220. package/dist/runtime/internal/static.mjs +77 -0
  221. package/dist/runtime/internal/storage.d.mts +2 -0
  222. package/dist/runtime/internal/storage.mjs +6 -0
  223. package/dist/runtime/internal/task.d.mts +17 -0
  224. package/dist/runtime/internal/task.mjs +73 -0
  225. package/dist/runtime/internal/utils.d.mts +1 -0
  226. package/dist/runtime/internal/utils.mjs +15 -0
  227. package/dist/runtime/internal/vite/dev-entry.d.mts +1 -0
  228. package/dist/runtime/internal/vite/dev-entry.mjs +6 -0
  229. package/dist/runtime/internal/vite/dev-worker.d.mts +1 -0
  230. package/dist/runtime/internal/vite/dev-worker.mjs +362 -0
  231. package/dist/runtime/internal/vite/prod-setup.d.mts +4 -0
  232. package/dist/runtime/internal/vite/prod-setup.mjs +55 -0
  233. package/dist/runtime/internal/vite/ssr-renderer.d.mts +4 -0
  234. package/dist/runtime/internal/vite/ssr-renderer.mjs +4 -0
  235. package/dist/types/index.d.mts +2810 -0
  236. package/dist/types/index.mjs +1 -0
  237. package/dist/vite.d.mts +59 -0
  238. package/dist/vite.mjs +68 -0
  239. package/lib/config.d.mts +9 -0
  240. package/lib/config.mjs +5 -0
  241. package/lib/deps/h3.d.mts +1 -0
  242. package/lib/deps/h3.mjs +1 -0
  243. package/lib/deps/ofetch.mjs +1 -0
  244. package/lib/deps/ofetch.mts +1 -0
  245. package/lib/meta.d.mts +5 -0
  246. package/lib/meta.mjs +21 -0
  247. package/lib/runtime-meta.d.mts +5 -0
  248. package/lib/runtime-meta.mjs +38 -0
  249. package/package.json +190 -36
  250. package/.editorconfig +0 -12
  251. package/.eslintrc.js +0 -34
  252. package/.travis.yml +0 -7
  253. package/Dockerfile +0 -12
  254. package/Makefile +0 -37
  255. package/bin/nitro +0 -55
  256. package/lib/auto-require.js +0 -44
  257. package/lib/class-file.js +0 -105
  258. package/lib/class-files.js +0 -212
  259. package/lib/color.js +0 -89
  260. package/lib/cwd.js +0 -27
  261. package/lib/dir-expand.js +0 -80
  262. package/lib/dir.js +0 -130
  263. package/lib/file.js +0 -80
  264. package/lib/join-paths.js +0 -60
  265. package/lib/livereload/livereload.js +0 -55
  266. package/lib/livereload.js +0 -86
  267. package/lib/nitro.js +0 -161
  268. package/lib/package.js +0 -211
  269. package/lib/presets/autoprefixer.js +0 -11
  270. package/lib/presets/babel.js +0 -33
  271. package/lib/presets/browserify.js +0 -106
  272. package/lib/presets/coffee-script.js +0 -29
  273. package/lib/presets/cssnano.js +0 -11
  274. package/lib/presets/eslint.js +0 -67
  275. package/lib/presets/jshint.js +0 -51
  276. package/lib/presets/less.js +0 -45
  277. package/lib/presets/log.js +0 -11
  278. package/lib/presets/ng-annotate.js +0 -34
  279. package/lib/presets/noop.js +0 -7
  280. package/lib/presets/postcss/auto-postcss.js +0 -46
  281. package/lib/presets/postcss/autoprefixer-options.js +0 -9
  282. package/lib/presets/postcss.js +0 -40
  283. package/lib/presets/rollup.js +0 -56
  284. package/lib/presets/sass.js +0 -64
  285. package/lib/presets/sitemap.js +0 -101
  286. package/lib/presets/sitemap.xml +0 -12
  287. package/lib/presets/svg-symbols.js +0 -22
  288. package/lib/presets/svgo.js +0 -21
  289. package/lib/presets/uglify.js +0 -72
  290. package/lib/presets/webpack.js +0 -66
  291. package/lib/processors.js +0 -84
  292. package/lib/promisify.js +0 -16
  293. package/lib/server.js +0 -224
  294. package/lib/tasks.js +0 -114
  295. package/lib/watch.js +0 -81
  296. package/test.js +0 -59
  297. package/tests/cwd-tests.js +0 -25
  298. package/tests/dir-tests.js +0 -80
  299. package/tests/dummy/dummy.coffee +0 -7
  300. package/tests/dummy/dummy.js +0 -8
  301. package/tests/dummy/dummy.less +0 -6
  302. package/tests/dummy/dummy.sass +0 -5
  303. package/tests/file-tests.js +0 -17
  304. package/tests/join-paths-tests.js +0 -86
  305. package/tests/tasks-tests.js +0 -65
  306. package/wercker.yml +0 -25
@@ -0,0 +1,222 @@
1
+ import {
2
+ colors,
3
+ htmlEscape
4
+ } from "./chunk-4L7RY2JA.js";
5
+ import {
6
+ publicDirURL
7
+ } from "./chunk-OSUFJZHZ.js";
8
+ import {
9
+ BaseComponent
10
+ } from "./chunk-4YEN7HVQ.js";
11
+
12
+ // src/templates/error_stack/main.ts
13
+ import { dump, themes } from "@poppinss/dumper/html";
14
+ import { dump as dumpCli } from "@poppinss/dumper/console";
15
+ var CHEVIRON = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" width="24" height="24" stroke-width="2">
16
+ <path d="M6 9l6 6l6 -6"></path>
17
+ </svg>`;
18
+ var EDITORS = {
19
+ textmate: "txmt://open?url=file://%f&line=%l",
20
+ macvim: "mvim://open?url=file://%f&line=%l",
21
+ emacs: "emacs://open?url=file://%f&line=%l",
22
+ sublime: "subl://open?url=file://%f&line=%l",
23
+ phpstorm: "phpstorm://open?file=%f&line=%l",
24
+ atom: "atom://core/open/file?filename=%f&line=%l",
25
+ vscode: "vscode://file/%f:%l"
26
+ };
27
+ var ErrorStack = class extends BaseComponent {
28
+ cssFile = new URL("./error_stack/style.css", publicDirURL);
29
+ scriptFile = new URL("./error_stack/script.js", publicDirURL);
30
+ /**
31
+ * Returns the file's relative name from the CWD
32
+ */
33
+ #getRelativeFileName(filePath) {
34
+ return filePath.replace(`${process.cwd()}/`, "");
35
+ }
36
+ /**
37
+ * Returns the index of the frame that should be expanded by
38
+ * default
39
+ */
40
+ #getFirstExpandedFrameIndex(frames) {
41
+ let expandAtIndex = frames.findIndex((frame) => frame.type === "app");
42
+ if (expandAtIndex === -1) {
43
+ expandAtIndex = frames.findIndex((frame) => frame.type === "module");
44
+ }
45
+ return expandAtIndex;
46
+ }
47
+ /**
48
+ * Returns the link to open the file within known code
49
+ * editors
50
+ */
51
+ #getEditorLink(ide, frame) {
52
+ const editorURL = EDITORS[ide] || ide;
53
+ if (!editorURL || frame.type === "native") {
54
+ return {
55
+ text: this.#getRelativeFileName(frame.fileName)
56
+ };
57
+ }
58
+ return {
59
+ href: editorURL.replace("%f", frame.fileName).replace("%l", String(frame.lineNumber)),
60
+ text: this.#getRelativeFileName(frame.fileName)
61
+ };
62
+ }
63
+ /**
64
+ * Returns the HTML fragment for the frame location
65
+ */
66
+ #renderFrameLocation(frame, ide) {
67
+ const { text, href } = this.#getEditorLink(ide, frame);
68
+ const fileName = `<a${href ? ` href="${href}"` : ""} class="stack-frame-filepath" title="${text}">
69
+ ${htmlEscape(text)}
70
+ </a>`;
71
+ const functionName = frame.functionName ? `<span>in <code title="${frame.functionName}">
72
+ ${htmlEscape(frame.functionName)}
73
+ </code></span>` : "";
74
+ const loc = `<span>at line <code>${frame.lineNumber}:${frame.columnNumber}</code></span>`;
75
+ if (frame.type !== "native" && frame.source) {
76
+ return `<button class="stack-frame-location">
77
+ ${fileName} ${functionName} ${loc}
78
+ </button>`;
79
+ }
80
+ return `<div class="stack-frame-location">
81
+ ${fileName} ${functionName} ${loc}
82
+ </div>`;
83
+ }
84
+ /**
85
+ * Returns HTML fragment for the stack frame
86
+ */
87
+ async #renderStackFrame(frame, index, expandAtIndex, props) {
88
+ const label = frame.type === "app" ? '<span class="frame-label">In App</span>' : "";
89
+ const expandedClass = expandAtIndex === index ? " expanded" : "";
90
+ const toggleButton = frame.type !== "native" && frame.source ? `<button class="stack-frame-toggle-indicator">${CHEVIRON}</button>` : "";
91
+ return `<li class="stack-frame stack-frame-${frame.type}${expandedClass}">
92
+ <div class="stack-frame-contents">
93
+ ${this.#renderFrameLocation(frame, props.ide)}
94
+ <div class="stack-frame-extras">
95
+ ${label}
96
+ ${toggleButton}
97
+ </div>
98
+ </div>
99
+ <div class="stack-frame-source">
100
+ ${await props.sourceCodeRenderer(props.error, frame)}
101
+ </div>
102
+ </li>`;
103
+ }
104
+ /**
105
+ * Returns the ANSI output to print the stack frame on the
106
+ * terminal
107
+ */
108
+ async #printStackFrame(frame, index, expandAtIndex, props) {
109
+ const fileName = this.#getRelativeFileName(frame.fileName);
110
+ const loc = `${fileName}:${frame.lineNumber}:${frame.columnNumber}`;
111
+ if (index === expandAtIndex) {
112
+ const functionName2 = frame.functionName ? `at ${frame.functionName} ` : "";
113
+ const codeSnippet = await props.sourceCodeRenderer(props.error, frame);
114
+ return ` \u2043 ${functionName2}${colors.yellow(`(${loc})`)}${codeSnippet}`;
115
+ }
116
+ if (frame.type === "native") {
117
+ const functionName2 = frame.functionName ? `at ${colors.italic(frame.functionName)} ` : "";
118
+ return colors.dim(` \u2043 ${functionName2}(${colors.italic(loc)})`);
119
+ }
120
+ const functionName = frame.functionName ? `at ${frame.functionName} ` : "";
121
+ return ` \u2043 ${functionName}${colors.yellow(`(${loc})`)}`;
122
+ }
123
+ /**
124
+ * The toHTML method is used to output the HTML for the
125
+ * web view
126
+ */
127
+ async toHTML(props) {
128
+ const frames = await Promise.all(
129
+ props.error.frames.map((frame, index) => {
130
+ return this.#renderStackFrame(
131
+ frame,
132
+ index,
133
+ this.#getFirstExpandedFrameIndex(props.error.frames),
134
+ props
135
+ );
136
+ })
137
+ );
138
+ return `<section>
139
+ <div class="card">
140
+ <div class="card-heading">
141
+ <div>
142
+ <h3 class="card-title">
143
+ Stack Trace
144
+ </h3>
145
+ </div>
146
+ </div>
147
+ <div class="card-body">
148
+ <div id="stack-frames-wrapper">
149
+ <div id="stack-frames-header">
150
+ <div id="all-frames-toggle-wrapper">
151
+ <label id="all-frames-toggle">
152
+ <input type="checkbox" />
153
+ <span> View All Frames </span>
154
+ </label>
155
+ </div>
156
+
157
+ <div>
158
+ <div class="toggle-switch">
159
+ <button id="formatted-frames-toggle" class="active"> Pretty </button>
160
+ <button id="raw-frames-toggle"> Raw </button>
161
+ </div>
162
+ </div>
163
+ </div>
164
+
165
+ <div id="stack-frames-body">
166
+ <div id="stack-frames-formatted" class="visible">
167
+ <ul id="stack-frames">
168
+ ${frames.join("\n")}
169
+ </ul>
170
+ </div>
171
+ <div id="stack-frames-raw">
172
+ ${dump(props.error.raw, {
173
+ styles: themes.cssVariables,
174
+ expand: true,
175
+ cspNonce: props.cspNonce,
176
+ inspectObjectPrototype: false,
177
+ inspectStaticMembers: false,
178
+ inspectArrayPrototype: false
179
+ })}
180
+ </div>
181
+ </div>
182
+ <div>
183
+ </div>
184
+ </div>
185
+ </section>`;
186
+ }
187
+ /**
188
+ * The toANSI method is used to output the text for the console
189
+ */
190
+ async toANSI(props) {
191
+ const displayRaw = process.env.YOUCH_RAW;
192
+ if (displayRaw) {
193
+ const depth = Number.isNaN(Number(displayRaw)) ? 2 : Number(displayRaw);
194
+ return `
195
+
196
+ ${colors.red("[RAW]")}
197
+ ${dumpCli(props.error.raw, {
198
+ depth,
199
+ inspectObjectPrototype: false,
200
+ inspectStaticMembers: false,
201
+ inspectArrayPrototype: false
202
+ })}`;
203
+ }
204
+ const frames = await Promise.all(
205
+ props.error.frames.map((frame, index) => {
206
+ return this.#printStackFrame(
207
+ frame,
208
+ index,
209
+ this.#getFirstExpandedFrameIndex(props.error.frames),
210
+ props
211
+ );
212
+ })
213
+ );
214
+ return `
215
+
216
+ ${frames.join("\n")}`;
217
+ }
218
+ };
219
+
220
+ export {
221
+ ErrorStack
222
+ };
@@ -0,0 +1,6 @@
1
+ // src/public_dir.ts
2
+ var publicDirURL = new URL("./public/", import.meta.url);
3
+
4
+ export {
5
+ publicDirURL
6
+ };
@@ -0,0 +1,72 @@
1
+ import {
2
+ colors
3
+ } from "./chunk-4L7RY2JA.js";
4
+ import {
5
+ publicDirURL
6
+ } from "./chunk-OSUFJZHZ.js";
7
+ import {
8
+ BaseComponent
9
+ } from "./chunk-4YEN7HVQ.js";
10
+
11
+ // src/templates/error_cause/main.ts
12
+ import { dump, themes } from "@poppinss/dumper/html";
13
+ import { dump as dumpCli } from "@poppinss/dumper/console";
14
+ var ErrorCause = class extends BaseComponent {
15
+ cssFile = new URL("./error_cause/style.css", publicDirURL);
16
+ /**
17
+ * The toHTML method is used to output the HTML for the
18
+ * web view
19
+ */
20
+ async toHTML(props) {
21
+ if (!props.error.cause) {
22
+ return "";
23
+ }
24
+ return `<section>
25
+ <div class="card">
26
+ <div class="card-heading">
27
+ <div>
28
+ <h3 class="card-title">
29
+ Error Cause
30
+ </h3>
31
+ </div>
32
+ </div>
33
+ <div class="card-body">
34
+ <div id="error-cause">
35
+ ${dump(props.error.cause, {
36
+ cspNonce: props.cspNonce,
37
+ styles: themes.cssVariables,
38
+ inspectObjectPrototype: false,
39
+ inspectStaticMembers: false,
40
+ inspectArrayPrototype: false
41
+ })}
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </section>`;
46
+ }
47
+ /**
48
+ * The toANSI method is used to output the text for the console
49
+ */
50
+ async toANSI(props) {
51
+ if (!props.error.cause) {
52
+ return "";
53
+ }
54
+ let depth = process.env.YOUCH_CAUSE ? Number(process.env.YOUCH_CAUSE) : 2;
55
+ if (Number.isNaN(depth)) {
56
+ depth = 2;
57
+ }
58
+ return `
59
+
60
+ ${colors.red("[CAUSE]")}
61
+ ${dumpCli(props.error.cause, {
62
+ depth,
63
+ inspectObjectPrototype: false,
64
+ inspectStaticMembers: false,
65
+ inspectArrayPrototype: false
66
+ })}`;
67
+ }
68
+ };
69
+
70
+ export {
71
+ ErrorCause
72
+ };
@@ -0,0 +1,41 @@
1
+ import {
2
+ publicDirURL
3
+ } from "./chunk-OSUFJZHZ.js";
4
+ import {
5
+ BaseComponent
6
+ } from "./chunk-4YEN7HVQ.js";
7
+
8
+ // src/templates/header/main.ts
9
+ var DARK_MODE_SVG = `<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><path d="M12 3h.393a7.5 7.5 0 0 0 7.92 12.446A9 9 0 1 1 12 2.992z"/></svg>`;
10
+ var LIGHT_MODE_SVG = `<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><circle cx="12" cy="12" r="4"/><path d="M3 12h1m8-9v1m8 8h1m-9 8v1M5.6 5.6l.7.7m12.1-.7-.7.7m0 11.4.7.7m-12.1-.7-.7.7"/></svg>`;
11
+ var Header = class extends BaseComponent {
12
+ cssFile = new URL("./header/style.css", publicDirURL);
13
+ scriptFile = new URL("./header/script.js", publicDirURL);
14
+ /**
15
+ * The toHTML method is used to output the HTML for the
16
+ * web view
17
+ */
18
+ async toHTML() {
19
+ return `<header id="header">
20
+ <div id="header-actions">
21
+ <div id="toggle-theme-container">
22
+ <input type="checkbox" id="toggle-theme-checkbox" />
23
+ <label id="toggle-theme-label" for="toggle-theme-checkbox">
24
+ <span id="light-theme-indicator" title="Light mode">${LIGHT_MODE_SVG}</span>
25
+ <span id="dark-theme-indicator" title="Dark mode">${DARK_MODE_SVG}</span>
26
+ </label>
27
+ </div>
28
+ </div>
29
+ </header>`;
30
+ }
31
+ /**
32
+ * The toANSI method is used to output the text for the console
33
+ */
34
+ async toANSI() {
35
+ return "";
36
+ }
37
+ };
38
+
39
+ export {
40
+ Header
41
+ };
@@ -0,0 +1,45 @@
1
+ import {
2
+ publicDirURL
3
+ } from "./chunk-OSUFJZHZ.js";
4
+ import {
5
+ BaseComponent
6
+ } from "./chunk-4YEN7HVQ.js";
7
+
8
+ // src/templates/layout/main.ts
9
+ var Layout = class extends BaseComponent {
10
+ cssFile = new URL("./layout/style.css", publicDirURL);
11
+ scriptFile = new URL("./layout/script.js", publicDirURL);
12
+ /**
13
+ * The toHTML method is used to output the HTML for the
14
+ * web view
15
+ */
16
+ async toHTML(props) {
17
+ return `<!DOCTYPE html>
18
+ <html lang="en">
19
+ <head>
20
+ <meta charset="UTF-8" />
21
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
22
+ <title>${props.title}</title>
23
+ <!-- STYLES -->
24
+ <!-- SCRIPTS -->
25
+ </head>
26
+ <body>
27
+ <div id="layout">
28
+ ${await props.children()}
29
+ </div>
30
+ </body>
31
+ </html>`;
32
+ }
33
+ /**
34
+ * The toANSI method is used to output the text for the console
35
+ */
36
+ async toANSI(props) {
37
+ return `
38
+ ${await props.children()}
39
+ `;
40
+ }
41
+ };
42
+
43
+ export {
44
+ Layout
45
+ };