convex 1.44.0 → 1.45.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 (594) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/browser.bundle.js +1 -1
  3. package/dist/browser.bundle.js.map +1 -1
  4. package/dist/cjs/cli/convexExport.js +1 -1
  5. package/dist/cjs/cli/convexExport.js.map +1 -1
  6. package/dist/cjs/cli/index.js +2 -32
  7. package/dist/cjs/cli/index.js.map +2 -2
  8. package/dist/cjs/cli/lib/api.js +11 -5
  9. package/dist/cjs/cli/lib/api.js.map +2 -2
  10. package/dist/cjs/cli/lib/convexExport.js +12 -1
  11. package/dist/cjs/cli/lib/convexExport.js.map +2 -2
  12. package/dist/cjs/cli/lib/dashboard.js.map +2 -2
  13. package/dist/cjs/cli/lib/generatedFunctionLogsApi.js.map +1 -1
  14. package/dist/cjs/cli/lib/indexes.js +1 -1
  15. package/dist/cjs/cli/lib/indexes.js.map +1 -1
  16. package/dist/cjs/cli/lib/localDeployment/upgrade.js +23 -188
  17. package/dist/cjs/cli/lib/localDeployment/upgrade.js.map +3 -3
  18. package/dist/cjs/cli/lib/mcp/tools/index.js.map +1 -1
  19. package/dist/cjs/cli/mcp.js +76 -69
  20. package/dist/cjs/cli/mcp.js.map +2 -2
  21. package/dist/cjs/index.js +1 -1
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/server/impl/actions_impl.js.map +2 -2
  24. package/dist/cjs/server/index.js.map +2 -2
  25. package/dist/cjs-types/cli/lib/api.d.ts.map +1 -1
  26. package/dist/cjs-types/cli/lib/convexExport.d.ts +1 -0
  27. package/dist/cjs-types/cli/lib/convexExport.d.ts.map +1 -1
  28. package/dist/cjs-types/cli/lib/dashboard.d.ts.map +1 -1
  29. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  30. package/dist/cjs-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  31. package/dist/cjs-types/cli/lib/localDeployment/upgrade.d.ts +2 -0
  32. package/dist/cjs-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  33. package/dist/cjs-types/cli/lib/mcp/tools/index.d.ts +1 -1
  34. package/dist/cjs-types/cli/lib/mcp/tools/index.d.ts.map +1 -1
  35. package/dist/cjs-types/cli/mcp.d.ts +3 -0
  36. package/dist/cjs-types/cli/mcp.d.ts.map +1 -1
  37. package/dist/cjs-types/index.d.ts +1 -1
  38. package/dist/cjs-types/server/impl/actions_impl.d.ts +14 -0
  39. package/dist/cjs-types/server/impl/actions_impl.d.ts.map +1 -1
  40. package/dist/cjs-types/server/index.d.ts +1 -0
  41. package/dist/cjs-types/server/index.d.ts.map +1 -1
  42. package/dist/cli.bundle.cjs +31210 -25495
  43. package/dist/cli.bundle.cjs.map +4 -4
  44. package/dist/esm/cli/convexExport.js +1 -1
  45. package/dist/esm/cli/convexExport.js.map +1 -1
  46. package/dist/esm/cli/index.js +2 -32
  47. package/dist/esm/cli/index.js.map +2 -2
  48. package/dist/esm/cli/lib/api.js +11 -5
  49. package/dist/esm/cli/lib/api.js.map +2 -2
  50. package/dist/esm/cli/lib/convexExport.js +16 -3
  51. package/dist/esm/cli/lib/convexExport.js.map +2 -2
  52. package/dist/esm/cli/lib/dashboard.js.map +2 -2
  53. package/dist/esm/cli/lib/indexes.js +1 -1
  54. package/dist/esm/cli/lib/indexes.js.map +1 -1
  55. package/dist/esm/cli/lib/localDeployment/upgrade.js +22 -190
  56. package/dist/esm/cli/lib/localDeployment/upgrade.js.map +2 -2
  57. package/dist/esm/cli/lib/mcp/tools/index.js.map +1 -1
  58. package/dist/esm/cli/mcp.js +75 -72
  59. package/dist/esm/cli/mcp.js.map +2 -2
  60. package/dist/esm/index.js +1 -1
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/esm/server/impl/actions_impl.js.map +2 -2
  63. package/dist/esm/server/index.js.map +2 -2
  64. package/dist/esm-types/cli/lib/api.d.ts.map +1 -1
  65. package/dist/esm-types/cli/lib/convexExport.d.ts +1 -0
  66. package/dist/esm-types/cli/lib/convexExport.d.ts.map +1 -1
  67. package/dist/esm-types/cli/lib/dashboard.d.ts.map +1 -1
  68. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts +2 -0
  69. package/dist/esm-types/cli/lib/generatedFunctionLogsApi.d.ts.map +1 -1
  70. package/dist/esm-types/cli/lib/localDeployment/upgrade.d.ts +2 -0
  71. package/dist/esm-types/cli/lib/localDeployment/upgrade.d.ts.map +1 -1
  72. package/dist/esm-types/cli/lib/mcp/tools/index.d.ts +1 -1
  73. package/dist/esm-types/cli/lib/mcp/tools/index.d.ts.map +1 -1
  74. package/dist/esm-types/cli/mcp.d.ts +3 -0
  75. package/dist/esm-types/cli/mcp.d.ts.map +1 -1
  76. package/dist/esm-types/index.d.ts +1 -1
  77. package/dist/esm-types/server/impl/actions_impl.d.ts +14 -0
  78. package/dist/esm-types/server/impl/actions_impl.d.ts.map +1 -1
  79. package/dist/esm-types/server/index.d.ts +1 -0
  80. package/dist/esm-types/server/index.d.ts.map +1 -1
  81. package/dist/react.bundle.js +1 -1
  82. package/dist/react.bundle.js.map +1 -1
  83. package/package.json +3 -3
  84. package/src/cli/convexExport.ts +1 -1
  85. package/src/cli/index.ts +2 -35
  86. package/src/cli/lib/api.ts +11 -5
  87. package/src/cli/lib/convexExport.ts +21 -0
  88. package/src/cli/lib/dashboard.ts +2 -0
  89. package/src/cli/lib/generatedFunctionLogsApi.ts +2 -0
  90. package/src/cli/lib/indexes.ts +1 -1
  91. package/src/cli/lib/localDeployment/upgrade.ts +34 -207
  92. package/src/cli/lib/mcp/tools/index.ts +1 -1
  93. package/src/cli/mcp.ts +91 -77
  94. package/src/index.ts +1 -1
  95. package/src/server/impl/actions_impl.ts +3 -1
  96. package/src/server/index.ts +0 -3
  97. package/dist/cjs-types/browser/http_client.test.d.ts +0 -2
  98. package/dist/cjs-types/browser/http_client.test.d.ts.map +0 -1
  99. package/dist/cjs-types/browser/query_options.test.d.ts +0 -2
  100. package/dist/cjs-types/browser/query_options.test.d.ts.map +0 -1
  101. package/dist/cjs-types/browser/simple_client.test.d.ts +0 -2
  102. package/dist/cjs-types/browser/simple_client.test.d.ts.map +0 -1
  103. package/dist/cjs-types/browser/sync/client.test.d.ts +0 -5
  104. package/dist/cjs-types/browser/sync/client.test.d.ts.map +0 -1
  105. package/dist/cjs-types/browser/sync/client_node.test.d.ts +0 -2
  106. package/dist/cjs-types/browser/sync/client_node.test.d.ts.map +0 -1
  107. package/dist/cjs-types/browser/sync/client_node_test_helpers.d.ts +0 -44
  108. package/dist/cjs-types/browser/sync/client_node_test_helpers.d.ts.map +0 -1
  109. package/dist/cjs-types/browser/sync/local_state.test.d.ts +0 -2
  110. package/dist/cjs-types/browser/sync/local_state.test.d.ts.map +0 -1
  111. package/dist/cjs-types/browser/sync/optimistic_query_set.test.d.ts +0 -2
  112. package/dist/cjs-types/browser/sync/optimistic_query_set.test.d.ts.map +0 -1
  113. package/dist/cjs-types/browser/sync/paginated_query_client.test.d.ts +0 -2
  114. package/dist/cjs-types/browser/sync/paginated_query_client.test.d.ts.map +0 -1
  115. package/dist/cjs-types/browser/sync/protocol.test.d.ts +0 -5
  116. package/dist/cjs-types/browser/sync/protocol.test.d.ts.map +0 -1
  117. package/dist/cjs-types/browser/sync/request_manager.test.d.ts +0 -2
  118. package/dist/cjs-types/browser/sync/request_manager.test.d.ts.map +0 -1
  119. package/dist/cjs-types/bundler/fs.test.d.ts +0 -2
  120. package/dist/cjs-types/bundler/fs.test.d.ts.map +0 -1
  121. package/dist/cjs-types/bundler/index.test.d.ts +0 -2
  122. package/dist/cjs-types/bundler/index.test.d.ts.map +0 -1
  123. package/dist/cjs-types/cli/codegen_templates/api.test.d.ts +0 -2
  124. package/dist/cjs-types/cli/codegen_templates/api.test.d.ts.map +0 -1
  125. package/dist/cjs-types/cli/codegen_templates/common.test.d.ts +0 -2
  126. package/dist/cjs-types/cli/codegen_templates/common.test.d.ts.map +0 -1
  127. package/dist/cjs-types/cli/codegen_templates/templates.test.d.ts +0 -2
  128. package/dist/cjs-types/cli/codegen_templates/templates.test.d.ts.map +0 -1
  129. package/dist/cjs-types/cli/codegen_templates/validator_helpers.test.d.ts +0 -2
  130. package/dist/cjs-types/cli/codegen_templates/validator_helpers.test.d.ts.map +0 -1
  131. package/dist/cjs-types/cli/configure.test.d.ts +0 -2
  132. package/dist/cjs-types/cli/configure.test.d.ts.map +0 -1
  133. package/dist/cjs-types/cli/deploymentCreate.test.d.ts +0 -2
  134. package/dist/cjs-types/cli/deploymentCreate.test.d.ts.map +0 -1
  135. package/dist/cjs-types/cli/deploymentSelect.test.d.ts +0 -2
  136. package/dist/cjs-types/cli/deploymentSelect.test.d.ts.map +0 -1
  137. package/dist/cjs-types/cli/deploymentSelection.test.d.ts +0 -2
  138. package/dist/cjs-types/cli/deploymentSelection.test.d.ts.map +0 -1
  139. package/dist/cjs-types/cli/deploymentToken.test.d.ts +0 -2
  140. package/dist/cjs-types/cli/deploymentToken.test.d.ts.map +0 -1
  141. package/dist/cjs-types/cli/dev.test.d.ts +0 -2
  142. package/dist/cjs-types/cli/dev.test.d.ts.map +0 -1
  143. package/dist/cjs-types/cli/envDefault.test.d.ts +0 -2
  144. package/dist/cjs-types/cli/envDefault.test.d.ts.map +0 -1
  145. package/dist/cjs-types/cli/lib/aiFiles/agentsmd.test.d.ts +0 -2
  146. package/dist/cjs-types/cli/lib/aiFiles/agentsmd.test.d.ts.map +0 -1
  147. package/dist/cjs-types/cli/lib/aiFiles/claudemd.test.d.ts +0 -2
  148. package/dist/cjs-types/cli/lib/aiFiles/claudemd.test.d.ts.map +0 -1
  149. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.test.d.ts +0 -2
  150. package/dist/cjs-types/cli/lib/aiFiles/guidelinesmd.test.d.ts.map +0 -1
  151. package/dist/cjs-types/cli/lib/aiFiles/index.test.d.ts +0 -2
  152. package/dist/cjs-types/cli/lib/aiFiles/index.test.d.ts.map +0 -1
  153. package/dist/cjs-types/cli/lib/aiFiles/integration.test.d.ts +0 -2
  154. package/dist/cjs-types/cli/lib/aiFiles/integration.test.d.ts.map +0 -1
  155. package/dist/cjs-types/cli/lib/aiFiles/prompt.test.d.ts +0 -2
  156. package/dist/cjs-types/cli/lib/aiFiles/prompt.test.d.ts.map +0 -1
  157. package/dist/cjs-types/cli/lib/aiFiles/state.test.d.ts +0 -2
  158. package/dist/cjs-types/cli/lib/aiFiles/state.test.d.ts.map +0 -1
  159. package/dist/cjs-types/cli/lib/aiFiles/utils.test.d.ts +0 -2
  160. package/dist/cjs-types/cli/lib/aiFiles/utils.test.d.ts.map +0 -1
  161. package/dist/cjs-types/cli/lib/codegen.test.d.ts +0 -2
  162. package/dist/cjs-types/cli/lib/codegen.test.d.ts.map +0 -1
  163. package/dist/cjs-types/cli/lib/components.test.d.ts +0 -2
  164. package/dist/cjs-types/cli/lib/components.test.d.ts.map +0 -1
  165. package/dist/cjs-types/cli/lib/config.test.d.ts +0 -2
  166. package/dist/cjs-types/cli/lib/config.test.d.ts.map +0 -1
  167. package/dist/cjs-types/cli/lib/deployment.test.d.ts +0 -2
  168. package/dist/cjs-types/cli/lib/deployment.test.d.ts.map +0 -1
  169. package/dist/cjs-types/cli/lib/deploymentSelector.test.d.ts +0 -2
  170. package/dist/cjs-types/cli/lib/deploymentSelector.test.d.ts.map +0 -1
  171. package/dist/cjs-types/cli/lib/env.test.d.ts +0 -2
  172. package/dist/cjs-types/cli/lib/env.test.d.ts.map +0 -1
  173. package/dist/cjs-types/cli/lib/expiration.test.d.ts +0 -2
  174. package/dist/cjs-types/cli/lib/expiration.test.d.ts.map +0 -1
  175. package/dist/cjs-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts +0 -2
  176. package/dist/cjs-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts.map +0 -1
  177. package/dist/cjs-types/cli/lib/formatEnvValueForDotfile.test.d.ts +0 -2
  178. package/dist/cjs-types/cli/lib/formatEnvValueForDotfile.test.d.ts.map +0 -1
  179. package/dist/cjs-types/cli/lib/formatTargetedDeployment.test.d.ts +0 -2
  180. package/dist/cjs-types/cli/lib/formatTargetedDeployment.test.d.ts.map +0 -1
  181. package/dist/cjs-types/cli/lib/fsUtils.test.d.ts +0 -2
  182. package/dist/cjs-types/cli/lib/fsUtils.test.d.ts.map +0 -1
  183. package/dist/cjs-types/cli/lib/generateDocs.test.d.ts +0 -2
  184. package/dist/cjs-types/cli/lib/generateDocs.test.d.ts.map +0 -1
  185. package/dist/cjs-types/cli/lib/indexes.test.d.ts +0 -2
  186. package/dist/cjs-types/cli/lib/indexes.test.d.ts.map +0 -1
  187. package/dist/cjs-types/cli/lib/localDeployment/run.test.d.ts +0 -2
  188. package/dist/cjs-types/cli/lib/localDeployment/run.test.d.ts.map +0 -1
  189. package/dist/cjs-types/cli/lib/localDeployment/secrets.test.d.ts +0 -2
  190. package/dist/cjs-types/cli/lib/localDeployment/secrets.test.d.ts.map +0 -1
  191. package/dist/cjs-types/cli/lib/run.test.d.ts +0 -2
  192. package/dist/cjs-types/cli/lib/run.test.d.ts.map +0 -1
  193. package/dist/cjs-types/cli/lib/runTestFunction.test.d.ts +0 -2
  194. package/dist/cjs-types/cli/lib/runTestFunction.test.d.ts.map +0 -1
  195. package/dist/cjs-types/cli/lib/typecheck.test.d.ts +0 -2
  196. package/dist/cjs-types/cli/lib/typecheck.test.d.ts.map +0 -1
  197. package/dist/cjs-types/cli/lib/updates.test.d.ts +0 -2
  198. package/dist/cjs-types/cli/lib/updates.test.d.ts.map +0 -1
  199. package/dist/cjs-types/cli/lib/utils/hash.test.d.ts +0 -2
  200. package/dist/cjs-types/cli/lib/utils/hash.test.d.ts.map +0 -1
  201. package/dist/cjs-types/cli/lib/utils/utils.test.d.ts +0 -2
  202. package/dist/cjs-types/cli/lib/utils/utils.test.d.ts.map +0 -1
  203. package/dist/cjs-types/cli/lib/versionApi.test.d.ts +0 -2
  204. package/dist/cjs-types/cli/lib/versionApi.test.d.ts.map +0 -1
  205. package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts +0 -2
  206. package/dist/cjs-types/cli/lib/workos/environmentApi.test.d.ts.map +0 -1
  207. package/dist/cjs-types/cli/lib/workos/workos.test.d.ts +0 -2
  208. package/dist/cjs-types/cli/lib/workos/workos.test.d.ts.map +0 -1
  209. package/dist/cjs-types/cli/login.test.d.ts +0 -2
  210. package/dist/cjs-types/cli/login.test.d.ts.map +0 -1
  211. package/dist/cjs-types/common/index.test.d.ts +0 -2
  212. package/dist/cjs-types/common/index.test.d.ts.map +0 -1
  213. package/dist/cjs-types/nextjs/nextjs.test.d.ts +0 -2
  214. package/dist/cjs-types/nextjs/nextjs.test.d.ts.map +0 -1
  215. package/dist/cjs-types/react/ConvexAuthState.test.d.ts +0 -2
  216. package/dist/cjs-types/react/ConvexAuthState.test.d.ts.map +0 -1
  217. package/dist/cjs-types/react/auth_helpers.test.d.ts +0 -2
  218. package/dist/cjs-types/react/auth_helpers.test.d.ts.map +0 -1
  219. package/dist/cjs-types/react/auth_websocket.test.d.ts +0 -2
  220. package/dist/cjs-types/react/auth_websocket.test.d.ts.map +0 -1
  221. package/dist/cjs-types/react/client.test.d.ts +0 -2
  222. package/dist/cjs-types/react/client.test.d.ts.map +0 -1
  223. package/dist/cjs-types/react/client_provided_base_client.test.d.ts +0 -2
  224. package/dist/cjs-types/react/client_provided_base_client.test.d.ts.map +0 -1
  225. package/dist/cjs-types/react/queries_observer.test.d.ts +0 -2
  226. package/dist/cjs-types/react/queries_observer.test.d.ts.map +0 -1
  227. package/dist/cjs-types/react/react_node.test.d.ts +0 -2
  228. package/dist/cjs-types/react/react_node.test.d.ts.map +0 -1
  229. package/dist/cjs-types/react/use_paginated_query.test.d.ts +0 -2
  230. package/dist/cjs-types/react/use_paginated_query.test.d.ts.map +0 -1
  231. package/dist/cjs-types/react/use_queries.test.d.ts +0 -5
  232. package/dist/cjs-types/react/use_queries.test.d.ts.map +0 -1
  233. package/dist/cjs-types/react/use_query.test.d.ts +0 -5
  234. package/dist/cjs-types/react/use_query.test.d.ts.map +0 -1
  235. package/dist/cjs-types/react/use_query_object_options.test.d.ts +0 -5
  236. package/dist/cjs-types/react/use_query_object_options.test.d.ts.map +0 -1
  237. package/dist/cjs-types/react/use_query_result.test.d.ts +0 -5
  238. package/dist/cjs-types/react/use_query_result.test.d.ts.map +0 -1
  239. package/dist/cjs-types/react-auth0/ConvexProviderWithAuth0.test.d.ts +0 -2
  240. package/dist/cjs-types/react-auth0/ConvexProviderWithAuth0.test.d.ts.map +0 -1
  241. package/dist/cjs-types/react-clerk/ConvexProviderWithClerk.test.d.ts +0 -2
  242. package/dist/cjs-types/react-clerk/ConvexProviderWithClerk.test.d.ts.map +0 -1
  243. package/dist/cjs-types/server/api.intersect.test.d.ts +0 -2
  244. package/dist/cjs-types/server/api.intersect.test.d.ts.map +0 -1
  245. package/dist/cjs-types/server/api.test.d.ts +0 -2
  246. package/dist/cjs-types/server/api.test.d.ts.map +0 -1
  247. package/dist/cjs-types/server/audit_logging.test.d.ts +0 -2
  248. package/dist/cjs-types/server/audit_logging.test.d.ts.map +0 -1
  249. package/dist/cjs-types/server/components/index.test.d.ts +0 -2
  250. package/dist/cjs-types/server/components/index.test.d.ts.map +0 -1
  251. package/dist/cjs-types/server/cron.test.d.ts +0 -2
  252. package/dist/cjs-types/server/cron.test.d.ts.map +0 -1
  253. package/dist/cjs-types/server/data_model.test.d.ts +0 -2
  254. package/dist/cjs-types/server/data_model.test.d.ts.map +0 -1
  255. package/dist/cjs-types/server/database.test.d.ts +0 -2
  256. package/dist/cjs-types/server/database.test.d.ts.map +0 -1
  257. package/dist/cjs-types/server/database_api.test.d.ts +0 -2
  258. package/dist/cjs-types/server/database_api.test.d.ts.map +0 -1
  259. package/dist/cjs-types/server/filter_builder.test.d.ts +0 -2
  260. package/dist/cjs-types/server/filter_builder.test.d.ts.map +0 -1
  261. package/dist/cjs-types/server/impl/actions_impl.test.d.ts +0 -2
  262. package/dist/cjs-types/server/impl/actions_impl.test.d.ts.map +0 -1
  263. package/dist/cjs-types/server/impl/filter_builder_impl.test.d.ts +0 -2
  264. package/dist/cjs-types/server/impl/filter_builder_impl.test.d.ts.map +0 -1
  265. package/dist/cjs-types/server/impl/query_impl.test.d.ts +0 -2
  266. package/dist/cjs-types/server/impl/query_impl.test.d.ts.map +0 -1
  267. package/dist/cjs-types/server/pagination.test.d.ts +0 -2
  268. package/dist/cjs-types/server/pagination.test.d.ts.map +0 -1
  269. package/dist/cjs-types/server/query.test.d.ts +0 -2
  270. package/dist/cjs-types/server/query.test.d.ts.map +0 -1
  271. package/dist/cjs-types/server/registration.test.d.ts +0 -2
  272. package/dist/cjs-types/server/registration.test.d.ts.map +0 -1
  273. package/dist/cjs-types/server/router.test.d.ts +0 -2
  274. package/dist/cjs-types/server/router.test.d.ts.map +0 -1
  275. package/dist/cjs-types/server/scheduler.test.d.ts +0 -2
  276. package/dist/cjs-types/server/scheduler.test.d.ts.map +0 -1
  277. package/dist/cjs-types/server/schema.test.d.ts +0 -2
  278. package/dist/cjs-types/server/schema.test.d.ts.map +0 -1
  279. package/dist/cjs-types/test/fake_watch.d.ts +0 -16
  280. package/dist/cjs-types/test/fake_watch.d.ts.map +0 -1
  281. package/dist/cjs-types/test/type_testing.d.ts +0 -9
  282. package/dist/cjs-types/test/type_testing.d.ts.map +0 -1
  283. package/dist/cjs-types/type_utils.test.d.ts +0 -2
  284. package/dist/cjs-types/type_utils.test.d.ts.map +0 -1
  285. package/dist/cjs-types/values/size.test.d.ts +0 -2
  286. package/dist/cjs-types/values/size.test.d.ts.map +0 -1
  287. package/dist/cjs-types/values/validator.test.d.ts +0 -2
  288. package/dist/cjs-types/values/validator.test.d.ts.map +0 -1
  289. package/dist/cjs-types/values/value.test.d.ts +0 -2
  290. package/dist/cjs-types/values/value.test.d.ts.map +0 -1
  291. package/dist/esm-types/browser/http_client.test.d.ts +0 -2
  292. package/dist/esm-types/browser/http_client.test.d.ts.map +0 -1
  293. package/dist/esm-types/browser/query_options.test.d.ts +0 -2
  294. package/dist/esm-types/browser/query_options.test.d.ts.map +0 -1
  295. package/dist/esm-types/browser/simple_client.test.d.ts +0 -2
  296. package/dist/esm-types/browser/simple_client.test.d.ts.map +0 -1
  297. package/dist/esm-types/browser/sync/client.test.d.ts +0 -5
  298. package/dist/esm-types/browser/sync/client.test.d.ts.map +0 -1
  299. package/dist/esm-types/browser/sync/client_node.test.d.ts +0 -2
  300. package/dist/esm-types/browser/sync/client_node.test.d.ts.map +0 -1
  301. package/dist/esm-types/browser/sync/client_node_test_helpers.d.ts +0 -44
  302. package/dist/esm-types/browser/sync/client_node_test_helpers.d.ts.map +0 -1
  303. package/dist/esm-types/browser/sync/local_state.test.d.ts +0 -2
  304. package/dist/esm-types/browser/sync/local_state.test.d.ts.map +0 -1
  305. package/dist/esm-types/browser/sync/optimistic_query_set.test.d.ts +0 -2
  306. package/dist/esm-types/browser/sync/optimistic_query_set.test.d.ts.map +0 -1
  307. package/dist/esm-types/browser/sync/paginated_query_client.test.d.ts +0 -2
  308. package/dist/esm-types/browser/sync/paginated_query_client.test.d.ts.map +0 -1
  309. package/dist/esm-types/browser/sync/protocol.test.d.ts +0 -5
  310. package/dist/esm-types/browser/sync/protocol.test.d.ts.map +0 -1
  311. package/dist/esm-types/browser/sync/request_manager.test.d.ts +0 -2
  312. package/dist/esm-types/browser/sync/request_manager.test.d.ts.map +0 -1
  313. package/dist/esm-types/bundler/fs.test.d.ts +0 -2
  314. package/dist/esm-types/bundler/fs.test.d.ts.map +0 -1
  315. package/dist/esm-types/bundler/index.test.d.ts +0 -2
  316. package/dist/esm-types/bundler/index.test.d.ts.map +0 -1
  317. package/dist/esm-types/cli/codegen_templates/api.test.d.ts +0 -2
  318. package/dist/esm-types/cli/codegen_templates/api.test.d.ts.map +0 -1
  319. package/dist/esm-types/cli/codegen_templates/common.test.d.ts +0 -2
  320. package/dist/esm-types/cli/codegen_templates/common.test.d.ts.map +0 -1
  321. package/dist/esm-types/cli/codegen_templates/templates.test.d.ts +0 -2
  322. package/dist/esm-types/cli/codegen_templates/templates.test.d.ts.map +0 -1
  323. package/dist/esm-types/cli/codegen_templates/validator_helpers.test.d.ts +0 -2
  324. package/dist/esm-types/cli/codegen_templates/validator_helpers.test.d.ts.map +0 -1
  325. package/dist/esm-types/cli/configure.test.d.ts +0 -2
  326. package/dist/esm-types/cli/configure.test.d.ts.map +0 -1
  327. package/dist/esm-types/cli/deploymentCreate.test.d.ts +0 -2
  328. package/dist/esm-types/cli/deploymentCreate.test.d.ts.map +0 -1
  329. package/dist/esm-types/cli/deploymentSelect.test.d.ts +0 -2
  330. package/dist/esm-types/cli/deploymentSelect.test.d.ts.map +0 -1
  331. package/dist/esm-types/cli/deploymentSelection.test.d.ts +0 -2
  332. package/dist/esm-types/cli/deploymentSelection.test.d.ts.map +0 -1
  333. package/dist/esm-types/cli/deploymentToken.test.d.ts +0 -2
  334. package/dist/esm-types/cli/deploymentToken.test.d.ts.map +0 -1
  335. package/dist/esm-types/cli/dev.test.d.ts +0 -2
  336. package/dist/esm-types/cli/dev.test.d.ts.map +0 -1
  337. package/dist/esm-types/cli/envDefault.test.d.ts +0 -2
  338. package/dist/esm-types/cli/envDefault.test.d.ts.map +0 -1
  339. package/dist/esm-types/cli/lib/aiFiles/agentsmd.test.d.ts +0 -2
  340. package/dist/esm-types/cli/lib/aiFiles/agentsmd.test.d.ts.map +0 -1
  341. package/dist/esm-types/cli/lib/aiFiles/claudemd.test.d.ts +0 -2
  342. package/dist/esm-types/cli/lib/aiFiles/claudemd.test.d.ts.map +0 -1
  343. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.test.d.ts +0 -2
  344. package/dist/esm-types/cli/lib/aiFiles/guidelinesmd.test.d.ts.map +0 -1
  345. package/dist/esm-types/cli/lib/aiFiles/index.test.d.ts +0 -2
  346. package/dist/esm-types/cli/lib/aiFiles/index.test.d.ts.map +0 -1
  347. package/dist/esm-types/cli/lib/aiFiles/integration.test.d.ts +0 -2
  348. package/dist/esm-types/cli/lib/aiFiles/integration.test.d.ts.map +0 -1
  349. package/dist/esm-types/cli/lib/aiFiles/prompt.test.d.ts +0 -2
  350. package/dist/esm-types/cli/lib/aiFiles/prompt.test.d.ts.map +0 -1
  351. package/dist/esm-types/cli/lib/aiFiles/state.test.d.ts +0 -2
  352. package/dist/esm-types/cli/lib/aiFiles/state.test.d.ts.map +0 -1
  353. package/dist/esm-types/cli/lib/aiFiles/utils.test.d.ts +0 -2
  354. package/dist/esm-types/cli/lib/aiFiles/utils.test.d.ts.map +0 -1
  355. package/dist/esm-types/cli/lib/codegen.test.d.ts +0 -2
  356. package/dist/esm-types/cli/lib/codegen.test.d.ts.map +0 -1
  357. package/dist/esm-types/cli/lib/components.test.d.ts +0 -2
  358. package/dist/esm-types/cli/lib/components.test.d.ts.map +0 -1
  359. package/dist/esm-types/cli/lib/config.test.d.ts +0 -2
  360. package/dist/esm-types/cli/lib/config.test.d.ts.map +0 -1
  361. package/dist/esm-types/cli/lib/deployment.test.d.ts +0 -2
  362. package/dist/esm-types/cli/lib/deployment.test.d.ts.map +0 -1
  363. package/dist/esm-types/cli/lib/deploymentSelector.test.d.ts +0 -2
  364. package/dist/esm-types/cli/lib/deploymentSelector.test.d.ts.map +0 -1
  365. package/dist/esm-types/cli/lib/env.test.d.ts +0 -2
  366. package/dist/esm-types/cli/lib/env.test.d.ts.map +0 -1
  367. package/dist/esm-types/cli/lib/expiration.test.d.ts +0 -2
  368. package/dist/esm-types/cli/lib/expiration.test.d.ts.map +0 -1
  369. package/dist/esm-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts +0 -2
  370. package/dist/esm-types/cli/lib/extractDeploymentNameForWorkOS.test.d.ts.map +0 -1
  371. package/dist/esm-types/cli/lib/formatEnvValueForDotfile.test.d.ts +0 -2
  372. package/dist/esm-types/cli/lib/formatEnvValueForDotfile.test.d.ts.map +0 -1
  373. package/dist/esm-types/cli/lib/formatTargetedDeployment.test.d.ts +0 -2
  374. package/dist/esm-types/cli/lib/formatTargetedDeployment.test.d.ts.map +0 -1
  375. package/dist/esm-types/cli/lib/fsUtils.test.d.ts +0 -2
  376. package/dist/esm-types/cli/lib/fsUtils.test.d.ts.map +0 -1
  377. package/dist/esm-types/cli/lib/generateDocs.test.d.ts +0 -2
  378. package/dist/esm-types/cli/lib/generateDocs.test.d.ts.map +0 -1
  379. package/dist/esm-types/cli/lib/indexes.test.d.ts +0 -2
  380. package/dist/esm-types/cli/lib/indexes.test.d.ts.map +0 -1
  381. package/dist/esm-types/cli/lib/localDeployment/run.test.d.ts +0 -2
  382. package/dist/esm-types/cli/lib/localDeployment/run.test.d.ts.map +0 -1
  383. package/dist/esm-types/cli/lib/localDeployment/secrets.test.d.ts +0 -2
  384. package/dist/esm-types/cli/lib/localDeployment/secrets.test.d.ts.map +0 -1
  385. package/dist/esm-types/cli/lib/run.test.d.ts +0 -2
  386. package/dist/esm-types/cli/lib/run.test.d.ts.map +0 -1
  387. package/dist/esm-types/cli/lib/runTestFunction.test.d.ts +0 -2
  388. package/dist/esm-types/cli/lib/runTestFunction.test.d.ts.map +0 -1
  389. package/dist/esm-types/cli/lib/typecheck.test.d.ts +0 -2
  390. package/dist/esm-types/cli/lib/typecheck.test.d.ts.map +0 -1
  391. package/dist/esm-types/cli/lib/updates.test.d.ts +0 -2
  392. package/dist/esm-types/cli/lib/updates.test.d.ts.map +0 -1
  393. package/dist/esm-types/cli/lib/utils/hash.test.d.ts +0 -2
  394. package/dist/esm-types/cli/lib/utils/hash.test.d.ts.map +0 -1
  395. package/dist/esm-types/cli/lib/utils/utils.test.d.ts +0 -2
  396. package/dist/esm-types/cli/lib/utils/utils.test.d.ts.map +0 -1
  397. package/dist/esm-types/cli/lib/versionApi.test.d.ts +0 -2
  398. package/dist/esm-types/cli/lib/versionApi.test.d.ts.map +0 -1
  399. package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts +0 -2
  400. package/dist/esm-types/cli/lib/workos/environmentApi.test.d.ts.map +0 -1
  401. package/dist/esm-types/cli/lib/workos/workos.test.d.ts +0 -2
  402. package/dist/esm-types/cli/lib/workos/workos.test.d.ts.map +0 -1
  403. package/dist/esm-types/cli/login.test.d.ts +0 -2
  404. package/dist/esm-types/cli/login.test.d.ts.map +0 -1
  405. package/dist/esm-types/common/index.test.d.ts +0 -2
  406. package/dist/esm-types/common/index.test.d.ts.map +0 -1
  407. package/dist/esm-types/nextjs/nextjs.test.d.ts +0 -2
  408. package/dist/esm-types/nextjs/nextjs.test.d.ts.map +0 -1
  409. package/dist/esm-types/react/ConvexAuthState.test.d.ts +0 -2
  410. package/dist/esm-types/react/ConvexAuthState.test.d.ts.map +0 -1
  411. package/dist/esm-types/react/auth_helpers.test.d.ts +0 -2
  412. package/dist/esm-types/react/auth_helpers.test.d.ts.map +0 -1
  413. package/dist/esm-types/react/auth_websocket.test.d.ts +0 -2
  414. package/dist/esm-types/react/auth_websocket.test.d.ts.map +0 -1
  415. package/dist/esm-types/react/client.test.d.ts +0 -2
  416. package/dist/esm-types/react/client.test.d.ts.map +0 -1
  417. package/dist/esm-types/react/client_provided_base_client.test.d.ts +0 -2
  418. package/dist/esm-types/react/client_provided_base_client.test.d.ts.map +0 -1
  419. package/dist/esm-types/react/queries_observer.test.d.ts +0 -2
  420. package/dist/esm-types/react/queries_observer.test.d.ts.map +0 -1
  421. package/dist/esm-types/react/react_node.test.d.ts +0 -2
  422. package/dist/esm-types/react/react_node.test.d.ts.map +0 -1
  423. package/dist/esm-types/react/use_paginated_query.test.d.ts +0 -2
  424. package/dist/esm-types/react/use_paginated_query.test.d.ts.map +0 -1
  425. package/dist/esm-types/react/use_queries.test.d.ts +0 -5
  426. package/dist/esm-types/react/use_queries.test.d.ts.map +0 -1
  427. package/dist/esm-types/react/use_query.test.d.ts +0 -5
  428. package/dist/esm-types/react/use_query.test.d.ts.map +0 -1
  429. package/dist/esm-types/react/use_query_object_options.test.d.ts +0 -5
  430. package/dist/esm-types/react/use_query_object_options.test.d.ts.map +0 -1
  431. package/dist/esm-types/react/use_query_result.test.d.ts +0 -5
  432. package/dist/esm-types/react/use_query_result.test.d.ts.map +0 -1
  433. package/dist/esm-types/react-auth0/ConvexProviderWithAuth0.test.d.ts +0 -2
  434. package/dist/esm-types/react-auth0/ConvexProviderWithAuth0.test.d.ts.map +0 -1
  435. package/dist/esm-types/react-clerk/ConvexProviderWithClerk.test.d.ts +0 -2
  436. package/dist/esm-types/react-clerk/ConvexProviderWithClerk.test.d.ts.map +0 -1
  437. package/dist/esm-types/server/api.intersect.test.d.ts +0 -2
  438. package/dist/esm-types/server/api.intersect.test.d.ts.map +0 -1
  439. package/dist/esm-types/server/api.test.d.ts +0 -2
  440. package/dist/esm-types/server/api.test.d.ts.map +0 -1
  441. package/dist/esm-types/server/audit_logging.test.d.ts +0 -2
  442. package/dist/esm-types/server/audit_logging.test.d.ts.map +0 -1
  443. package/dist/esm-types/server/components/index.test.d.ts +0 -2
  444. package/dist/esm-types/server/components/index.test.d.ts.map +0 -1
  445. package/dist/esm-types/server/cron.test.d.ts +0 -2
  446. package/dist/esm-types/server/cron.test.d.ts.map +0 -1
  447. package/dist/esm-types/server/data_model.test.d.ts +0 -2
  448. package/dist/esm-types/server/data_model.test.d.ts.map +0 -1
  449. package/dist/esm-types/server/database.test.d.ts +0 -2
  450. package/dist/esm-types/server/database.test.d.ts.map +0 -1
  451. package/dist/esm-types/server/database_api.test.d.ts +0 -2
  452. package/dist/esm-types/server/database_api.test.d.ts.map +0 -1
  453. package/dist/esm-types/server/filter_builder.test.d.ts +0 -2
  454. package/dist/esm-types/server/filter_builder.test.d.ts.map +0 -1
  455. package/dist/esm-types/server/impl/actions_impl.test.d.ts +0 -2
  456. package/dist/esm-types/server/impl/actions_impl.test.d.ts.map +0 -1
  457. package/dist/esm-types/server/impl/filter_builder_impl.test.d.ts +0 -2
  458. package/dist/esm-types/server/impl/filter_builder_impl.test.d.ts.map +0 -1
  459. package/dist/esm-types/server/impl/query_impl.test.d.ts +0 -2
  460. package/dist/esm-types/server/impl/query_impl.test.d.ts.map +0 -1
  461. package/dist/esm-types/server/pagination.test.d.ts +0 -2
  462. package/dist/esm-types/server/pagination.test.d.ts.map +0 -1
  463. package/dist/esm-types/server/query.test.d.ts +0 -2
  464. package/dist/esm-types/server/query.test.d.ts.map +0 -1
  465. package/dist/esm-types/server/registration.test.d.ts +0 -2
  466. package/dist/esm-types/server/registration.test.d.ts.map +0 -1
  467. package/dist/esm-types/server/router.test.d.ts +0 -2
  468. package/dist/esm-types/server/router.test.d.ts.map +0 -1
  469. package/dist/esm-types/server/scheduler.test.d.ts +0 -2
  470. package/dist/esm-types/server/scheduler.test.d.ts.map +0 -1
  471. package/dist/esm-types/server/schema.test.d.ts +0 -2
  472. package/dist/esm-types/server/schema.test.d.ts.map +0 -1
  473. package/dist/esm-types/test/fake_watch.d.ts +0 -16
  474. package/dist/esm-types/test/fake_watch.d.ts.map +0 -1
  475. package/dist/esm-types/test/type_testing.d.ts +0 -9
  476. package/dist/esm-types/test/type_testing.d.ts.map +0 -1
  477. package/dist/esm-types/type_utils.test.d.ts +0 -2
  478. package/dist/esm-types/type_utils.test.d.ts.map +0 -1
  479. package/dist/esm-types/values/size.test.d.ts +0 -2
  480. package/dist/esm-types/values/size.test.d.ts.map +0 -1
  481. package/dist/esm-types/values/validator.test.d.ts +0 -2
  482. package/dist/esm-types/values/validator.test.d.ts.map +0 -1
  483. package/dist/esm-types/values/value.test.d.ts +0 -2
  484. package/dist/esm-types/values/value.test.d.ts.map +0 -1
  485. package/src/browser/http_client.test.ts +0 -202
  486. package/src/browser/query_options.test.ts +0 -43
  487. package/src/browser/simple_client.test.ts +0 -104
  488. package/src/browser/sync/client.test.ts +0 -44
  489. package/src/browser/sync/client_node.test.ts +0 -1207
  490. package/src/browser/sync/client_node_test_helpers.ts +0 -200
  491. package/src/browser/sync/local_state.test.ts +0 -128
  492. package/src/browser/sync/optimistic_query_set.test.ts +0 -253
  493. package/src/browser/sync/paginated_query_client.test.ts +0 -597
  494. package/src/browser/sync/protocol.test.ts +0 -14
  495. package/src/browser/sync/request_manager.test.ts +0 -273
  496. package/src/bundler/fs.test.ts +0 -86
  497. package/src/bundler/index.test.ts +0 -210
  498. package/src/bundler/test_fixtures/js/project01/bar.js +0 -4
  499. package/src/bundler/test_fixtures/js/project01/file with spaces.js +0 -1
  500. package/src/bundler/test_fixtures/js/project01/foo.js +0 -9
  501. package/src/bundler/test_fixtures/js/project_with_https/https.js +0 -9
  502. package/src/bundler/test_fixtures/js/project_with_https_not_at_top_level/default.js +0 -3
  503. package/src/bundler/test_fixtures/js/project_with_https_not_at_top_level/more_code/https.js +0 -5
  504. package/src/bundler/test_fixtures/js/project_with_https_without_router/https.js +0 -1
  505. package/src/bundler/test_fixtures/js/project_with_node_shims/uses_node_shims.js +0 -4
  506. package/src/cli/codegen_templates/api.test.ts +0 -18
  507. package/src/cli/codegen_templates/common.test.ts +0 -52
  508. package/src/cli/codegen_templates/templates.test.ts +0 -16
  509. package/src/cli/codegen_templates/validator_helpers.test.ts +0 -31
  510. package/src/cli/configure.test.ts +0 -138
  511. package/src/cli/deploymentCreate.test.ts +0 -1376
  512. package/src/cli/deploymentSelect.test.ts +0 -1291
  513. package/src/cli/deploymentSelection.test.ts +0 -2546
  514. package/src/cli/deploymentToken.test.ts +0 -397
  515. package/src/cli/dev.test.ts +0 -157
  516. package/src/cli/envDefault.test.ts +0 -495
  517. package/src/cli/lib/__snapshots__/formatTargetedDeployment.test.ts.snap +0 -94
  518. package/src/cli/lib/aiFiles/agentsmd.test.ts +0 -133
  519. package/src/cli/lib/aiFiles/claudemd.test.ts +0 -92
  520. package/src/cli/lib/aiFiles/guidelinesmd.test.ts +0 -50
  521. package/src/cli/lib/aiFiles/index.test.ts +0 -986
  522. package/src/cli/lib/aiFiles/integration.test.ts +0 -692
  523. package/src/cli/lib/aiFiles/prompt.test.ts +0 -202
  524. package/src/cli/lib/aiFiles/state.test.ts +0 -305
  525. package/src/cli/lib/aiFiles/utils.test.ts +0 -50
  526. package/src/cli/lib/codegen.test.ts +0 -49
  527. package/src/cli/lib/components.test.ts +0 -227
  528. package/src/cli/lib/config.test.ts +0 -1026
  529. package/src/cli/lib/deployment.test.ts +0 -85
  530. package/src/cli/lib/deploymentSelector.test.ts +0 -107
  531. package/src/cli/lib/env.test.ts +0 -60
  532. package/src/cli/lib/expiration.test.ts +0 -159
  533. package/src/cli/lib/extractDeploymentNameForWorkOS.test.ts +0 -30
  534. package/src/cli/lib/formatEnvValueForDotfile.test.ts +0 -294
  535. package/src/cli/lib/formatTargetedDeployment.test.ts +0 -281
  536. package/src/cli/lib/fsUtils.test.ts +0 -67
  537. package/src/cli/lib/generateDocs.test.ts +0 -326
  538. package/src/cli/lib/indexes.test.ts +0 -77
  539. package/src/cli/lib/localDeployment/run.test.ts +0 -104
  540. package/src/cli/lib/localDeployment/secrets.test.ts +0 -53
  541. package/src/cli/lib/run.test.ts +0 -54
  542. package/src/cli/lib/runTestFunction.test.ts +0 -84
  543. package/src/cli/lib/typecheck.test.ts +0 -71
  544. package/src/cli/lib/updates.test.ts +0 -157
  545. package/src/cli/lib/utils/hash.test.ts +0 -25
  546. package/src/cli/lib/utils/utils.test.ts +0 -340
  547. package/src/cli/lib/versionApi.test.ts +0 -471
  548. package/src/cli/lib/workos/environmentApi.test.ts +0 -107
  549. package/src/cli/lib/workos/workos.test.ts +0 -242
  550. package/src/cli/login.test.ts +0 -261
  551. package/src/common/README.md +0 -2
  552. package/src/common/index.test.ts +0 -35
  553. package/src/nextjs/nextjs.test.tsx +0 -94
  554. package/src/react/ConvexAuthState.test.tsx +0 -702
  555. package/src/react/auth_helpers.test.tsx +0 -45
  556. package/src/react/auth_websocket.test.tsx +0 -1177
  557. package/src/react/client.test.tsx +0 -261
  558. package/src/react/client_provided_base_client.test.tsx +0 -174
  559. package/src/react/queries_observer.test.ts +0 -176
  560. package/src/react/react_node.test.ts +0 -78
  561. package/src/react/use_paginated_query.test.tsx +0 -1420
  562. package/src/react/use_queries.test.ts +0 -140
  563. package/src/react/use_query.test.ts +0 -71
  564. package/src/react/use_query_object_options.test.ts +0 -51
  565. package/src/react/use_query_result.test.ts +0 -75
  566. package/src/react-auth0/ConvexProviderWithAuth0.test.tsx +0 -17
  567. package/src/react-clerk/ConvexProviderWithClerk.test.tsx +0 -18
  568. package/src/server/README.md +0 -15
  569. package/src/server/api.intersect.test.ts +0 -109
  570. package/src/server/api.test.ts +0 -447
  571. package/src/server/audit_logging.test.ts +0 -131
  572. package/src/server/components/index.test.ts +0 -48
  573. package/src/server/cron.test.ts +0 -58
  574. package/src/server/data_model.test.ts +0 -221
  575. package/src/server/database.test.ts +0 -184
  576. package/src/server/database_api.test.ts +0 -439
  577. package/src/server/filter_builder.test.ts +0 -102
  578. package/src/server/impl/actions_impl.test.ts +0 -59
  579. package/src/server/impl/filter_builder_impl.test.ts +0 -13
  580. package/src/server/impl/query_impl.test.ts +0 -46
  581. package/src/server/pagination.test.ts +0 -49
  582. package/src/server/query.test.ts +0 -112
  583. package/src/server/registration.test.ts +0 -589
  584. package/src/server/router.test.ts +0 -148
  585. package/src/server/scheduler.test.ts +0 -31
  586. package/src/server/schema.test.ts +0 -1081
  587. package/src/test/fake_watch.ts +0 -54
  588. package/src/test/type_testing.ts +0 -21
  589. package/src/type_utils.test.ts +0 -62
  590. package/src/values/size.test.ts +0 -95
  591. package/src/values/validator.test.ts +0 -619
  592. package/src/values/value.test.ts +0 -232
  593. package/src/vendor/README.md +0 -18
  594. package/src/vendor/jwt-decode/README.md +0 -1
