@wbce/projen-d9 0.0.28 → 0.1.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 (421) hide show
  1. package/.jsii +184 -45
  2. package/API.md +153 -37
  3. package/CHANGELOG.md +13 -0
  4. package/README.md +10 -3
  5. package/docs/D9-plumbing.md +189 -0
  6. package/lib/cli/atlas.d.ts +10 -0
  7. package/lib/cli/atlas.js +65 -0
  8. package/lib/cli/commands/cedar/cedar-format.d.ts +7 -0
  9. package/lib/cli/commands/cedar/cedar-format.js +75 -0
  10. package/lib/cli/commands/cedar/cedar-to-d9-translations.d.ts +12 -0
  11. package/lib/cli/commands/cedar/cedar-to-d9-translations.js +130 -0
  12. package/lib/cli/commands/cedar/cedar-to-d9.d.ts +57 -0
  13. package/lib/cli/commands/cedar/cedar-to-d9.js +221 -0
  14. package/lib/cli/commands/cedar/cedar-translations.d.ts +9 -0
  15. package/lib/cli/commands/cedar/cedar-translations.js +213 -0
  16. package/lib/cli/commands/cedar/d9-permission.d.ts +27 -0
  17. package/lib/cli/commands/cedar/d9-permission.js +45 -0
  18. package/lib/cli/commands/cedar/d9-to-cedar.d.ts +33 -0
  19. package/lib/cli/commands/cedar/d9-to-cedar.js +157 -0
  20. package/lib/cli/commands/cedar/roles-table.d.ts +14 -0
  21. package/lib/cli/commands/cedar/roles-table.js +29 -0
  22. package/lib/cli/commands/save/apply-snapshot.js +39 -30
  23. package/lib/cli/commands/save/check-unsaved.d.ts +9 -0
  24. package/lib/cli/commands/save/check-unsaved.js +81 -0
  25. package/lib/cli/commands/save/env.d.ts +33 -0
  26. package/lib/cli/commands/save/env.js +109 -0
  27. package/lib/cli/commands/save/save-snapshot.d.ts +9 -0
  28. package/lib/cli/commands/save/save-snapshot.js +232 -0
  29. package/lib/cli/commands/save/sync-files.d.ts +5 -0
  30. package/lib/cli/commands/save/sync-files.js +46 -0
  31. package/lib/cli/commands/save/transfer.d.ts +18 -0
  32. package/lib/cli/commands/save/transfer.js +96 -0
  33. package/lib/cli/commands/save/utils.d.ts +5 -0
  34. package/lib/cli/commands/save/utils.js +33 -3
  35. package/lib/cli/commands/sync.js +4 -3
  36. package/lib/cli/index.js +65 -25
  37. package/lib/cli/logger.d.ts +2 -0
  38. package/lib/cli/logger.js +10 -0
  39. package/lib/cli/plumbing-config.d.ts +11 -0
  40. package/lib/cli/plumbing-config.js +13 -0
  41. package/lib/index.d.ts +44 -5
  42. package/lib/index.js +54 -41
  43. package/node_modules/@cedar-policy/cedar-wasm/README.md +181 -0
  44. package/node_modules/@cedar-policy/cedar-wasm/esm/README.md +181 -0
  45. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm.d.ts +427 -0
  46. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm.js +9 -0
  47. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.js +434 -0
  48. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.wasm +0 -0
  49. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.wasm.d.ts +34 -0
  50. package/node_modules/@cedar-policy/cedar-wasm/esm/package.json +23 -0
  51. package/node_modules/@cedar-policy/cedar-wasm/nodejs/README.md +181 -0
  52. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm.d.ts +427 -0
  53. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm.js +463 -0
  54. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm_bg.wasm +0 -0
  55. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm_bg.wasm.d.ts +34 -0
  56. package/node_modules/@cedar-policy/cedar-wasm/nodejs/package.json +18 -0
  57. package/node_modules/@cedar-policy/cedar-wasm/package.json +53 -0
  58. package/node_modules/@cedar-policy/cedar-wasm/web/README.md +181 -0
  59. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm.d.ts +486 -0
  60. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm.js +534 -0
  61. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm_bg.wasm +0 -0
  62. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm_bg.wasm.d.ts +34 -0
  63. package/node_modules/@cedar-policy/cedar-wasm/web/package.json +21 -0
  64. package/node_modules/@types/node/README.md +5 -6
  65. package/node_modules/@types/node/assert/strict.d.ts +111 -0
  66. package/node_modules/@types/node/assert.d.ts +1040 -79
  67. package/node_modules/@types/node/async_hooks.d.ts +476 -119
  68. package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
  69. package/node_modules/@types/node/buffer.d.ts +1925 -13
  70. package/node_modules/@types/node/child_process.d.ts +1204 -235
  71. package/node_modules/@types/node/cluster.d.ts +455 -137
  72. package/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
  73. package/node_modules/@types/node/compatibility/index.d.ts +9 -0
  74. package/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  75. package/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
  76. package/node_modules/@types/node/console.d.ts +450 -1
  77. package/node_modules/@types/node/constants.d.ts +20 -447
  78. package/node_modules/@types/node/crypto.d.ts +3962 -600
  79. package/node_modules/@types/node/dgram.d.ts +515 -33
  80. package/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
  81. package/node_modules/@types/node/dns/promises.d.ts +503 -0
  82. package/node_modules/@types/node/dns.d.ts +798 -247
  83. package/node_modules/@types/node/domain.d.ts +164 -10
  84. package/node_modules/@types/node/events.d.ts +954 -25
  85. package/node_modules/@types/node/fs/promises.d.ts +1295 -0
  86. package/node_modules/@types/node/fs.d.ts +3463 -1569
  87. package/node_modules/@types/node/globals.d.ts +98 -1277
  88. package/node_modules/@types/node/globals.typedarray.d.ts +38 -0
  89. package/node_modules/@types/node/http.d.ts +1933 -300
  90. package/node_modules/@types/node/http2.d.ts +1946 -254
  91. package/node_modules/@types/node/https.d.ts +557 -134
  92. package/node_modules/@types/node/index.d.ts +54 -48
  93. package/node_modules/@types/node/inspector.d.ts +227 -3014
  94. package/node_modules/@types/node/inspector.generated.d.ts +4052 -0
  95. package/node_modules/@types/node/module.d.ts +890 -2
  96. package/node_modules/@types/node/net.d.ts +872 -105
  97. package/node_modules/@types/node/os.d.ts +452 -209
  98. package/node_modules/@types/node/package.json +78 -128
  99. package/node_modules/@types/node/path.d.ts +196 -155
  100. package/node_modules/@types/node/perf_hooks.d.ts +829 -120
  101. package/node_modules/@types/node/process.d.ts +2072 -3
  102. package/node_modules/@types/node/punycode.d.ts +69 -27
  103. package/node_modules/@types/node/querystring.d.ts +132 -9
  104. package/node_modules/@types/node/readline/promises.d.ts +161 -0
  105. package/node_modules/@types/node/readline.d.ts +485 -49
  106. package/node_modules/@types/node/repl.d.ts +121 -83
  107. package/node_modules/@types/node/sea.d.ts +153 -0
  108. package/node_modules/@types/node/sqlite.d.ts +721 -0
  109. package/node_modules/@types/node/stream/consumers.d.ts +38 -0
  110. package/node_modules/@types/node/stream/promises.d.ts +90 -0
  111. package/node_modules/@types/node/stream/web.d.ts +622 -0
  112. package/node_modules/@types/node/stream.d.ts +1470 -140
  113. package/node_modules/@types/node/string_decoder.d.ts +64 -4
  114. package/node_modules/@types/node/test.d.ts +2163 -0
  115. package/node_modules/@types/node/timers/promises.d.ts +108 -0
  116. package/node_modules/@types/node/timers.d.ts +284 -13
  117. package/node_modules/@types/node/tls.d.ts +850 -244
  118. package/node_modules/@types/node/trace_events.d.ts +147 -11
  119. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  120. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
  121. package/node_modules/@types/node/ts5.6/index.d.ts +97 -0
  122. package/node_modules/@types/node/tty.d.ts +160 -18
  123. package/node_modules/@types/node/url.d.ts +890 -53
  124. package/node_modules/@types/node/util.d.ts +2566 -160
  125. package/node_modules/@types/node/v8.d.ts +806 -83
  126. package/node_modules/@types/node/vm.d.ts +932 -44
  127. package/node_modules/@types/node/wasi.d.ts +148 -22
  128. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  129. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  130. package/node_modules/@types/node/web-globals/events.d.ts +97 -0
  131. package/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
  132. package/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
  133. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  134. package/node_modules/@types/node/worker_threads.d.ts +657 -80
  135. package/node_modules/@types/node/zlib.d.ts +510 -119
  136. package/node_modules/pino/.nojekyll +0 -0
  137. package/node_modules/pino/.prettierignore +1 -0
  138. package/node_modules/pino/CNAME +1 -0
  139. package/node_modules/pino/CONTRIBUTING.md +34 -0
  140. package/node_modules/pino/LICENSE +21 -0
  141. package/node_modules/pino/README.md +177 -0
  142. package/node_modules/pino/SECURITY.md +103 -0
  143. package/node_modules/pino/benchmarks/basic.bench.js +95 -0
  144. package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
  145. package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
  146. package/node_modules/pino/benchmarks/child.bench.js +62 -0
  147. package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
  148. package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
  149. package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
  150. package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
  151. package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
  152. package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
  153. package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
  154. package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
  155. package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
  156. package/node_modules/pino/benchmarks/multistream.js +98 -0
  157. package/node_modules/pino/benchmarks/object.bench.js +82 -0
  158. package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
  159. package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
  160. package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
  161. package/node_modules/pino/bin.js +6 -0
  162. package/node_modules/pino/browser.js +607 -0
  163. package/node_modules/pino/build/sync-version.js +25 -0
  164. package/node_modules/pino/docs/api.md +1664 -0
  165. package/node_modules/pino/docs/asynchronous.md +55 -0
  166. package/node_modules/pino/docs/benchmarks.md +55 -0
  167. package/node_modules/pino/docs/browser.md +341 -0
  168. package/node_modules/pino/docs/bundling.md +40 -0
  169. package/node_modules/pino/docs/child-loggers.md +116 -0
  170. package/node_modules/pino/docs/diagnostics.md +16 -0
  171. package/node_modules/pino/docs/ecosystem.md +87 -0
  172. package/node_modules/pino/docs/help.md +353 -0
  173. package/node_modules/pino/docs/lts.md +93 -0
  174. package/node_modules/pino/docs/pretty.md +38 -0
  175. package/node_modules/pino/docs/redaction.md +130 -0
  176. package/node_modules/pino/docs/transports.md +1447 -0
  177. package/node_modules/pino/docs/web.md +306 -0
  178. package/node_modules/pino/eslint.config.js +36 -0
  179. package/node_modules/pino/examples/basic.js +43 -0
  180. package/node_modules/pino/examples/transport.js +68 -0
  181. package/node_modules/pino/favicon.ico +0 -0
  182. package/node_modules/pino/file.js +12 -0
  183. package/node_modules/pino/inc-version.sh +42 -0
  184. package/node_modules/pino/index.html +55 -0
  185. package/node_modules/pino/lib/caller.js +40 -0
  186. package/node_modules/pino/lib/constants.js +28 -0
  187. package/node_modules/pino/lib/deprecations.js +8 -0
  188. package/node_modules/pino/lib/levels.js +241 -0
  189. package/node_modules/pino/lib/meta.js +3 -0
  190. package/node_modules/pino/lib/multistream.js +211 -0
  191. package/node_modules/pino/lib/proto.js +256 -0
  192. package/node_modules/pino/lib/redaction.js +119 -0
  193. package/node_modules/pino/lib/symbols.js +76 -0
  194. package/node_modules/pino/lib/time.js +39 -0
  195. package/node_modules/pino/lib/tools.js +427 -0
  196. package/node_modules/pino/lib/transport-stream.js +56 -0
  197. package/node_modules/pino/lib/transport.js +302 -0
  198. package/node_modules/pino/lib/worker.js +197 -0
  199. package/node_modules/pino/package.json +112 -0
  200. package/node_modules/pino/pino.d.ts +881 -0
  201. package/node_modules/pino/pino.js +259 -0
  202. package/node_modules/pino/test/basic.test.js +952 -0
  203. package/node_modules/pino/test/broken-pipe.test.js +59 -0
  204. package/node_modules/pino/test/browser-bindings.test.js +114 -0
  205. package/node_modules/pino/test/browser-child.test.js +132 -0
  206. package/node_modules/pino/test/browser-disabled.test.js +87 -0
  207. package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
  208. package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
  209. package/node_modules/pino/test/browser-levels.test.js +241 -0
  210. package/node_modules/pino/test/browser-redaction.test.js +264 -0
  211. package/node_modules/pino/test/browser-serializers.test.js +352 -0
  212. package/node_modules/pino/test/browser-set-bindings.test.js +99 -0
  213. package/node_modules/pino/test/browser-timestamp.test.js +88 -0
  214. package/node_modules/pino/test/browser-transmit.test.js +417 -0
  215. package/node_modules/pino/test/browser.test.js +698 -0
  216. package/node_modules/pino/test/caller.test.js +20 -0
  217. package/node_modules/pino/test/complex-objects.test.js +36 -0
  218. package/node_modules/pino/test/crlf.test.js +34 -0
  219. package/node_modules/pino/test/custom-levels.test.js +267 -0
  220. package/node_modules/pino/test/diagnostics.test.js +107 -0
  221. package/node_modules/pino/test/error-key.test.js +37 -0
  222. package/node_modules/pino/test/error.test.js +403 -0
  223. package/node_modules/pino/test/escaping.test.js +110 -0
  224. package/node_modules/pino/test/esm/esm.mjs +14 -0
  225. package/node_modules/pino/test/esm/index.test.js +21 -0
  226. package/node_modules/pino/test/esm/named-exports.mjs +29 -0
  227. package/node_modules/pino/test/exit.test.js +79 -0
  228. package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
  229. package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
  230. package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
  231. package/node_modules/pino/test/fixtures/caller-loop.js +6 -0
  232. package/node_modules/pino/test/fixtures/console-transport.js +13 -0
  233. package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
  234. package/node_modules/pino/test/fixtures/default-exit.js +8 -0
  235. package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
  236. package/node_modules/pino/test/fixtures/eval/index.js +13 -0
  237. package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
  238. package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
  239. package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
  240. package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
  241. package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
  242. package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
  243. package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
  244. package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
  245. package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
  246. package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
  247. package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
  248. package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
  249. package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
  250. package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
  251. package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
  252. package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
  253. package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
  254. package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
  255. package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
  256. package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
  257. package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
  258. package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
  259. package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
  260. package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
  261. package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
  262. package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
  263. package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
  264. package/node_modules/pino/test/fixtures/transport/index.js +12 -0
  265. package/node_modules/pino/test/fixtures/transport/package.json +5 -0
  266. package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
  267. package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
  268. package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
  269. package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
  270. package/node_modules/pino/test/fixtures/transport-main.js +9 -0
  271. package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
  272. package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
  273. package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
  274. package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
  275. package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
  276. package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
  277. package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
  278. package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
  279. package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
  280. package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
  281. package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
  282. package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
  283. package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
  284. package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
  285. package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
  286. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
  287. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
  288. package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
  289. package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
  290. package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
  291. package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
  292. package/node_modules/pino/test/formatters.test.js +364 -0
  293. package/node_modules/pino/test/helper.d.ts +4 -0
  294. package/node_modules/pino/test/helper.js +159 -0
  295. package/node_modules/pino/test/hooks.test.js +114 -0
  296. package/node_modules/pino/test/http.test.js +214 -0
  297. package/node_modules/pino/test/internals/version.test.js +17 -0
  298. package/node_modules/pino/test/is-level-enabled.test.js +179 -0
  299. package/node_modules/pino/test/jest/basic.spec.js +10 -0
  300. package/node_modules/pino/test/levels.test.js +810 -0
  301. package/node_modules/pino/test/metadata.test.js +120 -0
  302. package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
  303. package/node_modules/pino/test/mixin.test.js +241 -0
  304. package/node_modules/pino/test/multistream.test.js +793 -0
  305. package/node_modules/pino/test/redact.test.js +923 -0
  306. package/node_modules/pino/test/serializers.test.js +257 -0
  307. package/node_modules/pino/test/smoke.js +59 -0
  308. package/node_modules/pino/test/stdout-protection.test.js +41 -0
  309. package/node_modules/pino/test/syncfalse.test.js +186 -0
  310. package/node_modules/pino/test/timestamp-nano.test.js +37 -0
  311. package/node_modules/pino/test/timestamp.test.js +124 -0
  312. package/node_modules/pino/test/transport/big.test.js +42 -0
  313. package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
  314. package/node_modules/pino/test/transport/caller.test.js +24 -0
  315. package/node_modules/pino/test/transport/core.test.js +818 -0
  316. package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
  317. package/node_modules/pino/test/transport/crash.test.js +36 -0
  318. package/node_modules/pino/test/transport/module-link.test.js +241 -0
  319. package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
  320. package/node_modules/pino/test/transport/node-options.test.js +116 -0
  321. package/node_modules/pino/test/transport/pipeline.test.js +137 -0
  322. package/node_modules/pino/test/transport/preload.test.js +54 -0
  323. package/node_modules/pino/test/transport/repl.test.js +15 -0
  324. package/node_modules/pino/test/transport/sync-false.test.js +79 -0
  325. package/node_modules/pino/test/transport/sync-true.test.js +57 -0
  326. package/node_modules/pino/test/transport/targets.test.js +48 -0
  327. package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
  328. package/node_modules/pino/test/transport-stream.test.js +40 -0
  329. package/node_modules/pino/test/types/pino-import.tst.cts +30 -0
  330. package/node_modules/pino/test/types/pino-import.tst.js +73 -0
  331. package/node_modules/pino/test/types/pino-multistream.tst.ts +49 -0
  332. package/node_modules/pino/test/types/pino-top-export.tst.ts +32 -0
  333. package/node_modules/pino/test/types/pino-transport.tst.ts +171 -0
  334. package/node_modules/pino/test/types/pino-type-only.tst.ts +77 -0
  335. package/node_modules/pino/test/types/pino.ts +98 -0
  336. package/node_modules/pino/test/types/pino.tst.ts +681 -0
  337. package/node_modules/pino/test/types/tsconfig.json +10 -0
  338. package/node_modules/pino/tsconfig.json +14 -0
  339. package/node_modules/pino-pretty/.borp.yaml +6 -0
  340. package/node_modules/pino-pretty/.editorconfig +13 -0
  341. package/node_modules/pino-pretty/.github/dependabot.yml +13 -0
  342. package/node_modules/pino-pretty/.github/workflows/ci.yml +83 -0
  343. package/node_modules/pino-pretty/LICENSE +21 -0
  344. package/node_modules/pino-pretty/Readme.md +425 -0
  345. package/node_modules/pino-pretty/SECURITY.md +146 -0
  346. package/node_modules/pino-pretty/benchmark.js +105 -0
  347. package/node_modules/pino-pretty/bin.js +113 -0
  348. package/node_modules/pino-pretty/demo.png +0 -0
  349. package/node_modules/pino-pretty/docs/help.md +24 -0
  350. package/node_modules/pino-pretty/eslint.config.js +5 -0
  351. package/node_modules/pino-pretty/help/help.txt +68 -0
  352. package/node_modules/pino-pretty/index.d.ts +227 -0
  353. package/node_modules/pino-pretty/index.js +234 -0
  354. package/node_modules/pino-pretty/lib/colors.js +134 -0
  355. package/node_modules/pino-pretty/lib/colors.test.js +132 -0
  356. package/node_modules/pino-pretty/lib/constants.js +55 -0
  357. package/node_modules/pino-pretty/lib/pretty.js +171 -0
  358. package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.js +69 -0
  359. package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.test.js +84 -0
  360. package/node_modules/pino-pretty/lib/utils/create-date.js +26 -0
  361. package/node_modules/pino-pretty/lib/utils/create-date.test.js +20 -0
  362. package/node_modules/pino-pretty/lib/utils/delete-log-property.js +28 -0
  363. package/node_modules/pino-pretty/lib/utils/delete-log-property.test.js +31 -0
  364. package/node_modules/pino-pretty/lib/utils/filter-log.js +99 -0
  365. package/node_modules/pino-pretty/lib/utils/filter-log.test.js +265 -0
  366. package/node_modules/pino-pretty/lib/utils/format-time.js +66 -0
  367. package/node_modules/pino-pretty/lib/utils/format-time.test.js +71 -0
  368. package/node_modules/pino-pretty/lib/utils/get-level-label-data.js +29 -0
  369. package/node_modules/pino-pretty/lib/utils/get-property-value.js +30 -0
  370. package/node_modules/pino-pretty/lib/utils/get-property-value.test.js +31 -0
  371. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-names-opts.js +38 -0
  372. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-names-opts.test.js +45 -0
  373. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-opts.js +39 -0
  374. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-opts.test.js +47 -0
  375. package/node_modules/pino-pretty/lib/utils/index.js +108 -0
  376. package/node_modules/pino-pretty/lib/utils/index.test.js +37 -0
  377. package/node_modules/pino-pretty/lib/utils/interpret-conditionals.js +41 -0
  378. package/node_modules/pino-pretty/lib/utils/interpret-conditionals.test.js +84 -0
  379. package/node_modules/pino-pretty/lib/utils/is-object.js +7 -0
  380. package/node_modules/pino-pretty/lib/utils/is-object.test.js +10 -0
  381. package/node_modules/pino-pretty/lib/utils/is-valid-date.js +14 -0
  382. package/node_modules/pino-pretty/lib/utils/is-valid-date.test.js +16 -0
  383. package/node_modules/pino-pretty/lib/utils/join-lines-with-indentation.js +29 -0
  384. package/node_modules/pino-pretty/lib/utils/join-lines-with-indentation.test.js +16 -0
  385. package/node_modules/pino-pretty/lib/utils/noop.js +3 -0
  386. package/node_modules/pino-pretty/lib/utils/noop.test.js +12 -0
  387. package/node_modules/pino-pretty/lib/utils/parse-factory-options.js +171 -0
  388. package/node_modules/pino-pretty/lib/utils/prettify-error-log.js +76 -0
  389. package/node_modules/pino-pretty/lib/utils/prettify-error-log.test.js +143 -0
  390. package/node_modules/pino-pretty/lib/utils/prettify-error.js +54 -0
  391. package/node_modules/pino-pretty/lib/utils/prettify-error.test.js +25 -0
  392. package/node_modules/pino-pretty/lib/utils/prettify-level.js +41 -0
  393. package/node_modules/pino-pretty/lib/utils/prettify-level.test.js +70 -0
  394. package/node_modules/pino-pretty/lib/utils/prettify-message.js +65 -0
  395. package/node_modules/pino-pretty/lib/utils/prettify-message.test.js +287 -0
  396. package/node_modules/pino-pretty/lib/utils/prettify-metadata.js +75 -0
  397. package/node_modules/pino-pretty/lib/utils/prettify-metadata.test.js +170 -0
  398. package/node_modules/pino-pretty/lib/utils/prettify-object.js +115 -0
  399. package/node_modules/pino-pretty/lib/utils/prettify-object.test.js +217 -0
  400. package/node_modules/pino-pretty/lib/utils/prettify-time.js +43 -0
  401. package/node_modules/pino-pretty/lib/utils/prettify-time.test.js +264 -0
  402. package/node_modules/pino-pretty/lib/utils/split-property-key.js +49 -0
  403. package/node_modules/pino-pretty/lib/utils/split-property-key.test.js +29 -0
  404. package/node_modules/pino-pretty/lib/utils/strip-unsafe-control-chars.js +18 -0
  405. package/node_modules/pino-pretty/lib/utils/strip-unsafe-control-chars.test.js +9 -0
  406. package/node_modules/pino-pretty/package.json +64 -0
  407. package/node_modules/pino-pretty/test/basic.test.js +1305 -0
  408. package/node_modules/pino-pretty/test/boolean-options.test.js +228 -0
  409. package/node_modules/pino-pretty/test/cli-rc.test.js +275 -0
  410. package/node_modules/pino-pretty/test/cli.test.js +360 -0
  411. package/node_modules/pino-pretty/test/crlf.test.js +33 -0
  412. package/node_modules/pino-pretty/test/error-objects.test.js +494 -0
  413. package/node_modules/pino-pretty/test/example/example.js +33 -0
  414. package/node_modules/pino-pretty/test/helper.js +19 -0
  415. package/node_modules/pino-pretty/test/types/exports.tst.ts +15 -0
  416. package/node_modules/pino-pretty/test/types/pino-pretty.tst.ts +140 -0
  417. package/node_modules/pino-pretty/test/types/tsconfig.json +9 -0
  418. package/package.json +12 -5
  419. package/lib/cli/commands/init.d.ts +0 -1
  420. package/lib/cli/commands/init.js +0 -8
  421. package/node_modules/@types/node/globals.global.d.ts +0 -1
