prjct-cli 0.35.1 → 0.35.3

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 (368) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/core/commands/workflow.ts +25 -9
  3. package/dist/bin/prjct.mjs +22 -8
  4. package/package.json +1 -1
  5. package/templates/_bases/tracker-base.md +309 -0
  6. package/templates/agentic/orchestrator.md +211 -269
  7. package/templates/commands/github.md +9 -0
  8. package/templates/commands/history.md +296 -83
  9. package/templates/commands/jira.md +9 -0
  10. package/templates/commands/linear.md +9 -0
  11. package/templates/commands/monday.md +9 -0
  12. package/templates/commands/p.md +198 -63
  13. package/templates/commands/resume.md +68 -4
  14. package/templates/commands/sync.md +103 -0
  15. package/packages/shared/node_modules/@types/bun/LICENSE +0 -21
  16. package/packages/shared/node_modules/@types/bun/README.md +0 -20
  17. package/packages/shared/node_modules/@types/bun/index.d.ts +0 -1
  18. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/CLAUDE.md +0 -105
  19. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/README.md +0 -33
  20. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bun.d.ts +0 -7032
  21. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bun.ns.d.ts +0 -5
  22. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/bundle.d.ts +0 -74
  23. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/deprecated.d.ts +0 -184
  24. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/devserver.d.ts +0 -187
  25. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/README.md +0 -28
  26. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/bytecode.mdx +0 -465
  27. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/css.mdx +0 -1024
  28. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/esbuild.mdx +0 -298
  29. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/executables.mdx +0 -1277
  30. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/fullstack.mdx +0 -1086
  31. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/hot-reloading.mdx +0 -229
  32. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/html-static.mdx +0 -488
  33. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/index.mdx +0 -1604
  34. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/loaders.mdx +0 -451
  35. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/macros.mdx +0 -328
  36. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/minifier.mdx +0 -1286
  37. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/bundler/plugins.mdx +0 -425
  38. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/feedback.mdx +0 -75
  39. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +0 -29
  40. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +0 -26
  41. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +0 -27
  42. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +0 -17
  43. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +0 -41
  44. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +0 -16
  45. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +0 -16
  46. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +0 -16
  47. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +0 -17
  48. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +0 -16
  49. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +0 -16
  50. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +0 -16
  51. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +0 -43
  52. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +0 -27
  53. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +0 -16
  54. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +0 -17
  55. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +0 -27
  56. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +0 -18
  57. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +0 -16
  58. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +0 -16
  59. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +0 -43
  60. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +0 -18
  61. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +0 -204
  62. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +0 -161
  63. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +0 -194
  64. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/railway.mdx +0 -145
  65. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/render.mdx +0 -82
  66. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/deployment/vercel.mdx +0 -97
  67. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +0 -82
  68. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +0 -80
  69. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +0 -151
  70. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +0 -195
  71. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +0 -31
  72. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/express.mdx +0 -43
  73. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +0 -261
  74. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +0 -47
  75. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +0 -92
  76. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +0 -234
  77. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +0 -60
  78. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +0 -103
  79. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +0 -96
  80. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +0 -55
  81. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +0 -169
  82. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +0 -164
  83. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +0 -114
  84. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/react.mdx +0 -52
  85. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +0 -97
  86. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +0 -54
  87. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +0 -62
  88. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +0 -49
  89. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +0 -54
  90. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +0 -138
  91. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +0 -114
  92. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +0 -791
  93. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +0 -87
  94. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +0 -77
  95. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +0 -71
  96. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +0 -97
  97. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/cluster.mdx +0 -69
  98. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +0 -35
  99. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/fetch.mdx +0 -26
  100. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/file-uploads.mdx +0 -97
  101. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/hot.mdx +0 -28
  102. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/proxy.mdx +0 -50
  103. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/server.mdx +0 -48
  104. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/simple.mdx +0 -20
  105. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-file.mdx +0 -50
  106. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +0 -49
  107. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +0 -22
  108. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/http/tls.mdx +0 -32
  109. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/index.mdx +0 -10
  110. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-dev.mdx +0 -28
  111. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-git.mdx +0 -40
  112. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-optional.mdx +0 -27
  113. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-peer.mdx +0 -45
  114. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add-tarball.mdx +0 -35
  115. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/add.mdx +0 -44
  116. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +0 -76
  117. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/cicd.mdx +0 -43
  118. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/custom-registry.mdx +0 -32
  119. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +0 -230
  120. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +0 -48
  121. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +0 -28
  122. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/npm-alias.mdx +0 -25
  123. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/registry-scope.mdx +0 -40
  124. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/trusted.mdx +0 -52
  125. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/workspaces.mdx +0 -70
  126. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/install/yarnlock.mdx +0 -51
  127. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/argv.mdx +0 -66
  128. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +0 -18
  129. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/ipc.mdx +0 -69
  130. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +0 -15
  131. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/os-signals.mdx +0 -31
  132. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +0 -34
  133. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +0 -28
  134. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/spawn.mdx +0 -43
  135. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/process/stdin.mdx +0 -62
  136. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +0 -30
  137. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/buffer.mdx +0 -21
  138. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/exists.mdx +0 -18
  139. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/json.mdx +0 -19
  140. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/mime.mdx +0 -22
  141. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/stream.mdx +0 -28
  142. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/string.mdx +0 -24
  143. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +0 -23
  144. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/read-file/watch.mdx +0 -66
  145. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +0 -295
  146. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/cicd.mdx +0 -45
  147. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +0 -61
  148. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +0 -149
  149. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +0 -39
  150. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +0 -21
  151. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +0 -28
  152. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-html.mdx +0 -15
  153. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-json.mdx +0 -46
  154. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +0 -32
  155. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +0 -104
  156. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/read-env.mdx +0 -37
  157. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/set-env.mdx +0 -51
  158. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/shell.mdx +0 -42
  159. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/timezone.mdx +0 -38
  160. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +0 -31
  161. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/typescript.mdx +0 -51
  162. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +0 -47
  163. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +0 -103
  164. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +0 -13
  165. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +0 -13
  166. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +0 -14
  167. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +0 -14
  168. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +0 -13
  169. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-array.mdx +0 -16
  170. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +0 -16
  171. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-blob.mdx +0 -16
  172. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +0 -17
  173. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-json.mdx +0 -16
  174. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-string.mdx +0 -16
  175. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +0 -24
  176. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/bail.mdx +0 -24
  177. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +0 -146
  178. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +0 -67
  179. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/coverage.mdx +0 -49
  180. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/happy-dom.mdx +0 -73
  181. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +0 -125
  182. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/mock-clock.mdx +0 -50
  183. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/mock-functions.mdx +0 -70
  184. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/rerun-each.mdx +0 -16
  185. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/run-tests.mdx +0 -116
  186. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/skip-tests.mdx +0 -43
  187. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/snapshot.mdx +0 -102
  188. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/spy-on.mdx +0 -49
  189. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/svelte-test.mdx +0 -113
  190. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/testing-library.mdx +0 -93
  191. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/timeout.mdx +0 -17
  192. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/todo-tests.mdx +0 -74
  193. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +0 -49
  194. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/test/watch-mode.mdx +0 -24
  195. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/base64.mdx +0 -17
  196. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/deep-equals.mdx +0 -41
  197. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/deflate.mdx +0 -20
  198. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/detect-bun.mdx +0 -28
  199. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/entrypoint.mdx +0 -19
  200. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/escape-html.mdx +0 -24
  201. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +0 -16
  202. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/gzip.mdx +0 -20
  203. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +0 -56
  204. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +0 -15
  205. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +0 -15
  206. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +0 -15
  207. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +0 -25
  208. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/main.mdx +0 -43
  209. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +0 -16
  210. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/sleep.mdx +0 -24
  211. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/upgrade.mdx +0 -93
  212. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/version.mdx +0 -23
  213. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +0 -17
  214. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/compression.mdx +0 -33
  215. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/context.mdx +0 -79
  216. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +0 -43
  217. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/websocket/simple.mdx +0 -38
  218. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/append.mdx +0 -54
  219. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/basic.mdx +0 -46
  220. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/blob.mdx +0 -30
  221. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/cat.mdx +0 -19
  222. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +0 -18
  223. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/filesink.mdx +0 -54
  224. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/response.mdx +0 -19
  225. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/stdout.mdx +0 -23
  226. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/stream.mdx +0 -19
  227. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/guides/write-file/unlink.mdx +0 -18
  228. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/index.mdx +0 -133
  229. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/installation.mdx +0 -365
  230. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/bunx.mdx +0 -91
  231. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/catalogs.mdx +0 -292
  232. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/add.mdx +0 -179
  233. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/audit.mdx +0 -60
  234. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/info.mdx +0 -70
  235. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/install.mdx +0 -606
  236. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/link.mdx +0 -61
  237. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/outdated.mdx +0 -197
  238. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/patch.mdx +0 -69
  239. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/pm.mdx +0 -323
  240. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/publish.mdx +0 -131
  241. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/remove.mdx +0 -16
  242. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/update.mdx +0 -140
  243. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/cli/why.mdx +0 -84
  244. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/filter.mdx +0 -102
  245. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/global-cache.mdx +0 -72
  246. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/isolated-installs.mdx +0 -220
  247. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/lifecycle.mdx +0 -64
  248. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/lockfile.mdx +0 -64
  249. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/npmrc.mdx +0 -111
  250. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/overrides.mdx +0 -83
  251. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/scopes-registries.mdx +0 -35
  252. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/security-scanner-api.mdx +0 -95
  253. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/pm/workspaces.mdx +0 -115
  254. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/benchmarking.mdx +0 -241
  255. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/bindgen.mdx +0 -223
  256. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/building-windows.mdx +0 -133
  257. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/contributing.mdx +0 -388
  258. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/feedback.mdx +0 -20
  259. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/license.mdx +0 -78
  260. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/project/roadmap.mdx +0 -8
  261. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/quickstart.mdx +0 -251
  262. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/auto-install.mdx +0 -97
  263. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/binary-data.mdx +0 -846
  264. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/bun-apis.mdx +0 -59
  265. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/bunfig.mdx +0 -723
  266. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/c-compiler.mdx +0 -204
  267. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/child-process.mdx +0 -659
  268. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/color.mdx +0 -267
  269. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/console.mdx +0 -67
  270. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/cookies.mdx +0 -454
  271. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/debugger.mdx +0 -335
  272. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/environment-variables.mdx +0 -231
  273. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/ffi.mdx +0 -565
  274. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-io.mdx +0 -306
  275. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-system-router.mdx +0 -118
  276. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/file-types.mdx +0 -435
  277. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/glob.mdx +0 -181
  278. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/globals.mdx +0 -72
  279. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/hashing.mdx +0 -315
  280. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/html-rewriter.mdx +0 -333
  281. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/cookies.mdx +0 -79
  282. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/error-handling.mdx +0 -40
  283. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/metrics.mdx +0 -36
  284. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/routing.mdx +0 -289
  285. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/server.mdx +0 -645
  286. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/tls.mdx +0 -101
  287. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/http/websockets.mdx +0 -414
  288. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/index.mdx +0 -223
  289. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/jsx.mdx +0 -115
  290. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/module-resolution.mdx +0 -374
  291. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/dns.mdx +0 -111
  292. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/fetch.mdx +0 -484
  293. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/tcp.mdx +0 -239
  294. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/networking/udp.mdx +0 -129
  295. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/node-api.mdx +0 -19
  296. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +0 -468
  297. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/plugins.mdx +0 -419
  298. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/redis.mdx +0 -583
  299. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/s3.mdx +0 -863
  300. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/secrets.mdx +0 -340
  301. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/semver.mdx +0 -57
  302. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/shell.mdx +0 -637
  303. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/sql.mdx +0 -1404
  304. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/sqlite.mdx +0 -721
  305. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/streams.mdx +0 -232
  306. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/templating/create.mdx +0 -269
  307. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/templating/init.mdx +0 -58
  308. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/transpiler.mdx +0 -288
  309. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/typescript.mdx +0 -58
  310. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/utils.mdx +0 -922
  311. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/watch-mode.mdx +0 -161
  312. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/web-apis.mdx +0 -29
  313. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/workers.mdx +0 -314
  314. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/runtime/yaml.mdx +0 -469
  315. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/add.mdx +0 -166
  316. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/build.mdx +0 -196
  317. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/bunx.mdx +0 -49
  318. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/feedback.mdx +0 -17
  319. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/init.mdx +0 -84
  320. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/install.mdx +0 -173
  321. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/link.mdx +0 -163
  322. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/outdated.mdx +0 -140
  323. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/patch.mdx +0 -171
  324. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/publish.mdx +0 -198
  325. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/remove.mdx +0 -146
  326. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/run.mdx +0 -293
  327. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/test.mdx +0 -100
  328. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/snippets/cli/update.mdx +0 -144
  329. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/code-coverage.mdx +0 -409
  330. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/configuration.mdx +0 -514
  331. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/dates-times.mdx +0 -129
  332. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/discovery.mdx +0 -90
  333. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/dom.mdx +0 -226
  334. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/index.mdx +0 -380
  335. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/lifecycle.mdx +0 -366
  336. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/mocks.mdx +0 -637
  337. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/reporters.mdx +0 -126
  338. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/runtime-behavior.mdx +0 -342
  339. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/snapshots.mdx +0 -434
  340. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/test/writing-tests.mdx +0 -672
  341. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/docs/typescript.mdx +0 -54
  342. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/extensions.d.ts +0 -35
  343. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/fetch.d.ts +0 -79
  344. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/ffi.d.ts +0 -1154
  345. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/globals.d.ts +0 -2067
  346. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/html-rewriter.d.ts +0 -186
  347. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/index.d.ts +0 -32
  348. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/jsc.d.ts +0 -233
  349. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/overrides.d.ts +0 -376
  350. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/package.json +0 -37
  351. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/redis.d.ts +0 -3352
  352. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/s3.d.ts +0 -1299
  353. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/security.d.ts +0 -101
  354. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/serve.d.ts +0 -1296
  355. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/shell.d.ts +0 -380
  356. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/sql.d.ts +0 -887
  357. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/sqlite.d.ts +0 -1321
  358. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/test-globals.d.ts +0 -22
  359. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/test.d.ts +0 -2391
  360. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/branding.d.ts +0 -283
  361. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/index.d.ts +0 -1207
  362. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/messages.d.ts +0 -395
  363. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/overloads.d.ts +0 -669
  364. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/vendor/expect-type/utils.d.ts +0 -431
  365. package/packages/shared/node_modules/@types/bun/node_modules/bun-types/wasm.d.ts +0 -193
  366. package/packages/shared/node_modules/@types/bun/package.json +0 -53
  367. package/templates/commands/redo.md +0 -144
  368. package/templates/commands/undo.md +0 -154