@@ -1,326 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { Command } from "@commander-js/extra-typings";
3
- import { generateDocs, replaceBullets } from "./generateDocs.js";
4
-
5
- function makeFakeRoot() {
6
- const greet = new Command("greet")
7
- .description("Print a greeting")
8
- .argument("<name>", "Who to greet")
9
- .option("-l, --loud", "Shout the greeting");
10
-
11
- const itemAdd = new Command("add")
12
- .description("Add an item")
13
- .argument("<name>", "Item name")
14
- .option("--qty <n>", "Quantity");
15
-
16
- const itemList = new Command("list").alias("ls").description("List items");
17
-
18
- // A sub-subcommand whose leaf name (`create`) collides with `item add`'s
19
- // sibling group leaf — exercises unique anchor generation for nesting.
20
- const tokenCreate = new Command("create").description("Create a token");
21
- const token = new Command("token")
22
- .description("Manage tokens")
23
- .addCommand(tokenCreate);
24
-
25
- const itemCreate = new Command("create").description("Create an item");
26
-
27
- const item = new Command("item")
28
- .description("Manage items")
29
- .addCommand(itemAdd)
30
- .addCommand(itemList)
31
- .addCommand(itemCreate)
32
- .addCommand(token);
33
-
34
- // A description whose body is an indented numbered list, like `convex dev`.
35
- // These steps must render as a real ordered list, not bullets wrapping
36
- // ordered-list items (which renders as roman numerals).
37
- const steps = new Command("steps")
38
- // Has no registered arguments, so its custom `.usage()` is preserved
39
- // verbatim in the generated Usage line.
40
- .usage("<command> [options]")
41
- .description(
42
- "Do things in order\n\n" + " 1. First step\n" + " 2. Second step\n",
43
- );
44
-
45
- // Mixes a code-span placeholder (must stay literal, no backslash) with a
46
- // bare prose placeholder (must be escaped so MDX doesn't parse it as JSX).
47
- const escape = new Command("escape").description(
48
- "The positional `<nameOrToken>` is set by --team <team_slug>",
49
- );
50
-
51
- // Exercises rendering `npx convex ...` code spans in list items as copy
52
- // buttons, while leaving code spans in plain prose lines untouched.
53
- const envLike = new Command("envLike").description(
54
- "- Set a variable: `npx convex env set NAME 'value'`\n" +
55
- "Unrelated span: `npx convex run foo`",
56
- );
57
-
58
- // A description with a 3-level nested bullet list followed by a prose-led
59
- // numbered list, like `convex deploy`. The nested sub-items (indented 2 and 4
60
- // spaces) must keep their nesting, while the prose-led numbered list must be
61
- // dedented to the left margin so it interrupts the paragraph.
62
- const nested = new Command("nested").description(
63
- [
64
- "Pick a target like this:",
65
- "- If FOO is set, use the default.",
66
- "- If BAR is set, use its deployment.",
67
- " - When it's a preview key, deploy to a preview deployment:",
68
- " - with the current Git branch name in CI",
69
- " - or with the name from `--preview-name`",
70
- "",
71
- "Then it will:",
72
- " 1. Typecheck your functions.",
73
- " 2. Push to the deployment.",
74
- ].join("\n"),
75
- );
76
-
77
- const secret = new Command("secret").description("Hidden command");
78
-
79
- // Overrides `.usage()` to show its args as required (for nicer `--help`)
80
- // even though they're registered as optional. The docs must reflect the
81
- // registered optionality, not the override.
82
- const config = new Command("config")
83
- .description("Set config")
84
- .usage("[options] <key> <value>")
85
- .argument("[key]", "The config key")
86
- .argument("[value]", "The value; omit to set interactively");
87
-
88
- return new Command("fake")
89
- .description("A fake CLI for testing generateDocs")
90
- .usage("<command> [options]")
91
- .addCommand(greet)
92
- .addCommand(item)
93
- .addCommand(config)
94
- .addCommand(steps)
95
- .addCommand(escape)
96
- .addCommand(envLike)
97
- .addCommand(nested)
98
- .addCommand(secret, { hidden: true });
99
- }
100
-
101
- describe("generateDocs", () => {
102
- it("creates one file per visible main command and no root index", () => {
103
- const docs = generateDocs(makeFakeRoot());
104
- const paths = Object.keys(docs).sort();
105
- expect(paths).toEqual([
106
- "config.mdx",
107
- "envLike.mdx",
108
- "escape.mdx",
109
- "greet.mdx",
110
- "item.mdx",
111
- "nested.mdx",
112
- "steps.mdx",
113
- ]);
114
- expect(docs["index.mdx"]).toBeUndefined();
115
- });
116
-
117
- it("does not emit a file for hidden subcommands", () => {
118
- const docs = generateDocs(makeFakeRoot());
119
- expect(docs["secret.mdx"]).toBeUndefined();
120
- });
121
-
122
- it("renders the command name as a heading with the npx prefix", () => {
123
- const docs = generateDocs(makeFakeRoot());
124
- expect(docs["greet.mdx"]).toContain("# `npx fake greet`");
125
- expect(docs["greet.mdx"]).toContain("Print a greeting");
126
- });
127
-
128
- it("includes a @generated marker comment in every file", () => {
129
- const docs = generateDocs(makeFakeRoot());
130
- for (const md of Object.values(docs)) {
131
- expect(md).toContain(
132
- "{/* @generated from the command definitions, do not edit manually (run `just regenerate-cli-docs` to regenerate) */}",
133
- );
134
- }
135
- });
136
-
137
- it("emits sidebar_position frontmatter matching command definition order", () => {
138
- const docs = generateDocs(makeFakeRoot());
139
- expect(docs["greet.mdx"]).toMatch(/^---\nsidebar_position: 1\n/);
140
- expect(docs["item.mdx"]).toMatch(/^---\nsidebar_position: 2\n/);
141
- });
142
-
143
- it("emits a title frontmatter with the full npx command so the page <title> isn't just the file name", () => {
144
- const docs = generateDocs(makeFakeRoot());
145
- expect(docs["greet.mdx"]).toMatch(/\ntitle: "npx fake greet"\n/);
146
- expect(docs["item.mdx"]).toMatch(/\ntitle: "npx fake item"\n/);
147
- });
148
-
149
- it("emits a description frontmatter carrying the command summary", () => {
150
- const docs = generateDocs(makeFakeRoot());
151
- expect(docs["greet.mdx"]).toMatch(/\ndescription: "Print a greeting"\n/);
152
- expect(docs["item.mdx"]).toMatch(/\ndescription: "Manage items"\n/);
153
- });
154
-
155
- it("uses `npx` in usage lines", () => {
156
- const md = generateDocs(makeFakeRoot())["greet.mdx"];
157
- expect(md).toMatch(/```sh\nnpx fake greet/);
158
- });
159
-
160
- it("documents arguments and options", () => {
161
- const md = generateDocs(makeFakeRoot())["greet.mdx"];
162
- expect(md).toContain("## Arguments");
163
- expect(md).toContain("<name>");
164
- expect(md).toContain("Who to greet");
165
- expect(md).toContain("## Options");
166
- expect(md).toContain("-l, --loud");
167
- });
168
-
169
- it("renders descendant subcommands as h2 sections with an id matching the leaf name", () => {
170
- const md = generateDocs(makeFakeRoot())["item.mdx"];
171
- expect(md).toContain("## `npx fake item add` \\{#add}");
172
- expect(md).toContain("## `npx fake item list` \\{#list}");
173
- expect(md).toContain("### Syntax");
174
- });
175
-
176
- it("documents aliases for nested subcommands inside the main command file", () => {
177
- const md = generateDocs(makeFakeRoot())["item.mdx"];
178
- expect(md).toContain("### Aliases");
179
- expect(md).toContain("`ls`");
180
- });
181
-
182
- it("links nested subcommand list entries to in-page anchors", () => {
183
- const md = generateDocs(makeFakeRoot())["item.mdx"];
184
- expect(md).toContain("## Subcommands");
185
- expect(md).toContain("[`npx fake item add`](#add)");
186
- expect(md).toContain("[`npx fake item list`](#list)");
187
- });
188
-
189
- it("gives sub-subcommands a path-based anchor so leaf names don't collide", () => {
190
- const md = generateDocs(makeFakeRoot())["item.mdx"];
191
- // `item create` keeps the bare leaf anchor...
192
- expect(md).toContain("## `npx fake item create` \\{#create}");
193
- // ...while `item token create` is namespaced to avoid a duplicate `#create`.
194
- expect(md).toContain("### `npx fake item token create` \\{#token-create}");
195
- expect(md).not.toContain("`npx fake item token create` \\{#create}");
196
- });
197
-
198
- it("renders sub-subcommands at a deeper heading level than their parent group", () => {
199
- const md = generateDocs(makeFakeRoot())["item.mdx"];
200
- // `item token` is a direct subcommand (h2)...
201
- expect(md).toContain("## `npx fake item token` \\{#token}");
202
- // ...and its child `item token create` nests one level deeper (h3).
203
- expect(md).toContain("### `npx fake item token create` \\{#token-create}");
204
- });
205
-
206
- it("produces unique heading anchor ids within a file", () => {
207
- const md = generateDocs(makeFakeRoot())["item.mdx"];
208
- const anchors = [...md.matchAll(/\\\{#([\w-]+)}/g)].map((m) => m[1]);
209
- expect(new Set(anchors).size).toBe(anchors.length);
210
- });
211
-
212
- it("links sub-subcommand list entries to their path-based anchors", () => {
213
- const md = generateDocs(makeFakeRoot())["item.mdx"];
214
- // `token` is a direct child of `item`, listed in item's Subcommands.
215
- expect(md).toContain("[`npx fake item token`](#token)");
216
- });
217
-
218
- it("derives the usage line from registered argument optionality, ignoring a conflicting .usage() override", () => {
219
- const md = generateDocs(makeFakeRoot())["config.mdx"];
220
- // The command overrides .usage() with `<key> <value>`, but the args are
221
- // registered as optional, so the Usage line must match the Arguments
222
- // section (`[key]`/`[value]`) rather than the override.
223
- expect(md).toContain("```sh\nnpx fake config [options] [key] [value]\n```");
224
- expect(md).not.toContain("<key> <value>");
225
- expect(md).toContain("`[key]`");
226
- expect(md).toContain("`[value]`");
227
- });
228
-
229
- it("keeps the .usage() override for commands with no registered arguments", () => {
230
- // `steps` has no positional args, so its custom `<command> [options]`
231
- // usage is preserved verbatim.
232
- const md = generateDocs(makeFakeRoot())["steps.mdx"];
233
- expect(md).toContain("```sh\nnpx fake steps <command> [options]\n```");
234
- });
235
-
236
- it("renders an indented numbered description as an ordered list, not bullets", () => {
237
- const md = generateDocs(makeFakeRoot())["steps.mdx"];
238
- expect(md).toContain("1. First step");
239
- expect(md).toContain("2. Second step");
240
- // Must not wrap the ordered-list items in bullets (renders as roman numerals).
241
- expect(md).not.toContain("- 1. First step");
242
- });
243
-
244
- it("preserves the nesting of a multi-level list that follows list items", () => {
245
- const md = generateDocs(makeFakeRoot())["nested.mdx"];
246
- // Top-level items stay at the left margin.
247
- expect(md).toContain("\n- If BAR is set, use its deployment.\n");
248
- // The 2-space sub-item stays nested under its parent (not flattened to the
249
- // left margin, which was the bug when deeper-indented lines flushed early).
250
- expect(md).toContain(
251
- "\n - When it's a preview key, deploy to a preview deployment:\n",
252
- );
253
- expect(md).not.toContain("\n- When it's a preview key");
254
- // The 4-space sub-sub-items keep their deeper nesting.
255
- expect(md).toContain("\n - with the current Git branch name in CI\n");
256
- expect(md).toContain("\n - or with the name from `--preview-name`\n");
257
- });
258
-
259
- it("dedents a prose-led numbered list to the left margin so it interrupts the paragraph", () => {
260
- const md = generateDocs(makeFakeRoot())["nested.mdx"];
261
- // The numbered list follows prose ("Then it will:"), so it must be dedented
262
- // to the left margin to render as an ordered list rather than collapsing
263
- // into the preceding paragraph.
264
- expect(md).toContain("\n1. Typecheck your functions.\n");
265
- expect(md).toContain("\n2. Push to the deployment.\n");
266
- expect(md).not.toContain(" 1. Typecheck your functions.");
267
- });
268
-
269
- it("escapes JSX-like placeholders in prose but leaves inline code spans alone", () => {
270
- const md = generateDocs(makeFakeRoot())["escape.mdx"];
271
- // Inside backticks `<nameOrToken>` is already literal — no backslash.
272
- expect(md).toContain("`<nameOrToken>`");
273
- expect(md).not.toContain("`\\<nameOrToken>`");
274
- // In prose, the bare placeholder is escaped so MDX won't parse it as a tag.
275
- expect(md).toContain("--team \\<team_slug>");
276
- });
277
-
278
- it("renders `npx convex ...` code spans in list items as CodeWithCopyButton, leaving prose spans as code", () => {
279
- const md = generateDocs(makeFakeRoot())["envLike.mdx"];
280
- // Commands in list items become copy buttons.
281
- expect(md).toContain(
282
- `<CodeWithCopyButton text={"npx convex env set NAME 'value'"} />`,
283
- );
284
- // Code spans outside of list items stay as inline code.
285
- expect(md).toContain("`npx convex run foo`");
286
- expect(md).not.toContain(`text={"npx convex run foo"}`);
287
- });
288
- });
289
-
290
- describe("replaceBullets", () => {
291
- it("replaces a leading `• ` bullet with `- `", () => {
292
- expect(replaceBullets("• an item")).toBe("- an item");
293
- });
294
-
295
- it("preserves leading indentation", () => {
296
- expect(replaceBullets(" • an item")).toBe(" - an item");
297
- expect(replaceBullets(" • a deeper item")).toBe(" - a deeper item");
298
- });
299
-
300
- it("replaces bullets on every line of a multi-line string", () => {
301
- const input = "• first\n• second\n • nested";
302
- expect(replaceBullets(input)).toBe("- first\n- second\n - nested");
303
- });
304
-
305
- it("leaves lines without a `• ` bullet untouched", () => {
306
- const input = "Plain prose\nAnother line";
307
- expect(replaceBullets(input)).toBe(input);
308
- });
309
-
310
- it("only replaces bullets at the start of a line, not mid-line", () => {
311
- expect(replaceBullets("a • b")).toBe("a • b");
312
- });
313
-
314
- it("requires a space after the bullet", () => {
315
- expect(replaceBullets("•noSpace")).toBe("•noSpace");
316
- });
317
-
318
- it("collapses only the single space following the bullet", () => {
319
- // Extra spaces after the `• ` are preserved.
320
- expect(replaceBullets("• two spaces")).toBe("- two spaces");
321
- });
322
-
323
- it("returns an empty string unchanged", () => {
324
- expect(replaceBullets("")).toBe("");
325
- });
326
- });
@@ -1,77 +0,0 @@
1
- import { describe, test, expect } from "vitest";
2
- import { DeveloperIndexConfig } from "./deployApi/finishPush.js";
3
- import { chalkStderr } from "chalk";
4
- import { formatIndex } from "./indexes.js";
5
-
6
- describe("formatIndex", () => {
7
- test("formats database index with multiple fields", () => {
8
- const databaseIndex: DeveloperIndexConfig = {
9
- type: "database",
10
- name: "messages.by_user_and_timestamp",
11
- fields: ["userId", "timestamp"],
12
- };
13
-
14
- const result = formatIndex(databaseIndex);
15
-
16
- const expected = `messages.${chalkStderr.bold("by_user_and_timestamp")} ${chalkStderr.gray(`${chalkStderr.underline("userId")}, ${chalkStderr.underline("timestamp")}`)}`;
17
- expect(result).toEqual(expected);
18
- });
19
-
20
- test("formats text index without filter fields", () => {
21
- const searchIndex: DeveloperIndexConfig = {
22
- type: "search",
23
- name: "articles.search_by_content",
24
- searchField: "content",
25
- filterFields: [],
26
- };
27
-
28
- const result = formatIndex(searchIndex);
29
-
30
- const expected = `articles.${chalkStderr.bold("search_by_content")} ${chalkStderr.gray(`${chalkStderr.cyan("(text)")} ${chalkStderr.underline("content")}`)}`;
31
- expect(result).toEqual(expected);
32
- });
33
-
34
- test("formats text index with filter fields", () => {
35
- const searchIndex: DeveloperIndexConfig = {
36
- type: "search",
37
- name: "articles.search_by_content",
38
- searchField: "content",
39
- filterFields: ["category", "status"],
40
- };
41
-
42
- const result = formatIndex(searchIndex);
43
-
44
- const expected = `articles.${chalkStderr.bold("search_by_content")} ${chalkStderr.gray(`${chalkStderr.cyan("(text)")} ${chalkStderr.underline("content")}, filters on ${chalkStderr.underline("category")}, ${chalkStderr.underline("status")}`)}`;
45
- expect(result).toEqual(expected);
46
- });
47
-
48
- test("formats vector index with single filter field", () => {
49
- const vectorIndex: DeveloperIndexConfig = {
50
- type: "vector",
51
- name: "documents.embedding_index",
52
- dimensions: 1536,
53
- vectorField: "embedding",
54
- filterFields: ["userId"],
55
- };
56
-
57
- const result = formatIndex(vectorIndex);
58
-
59
- const expected = `documents.${chalkStderr.bold("embedding_index")} ${chalkStderr.gray(`${chalkStderr.cyan("(vector)")} ${chalkStderr.underline("embedding")} (1536 dimensions), filter on ${chalkStderr.underline("userId")}`)}`;
60
- expect(result).toEqual(expected);
61
- });
62
-
63
- test("formats vector index with multiple filter fields", () => {
64
- const vectorIndex: DeveloperIndexConfig = {
65
- type: "vector",
66
- name: "documents.embedding_index",
67
- dimensions: 768,
68
- vectorField: "embedding",
69
- filterFields: ["userId", "type", "category"],
70
- };
71
-
72
- const result = formatIndex(vectorIndex);
73
-
74
- const expected = `documents.${chalkStderr.bold("embedding_index")} ${chalkStderr.gray(`${chalkStderr.cyan("(vector)")} ${chalkStderr.underline("embedding")} (768 dimensions), filters on ${chalkStderr.underline("userId")}, ${chalkStderr.underline("type")}, ${chalkStderr.underline("category")}`)}`;
75
- expect(result).toEqual(expected);
76
- });
77
- });
@@ -1,104 +0,0 @@
1
- import { vi, test, expect, describe, beforeEach, afterEach } from "vitest";
2
- import { oneoffContext } from "../../../bundler/context.js";
3
- import { logFailure } from "../../../bundler/log.js";
4
- import { _findLatestVersionWithBinary } from "./download.js";
5
- import { stripVTControlCharacters } from "util";
6
- import { version as npmVersion } from "../../version.js";
7
-
8
- async function setupContext() {
9
- const originalContext = await oneoffContext({
10
- url: undefined,
11
- adminKey: undefined,
12
- envFile: undefined,
13
- });
14
- const ctx = {
15
- ...originalContext,
16
- crash: (args: { printedMessage: string | null }) => {
17
- if (args.printedMessage !== null) {
18
- logFailure(args.printedMessage);
19
- }
20
- throw new Error();
21
- },
22
- };
23
- return ctx;
24
- }
25
-
26
- describe("_findLatestVersionWithBinary", () => {
27
- beforeEach(() => {
28
- vi.spyOn(process.stderr, "write").mockImplementation(() => true);
29
- });
30
-
31
- afterEach(() => {
32
- vi.restoreAllMocks();
33
- });
34
-
35
- function stderrOutput(): string {
36
- const calls = vi.mocked(process.stderr.write).mock.calls;
37
- return stripVTControlCharacters(String(calls[0][0]));
38
- }
39
-
40
- test("successfully fetches version from API", async () => {
41
- const ctx = await setupContext();
42
- const fetchSpy = vi.spyOn(global, "fetch").mockImplementation(() =>
43
- Promise.resolve({
44
- ok: true,
45
- json: () =>
46
- Promise.resolve({ version: "precompiled-2026-02-10-4ef979b" }),
47
- } as Response),
48
- );
49
-
50
- const version = await _findLatestVersionWithBinary(ctx, true);
51
-
52
- expect(version).toBe("precompiled-2026-02-10-4ef979b");
53
- expect(fetchSpy).toHaveBeenCalledTimes(1);
54
- expect(fetchSpy).toHaveBeenCalledWith(
55
- "https://version.convex.dev/v1/local_backend_version",
56
- {
57
- headers: { "Convex-Client": `npm-cli-${npmVersion}` },
58
- },
59
- );
60
- });
61
-
62
- test("handles API error with non-200 status", async () => {
63
- const ctx = await setupContext();
64
- const fetchSpy = vi.spyOn(global, "fetch").mockImplementation(() =>
65
- Promise.resolve({
66
- ok: false,
67
- status: 500,
68
- text: () => Promise.resolve("Internal Server Error"),
69
- } as Response),
70
- );
71
-
72
- await expect(_findLatestVersionWithBinary(ctx, true)).rejects.toThrow();
73
-
74
- expect(fetchSpy).toHaveBeenCalledTimes(1);
75
- expect(stderrOutput()).toContain("version.convex.dev returned 500");
76
- });
77
-
78
- test("handles missing version field in response", async () => {
79
- const ctx = await setupContext();
80
- const fetchSpy = vi.spyOn(global, "fetch").mockImplementation(() =>
81
- Promise.resolve({
82
- ok: true,
83
- json: () => Promise.resolve({}),
84
- } as Response),
85
- );
86
-
87
- await expect(_findLatestVersionWithBinary(ctx, true)).rejects.toThrow();
88
-
89
- expect(fetchSpy).toHaveBeenCalledTimes(1);
90
- expect(stderrOutput()).toContain("Invalid response missing version field");
91
- });
92
-
93
- test("handles network error", async () => {
94
- const ctx = await setupContext();
95
- const fetchSpy = vi
96
- .spyOn(global, "fetch")
97
- .mockImplementation(() => Promise.reject(new Error("Network error")));
98
-
99
- await expect(_findLatestVersionWithBinary(ctx, true)).rejects.toThrow();
100
-
101
- expect(fetchSpy).toHaveBeenCalledTimes(1);
102
- expect(stderrOutput()).toContain("Failed to fetch latest backend version");
103
- });
104
- });
@@ -1,53 +0,0 @@
1
- import { test, expect, describe, vi } from "vitest";
2
- import { fileURLToPath } from "url";
3
- import path from "path";
4
- import { Context } from "../../../bundler/context.js";
5
- import { generateLocalDevSecrets } from "./secrets.js";
6
-
7
- // We test that `generateLocalDevSecrets` can correctly generate admin
8
- // keys from the CLI by using fake binaries that return mock values
9
- const fixturesDir = path.join(
10
- path.dirname(fileURLToPath(import.meta.url)),
11
- "tests",
12
- );
13
- const successBinary = path.join(fixturesDir, "keygenSuccess.mjs");
14
- const failureBinary = path.join(fixturesDir, "keygenFailure.mjs");
15
-
16
- function mockContext(): Context {
17
- return {
18
- crash: vi.fn((args: { printedMessage: string | null }) => {
19
- throw new Error(args.printedMessage ?? "crash");
20
- }),
21
- } as unknown as Context;
22
- }
23
-
24
- describe("generateLocalDevSecrets", () => {
25
- test("returns an instance secret and admin key from the binary", async () => {
26
- const ctx = mockContext();
27
-
28
- const { instanceSecret, adminKey } = await generateLocalDevSecrets(ctx, {
29
- deploymentName: "my-deployment",
30
- latestBinaryPath: successBinary,
31
- });
32
-
33
- // The fixture echoes back the instance name as the first part of the key.
34
- expect(adminKey).toBe("my-deployment|mock_admin_key");
35
- // The instance secret is 32 random bytes, hex-encoded.
36
- expect(instanceSecret).toMatch(/^[0-9a-f]{64}$/);
37
- });
38
-
39
- test("crashes when the binary fails", async () => {
40
- const ctx = mockContext();
41
-
42
- await expect(
43
- generateLocalDevSecrets(ctx, {
44
- deploymentName: "my-deployment",
45
- latestBinaryPath: failureBinary,
46
- }),
47
- ).rejects.toThrow();
48
-
49
- expect(vi.mocked(ctx.crash).mock.calls[0][0].printedMessage).toContain(
50
- "Failed to generate admin key",
51
- );
52
- });
53
- });
@@ -1,54 +0,0 @@
1
- import { test, expect } from "vitest";
2
- import { parseFunctionName } from "./run.js";
3
- import { oneoffContext } from "../../bundler/context.js";
4
-
5
- test("parseFunctionName", async () => {
6
- const originalContext = await oneoffContext({
7
- url: undefined,
8
- adminKey: undefined,
9
- envFile: undefined,
10
- });
11
- const files = new Set<string>();
12
- const ctx = {
13
- ...originalContext,
14
- fs: {
15
- ...originalContext.fs,
16
- exists: (file: string) => files.has(file),
17
- },
18
- };
19
-
20
- files.add("convex/foo/bar.ts");
21
- files.add("convex/convex/bar/baz.ts");
22
- files.add("src/convex/foo/bar.ts");
23
-
24
- expect(await parseFunctionName(ctx, "api.foo.bar", "convex/")).toEqual(
25
- "foo:bar",
26
- );
27
- expect(await parseFunctionName(ctx, "internal.foo.bar", "convex/")).toEqual(
28
- "foo:bar",
29
- );
30
- expect(await parseFunctionName(ctx, "foo/bar", "convex/")).toEqual(
31
- "foo/bar:default",
32
- );
33
- expect(await parseFunctionName(ctx, "foo/bar:baz", "convex/")).toEqual(
34
- "foo/bar:baz",
35
- );
36
- expect(await parseFunctionName(ctx, "convex/foo/bar", "convex/")).toEqual(
37
- "foo/bar:default",
38
- );
39
- expect(await parseFunctionName(ctx, "convex/foo/bar.ts", "convex/")).toEqual(
40
- "foo/bar:default",
41
- );
42
- expect(
43
- await parseFunctionName(ctx, "convex/foo/bar.ts:baz", "convex/"),
44
- ).toEqual("foo/bar:baz");
45
- expect(await parseFunctionName(ctx, "convex/bar/baz", "convex/")).toEqual(
46
- "convex/bar/baz:default",
47
- );
48
- expect(
49
- await parseFunctionName(ctx, "src/convex/foo/bar", "src/convex/"),
50
- ).toEqual("foo/bar:default");
51
- expect(await parseFunctionName(ctx, "foo/bar", "src/convex/")).toEqual(
52
- "foo/bar:default",
53
- );
54
- });