@@ -1,8 +1,17 @@
1
- declare module 'repl' {
2
- import { Interface, Completer, AsyncCompleter } from 'readline';
3
- import { Context } from 'vm';
4
- import { InspectOptions } from 'util';
5
-
1
+ /**
2
+ * The `node:repl` module provides a Read-Eval-Print-Loop (REPL) implementation
3
+ * that is available both as a standalone program or includible in other
4
+ * applications. It can be accessed using:
5
+ *
6
+ * ```js
7
+ * import repl from 'node:repl';
8
+ * ```
9
+ * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/repl.js)
10
+ */
11
+ declare module "repl" {
12
+ import { AsyncCompleter, Completer, Interface } from "node:readline";
13
+ import { Context } from "node:vm";
14
+ import { InspectOptions } from "node:util";
6
15
  interface ReplOptions {
7
16
  /**
8
17
  * The input prompt to display.
@@ -28,45 +37,48 @@ declare module 'repl' {
28
37
  terminal?: boolean | undefined;
29
38
  /**
30
39
  * The function to be used when evaluating each given line of input.
31
- * Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can
40
+ * **Default:** an async wrapper for the JavaScript `eval()` function. An `eval` function can
32
41
  * error with `repl.Recoverable` to indicate the input was incomplete and prompt for
33
- * additional lines.
34
- *
35
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation
36
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions
42
+ * additional lines. See the [custom evaluation functions](https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#custom-evaluation-functions)
43
+ * section for more details.
37
44
  */
38
45
  eval?: REPLEval | undefined;
46
+ /**
47
+ * Defines if the repl prints output previews or not.
48
+ * @default `true` Always `false` in case `terminal` is falsy.
49
+ */
50
+ preview?: boolean | undefined;
39
51
  /**
40
52
  * If `true`, specifies that the default `writer` function should include ANSI color
41
53
  * styling to REPL output. If a custom `writer` function is provided then this has no
42
54
  * effect.
43
- * Default: the REPL instance's `terminal` value.
55
+ * @default the REPL instance's `terminal` value
44
56
  */
45
57
  useColors?: boolean | undefined;
46
58
  /**
47
59
  * If `true`, specifies that the default evaluation function will use the JavaScript
48
60
  * `global` as the context as opposed to creating a new separate context for the REPL
49
61
  * instance. The node CLI REPL sets this value to `true`.
50
- * Default: `false`.
62
+ * @default false
51
63
  */
52
64
  useGlobal?: boolean | undefined;
53
65
  /**
54
66
  * If `true`, specifies that the default writer will not output the return value of a
55
67
  * command if it evaluates to `undefined`.
56
- * Default: `false`.
68
+ * @default false
57
69
  */
58
70
  ignoreUndefined?: boolean | undefined;
59
71
  /**
60
72
  * The function to invoke to format the output of each command before writing to `output`.
61
- * Default: a wrapper for `util.inspect`.
73
+ * @default a wrapper for `util.inspect`
62
74
  *
63
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output
75
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_customizing_repl_output
64
76
  */
65
77
  writer?: REPLWriter | undefined;
66
78
  /**
67
79
  * An optional function used for custom Tab auto completion.
68
80
  *
69
- * @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function
81
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/readline.html#readline_use_of_the_completer_function
70
82
  */
71
83
  completer?: Completer | AsyncCompleter | undefined;
72
84
  /**
@@ -81,22 +93,26 @@ declare module 'repl' {
81
93
  /**
82
94
  * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is
83
95
  * pressed. This cannot be used together with a custom `eval` function.
84
- * Default: `false`.
96
+ * @default false
85
97
  */
86
98
  breakEvalOnSigint?: boolean | undefined;
87
99
  }
88
-
89
- type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void;
100
+ type REPLEval = (
101
+ this: REPLServer,
102
+ evalCmd: string,
103
+ context: Context,
104
+ file: string,
105
+ cb: (err: Error | null, result: any) => void,
106
+ ) => void;
90
107
  type REPLWriter = (this: REPLServer, obj: any) => string;
91
-
92
108
  /**
93
109
  * This is the default "writer" value, if none is passed in the REPL options,
94
110
  * and it can be overridden by custom print functions.
95
111
  */
96
- const writer: REPLWriter & { options: InspectOptions };
97
-
112
+ const writer: REPLWriter & {
113
+ options: InspectOptions;
114
+ };
98
115
  type REPLCommandAction = (this: REPLServer, text: string) => void;
99
-
100
116
  interface REPLCommand {
101
117
  /**
102
118
  * Help text to be displayed when `.help` is entered.
@@ -107,22 +123,19 @@ declare module 'repl' {
107
123
  */
108
124
  action: REPLCommandAction;
109
125
  }
110
-
111
126
  /**
112
- * Provides a customizable Read-Eval-Print-Loop (REPL).
113
- *
114
- * Instances of `repl.REPLServer` will accept individual lines of user input, evaluate those
115
- * according to a user-defined evaluation function, then output the result. Input and output
116
- * may be from `stdin` and `stdout`, respectively, or may be connected to any Node.js `stream`.
127
+ * Instances of `repl.REPLServer` are created using the {@link start} method
128
+ * or directly using the JavaScript `new` keyword.
117
129
  *
118
- * Instances of `repl.REPLServer` support automatic completion of inputs, simplistic Emacs-style
119
- * line editing, multi-line inputs, ANSI-styled output, saving and restoring current REPL session
120
- * state, error recovery, and customizable evaluation functions.
130
+ * ```js
131
+ * import repl from 'node:repl';
121
132
  *
122
- * Instances of `repl.REPLServer` are created using the `repl.start()` method and _should not_
123
- * be created directly using the JavaScript `new` keyword.
133
+ * const options = { useColors: true };
124
134
  *
125
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_repl
135
+ * const firstInstance = repl.start(options);
136
+ * const secondInstance = new repl.REPLServer(options);
137
+ * ```
138
+ * @since v0.1.91
126
139
  */
127
140
  class REPLServer extends Interface {
128
141
  /**
@@ -131,11 +144,11 @@ declare module 'repl' {
131
144
  */
132
145
  readonly context: Context;
133
146
  /**
134
- * Outdated alias for `input`.
147
+ * @deprecated since v14.3.0 - Use `input` instead.
135
148
  */
136
149
  readonly inputStream: NodeJS.ReadableStream;
137
150
  /**
138
- * Outdated alias for `output`.
151
+ * @deprecated since v14.3.0 - Use `output` instead.
139
152
  */
140
153
  readonly outputStream: NodeJS.WritableStream;
141
154
  /**
@@ -149,37 +162,37 @@ declare module 'repl' {
149
162
  /**
150
163
  * The commands registered via `replServer.defineCommand()`.
151
164
  */
152
- readonly commands: { readonly [name: string]: REPLCommand | undefined };
165
+ readonly commands: NodeJS.ReadOnlyDict<REPLCommand>;
153
166
  /**
154
167
  * A value indicating whether the REPL is currently in "editor mode".
155
168
  *
156
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys
169
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_commands_and_special_keys
157
170
  */
158
171
  readonly editorMode: boolean;
159
172
  /**
160
173
  * A value indicating whether the `_` variable has been assigned.
161
174
  *
162
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
175
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
163
176
  */
164
177
  readonly underscoreAssigned: boolean;
165
178
  /**
166
179
  * The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL).
167
180
  *
168
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
181
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
169
182
  */
170
183
  readonly last: any;
171
184
  /**
172
185
  * A value indicating whether the `_error` variable has been assigned.
173
186
  *
174
187
  * @since v9.8.0
175
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
188
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
176
189
  */
177
190
  readonly underscoreErrAssigned: boolean;
178
191
  /**
179
192
  * The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL).
180
193
  *
181
194
  * @since v9.8.0
182
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
195
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable
183
196
  */
184
197
  readonly lastError: any;
185
198
  /**
@@ -223,7 +236,6 @@ declare module 'repl' {
223
236
  * prefacing every repl statement with `'use strict'`.
224
237
  */
225
238
  readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT;
226
-
227
239
  /**
228
240
  * NOTE: According to the documentation:
229
241
  *
@@ -232,52 +244,79 @@ declare module 'repl' {
232
244
  *
233
245
  * `REPLServer` cannot be subclassed due to implementation specifics in NodeJS.
234
246
  *
235
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver
247
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_class_replserver
236
248
  */
237
249
  private constructor();
238
-
239
250
  /**
240
- * Used to add new `.`-prefixed commands to the REPL instance. Such commands are invoked
241
- * by typing a `.` followed by the `keyword`.
251
+ * The `replServer.defineCommand()` method is used to add new `.`\-prefixed commands
252
+ * to the REPL instance. Such commands are invoked by typing a `.` followed by the `keyword`. The `cmd` is either a `Function` or an `Object` with the following
253
+ * properties:
254
+ *
255
+ * The following example shows two new commands added to the REPL instance:
256
+ *
257
+ * ```js
258
+ * import repl from 'node:repl';
259
+ *
260
+ * const replServer = repl.start({ prompt: '> ' });
261
+ * replServer.defineCommand('sayhello', {
262
+ * help: 'Say hello',
263
+ * action(name) {
264
+ * this.clearBufferedCommand();
265
+ * console.log(`Hello, ${name}!`);
266
+ * this.displayPrompt();
267
+ * },
268
+ * });
269
+ * replServer.defineCommand('saybye', function saybye() {
270
+ * console.log('Goodbye!');
271
+ * this.close();
272
+ * });
273
+ * ```
242
274
  *
275
+ * The new commands can then be used from within the REPL instance:
276
+ *
277
+ * ```console
278
+ * > .sayhello Node.js User
279
+ * Hello, Node.js User!
280
+ * > .saybye
281
+ * Goodbye!
282
+ * ```
283
+ * @since v0.3.0
243
284
  * @param keyword The command keyword (_without_ a leading `.` character).
244
285
  * @param cmd The function to invoke when the command is processed.
245
- *
246
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_replserver_definecommand_keyword_cmd
247
286
  */
248
287
  defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void;
249
288
  /**
250
- * Readies the REPL instance for input from the user, printing the configured `prompt` to a
251
- * new line in the `output` and resuming the `input` to accept new input.
289
+ * The `replServer.displayPrompt()` method readies the REPL instance for input
290
+ * from the user, printing the configured `prompt` to a new line in the `output` and resuming the `input` to accept new input.
252
291
  *
253
- * When multi-line input is being entered, an ellipsis is printed rather than the 'prompt'.
292
+ * When multi-line input is being entered, an ellipsis is printed rather than the
293
+ * 'prompt'.
254
294
  *
255
- * This method is primarily intended to be called from within the action function for
256
- * commands registered using the `replServer.defineCommand()` method.
295
+ * When `preserveCursor` is `true`, the cursor placement will not be reset to `0`.
257
296
  *
258
- * @param preserveCursor When `true`, the cursor placement will not be reset to `0`.
297
+ * The `replServer.displayPrompt` method is primarily intended to be called from
298
+ * within the action function for commands registered using the `replServer.defineCommand()` method.
299
+ * @since v0.1.91
259
300
  */
260
301
  displayPrompt(preserveCursor?: boolean): void;
261
302
  /**
262
- * Clears any command that has been buffered but not yet executed.
263
- *
264
- * This method is primarily intended to be called from within the action function for
265
- * commands registered using the `replServer.defineCommand()` method.
266
- *
303
+ * The `replServer.clearBufferedCommand()` method clears any command that has been
304
+ * buffered but not yet executed. This method is primarily intended to be
305
+ * called from within the action function for commands registered using the `replServer.defineCommand()` method.
267
306
  * @since v9.0.0
268
307
  */
269
308
  clearBufferedCommand(): void;
270
-
271
309
  /**
272
310
  * Initializes a history log file for the REPL instance. When executing the
273
- * Node.js binary and using the command line REPL, a history file is initialized
311
+ * Node.js binary and using the command-line REPL, a history file is initialized
274
312
  * by default. However, this is not the case when creating a REPL
275
313
  * programmatically. Use this method to initialize a history log file when working
276
314
  * with REPL instances programmatically.
277
- * @param path The path to the history file
315
+ * @since v11.10.0
316
+ * @param historyPath the path to the history file
317
+ * @param callback called when history writes are ready or upon error
278
318
  */
279
- setupHistory(path: string, cb: (err: Error | null, repl: this) => void): void;
280
-
319
+ setupHistory(path: string, callback: (err: Error | null, repl: this) => void): void;
281
320
  /**
282
321
  * events.EventEmitter
283
322
  * 1. close - inherited from `readline.Interface`
@@ -290,7 +329,6 @@ declare module 'repl' {
290
329
  * 8. exit
291
330
  * 9. reset
292
331
  */
293
-
294
332
  addListener(event: string, listener: (...args: any[]) => void): this;
295
333
  addListener(event: "close", listener: () => void): this;
296
334
  addListener(event: "line", listener: (input: string) => void): this;
@@ -301,7 +339,6 @@ declare module 'repl' {
301
339
  addListener(event: "SIGTSTP", listener: () => void): this;
302
340
  addListener(event: "exit", listener: () => void): this;
303
341
  addListener(event: "reset", listener: (context: Context) => void): this;
304
-
305
342
  emit(event: string | symbol, ...args: any[]): boolean;
306
343
  emit(event: "close"): boolean;
307
344
  emit(event: "line", input: string): boolean;
@@ -312,7 +349,6 @@ declare module 'repl' {
312
349
  emit(event: "SIGTSTP"): boolean;
313
350
  emit(event: "exit"): boolean;
314
351
  emit(event: "reset", context: Context): boolean;
315
-
316
352
  on(event: string, listener: (...args: any[]) => void): this;
317
353
  on(event: "close", listener: () => void): this;
318
354
  on(event: "line", listener: (input: string) => void): this;
@@ -323,7 +359,6 @@ declare module 'repl' {
323
359
  on(event: "SIGTSTP", listener: () => void): this;
324
360
  on(event: "exit", listener: () => void): this;
325
361
  on(event: "reset", listener: (context: Context) => void): this;
326
-
327
362
  once(event: string, listener: (...args: any[]) => void): this;
328
363
  once(event: "close", listener: () => void): this;
329
364
  once(event: "line", listener: (input: string) => void): this;
@@ -334,7 +369,6 @@ declare module 'repl' {
334
369
  once(event: "SIGTSTP", listener: () => void): this;
335
370
  once(event: "exit", listener: () => void): this;
336
371
  once(event: "reset", listener: (context: Context) => void): this;
337
-
338
372
  prependListener(event: string, listener: (...args: any[]) => void): this;
339
373
  prependListener(event: "close", listener: () => void): this;
340
374
  prependListener(event: "line", listener: (input: string) => void): this;
@@ -345,7 +379,6 @@ declare module 'repl' {
345
379
  prependListener(event: "SIGTSTP", listener: () => void): this;
346
380
  prependListener(event: "exit", listener: () => void): this;
347
381
  prependListener(event: "reset", listener: (context: Context) => void): this;
348
-
349
382
  prependOnceListener(event: string, listener: (...args: any[]) => void): this;
350
383
  prependOnceListener(event: "close", listener: () => void): this;
351
384
  prependOnceListener(event: "line", listener: (input: string) => void): this;
@@ -357,34 +390,39 @@ declare module 'repl' {
357
390
  prependOnceListener(event: "exit", listener: () => void): this;
358
391
  prependOnceListener(event: "reset", listener: (context: Context) => void): this;
359
392
  }
360
-
361
393
  /**
362
394
  * A flag passed in the REPL options. Evaluates expressions in sloppy mode.
363
395
  */
364
- const REPL_MODE_SLOPPY: symbol; // TODO: unique symbol
365
-
396
+ const REPL_MODE_SLOPPY: unique symbol;
366
397
  /**
367
398
  * A flag passed in the REPL options. Evaluates expressions in strict mode.
368
399
  * This is equivalent to prefacing every repl statement with `'use strict'`.
369
400
  */
370
- const REPL_MODE_STRICT: symbol; // TODO: unique symbol
371
-
401
+ const REPL_MODE_STRICT: unique symbol;
372
402
  /**
373
- * Creates and starts a `repl.REPLServer` instance.
403
+ * The `repl.start()` method creates and starts a {@link REPLServer} instance.
374
404
  *
375
- * @param options The options for the `REPLServer`. If `options` is a string, then it specifies
376
- * the input prompt.
405
+ * If `options` is a string, then it specifies the input prompt:
406
+ *
407
+ * ```js
408
+ * import repl from 'node:repl';
409
+ *
410
+ * // a Unix style prompt
411
+ * repl.start('$ ');
412
+ * ```
413
+ * @since v0.1.91
377
414
  */
378
415
  function start(options?: string | ReplOptions): REPLServer;
379
-
380
416
  /**
381
417
  * Indicates a recoverable error that a `REPLServer` can use to support multi-line input.
382
418
  *
383
- * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors
419
+ * @see https://nodejs.org/dist/latest-v22.x/docs/api/repl.html#repl_recoverable_errors
384
420
  */
385
421
  class Recoverable extends SyntaxError {
386
422
  err: Error;
387
-
388
423
  constructor(err: Error);
389
424
  }
390
425
  }
426
+ declare module "node:repl" {
427
+ export * from "repl";
428
+ }
@@ -0,0 +1,153 @@
1
+ /**
2
+ * This feature allows the distribution of a Node.js application conveniently to a
3
+ * system that does not have Node.js installed.
4
+ *
5
+ * Node.js supports the creation of [single executable applications](https://github.com/nodejs/single-executable) by allowing
6
+ * the injection of a blob prepared by Node.js, which can contain a bundled script,
7
+ * into the `node` binary. During start up, the program checks if anything has been
8
+ * injected. If the blob is found, it executes the script in the blob. Otherwise
9
+ * Node.js operates as it normally does.
10
+ *
11
+ * The single executable application feature currently only supports running a
12
+ * single embedded script using the `CommonJS` module system.
13
+ *
14
+ * Users can create a single executable application from their bundled script
15
+ * with the `node` binary itself and any tool which can inject resources into the
16
+ * binary.
17
+ *
18
+ * Here are the steps for creating a single executable application using one such
19
+ * tool, [postject](https://github.com/nodejs/postject):
20
+ *
21
+ * 1. Create a JavaScript file:
22
+ * ```bash
23
+ * echo 'console.log(`Hello, ${process.argv[2]}!`);' > hello.js
24
+ * ```
25
+ * 2. Create a configuration file building a blob that can be injected into the
26
+ * single executable application (see `Generating single executable preparation blobs` for details):
27
+ * ```bash
28
+ * echo '{ "main": "hello.js", "output": "sea-prep.blob" }' > sea-config.json
29
+ * ```
30
+ * 3. Generate the blob to be injected:
31
+ * ```bash
32
+ * node --experimental-sea-config sea-config.json
33
+ * ```
34
+ * 4. Create a copy of the `node` executable and name it according to your needs:
35
+ * * On systems other than Windows:
36
+ * ```bash
37
+ * cp $(command -v node) hello
38
+ * ```
39
+ * * On Windows:
40
+ * ```text
41
+ * node -e "require('fs').copyFileSync(process.execPath, 'hello.exe')"
42
+ * ```
43
+ * The `.exe` extension is necessary.
44
+ * 5. Remove the signature of the binary (macOS and Windows only):
45
+ * * On macOS:
46
+ * ```bash
47
+ * codesign --remove-signature hello
48
+ * ```
49
+ * * On Windows (optional):
50
+ * [signtool](https://learn.microsoft.com/en-us/windows/win32/seccrypto/signtool) can be used from the installed [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/).
51
+ * If this step is
52
+ * skipped, ignore any signature-related warning from postject.
53
+ * ```powershell
54
+ * signtool remove /s hello.exe
55
+ * ```
56
+ * 6. Inject the blob into the copied binary by running `postject` with
57
+ * the following options:
58
+ * * `hello` / `hello.exe` \- The name of the copy of the `node` executable
59
+ * created in step 4.
60
+ * * `NODE_SEA_BLOB` \- The name of the resource / note / section in the binary
61
+ * where the contents of the blob will be stored.
62
+ * * `sea-prep.blob` \- The name of the blob created in step 1.
63
+ * * `--sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2` \- The [fuse](https://www.electronjs.org/docs/latest/tutorial/fuses) used by the Node.js project to detect if a file has been
64
+ * injected.
65
+ * * `--macho-segment-name NODE_SEA` (only needed on macOS) - The name of the
66
+ * segment in the binary where the contents of the blob will be
67
+ * stored.
68
+ * To summarize, here is the required command for each platform:
69
+ * * On Linux:
70
+ * ```bash
71
+ * npx postject hello NODE_SEA_BLOB sea-prep.blob \
72
+ * --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
73
+ * ```
74
+ * * On Windows - PowerShell:
75
+ * ```powershell
76
+ * npx postject hello.exe NODE_SEA_BLOB sea-prep.blob `
77
+ * --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
78
+ * ```
79
+ * * On Windows - Command Prompt:
80
+ * ```text
81
+ * npx postject hello.exe NODE_SEA_BLOB sea-prep.blob ^
82
+ * --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2
83
+ * ```
84
+ * * On macOS:
85
+ * ```bash
86
+ * npx postject hello NODE_SEA_BLOB sea-prep.blob \
87
+ * --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 \
88
+ * --macho-segment-name NODE_SEA
89
+ * ```
90
+ * 7. Sign the binary (macOS and Windows only):
91
+ * * On macOS:
92
+ * ```bash
93
+ * codesign --sign - hello
94
+ * ```
95
+ * * On Windows (optional):
96
+ * A certificate needs to be present for this to work. However, the unsigned
97
+ * binary would still be runnable.
98
+ * ```powershell
99
+ * signtool sign /fd SHA256 hello.exe
100
+ * ```
101
+ * 8. Run the binary:
102
+ * * On systems other than Windows
103
+ * ```console
104
+ * $ ./hello world
105
+ * Hello, world!
106
+ * ```
107
+ * * On Windows
108
+ * ```console
109
+ * $ .\hello.exe world
110
+ * Hello, world!
111
+ * ```
112
+ * @since v19.7.0, v18.16.0
113
+ * @experimental
114
+ * @see [source](https://github.com/nodejs/node/blob/v22.x/src/node_sea.cc)
115
+ */
116
+ declare module "node:sea" {
117
+ type AssetKey = string;
118
+ /**
119
+ * @since v20.12.0
120
+ * @return Whether this script is running inside a single-executable application.
121
+ */
122
+ function isSea(): boolean;
123
+ /**
124
+ * This method can be used to retrieve the assets configured to be bundled into the
125
+ * single-executable application at build time.
126
+ * An error is thrown when no matching asset can be found.
127
+ * @since v20.12.0
128
+ */
129
+ function getAsset(key: AssetKey): ArrayBuffer;
130
+ function getAsset(key: AssetKey, encoding: string): string;
131
+ /**
132
+ * Similar to `sea.getAsset()`, but returns the result in a [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob).
133
+ * An error is thrown when no matching asset can be found.
134
+ * @since v20.12.0
135
+ */
136
+ function getAssetAsBlob(key: AssetKey, options?: {
137
+ type: string;
138
+ }): Blob;
139
+ /**
140
+ * This method can be used to retrieve the assets configured to be bundled into the
141
+ * single-executable application at build time.
142
+ * An error is thrown when no matching asset can be found.
143
+ *
144
+ * Unlike `sea.getRawAsset()` or `sea.getAssetAsBlob()`, this method does not
145
+ * return a copy. Instead, it returns the raw asset bundled inside the executable.
146
+ *
147
+ * For now, users should avoid writing to the returned array buffer. If the
148
+ * injected section is not marked as writable or not aligned properly,
149
+ * writes to the returned array buffer is likely to result in a crash.
150
+ * @since v20.12.0
151
+ */
152
+ function getRawAsset(key: AssetKey): ArrayBuffer;
153
+ }