@@ -1,637 +0,0 @@
1
- ---
2
- title: "Mocks"
3
- description: "Learn how to create and use mock functions, spies, and module mocks in Bun tests"
4
- ---
5
-
6
- Mocking is essential for testing by allowing you to replace dependencies with controlled implementations. Bun provides comprehensive mocking capabilities including function mocks, spies, and module mocks.
7
-
8
- ## Basic Function Mocks
9
-
10
- Create mocks with the `mock` function.
11
-
12
- ```ts title="test.ts" icon="/icons/typescript.svg"
13
- import { test, expect, mock } from "bun:test";
14
-
15
- const random = mock(() => Math.random());
16
-
17
- test("random", () => {
18
- const val = random();
19
- expect(val).toBeGreaterThan(0);
20
- expect(random).toHaveBeenCalled();
21
- expect(random).toHaveBeenCalledTimes(1);
22
- });
23
- ```
24
-
25
- ### Jest Compatibility
26
-
27
- Alternatively, you can use the `jest.fn()` function, as in Jest. It behaves identically.
28
-
29
- ```ts title="test.ts" icon="/icons/typescript.svg"
30
- import { test, expect, jest } from "bun:test";
31
-
32
- const random = jest.fn(() => Math.random());
33
-
34
- test("random", () => {
35
- const val = random();
36
- expect(val).toBeGreaterThan(0);
37
- expect(random).toHaveBeenCalled();
38
- expect(random).toHaveBeenCalledTimes(1);
39
- });
40
- ```
41
-
42
- ## Mock Function Properties
43
-
44
- The result of `mock()` is a new function that's been decorated with some additional properties.
45
-
46
- ```ts title="test.ts" icon="/icons/typescript.svg"
47
- import { mock } from "bun:test";
48
-
49
- const random = mock((multiplier: number) => multiplier * Math.random());
50
-
51
- random(2);
52
- random(10);
53
-
54
- random.mock.calls;
55
- // [[ 2 ], [ 10 ]]
56
-
57
- random.mock.results;
58
- // [
59
- // { type: "return", value: 0.6533907460954099 },
60
- // { type: "return", value: 0.6452713933037312 }
61
- // ]
62
- ```
63
-
64
- ### Available Properties and Methods
65
-
66
- The following properties and methods are implemented on mock functions:
67
-
68
- | Property/Method | Description |
69
- | ----------------------------------------- | ---------------------------------------------- |
70
- | `mockFn.getMockName()` | Returns the mock name |
71
- | `mockFn.mock.calls` | Array of call arguments for each invocation |
72
- | `mockFn.mock.results` | Array of return values for each invocation |
73
- | `mockFn.mock.instances` | Array of `this` contexts for each invocation |
74
- | `mockFn.mock.contexts` | Array of `this` contexts for each invocation |
75
- | `mockFn.mock.lastCall` | Arguments of the most recent call |
76
- | `mockFn.mockClear()` | Clears call history |
77
- | `mockFn.mockReset()` | Clears call history and removes implementation |
78
- | `mockFn.mockRestore()` | Restores original implementation |
79
- | `mockFn.mockImplementation(fn)` | Sets a new implementation |
80
- | `mockFn.mockImplementationOnce(fn)` | Sets implementation for next call only |
81
- | `mockFn.mockName(name)` | Sets the mock name |
82
- | `mockFn.mockReturnThis()` | Sets the return value to `this` |
83
- | `mockFn.mockReturnValue(value)` | Sets a return value |
84
- | `mockFn.mockReturnValueOnce(value)` | Sets return value for next call only |
85
- | `mockFn.mockResolvedValue(value)` | Sets a resolved Promise value |
86
- | `mockFn.mockResolvedValueOnce(value)` | Sets resolved Promise for next call only |
87
- | `mockFn.mockRejectedValue(value)` | Sets a rejected Promise value |
88
- | `mockFn.mockRejectedValueOnce(value)` | Sets rejected Promise for next call only |
89
- | `mockFn.withImplementation(fn, callback)` | Temporarily changes implementation |
90
-
91
- ### Practical Examples
92
-
93
- #### Basic Mock Usage
94
-
95
- ```ts title="test.ts" icon="/icons/typescript.svg"
96
- import { test, expect, mock } from "bun:test";
97
-
98
- test("mock function behavior", () => {
99
- const mockFn = mock((x: number) => x * 2);
100
-
101
- // Call the mock
102
- const result1 = mockFn(5);
103
- const result2 = mockFn(10);
104
-
105
- // Verify calls
106
- expect(mockFn).toHaveBeenCalledTimes(2);
107
- expect(mockFn).toHaveBeenCalledWith(5);
108
- expect(mockFn).toHaveBeenLastCalledWith(10);
109
-
110
- // Check results
111
- expect(result1).toBe(10);
112
- expect(result2).toBe(20);
113
-
114
- // Inspect call history
115
- expect(mockFn.mock.calls).toEqual([[5], [10]]);
116
- expect(mockFn.mock.results).toEqual([
117
- { type: "return", value: 10 },
118
- { type: "return", value: 20 },
119
- ]);
120
- });
121
- ```
122
-
123
- #### Dynamic Mock Implementations
124
-
125
- ```ts title="test.ts" icon="/icons/typescript.svg"
126
- import { test, expect, mock } from "bun:test";
127
-
128
- test("dynamic mock implementations", () => {
129
- const mockFn = mock();
130
-
131
- // Set different implementations
132
- mockFn.mockImplementationOnce(() => "first");
133
- mockFn.mockImplementationOnce(() => "second");
134
- mockFn.mockImplementation(() => "default");
135
-
136
- expect(mockFn()).toBe("first");
137
- expect(mockFn()).toBe("second");
138
- expect(mockFn()).toBe("default");
139
- expect(mockFn()).toBe("default"); // Uses default implementation
140
- });
141
- ```
142
-
143
- #### Async Mocks
144
-
145
- ```ts title="test.ts" icon="/icons/typescript.svg"
146
- import { test, expect, mock } from "bun:test";
147
-
148
- test("async mock functions", async () => {
149
- const asyncMock = mock();
150
-
151
- // Mock resolved values
152
- asyncMock.mockResolvedValueOnce("first result");
153
- asyncMock.mockResolvedValue("default result");
154
-
155
- expect(await asyncMock()).toBe("first result");
156
- expect(await asyncMock()).toBe("default result");
157
-
158
- // Mock rejected values
159
- const rejectMock = mock();
160
- rejectMock.mockRejectedValue(new Error("Mock error"));
161
-
162
- await expect(rejectMock()).rejects.toThrow("Mock error");
163
- });
164
- ```
165
-
166
- ## Spies with spyOn()
167
-
168
- It's possible to track calls to a function without replacing it with a mock. Use `spyOn()` to create a spy; these spies can be passed to `.toHaveBeenCalled()` and `.toHaveBeenCalledTimes()`.
169
-
170
- ```ts title="test.ts" icon="/icons/typescript.svg"
171
- import { test, expect, spyOn } from "bun:test";
172
-
173
- const ringo = {
174
- name: "Ringo",
175
- sayHi() {
176
- console.log(`Hello I'm ${this.name}`);
177
- },
178
- };
179
-
180
- const spy = spyOn(ringo, "sayHi");
181
-
182
- test("spyon", () => {
183
- expect(spy).toHaveBeenCalledTimes(0);
184
- ringo.sayHi();
185
- expect(spy).toHaveBeenCalledTimes(1);
186
- });
187
- ```
188
-
189
- ### Advanced Spy Usage
190
-
191
- ```ts title="test.ts" icon="/icons/typescript.svg"
192
- import { test, expect, spyOn, afterEach } from "bun:test";
193
-
194
- class UserService {
195
- async getUser(id: string) {
196
- // Original implementation
197
- return { id, name: `User ${id}` };
198
- }
199
-
200
- async saveUser(user: any) {
201
- // Original implementation
202
- return { ...user, saved: true };
203
- }
204
- }
205
-
206
- const userService = new UserService();
207
-
208
- afterEach(() => {
209
- // Restore all spies after each test
210
- jest.restoreAllMocks();
211
- });
212
-
213
- test("spy on service methods", async () => {
214
- // Spy without changing implementation
215
- const getUserSpy = spyOn(userService, "getUser");
216
- const saveUserSpy = spyOn(userService, "saveUser");
217
-
218
- // Use the service normally
219
- const user = await userService.getUser("123");
220
- await userService.saveUser(user);
221
-
222
- // Verify calls
223
- expect(getUserSpy).toHaveBeenCalledWith("123");
224
- expect(saveUserSpy).toHaveBeenCalledWith(user);
225
- });
226
-
227
- test("spy with mock implementation", async () => {
228
- // Spy and override implementation
229
- const getUserSpy = spyOn(userService, "getUser").mockResolvedValue({
230
- id: "123",
231
- name: "Mocked User",
232
- });
233
-
234
- const result = await userService.getUser("123");
235
-
236
- expect(result.name).toBe("Mocked User");
237
- expect(getUserSpy).toHaveBeenCalledWith("123");
238
- });
239
- ```
240
-
241
- ## Module Mocks with mock.module()
242
-
243
- Module mocking lets you override the behavior of a module. Use `mock.module(path: string, callback: () => Object)` to mock a module.
244
-
245
- ```ts title="test.ts" icon="/icons/typescript.svg"
246
- import { test, expect, mock } from "bun:test";
247
-
248
- mock.module("./module", () => {
249
- return {
250
- foo: "bar",
251
- };
252
- });
253
-
254
- test("mock.module", async () => {
255
- const esm = await import("./module");
256
- expect(esm.foo).toBe("bar");
257
-
258
- const cjs = require("./module");
259
- expect(cjs.foo).toBe("bar");
260
- });
261
- ```
262
-
263
- Like the rest of Bun, module mocks support both `import` and `require`.
264
-
265
- ### Overriding Already Imported Modules
266
-
267
- If you need to override a module that's already been imported, there's nothing special you need to do. Just call `mock.module()` and the module will be overridden.
268
-
269
- ```ts title="test.ts" icon="/icons/typescript.svg"
270
- import { test, expect, mock } from "bun:test";
271
-
272
- // The module we're going to mock is here:
273
- import { foo } from "./module";
274
-
275
- test("mock.module", async () => {
276
- const cjs = require("./module");
277
- expect(foo).toBe("bar");
278
- expect(cjs.foo).toBe("bar");
279
-
280
- // We update it here:
281
- mock.module("./module", () => {
282
- return {
283
- foo: "baz",
284
- };
285
- });
286
-
287
- // And the live bindings are updated.
288
- expect(foo).toBe("baz");
289
-
290
- // The module is also updated for CJS.
291
- expect(cjs.foo).toBe("baz");
292
- });
293
- ```
294
-
295
- ### Hoisting & Preloading
296
-
297
- If you need to ensure a module is mocked before it's imported, you should use `--preload` to load your mocks before your tests run.
298
-
299
- ```ts title="my-preload.ts" icon="/icons/typescript.svg"
300
- import { mock } from "bun:test";
301
-
302
- mock.module("./module", () => {
303
- return {
304
- foo: "bar",
305
- };
306
- });
307
- ```
308
-
309
- ```bash terminal icon="terminal"
310
- bun test --preload ./my-preload
311
- ```
312
-
313
- To make your life easier, you can put preload in your `bunfig.toml`:
314
-
315
- ```toml title="bunfig.toml" icon="settings"
316
- [test]
317
- # Load these modules before running tests.
318
- preload = ["./my-preload"]
319
- ```
320
-
321
- ### Module Mock Best Practices
322
-
323
- #### When to Use Preload
324
-
325
- **What happens if I mock a module that's already been imported?**
326
-
327
- If you mock a module that's already been imported, the module will be updated in the module cache. This means that any modules that import the module will get the mocked version, BUT the original module will still have been evaluated. That means that any side effects from the original module will still have happened.
328
-
329
- If you want to prevent the original module from being evaluated, you should use `--preload` to load your mocks before your tests run.
330
-
331
- #### Practical Module Mock Examples
332
-
333
- ```ts title="api-client.test.ts" icon="/icons/typescript.svg"
334
- import { test, expect, mock, beforeEach } from "bun:test";
335
-
336
- // Mock the API client module
337
- mock.module("./api-client", () => ({
338
- fetchUser: mock(async (id: string) => ({ id, name: `User ${id}` })),
339
- createUser: mock(async (user: any) => ({ ...user, id: "new-id" })),
340
- updateUser: mock(async (id: string, user: any) => ({ ...user, id })),
341
- }));
342
-
343
- test("user service with mocked API", async () => {
344
- const { fetchUser } = await import("./api-client");
345
- const { UserService } = await import("./user-service");
346
-
347
- const userService = new UserService();
348
- const user = await userService.getUser("123");
349
-
350
- expect(fetchUser).toHaveBeenCalledWith("123");
351
- expect(user.name).toBe("User 123");
352
- });
353
- ```
354
-
355
- #### Mocking External Dependencies
356
-
357
- ```ts title="database.test.ts" icon="/icons/typescript.svg"
358
- import { test, expect, mock } from "bun:test";
359
-
360
- // Mock external database library
361
- mock.module("pg", () => ({
362
- Client: mock(function () {
363
- return {
364
- connect: mock(async () => {}),
365
- query: mock(async (sql: string) => ({
366
- rows: [{ id: 1, name: "Test User" }],
367
- })),
368
- end: mock(async () => {}),
369
- };
370
- }),
371
- }));
372
-
373
- test("database operations", async () => {
374
- const { Database } = await import("./database");
375
- const db = new Database();
376
-
377
- const users = await db.getUsers();
378
- expect(users).toHaveLength(1);
379
- expect(users[0].name).toBe("Test User");
380
- });
381
- ```
382
-
383
- ## Global Mock Functions
384
-
385
- ### Clear All Mocks
386
-
387
- Reset all mock function state (calls, results, etc.) without restoring their original implementation:
388
-
389
- ```ts title="test.ts" icon="/icons/typescript.svg"
390
- import { expect, mock, test } from "bun:test";
391
-
392
- const random1 = mock(() => Math.random());
393
- const random2 = mock(() => Math.random());
394
-
395
- test("clearing all mocks", () => {
396
- random1();
397
- random2();
398
-
399
- expect(random1).toHaveBeenCalledTimes(1);
400
- expect(random2).toHaveBeenCalledTimes(1);
401
-
402
- mock.clearAllMocks();
403
-
404
- expect(random1).toHaveBeenCalledTimes(0);
405
- expect(random2).toHaveBeenCalledTimes(0);
406
-
407
- // Note: implementations are preserved
408
- expect(typeof random1()).toBe("number");
409
- expect(typeof random2()).toBe("number");
410
- });
411
- ```
412
-
413
- This resets the `.mock.calls`, `.mock.instances`, `.mock.contexts`, and `.mock.results` properties of all mocks, but unlike `mock.restore()`, it does not restore the original implementation.
414
-
415
- ### Restore All Mocks
416
-
417
- Instead of manually restoring each mock individually with `mockFn.mockRestore()`, restore all mocks with one command by calling `mock.restore()`. Doing so does not reset the value of modules overridden with `mock.module()`.
418
-
419
- ```ts title="test.ts" icon="/icons/typescript.svg"
420
- import { expect, mock, spyOn, test } from "bun:test";
421
-
422
- import * as fooModule from "./foo.ts";
423
- import * as barModule from "./bar.ts";
424
- import * as bazModule from "./baz.ts";
425
-
426
- test("foo, bar, baz", () => {
427
- const fooSpy = spyOn(fooModule, "foo");
428
- const barSpy = spyOn(barModule, "bar");
429
- const bazSpy = spyOn(bazModule, "baz");
430
-
431
- // Original implementations still work
432
- expect(fooModule.foo()).toBe("foo");
433
- expect(barModule.bar()).toBe("bar");
434
- expect(bazModule.baz()).toBe("baz");
435
-
436
- // Mock implementations
437
- fooSpy.mockImplementation(() => 42);
438
- barSpy.mockImplementation(() => 43);
439
- bazSpy.mockImplementation(() => 44);
440
-
441
- expect(fooModule.foo()).toBe(42);
442
- expect(barModule.bar()).toBe(43);
443
- expect(bazModule.baz()).toBe(44);
444
-
445
- // Restore all
446
- mock.restore();
447
-
448
- expect(fooModule.foo()).toBe("foo");
449
- expect(barModule.bar()).toBe("bar");
450
- expect(bazModule.baz()).toBe("baz");
451
- });
452
- ```
453
-
454
- Using `mock.restore()` can reduce the amount of code in your tests by adding it to `afterEach` blocks in each test file or even in your test preload code.
455
-
456
- ## Vitest Compatibility
457
-
458
- For added compatibility with tests written for Vitest, Bun provides the `vi` object as an alias for parts of the Jest mocking API:
459
-
460
- ```ts title="test.ts" icon="/icons/typescript.svg"
461
- import { test, expect, vi } from "bun:test";
462
-
463
- // Using the 'vi' alias similar to Vitest
464
- test("vitest compatibility", () => {
465
- const mockFn = vi.fn(() => 42);
466
-
467
- mockFn();
468
- expect(mockFn).toHaveBeenCalled();
469
-
470
- // The following functions are available on the vi object:
471
- // vi.fn
472
- // vi.spyOn
473
- // vi.mock
474
- // vi.restoreAllMocks
475
- // vi.clearAllMocks
476
- });
477
- ```
478
-
479
- This makes it easier to port tests from Vitest to Bun without having to rewrite all your mocks.
480
-
481
- ## Implementation Details
482
-
483
- Understanding how `mock.module()` works helps you use it more effectively:
484
-
485
- ### Cache Interaction
486
-
487
- Module mocks interact with both ESM and CommonJS module caches.
488
-
489
- ### Lazy Evaluation
490
-
491
- The mock factory callback is only evaluated when the module is actually imported or required.
492
-
493
- ### Path Resolution
494
-
495
- Bun automatically resolves the module specifier as though you were doing an import, supporting:
496
-
497
- - Relative paths (`'./module'`)
498
- - Absolute paths (`'/path/to/module'`)
499
- - Package names (`'lodash'`)
500
-
501
- ### Import Timing Effects
502
-
503
- - **When mocking before first import**: No side effects from the original module occur
504
- - **When mocking after import**: The original module's side effects have already happened
505
-
506
- For this reason, using `--preload` is recommended for mocks that need to prevent side effects.
507
-
508
- ### Live Bindings
509
-
510
- Mocked ESM modules maintain live bindings, so changing the mock will update all existing imports.
511
-
512
- ## Advanced Patterns
513
-
514
- ### Factory Functions
515
-
516
- ```ts title="test.ts" icon="/icons/typescript.svg"
517
- import { mock } from "bun:test";
518
-
519
- function createMockUser(overrides = {}) {
520
- return {
521
- id: "mock-id",
522
- name: "Mock User",
523
- email: "mock@example.com",
524
- ...overrides,
525
- };
526
- }
527
-
528
- const mockUserService = {
529
- getUser: mock(async (id: string) => createMockUser({ id })),
530
- createUser: mock(async (data: any) => createMockUser(data)),
531
- updateUser: mock(async (id: string, data: any) => createMockUser({ id, ...data })),
532
- };
533
- ```
534
-
535
- ### Conditional Mocking
536
-
537
- ```ts title="test.ts" icon="/icons/typescript.svg"
538
- import { test, expect, mock } from "bun:test";
539
-
540
- const shouldUseMockApi = process.env.NODE_ENV === "test";
541
-
542
- if (shouldUseMockApi) {
543
- mock.module("./api", () => ({
544
- fetchData: mock(async () => ({ data: "mocked" })),
545
- }));
546
- }
547
-
548
- test("conditional API usage", async () => {
549
- const { fetchData } = await import("./api");
550
- const result = await fetchData();
551
-
552
- if (shouldUseMockApi) {
553
- expect(result.data).toBe("mocked");
554
- }
555
- });
556
- ```
557
-
558
- ### Mock Cleanup Patterns
559
-
560
- ```ts title="test.ts" icon="/icons/typescript.svg"
561
- import { afterEach, beforeEach } from "bun:test";
562
-
563
- beforeEach(() => {
564
- // Set up common mocks
565
- mock.module("./logger", () => ({
566
- log: mock(() => {}),
567
- error: mock(() => {}),
568
- warn: mock(() => {}),
569
- }));
570
- });
571
-
572
- afterEach(() => {
573
- // Clean up all mocks
574
- mock.restore();
575
- mock.clearAllMocks();
576
- });
577
- ```
578
-
579
- ## Best Practices
580
-
581
- ### Keep Mocks Simple
582
-
583
- ```ts title="test.ts" icon="/icons/typescript.svg"
584
- // Good: Simple, focused mock
585
- const mockUserApi = {
586
- getUser: mock(async id => ({ id, name: "Test User" })),
587
- };
588
-
589
- // Avoid: Overly complex mock behavior
590
- const complexMock = mock(input => {
591
- if (input.type === "A") {
592
- return processTypeA(input);
593
- } else if (input.type === "B") {
594
- return processTypeB(input);
595
- }
596
- // ... lots of complex logic
597
- });
598
- ```
599
-
600
- ### Use Type-Safe Mocks
601
-
602
- ```ts
603
- interface UserService {
604
- getUser(id: string): Promise<User>;
605
- createUser(data: CreateUserData): Promise<User>;
606
- }
607
-
608
- const mockUserService: UserService = {
609
- getUser: mock(async (id: string) => ({ id, name: "Test User" })),
610
- createUser: mock(async data => ({ id: "new-id", ...data })),
611
- };
612
- ```
613
-
614
- ### Test Mock Behavior
615
-
616
- ```ts title="test.ts" icon="/icons/typescript.svg"
617
- test("service calls API correctly", async () => {
618
- const mockApi = { fetchUser: mock(async () => ({ id: "1" })) };
619
-
620
- const service = new UserService(mockApi);
621
- await service.getUser("123");
622
-
623
- // Verify the mock was called correctly
624
- expect(mockApi.fetchUser).toHaveBeenCalledWith("123");
625
- expect(mockApi.fetchUser).toHaveBeenCalledTimes(1);
626
- });
627
- ```
628
-
629
- ## Notes
630
-
631
- ### Auto-mocking
632
-
633
- `__mocks__` directory and auto-mocking are not supported yet. If this is blocking you from switching to Bun, please [file an issue](https://github.com/oven-sh/bun/issues).
634
-
635
- ### ESM vs CommonJS
636
-
637
- Module mocks have different implementations for ESM and CommonJS modules. For ES Modules, Bun has added patches to JavaScriptCore that allow Bun to override export values at runtime and update live bindings recursively.