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,261 +0,0 @@
1
- /**
2
- * @vitest-environment happy-dom
3
- */
4
- import { test, expect, describe, vi } from "vitest";
5
- import ws from "ws";
6
-
7
- import {
8
- ConvexReactClient,
9
- createMutation,
10
- useQuery,
11
- useQuery_experimental,
12
- } from "./client.js";
13
- import { convexQueryOptions } from "../browser/query_options.js";
14
- import { ConvexProvider } from "./index.js";
15
- import React from "react";
16
- import { renderHook } from "@testing-library/react";
17
- import { anyApi, makeFunctionReference } from "../server/api.js";
18
-
19
- const address = "https://127.0.0.1:3001";
20
-
21
- const testConvexReactClient = () =>
22
- new ConvexReactClient(address, {
23
- webSocketConstructor: ws as unknown as typeof WebSocket,
24
- });
25
-
26
- describe("ConvexReactClient", () => {
27
- test("can be constructed", () => {
28
- const client = testConvexReactClient();
29
- expect(typeof client).not.toEqual("undefined");
30
- });
31
- });
32
- describe("createMutation", () => {
33
- test("Optimistic updates can be created", () => {
34
- const client = testConvexReactClient();
35
- createMutation(anyApi.myMutation.default, client).withOptimisticUpdate(
36
- () => {
37
- // no update
38
- },
39
- );
40
- });
41
-
42
- test("Specifying an optimistic update twice produces an error", () => {
43
- const client = testConvexReactClient();
44
- const mutation = createMutation(
45
- anyApi.myMutation.default,
46
- client,
47
- ).withOptimisticUpdate(() => {
48
- // no update
49
- });
50
- expect(() => {
51
- mutation.withOptimisticUpdate(() => {
52
- // no update
53
- });
54
- }).toThrow("Already specified optimistic update for mutation myMutation");
55
- });
56
-
57
- test("Using a mutation as an event handler directly throws a useful error", () => {
58
- const client = testConvexReactClient();
59
-
60
- const fakeSyntheticEvent: any = {
61
- bubbles: false,
62
- cancelable: true,
63
- defaultPrevented: false,
64
- isTrusted: false,
65
- nativeEvent: {},
66
- preventDefault: () => undefined,
67
- isDefaultPrevented: false,
68
- stopPropagation: () => undefined,
69
- isPropagationStopped: false,
70
- persist: () => undefined,
71
- timeStamp: 0,
72
- type: "something",
73
- };
74
- const myMutation = createMutation(anyApi.myMutation.default, client);
75
- expect(() => myMutation(fakeSyntheticEvent)).toThrow(
76
- "Convex function called with SyntheticEvent object.",
77
- );
78
- });
79
- });
80
-
81
- describe("useQuery", () => {
82
- function createClientWithQuery() {
83
- const client = testConvexReactClient();
84
- // Use an optimistic update to set up a query to have a result.
85
- void client.mutation(
86
- anyApi.myMutation.default,
87
- {},
88
- {
89
- optimisticUpdate: (localStore) => {
90
- localStore.setQuery(anyApi.myQuery.default, {}, "queryResult");
91
- },
92
- },
93
- );
94
- return client;
95
- }
96
-
97
- test("returns the result", () => {
98
- const client = createClientWithQuery();
99
- const wrapper = ({ children }: any) => (
100
- <ConvexProvider client={client}>{children}</ConvexProvider>
101
- );
102
- const { result } = renderHook(() => useQuery(anyApi.myQuery.default), {
103
- wrapper,
104
- });
105
- expect(result.current).toStrictEqual("queryResult");
106
- });
107
-
108
- test("returns undefined when skipped", () => {
109
- const client = createClientWithQuery();
110
- const wrapper = ({ children }: any) => (
111
- <ConvexProvider client={client}>{children}</ConvexProvider>
112
- );
113
- const { result } = renderHook(
114
- () => useQuery(anyApi.myQuery.default, "skip"),
115
- {
116
- wrapper,
117
- },
118
- );
119
- expect(result.current).toStrictEqual(undefined);
120
- });
121
-
122
- test("useQuery_experimental object form returns success result", () => {
123
- const client = createClientWithQuery();
124
- const wrapper = ({ children }: any) => (
125
- <ConvexProvider client={client}>{children}</ConvexProvider>
126
- );
127
- const { result } = renderHook(
128
- () =>
129
- useQuery_experimental({
130
- query: anyApi.myQuery.default,
131
- args: {},
132
- }),
133
- { wrapper },
134
- );
135
- expect(result.current).toStrictEqual({
136
- data: "queryResult",
137
- status: "success",
138
- });
139
- });
140
-
141
- test("useQuery_experimental object form returns pending when skipped", () => {
142
- const client = createClientWithQuery();
143
- const wrapper = ({ children }: any) => (
144
- <ConvexProvider client={client}>{children}</ConvexProvider>
145
- );
146
- const { result } = renderHook(
147
- () =>
148
- useQuery_experimental({
149
- query: anyApi.myQuery.default,
150
- args: "skip",
151
- }),
152
- { wrapper },
153
- );
154
- expect(result.current).toStrictEqual({
155
- status: "pending",
156
- });
157
- });
158
-
159
- test("Optimistic update handlers can’t be async", () => {
160
- const client = testConvexReactClient();
161
- const mutation = createMutation(
162
- anyApi.myMutation.default,
163
- client,
164
- // @ts-expect-error
165
- ).withOptimisticUpdate(async () => {});
166
-
167
- // Calling the mutation should warn in the console
168
- const consoleWarnSpy = vi.spyOn(console, "warn");
169
- void mutation();
170
- expect(consoleWarnSpy).toHaveBeenCalledWith(
171
- "Optimistic update handler returned a Promise. Optimistic updates should be synchronous.",
172
- );
173
- });
174
- });
175
-
176
- // Intentionally disabled because we're only testing types
177
- describe.skip("useQuery typing", () => {
178
- test("useQuery with no args query", () => {
179
- const queryWithNoArgs = makeFunctionReference<
180
- "query",
181
- Record<string, never>
182
- >("foo");
183
- useQuery(queryWithNoArgs, {});
184
- // @ts-expect-error This should be an error
185
- useQuery(queryWithNoArgs, { x: 3 });
186
- useQuery(queryWithNoArgs, "skip");
187
- const x: number | null = null;
188
- useQuery(queryWithNoArgs, x === null ? "skip" : {});
189
- // This should be an error, but isn't :(, probably a bug in TypeScript
190
- useQuery(queryWithNoArgs, x === null ? "skip" : { x });
191
- // @ts-expect-error This should be an error
192
- useQuery(queryWithNoArgs, x === null ? "skip" : { x: 3 });
193
- });
194
-
195
- test("useQuery with query taking args", () => {
196
- const queryWithArgs = makeFunctionReference<"query", { x: number }>("foo");
197
- // @ts-expect-error This should be an error
198
- useQuery(queryWithArgs);
199
- // @ts-expect-error This should be an error
200
- useQuery(queryWithArgs, { x: "not a number" });
201
- useQuery(queryWithArgs, { x: 42 });
202
- useQuery(queryWithArgs, "skip");
203
- const x: number | null = null;
204
- useQuery(queryWithArgs, x === null ? "skip" : { x });
205
- // @ts-expect-error This should be an error
206
- useQuery(queryWithArgs, x === null ? null : { x: "not a number" });
207
- });
208
- });
209
-
210
- describe("async query fetch", () => {
211
- const client = testConvexReactClient();
212
-
213
- function optimisticUpdate() {
214
- // Use an optimistic update to set up a query to have a result.
215
- void client.mutation(
216
- anyApi.myMutation.default,
217
- {},
218
- {
219
- optimisticUpdate: (localStore) => {
220
- localStore.setQuery(anyApi.myQuery.default, {}, "queryResult");
221
- },
222
- },
223
- );
224
- }
225
-
226
- test("returns after optimistic update", async () => {
227
- const queryResult = client.query(anyApi.myQuery.default, {});
228
- optimisticUpdate();
229
- expect(await queryResult).toStrictEqual("queryResult");
230
- });
231
-
232
- test("returns existing result", async () => {
233
- optimisticUpdate();
234
- const queryResult = client.query(anyApi.myQuery.default, {});
235
- expect(await queryResult).toStrictEqual("queryResult");
236
- });
237
- });
238
-
239
- describe("prewarmQuery types", () => {
240
- test("accepts QueryOptions shape", () => {
241
- const client = testConvexReactClient();
242
- const opts = convexQueryOptions({
243
- query: makeFunctionReference<"query", { name: string }, string>(
244
- "myQuery",
245
- ),
246
- args: { name: "hi" },
247
- });
248
- client.prewarmQuery(opts);
249
- });
250
-
251
- test("accepts extendSubscriptionFor on prewarmQuery", () => {
252
- const client = testConvexReactClient();
253
- client.prewarmQuery({
254
- query: makeFunctionReference<"query", { name: string }, string>(
255
- "myQuery",
256
- ),
257
- args: { name: "hi" },
258
- extendSubscriptionFor: 10_000,
259
- });
260
- });
261
- });
@@ -1,174 +0,0 @@
1
- import { test, expect, describe, vi } from "vitest";
2
- import ws from "ws";
3
-
4
- import { ConvexReactClient } from "./client.js";
5
- import { anyApi } from "../server/api.js";
6
- import { BaseConvexClient } from "../browser/index.js";
7
- import { BaseConvexClientInterface } from "../browser/sync/client.js";
8
-
9
- const address = "https://127.0.0.1:3001";
10
-
11
- describe("Creating a ConvexReactClient with a custom base client", () => {
12
- describe("with a `BaseConvexClient` subclass", () => {
13
- // A minimal subclass of `BaseConvexClient` used to prove that a
14
- // caller-provided `BaseConvexClient` (of any subclass) can be plugged into
15
- // a `ConvexReactClient` via the `client` option.
16
- class MinimalBaseConvexClient extends BaseConvexClient {}
17
-
18
- const testBaseConvexClient = () =>
19
- new MinimalBaseConvexClient(address, () => {}, {
20
- webSocketConstructor: ws as unknown as typeof WebSocket,
21
- });
22
-
23
- test("uses the provided client as its `sync` client", () => {
24
- const baseClient = testBaseConvexClient();
25
- const client = new ConvexReactClient(address, { baseClient });
26
- expect(client.sync).toBe(baseClient);
27
- });
28
-
29
- test("applies setAdminAuth called before the client is lazily instantiated", () => {
30
- const baseClient = testBaseConvexClient();
31
- const setAdminAuthSpy = vi.spyOn(baseClient, "setAdminAuth");
32
- const client = new ConvexReactClient(address, { baseClient });
33
- client.setAdminAuth("admin-token");
34
- expect(setAdminAuthSpy).not.toHaveBeenCalled();
35
-
36
- // Accessing `sync` lazily instantiates the client, applying admin auth.
37
- expect(client.sync).toBe(baseClient);
38
- expect(setAdminAuthSpy).toHaveBeenCalledWith("admin-token", undefined);
39
- });
40
-
41
- test("queries and mutations work through the provided client", async () => {
42
- const baseClient = testBaseConvexClient();
43
- const client = new ConvexReactClient(address, { baseClient });
44
-
45
- void client.mutation(
46
- anyApi.myMutation.default,
47
- {},
48
- {
49
- optimisticUpdate: (localStore) => {
50
- localStore.setQuery(anyApi.myQuery.default, {}, "queryResult");
51
- },
52
- },
53
- );
54
-
55
- const queryResult = client.query(anyApi.myQuery.default, {});
56
- expect(await queryResult).toStrictEqual("queryResult");
57
- });
58
- });
59
-
60
- describe("with a from-scratch BaseConvexClientInterface implementation", () => {
61
- // A from-scratch (non-subclass) implementation of `BaseConvexClientInterface`.
62
- // Unlike `MinimalBaseConvexClient` above, this does not extend
63
- // `BaseConvexClient`, so TypeScript forces every public member to be
64
- // declared here explicitly — if `BaseConvexClientInterface` ever gains a member,
65
- // this class fails to compile until a matching forwarding method is added.
66
- class ComposedBaseConvexClient implements BaseConvexClientInterface {
67
- private inner: BaseConvexClient;
68
-
69
- constructor(...args: ConstructorParameters<typeof BaseConvexClient>) {
70
- this.inner = new BaseConvexClient(...args);
71
- }
72
-
73
- addOnTransitionHandler(
74
- ...args: Parameters<BaseConvexClient["addOnTransitionHandler"]>
75
- ) {
76
- return this.inner.addOnTransitionHandler(...args);
77
- }
78
- setAuth(...args: Parameters<BaseConvexClient["setAuth"]>) {
79
- return this.inner.setAuth(...args);
80
- }
81
- setAdminAuth(...args: Parameters<BaseConvexClient["setAdminAuth"]>) {
82
- return this.inner.setAdminAuth(...args);
83
- }
84
- clearAuth() {
85
- return this.inner.clearAuth();
86
- }
87
- subscribe(...args: Parameters<BaseConvexClient["subscribe"]>) {
88
- return this.inner.subscribe(...args);
89
- }
90
- localQueryResult(
91
- ...args: Parameters<BaseConvexClient["localQueryResult"]>
92
- ) {
93
- return this.inner.localQueryResult(...args);
94
- }
95
- localQueryResultByToken(
96
- ...args: Parameters<BaseConvexClient["localQueryResultByToken"]>
97
- ) {
98
- return this.inner.localQueryResultByToken(...args);
99
- }
100
- hasLocalQueryResultByToken(
101
- ...args: Parameters<BaseConvexClient["hasLocalQueryResultByToken"]>
102
- ) {
103
- return this.inner.hasLocalQueryResultByToken(...args);
104
- }
105
- localQueryLogs(...args: Parameters<BaseConvexClient["localQueryLogs"]>) {
106
- return this.inner.localQueryLogs(...args);
107
- }
108
- queryJournal(...args: Parameters<BaseConvexClient["queryJournal"]>) {
109
- return this.inner.queryJournal(...args);
110
- }
111
- connectionState() {
112
- return this.inner.connectionState();
113
- }
114
- subscribeToConnectionState(
115
- ...args: Parameters<BaseConvexClient["subscribeToConnectionState"]>
116
- ) {
117
- return this.inner.subscribeToConnectionState(...args);
118
- }
119
- mutation(...args: Parameters<BaseConvexClient["mutation"]>) {
120
- return this.inner.mutation(...args);
121
- }
122
- action(...args: Parameters<BaseConvexClient["action"]>) {
123
- return this.inner.action(...args);
124
- }
125
- close() {
126
- return this.inner.close();
127
- }
128
- get url() {
129
- return this.inner.url;
130
- }
131
- }
132
-
133
- const testBaseConvexClient = () =>
134
- new ComposedBaseConvexClient(address, () => {}, {
135
- webSocketConstructor: ws as unknown as typeof WebSocket,
136
- });
137
-
138
- test("uses the provided client as its `sync` client", () => {
139
- const baseClient = testBaseConvexClient();
140
- const client = new ConvexReactClient(address, { baseClient });
141
- expect(client.sync).toBe(baseClient);
142
- });
143
-
144
- test("applies setAdminAuth called before the client is lazily instantiated", () => {
145
- const baseClient = testBaseConvexClient();
146
- const setAdminAuthSpy = vi.spyOn(baseClient, "setAdminAuth");
147
- const client = new ConvexReactClient(address, { baseClient });
148
- client.setAdminAuth("admin-token");
149
- expect(setAdminAuthSpy).not.toHaveBeenCalled();
150
-
151
- // Accessing `sync` lazily instantiates the client, applying admin auth.
152
- expect(client.sync).toBe(baseClient);
153
- expect(setAdminAuthSpy).toHaveBeenCalledWith("admin-token", undefined);
154
- });
155
-
156
- test("queries and mutations work through the provided client", async () => {
157
- const baseClient = testBaseConvexClient();
158
- const client = new ConvexReactClient(address, { baseClient });
159
-
160
- void client.mutation(
161
- anyApi.myMutation.default,
162
- {},
163
- {
164
- optimisticUpdate: (localStore) => {
165
- localStore.setQuery(anyApi.myQuery.default, {}, "queryResult");
166
- },
167
- },
168
- );
169
-
170
- const queryResult = client.query(anyApi.myQuery.default, {});
171
- expect(await queryResult).toStrictEqual("queryResult");
172
- });
173
- });
174
- });
@@ -1,176 +0,0 @@
1
- import { Value } from "../values/index.js";
2
- import {
3
- test,
4
- beforeEach,
5
- afterEach,
6
- expect,
7
- vi,
8
- MockedFunction,
9
- } from "vitest";
10
- import FakeWatch from "../test/fake_watch.js";
11
- import { QueriesObserver } from "./queries_observer.js";
12
- import { FunctionReference, anyApi } from "../server/api.js";
13
-
14
- let queriesObserver: QueriesObserver;
15
- let createWatch: MockedFunction<
16
- (
17
- query: FunctionReference<"query">,
18
- args: Record<string, Value>,
19
- ) => FakeWatch<any>
20
- >;
21
- let listener: MockedFunction<() => void>;
22
-
23
- beforeEach(() => {
24
- createWatch = vi.fn(() => new FakeWatch<any>()) as any;
25
- queriesObserver = new QueriesObserver(createWatch);
26
- listener = vi.fn() as any;
27
- queriesObserver.subscribe(listener);
28
- });
29
-
30
- afterEach(() => {
31
- queriesObserver.destroy();
32
- });
33
-
34
- test("`getLocalResults`", () => {
35
- const queries = {
36
- query: {
37
- query: anyApi.myQuery.default,
38
- args: {},
39
- },
40
- };
41
- queriesObserver.setQueries(queries);
42
- expect(queriesObserver.getLocalResults(queries)).toStrictEqual({
43
- query: undefined,
44
- });
45
- // The listener isn't notified for our own changes.
46
- expect(listener.mock.calls.length).toBe(0);
47
-
48
- // If we update the value of the query, the listener is notified and the
49
- // local results include the update.
50
- createWatch.mock.results[0].value.setValue("query value");
51
- expect(listener.mock.calls.length).toBe(1);
52
- createWatch.mockImplementation(() => {
53
- const watch = new FakeWatch<any>();
54
- watch.value = "query value";
55
- return watch;
56
- });
57
- expect(queriesObserver.getLocalResults(queries)).toStrictEqual({
58
- query: "query value",
59
- });
60
- });
61
-
62
- test("If the query changes, only stay subscribed to the second query", () => {
63
- queriesObserver.setQueries({
64
- query: {
65
- query: anyApi.myQuery.default,
66
- args: {},
67
- },
68
- });
69
-
70
- queriesObserver.setQueries({
71
- query: {
72
- query: anyApi.myQuery2.default,
73
- args: {},
74
- },
75
- });
76
-
77
- // The listener isn't notified for our own changes.
78
- expect(listener.mock.calls.length).toBe(0);
79
-
80
- // There were 2 watches created. We should be subscribed to only the second.
81
- expect(createWatch.mock.calls.length).toBe(2);
82
- expect(createWatch.mock.results[0].value.numCallbacks()).toBe(0);
83
- expect(createWatch.mock.results[1].value.numCallbacks()).toBe(1);
84
- });
85
-
86
- test("If the query args change, only stay subscribed to the second args", () => {
87
- queriesObserver.setQueries({
88
- query: {
89
- query: anyApi.myQuery.default,
90
- args: { arg: "first arg" },
91
- },
92
- });
93
-
94
- queriesObserver.setQueries({
95
- query: {
96
- query: anyApi.myQuery.default,
97
- args: { arg: "new arg" },
98
- },
99
- });
100
-
101
- // The listener isn't notified for our own changes.
102
- expect(listener.mock.calls.length).toBe(0);
103
-
104
- // There were 2 watches created. We should be subscribed to only the second.
105
- expect(createWatch.mock.calls.length).toBe(2);
106
- expect(createWatch.mock.results[0].value.numCallbacks()).toBe(0);
107
- expect(createWatch.mock.results[1].value.numCallbacks()).toBe(1);
108
- });
109
-
110
- test("If the query doesn't change, we only have one subscription", () => {
111
- queriesObserver.setQueries({
112
- query: {
113
- query: anyApi.myQuery.default,
114
- args: { arg1: "arg1", arg2: 1, arg3: {} },
115
- },
116
- });
117
- expect(createWatch.mock.calls.length).toBe(1);
118
- expect(createWatch.mock.results[0].value.numCallbacks()).toBe(1);
119
-
120
- // Re-adding the same query doesn't create a new watch.
121
- queriesObserver.setQueries({
122
- query: {
123
- query: anyApi.myQuery.default,
124
- args: { arg1: "arg1", arg2: 1, arg3: {} },
125
- },
126
- });
127
- expect(createWatch.mock.calls.length).toBe(1);
128
- expect(createWatch.mock.results[0].value.numCallbacks()).toBe(1);
129
- });
130
-
131
- test("destroy unsubscribes from all queries", async () => {
132
- queriesObserver.setQueries({
133
- query: {
134
- query: anyApi.myQuery.default,
135
- args: {},
136
- },
137
- });
138
-
139
- queriesObserver.destroy();
140
-
141
- // No subscriptions to the watch now.
142
- expect(createWatch.mock.calls.length).toBe(1);
143
- expect(createWatch.mock.results[0].value.numCallbacks()).toBe(0);
144
- });
145
-
146
- test("swapping createWatch recreates subscriptions", async () => {
147
- queriesObserver.setQueries({
148
- query: {
149
- query: anyApi.myQuery.default,
150
- args: {},
151
- },
152
- });
153
- // We should have a listen for the query.
154
- expect(createWatch.mock.calls.length).toBe(1);
155
- expect(createWatch.mock.results[0].value.numCallbacks()).toBe(1);
156
- // Pretend that the server sent us a query journal
157
- createWatch.mock.results[0].value.setJournal("query journal");
158
-
159
- // Swap out the `createWatch` function.
160
- const createWatch2 = vi.fn(() => new FakeWatch<any>()) as any;
161
- queriesObserver.setCreateWatch(createWatch2);
162
-
163
- // No subscriptions left for the original watch.
164
- expect(createWatch.mock.calls.length).toBe(1);
165
- expect(createWatch.mock.results[0].value.numCallbacks()).toBe(0);
166
-
167
- // Now there is a sub using the new createWatch function and the
168
- // journal was passed through!
169
- expect(createWatch2.mock.calls.length).toBe(1);
170
- expect(createWatch2.mock.results[0].value.numCallbacks()).toBe(1);
171
- expect(createWatch2.mock.calls[0]).toEqual([
172
- anyApi.myQuery.default,
173
- {},
174
- { journal: "query journal" },
175
- ]);
176
- });
@@ -1,78 +0,0 @@
1
- import { test, expect } from "vitest";
2
- import { Long } from "../vendor/long.js";
3
-
4
- import { ConvexReactClient } from "./client.js";
5
- import {
6
- ClientMessage,
7
- QuerySetModification,
8
- WireServerMessage,
9
- } from "../browser/sync/protocol.js";
10
- import {
11
- nodeWebSocket,
12
- withInMemoryWebSocket,
13
- } from "../browser/sync/client_node_test_helpers.js";
14
- import { anyApi } from "../server/api.js";
15
-
16
- const testReactClient = (address: string) =>
17
- new ConvexReactClient(address, {
18
- webSocketConstructor: nodeWebSocket,
19
- unsavedChangesWarning: false,
20
- });
21
-
22
- test("ConvexReactClient ends subscriptions on close", async () => {
23
- await withInMemoryWebSocket(async ({ address, receive, send }) => {
24
- const client = testReactClient(address);
25
- const watch = client.watchQuery(anyApi.myQuery.default, {});
26
- let timesCallbackRan = 0;
27
- watch.onUpdate(() => timesCallbackRan++);
28
-
29
- expect((await receive()).type).toEqual("Connect");
30
- const modify = expectQuerySetModification(await receive());
31
- expect(modify.modifications).toEqual([
32
- {
33
- args: [{}],
34
- queryId: 0,
35
- type: "Add",
36
- udfPath: "myQuery:default",
37
- },
38
- ]);
39
- expect(timesCallbackRan).toEqual(0);
40
-
41
- send(transition());
42
-
43
- // After the callback has been registered but before the callback has been
44
- // run, close the client.
45
- const closePromise = client.close();
46
-
47
- expect(timesCallbackRan).toEqual(0);
48
-
49
- // After the internal client has closed, same nothing.
50
- await closePromise;
51
- expect(timesCallbackRan).toEqual(0);
52
- });
53
- });
54
-
55
- const expectQuerySetModification = (
56
- message: ClientMessage,
57
- ): QuerySetModification => {
58
- expect(message.type).toEqual("ModifyQuerySet");
59
- if (message.type !== "ModifyQuerySet") throw new Error("Wrong message!");
60
- return message;
61
- };
62
-
63
- function transition(): WireServerMessage {
64
- return {
65
- type: "Transition",
66
- startVersion: { querySet: 0, identity: 0, ts: Long.fromNumber(0) },
67
- endVersion: { querySet: 1, identity: 0, ts: Long.fromNumber(1) },
68
- modifications: [
69
- {
70
- type: "QueryUpdated",
71
- queryId: 0,
72
- value: 0.0,
73
- logLines: [],
74
- journal: null,
75
- },
76
- ],
77
- };
78
- }