on-zero 0.16.20 → 0.16.21

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 (329) hide show
  1. package/dist/cjs/cli.cjs +6 -0
  2. package/dist/cjs/cli.native.js +6 -0
  3. package/dist/cjs/cli.native.js.map +1 -1
  4. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  5. package/dist/cjs/config.native.js.map +1 -1
  6. package/dist/cjs/createPermissions.native.js.map +1 -1
  7. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  8. package/dist/cjs/createUseQuery.cjs +14 -4
  9. package/dist/cjs/createUseQuery.native.js +18 -5
  10. package/dist/cjs/createUseQuery.native.js.map +1 -1
  11. package/dist/cjs/createUseQueryDirect.cjs +13 -2
  12. package/dist/cjs/createUseQueryDirect.native.js +14 -2
  13. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  14. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
  15. package/dist/cjs/createZeroClient.cjs +21 -3
  16. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  17. package/dist/cjs/createZeroClient.exportProbe.test.native.js.map +1 -1
  18. package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
  19. package/dist/cjs/createZeroClient.httpAuth.test.native.js.map +1 -1
  20. package/dist/cjs/createZeroClient.native.js +28 -3
  21. package/dist/cjs/createZeroClient.native.js.map +1 -1
  22. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  23. package/dist/cjs/generate-helpers.native.js.map +1 -1
  24. package/dist/cjs/generate-helpers.test.native.js.map +1 -1
  25. package/dist/cjs/generate-layout.native.js.map +1 -1
  26. package/dist/cjs/generate-lite.native.js.map +1 -1
  27. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  28. package/dist/cjs/generate.cjs +57 -30
  29. package/dist/cjs/generate.native.js +92 -31
  30. package/dist/cjs/generate.native.js.map +1 -1
  31. package/dist/cjs/generate.test.cjs +147 -0
  32. package/dist/cjs/generate.test.native.js +147 -0
  33. package/dist/cjs/generate.test.native.js.map +1 -1
  34. package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
  35. package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
  36. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  37. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  38. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  39. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
  40. package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
  41. package/dist/cjs/helpers/emitter.native.js.map +1 -1
  42. package/dist/cjs/helpers/ensure.native.js.map +1 -1
  43. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  44. package/dist/cjs/helpers/errors.native.js.map +1 -1
  45. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  46. package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
  47. package/dist/cjs/helpers/globalValue.native.js.map +1 -1
  48. package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
  49. package/dist/cjs/helpers/mapObject.native.js.map +1 -1
  50. package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
  51. package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
  52. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  53. package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
  54. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  55. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  56. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  57. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  58. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  59. package/dist/cjs/helpers/sleep.native.js.map +1 -1
  60. package/dist/cjs/helpers/time.native.js.map +1 -1
  61. package/dist/cjs/helpers/tuple.native.js.map +1 -1
  62. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  63. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  64. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  65. package/dist/cjs/index.native.js.map +1 -1
  66. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  67. package/dist/cjs/modelRegistry.native.js.map +1 -1
  68. package/dist/cjs/multi.cjs +10 -5
  69. package/dist/cjs/multi.native.js +10 -5
  70. package/dist/cjs/multi.native.js.map +1 -1
  71. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  72. package/dist/cjs/multiInstanceMutations.test.native.js.map +1 -1
  73. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  74. package/dist/cjs/multiPartition.test.cjs +46 -2
  75. package/dist/cjs/multiPartition.test.native.js +50 -2
  76. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  77. package/dist/cjs/mutations.native.js.map +1 -1
  78. package/dist/cjs/mutations.test.native.js.map +1 -1
  79. package/dist/cjs/native-typescript.cjs +50 -11
  80. package/dist/cjs/native-typescript.native.js +158 -30
  81. package/dist/cjs/native-typescript.native.js.map +1 -1
  82. package/dist/cjs/provideZero.eagerInstance.test.cjs +22 -0
  83. package/dist/cjs/provideZero.eagerInstance.test.native.js +30 -0
  84. package/dist/cjs/provideZero.eagerInstance.test.native.js.map +1 -1
  85. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  86. package/dist/cjs/provideZero.ssr.test.native.js.map +1 -1
  87. package/dist/cjs/queryErrorRecovery.cjs +93 -0
  88. package/dist/cjs/queryErrorRecovery.native.js +205 -0
  89. package/dist/cjs/queryErrorRecovery.native.js.map +1 -0
  90. package/dist/cjs/queryJson.native.js.map +1 -1
  91. package/dist/cjs/queryRegistry.native.js.map +1 -1
  92. package/dist/cjs/resolveQuery.native.js.map +1 -1
  93. package/dist/cjs/run.native.js.map +1 -1
  94. package/dist/cjs/server.native.js.map +1 -1
  95. package/dist/cjs/server.test.native.js.map +1 -1
  96. package/dist/cjs/serverWhere.native.js.map +1 -1
  97. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  98. package/dist/cjs/state.native.js.map +1 -1
  99. package/dist/cjs/streaming.native.js.map +1 -1
  100. package/dist/cjs/testSetup.native.js.map +1 -1
  101. package/dist/cjs/types.native.js.map +1 -1
  102. package/dist/cjs/usePermission.test.native.js.map +1 -1
  103. package/dist/cjs/useQuery.aggregate.zero.test.cjs +199 -4
  104. package/dist/cjs/useQuery.aggregate.zero.test.native.js +212 -4
  105. package/dist/cjs/useQuery.aggregate.zero.test.native.js.map +1 -1
  106. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  107. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  108. package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
  109. package/dist/cjs/useStreamingField.native.js.map +1 -1
  110. package/dist/cjs/vite-plugin.cjs +10 -0
  111. package/dist/cjs/vite-plugin.native.js +10 -0
  112. package/dist/cjs/vite-plugin.native.js.map +1 -1
  113. package/dist/cjs/where.native.js.map +1 -1
  114. package/dist/cjs/zeroRunner.native.js.map +1 -1
  115. package/dist/cjs/zql.native.js.map +1 -1
  116. package/dist/esm/cli.mjs +6 -0
  117. package/dist/esm/cli.mjs.map +1 -1
  118. package/dist/esm/cli.native.js +7 -1
  119. package/dist/esm/cli.native.js.map +1 -1
  120. package/dist/esm/combineZeroClients.native.js +4 -4
  121. package/dist/esm/combineZeroClients.native.js.map +1 -1
  122. package/dist/esm/config.native.js.map +1 -1
  123. package/dist/esm/createPermissions.native.js +4 -4
  124. package/dist/esm/createPermissions.native.js.map +1 -1
  125. package/dist/esm/createSchemaFromDrizzle.native.js +1 -1
  126. package/dist/esm/createSchemaFromDrizzle.native.js.map +1 -1
  127. package/dist/esm/createUseQuery.mjs +16 -6
  128. package/dist/esm/createUseQuery.mjs.map +1 -1
  129. package/dist/esm/createUseQuery.native.js +24 -11
  130. package/dist/esm/createUseQuery.native.js.map +1 -1
  131. package/dist/esm/createUseQueryDirect.mjs +13 -2
  132. package/dist/esm/createUseQueryDirect.mjs.map +1 -1
  133. package/dist/esm/createUseQueryDirect.native.js +19 -7
  134. package/dist/esm/createUseQueryDirect.native.js.map +1 -1
  135. package/dist/esm/createZeroClient.authData.test.native.js +2 -2
  136. package/dist/esm/createZeroClient.authData.test.native.js.map +1 -1
  137. package/dist/esm/createZeroClient.connection.test.native.js +1 -1
  138. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  139. package/dist/esm/createZeroClient.exportProbe.test.native.js +1 -1
  140. package/dist/esm/createZeroClient.exportProbe.test.native.js.map +1 -1
  141. package/dist/esm/createZeroClient.headless.test.native.js +2 -2
  142. package/dist/esm/createZeroClient.headless.test.native.js.map +1 -1
  143. package/dist/esm/createZeroClient.httpAuth.test.native.js +1 -1
  144. package/dist/esm/createZeroClient.httpAuth.test.native.js.map +1 -1
  145. package/dist/esm/createZeroClient.mjs +21 -3
  146. package/dist/esm/createZeroClient.mjs.map +1 -1
  147. package/dist/esm/createZeroClient.native.js +49 -24
  148. package/dist/esm/createZeroClient.native.js.map +1 -1
  149. package/dist/esm/createZeroClient.recovery.test.native.js +2 -2
  150. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  151. package/dist/esm/generate-helpers.native.js.map +1 -1
  152. package/dist/esm/generate-helpers.test.native.js +1 -1
  153. package/dist/esm/generate-helpers.test.native.js.map +1 -1
  154. package/dist/esm/generate-layout.native.js.map +1 -1
  155. package/dist/esm/generate-lite.native.js +1 -1
  156. package/dist/esm/generate-lite.native.js.map +1 -1
  157. package/dist/esm/generate-lite.test.native.js +1 -1
  158. package/dist/esm/generate-lite.test.native.js.map +1 -1
  159. package/dist/esm/generate.mjs +57 -30
  160. package/dist/esm/generate.mjs.map +1 -1
  161. package/dist/esm/generate.native.js +95 -34
  162. package/dist/esm/generate.native.js.map +1 -1
  163. package/dist/esm/generate.test.mjs +147 -0
  164. package/dist/esm/generate.test.mjs.map +1 -1
  165. package/dist/esm/generate.test.native.js +148 -1
  166. package/dist/esm/generate.test.native.js.map +1 -1
  167. package/dist/esm/helpers/NullToOptional.native.js.map +1 -1
  168. package/dist/esm/helpers/asyncContext.hostStorage.test.native.js +7 -7
  169. package/dist/esm/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
  170. package/dist/esm/helpers/batchQuery.native.js +1 -1
  171. package/dist/esm/helpers/batchQuery.native.js.map +1 -1
  172. package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
  173. package/dist/esm/helpers/createMutators.native.js +4 -4
  174. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  175. package/dist/esm/helpers/createMutators.test.native.js +2 -2
  176. package/dist/esm/helpers/createMutators.test.native.js.map +1 -1
  177. package/dist/esm/helpers/ellipsis.native.js.map +1 -1
  178. package/dist/esm/helpers/emitter.native.js.map +1 -1
  179. package/dist/esm/helpers/ensure.native.js +1 -1
  180. package/dist/esm/helpers/ensure.native.js.map +1 -1
  181. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -2
  182. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  183. package/dist/esm/helpers/errors.native.js.map +1 -1
  184. package/dist/esm/helpers/getAuth.native.js +3 -3
  185. package/dist/esm/helpers/getAuth.native.js.map +1 -1
  186. package/dist/esm/helpers/getCurrentComponentStack.native.js.map +1 -1
  187. package/dist/esm/helpers/globalValue.native.js.map +1 -1
  188. package/dist/esm/helpers/hostStorageScope.native.js.map +1 -1
  189. package/dist/esm/helpers/mapObject.native.js.map +1 -1
  190. package/dist/esm/helpers/mutationLifecycle.native.js +1 -1
  191. package/dist/esm/helpers/mutationLifecycle.native.js.map +1 -1
  192. package/dist/esm/helpers/mutationLifecycle.test.native.js +1 -1
  193. package/dist/esm/helpers/mutationLifecycle.test.native.js.map +1 -1
  194. package/dist/esm/helpers/mutatorContext.native.js +1 -1
  195. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  196. package/dist/esm/helpers/mutatorContext.test.native.js +6 -6
  197. package/dist/esm/helpers/mutatorContext.test.native.js.map +1 -1
  198. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +1 -1
  199. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  200. package/dist/esm/helpers/queryContext.native.js +1 -1
  201. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  202. package/dist/esm/helpers/recoverZeroClient.native.js +1 -1
  203. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  204. package/dist/esm/helpers/recoverZeroClient.test.native.js +2 -2
  205. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  206. package/dist/esm/helpers/showZeroClientError.native.js +1 -1
  207. package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
  208. package/dist/esm/helpers/sleep.native.js +1 -1
  209. package/dist/esm/helpers/sleep.native.js.map +1 -1
  210. package/dist/esm/helpers/time.native.js.map +1 -1
  211. package/dist/esm/helpers/tuple.native.js.map +1 -1
  212. package/dist/esm/helpers/useMutation.native.js.map +1 -1
  213. package/dist/esm/helpers/useMutation.test.native.js +1 -1
  214. package/dist/esm/helpers/useMutation.test.native.js.map +1 -1
  215. package/dist/esm/helpers/useZeroDebug.native.js +2 -2
  216. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  217. package/dist/esm/index.native.js +23 -23
  218. package/dist/esm/index.native.js.map +1 -1
  219. package/dist/esm/instanceRegistry.native.js +2 -2
  220. package/dist/esm/instanceRegistry.native.js.map +1 -1
  221. package/dist/esm/modelRegistry.native.js.map +1 -1
  222. package/dist/esm/multi.mjs +10 -5
  223. package/dist/esm/multi.mjs.map +1 -1
  224. package/dist/esm/multi.native.js +15 -10
  225. package/dist/esm/multi.native.js.map +1 -1
  226. package/dist/esm/multiInstance.test.native.js +10 -10
  227. package/dist/esm/multiInstance.test.native.js.map +1 -1
  228. package/dist/esm/multiInstanceMutations.test.native.js +4 -4
  229. package/dist/esm/multiInstanceMutations.test.native.js.map +1 -1
  230. package/dist/esm/multiInstanceNested.test.native.js +3 -3
  231. package/dist/esm/multiInstanceNested.test.native.js.map +1 -1
  232. package/dist/esm/multiPartition.test.mjs +47 -3
  233. package/dist/esm/multiPartition.test.mjs.map +1 -1
  234. package/dist/esm/multiPartition.test.native.js +52 -4
  235. package/dist/esm/multiPartition.test.native.js.map +1 -1
  236. package/dist/esm/mutations.native.js +2 -2
  237. package/dist/esm/mutations.native.js.map +1 -1
  238. package/dist/esm/mutations.test.native.js +4 -4
  239. package/dist/esm/mutations.test.native.js.map +1 -1
  240. package/dist/esm/native-typescript.mjs +50 -11
  241. package/dist/esm/native-typescript.mjs.map +1 -1
  242. package/dist/esm/native-typescript.native.js +158 -30
  243. package/dist/esm/native-typescript.native.js.map +1 -1
  244. package/dist/esm/provideZero.eagerInstance.test.mjs +22 -0
  245. package/dist/esm/provideZero.eagerInstance.test.mjs.map +1 -1
  246. package/dist/esm/provideZero.eagerInstance.test.native.js +31 -1
  247. package/dist/esm/provideZero.eagerInstance.test.native.js.map +1 -1
  248. package/dist/esm/provideZero.hydration.test.native.js +2 -2
  249. package/dist/esm/provideZero.hydration.test.native.js.map +1 -1
  250. package/dist/esm/provideZero.ssr.test.native.js +2 -2
  251. package/dist/esm/provideZero.ssr.test.native.js.map +1 -1
  252. package/dist/esm/queryErrorRecovery.mjs +66 -0
  253. package/dist/esm/queryErrorRecovery.mjs.map +1 -0
  254. package/dist/esm/queryErrorRecovery.native.js +175 -0
  255. package/dist/esm/queryErrorRecovery.native.js.map +1 -0
  256. package/dist/esm/queryJson.native.js +1 -1
  257. package/dist/esm/queryJson.native.js.map +1 -1
  258. package/dist/esm/queryRegistry.native.js.map +1 -1
  259. package/dist/esm/resolveQuery.native.js +2 -2
  260. package/dist/esm/resolveQuery.native.js.map +1 -1
  261. package/dist/esm/run.native.js +4 -4
  262. package/dist/esm/run.native.js.map +1 -1
  263. package/dist/esm/server.native.js +10 -10
  264. package/dist/esm/server.native.js.map +1 -1
  265. package/dist/esm/server.test.native.js +2 -2
  266. package/dist/esm/server.test.native.js.map +1 -1
  267. package/dist/esm/serverWhere.native.js +1 -1
  268. package/dist/esm/serverWhere.native.js.map +1 -1
  269. package/dist/esm/serverWhere.test.native.js +3 -3
  270. package/dist/esm/serverWhere.test.native.js.map +1 -1
  271. package/dist/esm/state.native.js +1 -1
  272. package/dist/esm/state.native.js.map +1 -1
  273. package/dist/esm/streaming.native.js +1 -1
  274. package/dist/esm/streaming.native.js.map +1 -1
  275. package/dist/esm/testSetup.native.js.map +1 -1
  276. package/dist/esm/types.native.js.map +1 -1
  277. package/dist/esm/usePermission.test.native.js +3 -3
  278. package/dist/esm/usePermission.test.native.js.map +1 -1
  279. package/dist/esm/useQuery.aggregate.zero.test.mjs +197 -2
  280. package/dist/esm/useQuery.aggregate.zero.test.mjs.map +1 -1
  281. package/dist/esm/useQuery.aggregate.zero.test.native.js +212 -4
  282. package/dist/esm/useQuery.aggregate.zero.test.native.js.map +1 -1
  283. package/dist/esm/useQuery.empty.test.native.js +3 -3
  284. package/dist/esm/useQuery.empty.test.native.js.map +1 -1
  285. package/dist/esm/useQuery.ssr.test.native.js +2 -2
  286. package/dist/esm/useQuery.ssr.test.native.js.map +1 -1
  287. package/dist/esm/useStreamingField.loop.test.native.js +1 -1
  288. package/dist/esm/useStreamingField.loop.test.native.js.map +1 -1
  289. package/dist/esm/useStreamingField.native.js.map +1 -1
  290. package/dist/esm/vite-plugin.mjs +10 -0
  291. package/dist/esm/vite-plugin.mjs.map +1 -1
  292. package/dist/esm/vite-plugin.native.js +11 -1
  293. package/dist/esm/vite-plugin.native.js.map +1 -1
  294. package/dist/esm/where.native.js +3 -3
  295. package/dist/esm/where.native.js.map +1 -1
  296. package/dist/esm/zeroRunner.native.js +1 -1
  297. package/dist/esm/zeroRunner.native.js.map +1 -1
  298. package/dist/esm/zql.native.js +1 -1
  299. package/dist/esm/zql.native.js.map +1 -1
  300. package/package.json +4 -4
  301. package/src/cli.ts +6 -0
  302. package/src/createUseQuery.tsx +20 -5
  303. package/src/createUseQueryDirect.tsx +17 -1
  304. package/src/createZeroClient.tsx +37 -4
  305. package/src/generate.test.ts +116 -0
  306. package/src/generate.ts +109 -52
  307. package/src/multi.ts +11 -3
  308. package/src/multiPartition.test.ts +55 -11
  309. package/src/native-typescript.ts +64 -11
  310. package/src/provideZero.eagerInstance.test.tsx +27 -0
  311. package/src/queryErrorRecovery.ts +95 -0
  312. package/src/useQuery.aggregate.zero.test.tsx +187 -2
  313. package/src/vite-plugin.ts +10 -0
  314. package/types/createUseQuery.d.ts +3 -1
  315. package/types/createUseQuery.d.ts.map +1 -1
  316. package/types/createUseQueryDirect.d.ts +3 -1
  317. package/types/createUseQueryDirect.d.ts.map +1 -1
  318. package/types/createZeroClient.d.ts +3 -1
  319. package/types/createZeroClient.d.ts.map +1 -1
  320. package/types/generate.d.ts +4 -0
  321. package/types/generate.d.ts.map +1 -1
  322. package/types/multi.d.ts +3 -1
  323. package/types/multi.d.ts.map +1 -1
  324. package/types/native-typescript.d.ts +7 -1
  325. package/types/native-typescript.d.ts.map +1 -1
  326. package/types/queryErrorRecovery.d.ts +33 -0
  327. package/types/queryErrorRecovery.d.ts.map +1 -0
  328. package/types/useQuery.aggregate.zero.test.d.ts.map +1 -1
  329. package/types/vite-plugin.d.ts.map +1 -1
@@ -13,7 +13,11 @@ async function closeCompiler(session) {
13
13
  try {
14
14
  if (session.paths.size > 0) {
15
15
  var snapshot = await session.api.updateSnapshot({
16
- closeFiles: [...session.paths]
16
+ ...(session.tsconfig ? {
17
+ closeProjects: [session.tsconfig]
18
+ } : {
19
+ closeFiles: [...session.paths]
20
+ })
17
21
  });
18
22
  await snapshot.dispose();
19
23
  }
@@ -21,7 +25,7 @@ async function closeCompiler(session) {
21
25
  await session.api.close();
22
26
  }
23
27
  }
24
- async function acquireCompiler(root, sourcePaths) {
28
+ async function acquireCompiler(root, sourcePaths, tsconfig) {
25
29
  var previousTurn = compilerTurn;
26
30
  var releaseTurn = function releaseTurn2() {};
27
31
  compilerTurn = new Promise(function (resolveTurn) {
@@ -33,7 +37,7 @@ async function acquireCompiler(root, sourcePaths) {
33
37
  compilerCloseTimer = null;
34
38
  }
35
39
  if (compilerClose) await compilerClose;
36
- if (compiler && compiler.root !== root) {
40
+ if (compiler && (tsconfig || compiler.root !== root || compiler.tsconfig !== tsconfig)) {
37
41
  var previous = compiler;
38
42
  compiler = null;
39
43
  await closeCompiler(previous);
@@ -43,7 +47,8 @@ async function acquireCompiler(root, sourcePaths) {
43
47
  cwd: root
44
48
  }),
45
49
  paths: /* @__PURE__ */new Set(),
46
- root
50
+ root,
51
+ tsconfig
47
52
  };
48
53
  compiler.api.clearSourceFileCache();
49
54
  var previousPaths = compiler.paths;
@@ -51,7 +56,11 @@ async function acquireCompiler(root, sourcePaths) {
51
56
  compiler.paths = nextPaths;
52
57
  if (previousPaths.size > 0) {
53
58
  var closedSnapshot = await compiler.api.updateSnapshot({
54
- closeFiles: [...previousPaths],
59
+ ...(tsconfig ? {
60
+ closeProjects: [tsconfig]
61
+ } : {
62
+ closeFiles: [...previousPaths]
63
+ }),
55
64
  fileChanges: {
56
65
  invalidateAll: true
57
66
  }
@@ -60,7 +69,11 @@ async function acquireCompiler(root, sourcePaths) {
60
69
  compiler.api.clearSourceFileCache();
61
70
  }
62
71
  var snapshot = await compiler.api.updateSnapshot({
63
- openFiles: sourcePaths,
72
+ ...(tsconfig ? {
73
+ openProjects: [tsconfig]
74
+ } : {
75
+ openFiles: sourcePaths
76
+ }),
64
77
  fileChanges: {
65
78
  invalidateAll: true
66
79
  }
@@ -147,6 +160,7 @@ function collectTypeScriptSourcePaths(roots) {
147
160
  return [...paths].sort();
148
161
  }
149
162
  async function createNativeTypeScriptProject(root, sourcePaths) {
163
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
150
164
  if (sourcePaths.length === 0) {
151
165
  throw new Error(`[on-zero] no TypeScript source files found under ${root}`);
152
166
  }
@@ -154,46 +168,100 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
154
168
  session,
155
169
  snapshot,
156
170
  releaseTurn
157
- } = await acquireCompiler(root, sourcePaths);
171
+ } = await acquireCompiler(root, sourcePaths, options.tsconfig);
158
172
  var sources = /* @__PURE__ */new Map();
159
173
  var projectsByFile = /* @__PURE__ */new Map();
160
174
  var parseErrors = /* @__PURE__ */new Set();
161
- try {
162
- var _iteratorNormalCompletion = true,
163
- _didIteratorError = false,
164
- _iteratorError = void 0;
175
+ var loadSources = async function loadSources2() {
176
+ var _iteratorNormalCompletion2 = true,
177
+ _didIteratorError2 = false,
178
+ _iteratorError2 = void 0;
165
179
  try {
166
- for (var _iterator = sourcePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
167
- var path = _step.value;
168
- var project = await snapshot.getDefaultProjectForFile(path);
169
- if (!project) throw new Error(`[on-zero] TypeScript did not open ${path}`);
170
- var source = await project.program.getSourceFile(path);
171
- if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path}`);
172
- sources.set(path, source);
173
- projectsByFile.set(path, project);
180
+ for (var _iterator2 = sourcePaths[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
181
+ var path2 = _step2.value;
182
+ if (sources.has(path2)) continue;
183
+ var project2 = projectsByFile.get(path2);
184
+ if (!project2) throw new Error(`[on-zero] TypeScript did not open ${path2}`);
185
+ var source = await project2.program.getSourceFile(path2);
186
+ if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path2}`);
187
+ sources.set(path2, source);
174
188
  try {
175
- parse(readFileSync(path, "utf8"), {
189
+ parse(readFileSync(path2, "utf8"), {
176
190
  plugins: ["jsx", "typescript"],
177
191
  sourceType: "module"
178
192
  });
179
193
  } catch (unused) {
180
- parseErrors.add(path);
194
+ parseErrors.add(path2);
181
195
  }
182
196
  }
183
197
  } catch (err) {
184
- _didIteratorError = true;
185
- _iteratorError = err;
198
+ _didIteratorError2 = true;
199
+ _iteratorError2 = err;
186
200
  } finally {
187
201
  try {
188
- if (!_iteratorNormalCompletion && _iterator.return != null) {
189
- _iterator.return();
202
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
203
+ _iterator2.return();
190
204
  }
191
205
  } finally {
192
- if (_didIteratorError) {
193
- throw _iteratorError;
206
+ if (_didIteratorError2) {
207
+ throw _iteratorError2;
194
208
  }
195
209
  }
196
210
  }
211
+ };
212
+ try {
213
+ var scopedProject = options.tsconfig ? snapshot.getProject(options.tsconfig) : void 0;
214
+ if (options.tsconfig) {
215
+ if (!scopedProject) throw new Error(`[on-zero] TypeScript did not open ${options.tsconfig}`);
216
+ var included = new Set(await scopedProject.program.getSourceFileNames());
217
+ var _iteratorNormalCompletion = true,
218
+ _didIteratorError = false,
219
+ _iteratorError = void 0;
220
+ try {
221
+ for (var _iterator = sourcePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
222
+ var path = _step.value;
223
+ if (!included.has(path)) throw new Error(`[on-zero] generation project does not include ${path}`);
224
+ }
225
+ } catch (err) {
226
+ _didIteratorError = true;
227
+ _iteratorError = err;
228
+ } finally {
229
+ try {
230
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
231
+ _iterator.return();
232
+ }
233
+ } finally {
234
+ if (_didIteratorError) {
235
+ throw _iteratorError;
236
+ }
237
+ }
238
+ }
239
+ }
240
+ var _iteratorNormalCompletion1 = true,
241
+ _didIteratorError1 = false,
242
+ _iteratorError1 = void 0;
243
+ try {
244
+ for (var _iterator1 = sourcePaths[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
245
+ var path1 = _step1.value;
246
+ var project = options.tsconfig ? scopedProject : await snapshot.getDefaultProjectForFile(path1);
247
+ if (!project) throw new Error(`[on-zero] TypeScript did not open ${path1}`);
248
+ projectsByFile.set(path1, project);
249
+ }
250
+ } catch (err) {
251
+ _didIteratorError1 = true;
252
+ _iteratorError1 = err;
253
+ } finally {
254
+ try {
255
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
256
+ _iterator1.return();
257
+ }
258
+ } finally {
259
+ if (_didIteratorError1) {
260
+ throw _iteratorError1;
261
+ }
262
+ }
263
+ }
264
+ if (!options.deferSources) await loadSources();
197
265
  } catch (error) {
198
266
  await snapshot.dispose();
199
267
  releaseCompiler(session, releaseTurn);
@@ -201,15 +269,75 @@ async function createNativeTypeScriptProject(root, sourcePaths) {
201
269
  }
202
270
  var closed = false;
203
271
  return {
272
+ configurationKey: JSON.stringify([...new Map([...projectsByFile.values()].map(function (p) {
273
+ return [p.id, p];
274
+ })).values()].map(function (project2) {
275
+ return [project2.configFileName, project2.compilerOptions];
276
+ }).sort(function (param, param1) {
277
+ var [left] = param,
278
+ [right] = param1;
279
+ return String(left).localeCompare(String(right));
280
+ })),
281
+ loadSources,
282
+ async sourceFilePaths() {
283
+ var paths = /* @__PURE__ */new Set();
284
+ var projects = new Map([...projectsByFile.values()].map(function (p) {
285
+ return [p.id, p];
286
+ }));
287
+ var _iteratorNormalCompletion2 = true,
288
+ _didIteratorError2 = false,
289
+ _iteratorError2 = void 0;
290
+ try {
291
+ for (var _iterator2 = projects.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
292
+ var project2 = _step2.value;
293
+ var _iteratorNormalCompletion12 = true,
294
+ _didIteratorError12 = false,
295
+ _iteratorError12 = void 0;
296
+ try {
297
+ for (var _iterator12 = (await project2.program.getSourceFileNames())[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
298
+ var path2 = _step12.value;
299
+ paths.add(path2);
300
+ }
301
+ } catch (err) {
302
+ _didIteratorError12 = true;
303
+ _iteratorError12 = err;
304
+ } finally {
305
+ try {
306
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
307
+ _iterator12.return();
308
+ }
309
+ } finally {
310
+ if (_didIteratorError12) {
311
+ throw _iteratorError12;
312
+ }
313
+ }
314
+ }
315
+ }
316
+ } catch (err) {
317
+ _didIteratorError2 = true;
318
+ _iteratorError2 = err;
319
+ } finally {
320
+ try {
321
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
322
+ _iterator2.return();
323
+ }
324
+ } finally {
325
+ if (_didIteratorError2) {
326
+ throw _iteratorError2;
327
+ }
328
+ }
329
+ }
330
+ return [...paths].sort();
331
+ },
204
332
  projectForFile(path2) {
205
333
  var project2 = projectsByFile.get(resolve(path2));
206
334
  if (!project2) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);
207
335
  return project2;
208
336
  },
209
337
  sourceFile(path2) {
210
- var source2 = sources.get(resolve(path2));
211
- if (!source2) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);
212
- return source2;
338
+ var source = sources.get(resolve(path2));
339
+ if (!source) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);
340
+ return source;
213
341
  },
214
342
  hasParseErrors(path2) {
215
343
  return parseErrors.has(resolve(path2));
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","readFileSync","readdirSync","resolve","parse","API","_process_env","_GOMAXPROCS","process","env","GOMAXPROCS","compiler","compilerClose","compilerCloseTimer","compilerTurn","Promise","closeCompiler","session","paths","size","snapshot","api","updateSnapshot","closeFiles","dispose","close","acquireCompiler","root","sourcePaths","previousTurn","releaseTurn","releaseTurn2","resolveTurn","clearTimeout","previous","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openFiles","releaseCompiler","_compilerCloseTimer_unref","setTimeout","finally","unref","call","collectTypeScriptSourcePaths","roots","visited","walk","walk1","dir","has","add","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","withFileTypes","Symbol","iterator","_step2","next","done","entry","value","name","path","isDirectory","isFile","endsWith","err","return","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step"],"sources":["../../src/native-typescript.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["existsSync","readFileSync","readdirSync","resolve","parse","API","_process_env","_GOMAXPROCS","process","env","GOMAXPROCS","compiler","compilerClose","compilerCloseTimer","compilerTurn","Promise","closeCompiler","session","paths","size","snapshot","api","updateSnapshot","tsconfig","closeProjects","closeFiles","dispose","close","acquireCompiler","root","sourcePaths","previousTurn","releaseTurn","releaseTurn2","resolveTurn","clearTimeout","previous","cwd","Set","clearSourceFileCache","previousPaths","nextPaths","closedSnapshot","fileChanges","invalidateAll","openProjects","openFiles","releaseCompiler","_compilerCloseTimer_unref","setTimeout","finally","unref","call","collectTypeScriptSourcePaths","roots","visited","walk","walk1","dir","has","add","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","withFileTypes","Symbol","iterator","_step2","next","done","entry","value","name","path","isDirectory","isFile","endsWith","err","return","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","sort","createNativeTypeScriptProject","options","arguments","length","Error","sources","Map","projectsByFile","parseErrors","loadSources","loadSources2","path2","project2","get","source","program","getSourceFile","set","plugins","sourceType","unused","scopedProject","getProject","included","getSourceFileNames","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","path1","project","getDefaultProjectForFile","deferSources","error","closed","configurationKey","JSON","stringify","values","map","p","id","configFileName","compilerOptions","param","param1","left","right","String","localeCompare","sourceFilePaths","projects","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_iterator12","_step12","projectForFile","sourceFile","hasParseErrors"],"sources":["native-typescript.native.js"],"sourcesContent":["import { existsSync, readFileSync, readdirSync } from \"fs\";\nimport { resolve } from \"path\";\nimport { parse } from \"@babel/parser\";\nimport { API } from \"typescript/unstable/async\";\nvar _process_env;\nvar _GOMAXPROCS;\n(_GOMAXPROCS = (_process_env = process.env).GOMAXPROCS) !== null && _GOMAXPROCS !== void 0 ? _GOMAXPROCS : _process_env.GOMAXPROCS = \"2\";\nvar compiler = null;\nvar compilerClose = null;\nvar compilerCloseTimer = null;\nvar compilerTurn = Promise.resolve();\nasync function closeCompiler(session) {\n try {\n if (session.paths.size > 0) {\n var snapshot = await session.api.updateSnapshot({\n ...session.tsconfig ? {\n closeProjects: [\n session.tsconfig\n ]\n } : {\n closeFiles: [\n ...session.paths\n ]\n }\n });\n await snapshot.dispose();\n }\n } finally {\n await session.api.close();\n }\n}\nasync function acquireCompiler(root, sourcePaths, tsconfig) {\n var previousTurn = compilerTurn;\n var releaseTurn = function releaseTurn2() {\n };\n compilerTurn = new Promise(function(resolveTurn) {\n releaseTurn = resolveTurn;\n });\n await previousTurn;\n if (compilerCloseTimer) {\n clearTimeout(compilerCloseTimer);\n compilerCloseTimer = null;\n }\n if (compilerClose) await compilerClose;\n if (compiler && (tsconfig || compiler.root !== root || compiler.tsconfig !== tsconfig)) {\n var previous = compiler;\n compiler = null;\n await closeCompiler(previous);\n }\n compiler !== null && compiler !== void 0 ? compiler : compiler = {\n api: new API({\n cwd: root\n }),\n paths: /* @__PURE__ */ new Set(),\n root,\n tsconfig\n };\n compiler.api.clearSourceFileCache();\n var previousPaths = compiler.paths;\n var nextPaths = new Set(sourcePaths);\n compiler.paths = nextPaths;\n if (previousPaths.size > 0) {\n var closedSnapshot = await compiler.api.updateSnapshot({\n ...tsconfig ? {\n closeProjects: [\n tsconfig\n ]\n } : {\n closeFiles: [\n ...previousPaths\n ]\n },\n fileChanges: {\n invalidateAll: true\n }\n });\n await closedSnapshot.dispose();\n compiler.api.clearSourceFileCache();\n }\n var snapshot = await compiler.api.updateSnapshot({\n ...tsconfig ? {\n openProjects: [\n tsconfig\n ]\n } : {\n openFiles: sourcePaths\n },\n fileChanges: {\n invalidateAll: true\n }\n });\n compiler.api.clearSourceFileCache();\n return {\n session: compiler,\n snapshot,\n releaseTurn\n };\n}\nfunction releaseCompiler(session, releaseTurn) {\n var _compilerCloseTimer_unref;\n releaseTurn();\n compilerCloseTimer = setTimeout(function() {\n compilerCloseTimer = null;\n if (compiler !== session) return;\n compiler = null;\n compilerClose = closeCompiler(session).finally(function() {\n compilerClose = null;\n });\n }, 25);\n (_compilerCloseTimer_unref = compilerCloseTimer.unref) === null || _compilerCloseTimer_unref === void 0 ? void 0 : _compilerCloseTimer_unref.call(compilerCloseTimer);\n}\nfunction collectTypeScriptSourcePaths(roots) {\n var paths = /* @__PURE__ */ new Set();\n var visited = /* @__PURE__ */ new Set();\n var walk = function walk1(dir) {\n if (visited.has(dir) || !existsSync(dir)) return;\n visited.add(dir);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = readdirSync(dir, {\n withFileTypes: true\n })[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var entry = _step2.value;\n if (entry.name === \"node_modules\") continue;\n var path = resolve(dir, entry.name);\n if (entry.isDirectory()) {\n walk(path);\n } else if (entry.isFile() && (entry.name.endsWith(\".ts\") || entry.name.endsWith(\".tsx\"))) {\n paths.add(path);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = roots[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var root = _step.value;\n walk(resolve(root));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return [\n ...paths\n ].sort();\n}\nasync function createNativeTypeScriptProject(root, sourcePaths) {\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n if (sourcePaths.length === 0) {\n throw new Error(`[on-zero] no TypeScript source files found under ${root}`);\n }\n var { session, snapshot, releaseTurn } = await acquireCompiler(root, sourcePaths, options.tsconfig);\n var sources = /* @__PURE__ */ new Map();\n var projectsByFile = /* @__PURE__ */ new Map();\n var parseErrors = /* @__PURE__ */ new Set();\n var loadSources = async function loadSources2() {\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = sourcePaths[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var path2 = _step2.value;\n if (sources.has(path2)) continue;\n var project2 = projectsByFile.get(path2);\n if (!project2) throw new Error(`[on-zero] TypeScript did not open ${path2}`);\n var source = await project2.program.getSourceFile(path2);\n if (!source) throw new Error(`[on-zero] TypeScript did not parse ${path2}`);\n sources.set(path2, source);\n try {\n parse(readFileSync(path2, \"utf8\"), {\n plugins: [\n \"jsx\",\n \"typescript\"\n ],\n sourceType: \"module\"\n });\n } catch (unused) {\n parseErrors.add(path2);\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n };\n try {\n var scopedProject = options.tsconfig ? snapshot.getProject(options.tsconfig) : void 0;\n if (options.tsconfig) {\n if (!scopedProject) throw new Error(`[on-zero] TypeScript did not open ${options.tsconfig}`);\n var included = new Set(await scopedProject.program.getSourceFileNames());\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = sourcePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var path = _step.value;\n if (!included.has(path)) throw new Error(`[on-zero] generation project does not include ${path}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = sourcePaths[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var path1 = _step1.value;\n var project = options.tsconfig ? scopedProject : await snapshot.getDefaultProjectForFile(path1);\n if (!project) throw new Error(`[on-zero] TypeScript did not open ${path1}`);\n projectsByFile.set(path1, project);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (!options.deferSources) await loadSources();\n } catch (error) {\n await snapshot.dispose();\n releaseCompiler(session, releaseTurn);\n throw error;\n }\n var closed = false;\n return {\n configurationKey: JSON.stringify([\n ...new Map([\n ...projectsByFile.values()\n ].map(function(p) {\n return [\n p.id,\n p\n ];\n })).values()\n ].map(function(project2) {\n return [\n project2.configFileName,\n project2.compilerOptions\n ];\n }).sort(function(param, param1) {\n var [left] = param, [right] = param1;\n return String(left).localeCompare(String(right));\n })),\n loadSources,\n async sourceFilePaths() {\n var paths = /* @__PURE__ */ new Set();\n var projects = new Map([\n ...projectsByFile.values()\n ].map(function(p) {\n return [\n p.id,\n p\n ];\n }));\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = projects.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var project2 = _step2.value;\n var _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n for (var _iterator12 = (await project2.program.getSourceFileNames())[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {\n var path2 = _step12.value;\n paths.add(path2);\n }\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return [\n ...paths\n ].sort();\n },\n projectForFile(path2) {\n var project2 = projectsByFile.get(resolve(path2));\n if (!project2) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);\n return project2;\n },\n sourceFile(path2) {\n var source = sources.get(resolve(path2));\n if (!source) throw new Error(`[on-zero] TypeScript project does not contain ${path2}`);\n return source;\n },\n hasParseErrors(path2) {\n return parseErrors.has(resolve(path2));\n },\n async close() {\n if (closed) return;\n closed = true;\n await snapshot.dispose();\n releaseCompiler(session, releaseTurn);\n }\n };\n}\nexport {\n collectTypeScriptSourcePaths,\n createNativeTypeScriptProject\n};\n//# sourceMappingURL=native-typescript.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -194,4 +194,26 @@ test("disable=true constructs nothing", () => {
194
194
  });
195
195
  expect(fakeZero.instances.length).toBe(0);
196
196
  });
197
+ test("unmounting one of two overlapping providers keeps the shared instance published", () => {
198
+ const client = makeClient();
199
+ const first = createRoot(document.createElement("div"));
200
+ root = createRoot(container);
201
+ const mount = target => act(() => {
202
+ target?.render(/* @__PURE__ */jsx(client.ProvideZero, {
203
+ cacheURL: "http://127.0.0.1:7788/zero",
204
+ userID: "shared",
205
+ children: /* @__PURE__ */jsx("span", {
206
+ children: "ok"
207
+ })
208
+ }));
209
+ });
210
+ mount(first);
211
+ mount(root);
212
+ expect(fakeZero.instances.length).toBe(1);
213
+ act(() => first.unmount());
214
+ expect(client.zero.clientID).toBe(fakeZero.instances[0].clientID);
215
+ act(() => root?.unmount());
216
+ root = null;
217
+ expect(() => client.zero.clientID).toThrow(/Zero instance not initialized/);
218
+ });
197
219
  //# sourceMappingURL=provideZero.eagerInstance.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","instances","FakeZero","clientID","context","query","connection","state","current","name","subscribe","connect","fn","close","delete","errors","run","constructor","options","push","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain","toHaveBeenCalled","mount","first","disable"],"sources":["../../src/provideZero.eagerInstance.test.tsx"],"sourcesContent":[null],"mappings":"AAcA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,OAAA,QAAe;AACxB,SAASC,GAAA,EAAKC,UAAA,QAAkB;AAChC,SAASC,UAAA,QAA6B;AACtC,SAASC,cAAA,QAAsB;AAC/B,SAASC,SAAA,EAAWC,UAAA,EAAYC,MAAA,EAAQC,IAAA,EAAMC,EAAA,QAAU;AA8BxD,SAASC,gBAAA,QAAwB;AAoE3B,SAAAC,GAAA;AA9FN,MAAMC,QAAA,GAAWH,EAAA,CAAGI,OAAA,CAAQ,MAAM;EAChC,MAAMC,SAAA,GAAmB,EAAC;EAC1B,MAAMC,QAAA,CAAS;IACJC,QAAA;IACAC,OAAA,GAAU,CAAC;IACXC,KAAA,GAAQ,CAAC;IACTC,UAAA,GAAa;MACpBC,KAAA,EAAO;QAAEC,OAAA,EAAS;UAAEC,IAAA,EAAM;QAAa;QAAGC,SAAA,EAAWA,CAAA,KAAM,MAAM,CAAC;MAAE;MACpEC,OAAA,EAASf,EAAA,CAAGgB,EAAA,CAAG,YAAY,CAAC,CAAC;IAC/B;IACSC,KAAA,GAAQjB,EAAA,CAAGgB,EAAA,CAAG;IACdE,MAAA,GAASlB,EAAA,CAAGgB,EAAA,CAAG,aAAa;MAAEG,MAAA,EAAQ;IAAG,EAAE;IAC3CC,GAAA,GAAMpB,EAAA,CAAGgB,EAAA,CAAG,YAAY,EAAE;IACnCK,YAAYC,OAAA,EAA8B;MACxCjB,SAAA,CAAUkB,IAAA,CAAK,IAAI;MACnB,KAAKhB,QAAA,GAAW,QAAQF,SAAA,CAAUmB,MAAM,IAAIF,OAAA,CAAQG,MAAA,IAAU,MAAM;IACtE;EACF;EACA,OAAO;IAAEnB,QAAA;IAAUD;EAAU;AAC/B,CAAC;AAEDL,EAAA,CAAG0B,IAAA,CAAK,kBAAkB,MAAOC,cAAA,IAAmB;EAClD,MAAMC,MAAA,GAAS,MAAMD,cAAA,CAAgD;EACrE,OAAO;IAAE,GAAGC,MAAA;IAAQC,IAAA,EAAM1B,QAAA,CAASG;EAAS;AAC9C,CAAC;AAQDwB,UAAA,CAAWC,wBAAA,GAA2B;AAEtC,MAAMC,SAAA,GAAY1C,KAAA,CAAM,MAAM,EAC3B2C,OAAA,CAAQ;EAAEC,EAAA,EAAI7C,MAAA,CAAO;EAAG8C,KAAA,EAAO9C,MAAA,CAAO;AAAE,CAAC,EACzC+C,UAAA,CAAW,IAAI;AAClB,MAAMC,MAAA,GAASjD,YAAA,CAAa;EAAEkD,MAAA,EAAQ,CAACN,SAAS;AAAE,CAAC;AAEnD,IAAIO,WAAA,GAAc;AAGlB,MAAMC,UAAA,GAAaA,CAAA,KACjBvC,gBAAA,CAAiB;EACfoC,MAAA;EACAI,MAAA,EAAQ,CAAC;EACTC,cAAA,EAAgB,CAAC;EACjBC,YAAA,EAAc,kBAAkB,EAAEJ,WAAW;AAC/C,CAAC;AAEH,IAAIK,SAAA;AACJ,IAAIC,IAAA;AAEJhD,UAAA,CAAW,MAAM;EACfM,QAAA,CAASE,SAAA,CAAUmB,MAAA,GAAS;EAC5BoB,SAAA,GAAYE,QAAA,CAASC,aAAA,CAAc,KAAK;EACxCF,IAAA,GAAO;AACT,CAAC;AAEDjD,SAAA,CAAU,MAAM;EACd,IAAIiD,IAAA,EAAMrD,GAAA,CAAI,MAAMqD,IAAA,EAAMG,OAAA,CAAQ,CAAC;AACrC,CAAC;AAEDjD,IAAA,CAAK,6FAA6F,MAAM;EACtG,MAAMkD,MAAA,GAAST,UAAA,CAAW;EAC1B,MAAMU,OAAA,GAAUlD,EAAA,CAAGgB,EAAA,CAAG;EACtB,MAAMmC,IAAA,GAKF,CAAC;EAEL,MAAMC,KAAA,GAAQA,CAAA,KAAM;IAGlBD,IAAA,CAAKE,kBAAA,GAAqBH,OAAA,CAAQxB,IAAA,CAAK4B,KAAA,CAAM9B,MAAA,GAAS;IACtD2B,IAAA,CAAKI,eAAA,GAAmBhE,OAAA,CAAQ,EAAsCgB,QAAA;IACtE,IAAI;MACF4C,IAAA,CAAKK,cAAA,GAAkBP,MAAA,CAAOQ,IAAA,CAAyClD,QAAA;IACzE,SAASmD,KAAA,EAAO;MACdP,IAAA,CAAKO,KAAA,GAASA,KAAA,CAAgBC,OAAA;IAChC;IACA,OAAO;EACT;EAIAhE,cAAA,CACE,eAAAO,GAAA,CAAC+C,MAAA,CAAOW,WAAA,EAAP;IACCC,QAAA,EAAS;IACTpC,MAAA,EAAO;IACPqC,SAAA,EAAW;MAAEZ;IAAQ;IAErBa,QAAA,iBAAA7D,GAAA,CAACkD,KAAA,IAAM;EAAA,CACT,CACF;EAEAtD,MAAA,CAAOqD,IAAA,CAAKO,KAAK,EAAEM,aAAA,CAAc;EACjClE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAUmB,MAAM,EAAEyC,IAAA,CAAK,CAAC;EACxCnE,MAAA,CAAOqD,IAAA,CAAKK,cAAc,EAAES,IAAA,CAAK9D,QAAA,CAASE,SAAA,CAAU,CAAC,EAAEE,QAAQ;EAC/DT,MAAA,CAAOqD,IAAA,CAAKI,eAAe,EAAEU,IAAA,CAAK9D,QAAA,CAASE,SAAA,CAAU,CAAC,EAAEE,QAAQ;EAChET,MAAA,CAAOqD,IAAA,CAAKE,kBAAkB,EAAEY,IAAA,CAAK,IAAI;AAC3C,CAAC;AAEDlE,IAAA,CAAK,gEAAgE,MAAM;EACzE,MAAMkD,MAAA,GAAST,UAAA,CAAW;EAC1B,MAAM0B,SAAA,GAAsB,EAAC;EAC7B,MAAMd,KAAA,GAAQA,CAAA,KAAM;IAClBc,SAAA,CAAU3C,IAAA,CAAMhC,OAAA,CAAQ,EAAsCgB,QAAQ;IACtE,OAAO;EACT;EAEAsC,IAAA,GAAOnD,UAAA,CAAWkD,SAAS;EAC3BpD,GAAA,CAAI,MAAM;IACRqD,IAAA,EAAMsB,MAAA,CACJ,eAAAjE,GAAA,CAAC+C,MAAA,CAAOW,WAAA,EAAP;MAAmBC,QAAA,EAAS;MAA6BpC,MAAA,EAAO;MAC/DsC,QAAA,iBAAA7D,GAAA,CAACkD,KAAA,IAAM;IAAA,CACT,CACF;EACF,CAAC;EAGDtD,MAAA,CAAOoE,SAAA,CAAU1C,MAAM,EAAE4C,eAAA,CAAgB,CAAC;EAC1CtE,MAAA,CAAOoE,SAAS,EAAEG,GAAA,CAAIC,SAAA,CAAU,UAAU;EAC1CxE,MAAA,CAAOoE,SAAA,CAAU,CAAC,CAAC,EAAED,IAAA,CAAK9D,QAAA,CAASE,SAAA,CAAU,CAAC,EAAEE,QAAQ;AAC1D,CAAC;AAEDR,IAAA,CAAK,oEAAoE,MAAM;EAC7E,MAAMkD,MAAA,GAAST,UAAA,CAAW;EAC1BK,IAAA,GAAOnD,UAAA,CAAWkD,SAAS;EAC3BpD,GAAA,CAAI,MAAM;IACRqD,IAAA,EAAMsB,MAAA,CACJ,eAAAjE,GAAA,CAACT,UAAA;MACCsE,QAAA,iBAAA7D,GAAA,CAAC+C,MAAA,CAAOW,WAAA,EAAP;QAAmBC,QAAA,EAAS;QAA6BpC,MAAA,EAAO;QAC/DsC,QAAA,iBAAA7D,GAAA,CAAC;UAAK6D,QAAA;QAAA,CAAE;MAAA,CACV;IAAA,CACF,CACF;EACF,CAAC;EAEDjE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAUmB,MAAM,EAAEyC,IAAA,CAAK,CAAC;EACxCnE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAU,CAAC,EAAEY,KAAK,EAAEoD,GAAA,CAAIE,gBAAA,CAAiB;AAC3D,CAAC;AAEDxE,IAAA,CAAK,uEAAuE,MAAM;EAChF,MAAMkD,MAAA,GAAST,UAAA,CAAW;EAC1BK,IAAA,GAAOnD,UAAA,CAAWkD,SAAS;EAC3B,MAAMuB,MAAA,GAAU1C,MAAA,IACdjC,GAAA,CAAI,MAAM;IACRqD,IAAA,EAAMsB,MAAA,CACJ,eAAAjE,GAAA,CAAC+C,MAAA,CAAOW,WAAA,EAAP;MAAmBC,QAAA,EAAS;MAA6BpC,MAAA;MACxDsC,QAAA,iBAAA7D,GAAA,CAAC;QAAK6D,QAAA;MAAA,CAAE;IAAA,CACV,CACF;EACF,CAAC;EAEHI,MAAA,CAAO,KAAK;EACZrE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAUmB,MAAM,EAAEyC,IAAA,CAAK,CAAC;EACxCE,MAAA,CAAO,KAAK;EACZrE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAUmB,MAAM,EAAEyC,IAAA,CAAK,CAAC;EACxCnE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAU,CAAC,EAAEY,KAAK,EAAEsD,gBAAA,CAAiB;EACrDzE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAU,CAAC,EAAEY,KAAK,EAAEoD,GAAA,CAAIE,gBAAA,CAAiB;AAC3D,CAAC;AAEDxE,IAAA,CAAK,2DAA2D,MAAM;EACpE,MAAMkD,MAAA,GAAST,UAAA,CAAW;EAC1BK,IAAA,GAAOnD,UAAA,CAAWkD,SAAS;EAC3B,MAAM4B,KAAA,GAAS/C,MAAA,IACbjC,GAAA,CAAI,MAAM;IACRqD,IAAA,EAAMsB,MAAA,CACJ,eAAAjE,GAAA,CAAC+C,MAAA,CAAOW,WAAA,EAAP;MAAmBC,QAAA,EAAS;MAA6BpC,MAAA;MACxDsC,QAAA,iBAAA7D,GAAA,CAAC;QAAK6D,QAAA;MAAA,CAAE;IAAA,CACV,CACF;EACF,CAAC;EAEHS,KAAA,CAAM,WAAW;EACjB,MAAMC,KAAA,GAAQtE,QAAA,CAASE,SAAA,CAAU,CAAC;EAIlCV,cAAA,CACE,eAAAO,GAAA,CAAC+C,MAAA,CAAOW,WAAA,EAAP;IAAmBC,QAAA,EAAS;IAA6BpC,MAAA,EAAO;IAC/DsC,QAAA,iBAAA7D,GAAA,CAAC;MAAK6D,QAAA;IAAA,CAAE;EAAA,CACV,CACF;EACAjE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAUmB,MAAM,EAAEyC,IAAA,CAAK,CAAC;EAExCnE,MAAA,CAAO2E,KAAA,CAAMxD,KAAK,EAAEoD,GAAA,CAAIE,gBAAA,CAAiB;EAIzCC,KAAA,CAAM,WAAW;EACjB1E,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAUmB,MAAM,EAAEyC,IAAA,CAAK,CAAC;EACxCnE,MAAA,CAAO2E,KAAA,CAAMxD,KAAK,EAAEoD,GAAA,CAAIE,gBAAA,CAAiB;EACzCzE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAU,CAAC,EAAEY,KAAK,EAAEsD,gBAAA,CAAiB;AACvD,CAAC;AAEDxE,IAAA,CAAK,mCAAmC,MAAM;EAC5C,MAAMkD,MAAA,GAAST,UAAA,CAAW;EAC1BK,IAAA,GAAOnD,UAAA,CAAWkD,SAAS;EAC3BpD,GAAA,CAAI,MAAM;IACRqD,IAAA,EAAMsB,MAAA,CACJ,eAAAjE,GAAA,CAAC+C,MAAA,CAAOW,WAAA,EAAP;MAAmBC,QAAA,EAAS;MAA6BpC,MAAA,EAAO;MAAMiD,OAAA,EAAO;MAC5EX,QAAA,iBAAA7D,GAAA,CAAC;QAAK6D,QAAA;MAAA,CAAE;IAAA,CACV,CACF;EACF,CAAC;EAEDjE,MAAA,CAAOK,QAAA,CAASE,SAAA,CAAUmB,MAAM,EAAEyC,IAAA,CAAK,CAAC;AAC1C,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","instances","FakeZero","clientID","context","query","connection","state","current","name","subscribe","connect","fn","close","delete","errors","run","constructor","options","push","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain","toHaveBeenCalled","mount","first","disable","target","toThrow"],"sources":["../../src/provideZero.eagerInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { act, StrictMode } from "react";
5
5
  import { createRoot } from "react-dom/client";
6
6
  import { renderToString } from "react-dom/server";
7
7
  import { afterEach, beforeEach, expect, test, vi } from "vitest";
8
- import { createZeroClient } from "./createZeroClient.native.js";
8
+ import { createZeroClient } from "./createZeroClient";
9
9
  function _class_call_check(instance, Constructor) {
10
10
  if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
11
11
  }
@@ -224,4 +224,34 @@ test("disable=true constructs nothing", function () {
224
224
  });
225
225
  expect(fakeZero.instances.length).toBe(0);
226
226
  });
227
+ test("unmounting one of two overlapping providers keeps the shared instance published", function () {
228
+ var client = makeClient();
229
+ var first = createRoot(document.createElement("div"));
230
+ root = createRoot(container);
231
+ var mount = function mount2(target) {
232
+ return act(function () {
233
+ target === null || target === void 0 ? void 0 : target.render(/* @__PURE__ */_jsx(client.ProvideZero, {
234
+ cacheURL: "http://127.0.0.1:7788/zero",
235
+ userID: "shared",
236
+ children: /* @__PURE__ */_jsx("span", {
237
+ children: "ok"
238
+ })
239
+ }));
240
+ });
241
+ };
242
+ mount(first);
243
+ mount(root);
244
+ expect(fakeZero.instances.length).toBe(1);
245
+ act(function () {
246
+ return first.unmount();
247
+ });
248
+ expect(client.zero.clientID).toBe(fakeZero.instances[0].clientID);
249
+ act(function () {
250
+ return root === null || root === void 0 ? void 0 : root.unmount();
251
+ });
252
+ root = null;
253
+ expect(function () {
254
+ return client.zero.clientID;
255
+ }).toThrow(/Zero instance not initialized/);
256
+ });
227
257
  //# sourceMappingURL=provideZero.eagerInstance.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","hoisted","instances","FakeZero","FakeZero2","options","_options_userID","state","current","name","subscribe","connect","fn","errors","push","clientID","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","makeClient2","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","Probe2","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain"],"sources":["../../src/provideZero.eagerInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","act","StrictMode","createRoot","renderToString","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","fakeZero","hoisted","instances","FakeZero","FakeZero2","options","_options_userID","state","current","name","subscribe","connect","fn","errors","push","clientID","length","userID","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","todoTable","columns","id","title","primaryKey","schema","tables","clientCount","makeClient","makeClient2","models","groupedQueries","instanceName","container","root","document","createElement","unmount","client","install","seen","Probe","Probe2","transportInstalled","calls","contextClientID","facadeClientID","zero","error","message","ProvideZero","cacheURL","transport","children","toBeUndefined","toBe","clientIDs","render","toBeGreaterThan","not","toContain","close","toHaveBeenCalled","render2","mount","mount2","first","disable","target","toThrow"],"sources":["provideZero.eagerInstance.test.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { useZero } from \"@rocicorp/zero/react\";\nimport { act, StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { renderToString } from \"react-dom/server\";\nimport { afterEach, beforeEach, expect, test, vi } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else obj[key] = value;\n return obj;\n}\nvar fakeZero = vi.hoisted(function() {\n var instances = [];\n var FakeZero = function FakeZero2(options) {\n \"use strict\";\n _class_call_check(this, FakeZero2);\n var _options_userID;\n _define_property(this, \"clientID\", void 0);\n _define_property(this, \"context\", {});\n _define_property(this, \"query\", {});\n _define_property(this, \"connection\", {\n state: {\n current: {\n name: \"connecting\"\n },\n subscribe: function subscribe() {\n return function() {\n };\n }\n },\n connect: vi.fn(async function() {\n })\n });\n _define_property(this, \"close\", vi.fn());\n _define_property(this, \"delete\", vi.fn(async function() {\n return {\n errors: []\n };\n }));\n _define_property(this, \"run\", vi.fn(async function() {\n return [];\n }));\n instances.push(this);\n this.clientID = `fake-${instances.length}-${(_options_userID = options.userID) !== null && _options_userID !== void 0 ? _options_userID : \"anon\"}`;\n };\n return {\n FakeZero,\n instances\n };\n});\nvi.mock(\"@rocicorp/zero\", async function(importOriginal) {\n var actual = await importOriginal();\n return {\n ...actual,\n Zero: fakeZero.FakeZero\n };\n});\nglobalThis.IS_REACT_ACT_ENVIRONMENT = true;\nvar todoTable = table(\"todo\").columns({\n id: string(),\n title: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n todoTable\n ]\n});\nvar clientCount = 0;\nvar makeClient = function makeClient2() {\n return createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: `eager-instance-${++clientCount}`\n });\n};\nvar container;\nvar root;\nbeforeEach(function() {\n fakeZero.instances.length = 0;\n container = document.createElement(\"div\");\n root = null;\n});\nafterEach(function() {\n if (root) act(function() {\n return root === null || root === void 0 ? void 0 : root.unmount();\n });\n});\ntest(\"a consumer reading zero in its first render gets a live instance, with no effects flushed\", function() {\n var client = makeClient();\n var install = vi.fn();\n var seen = {};\n var Probe = function Probe2() {\n seen.transportInstalled = install.mock.calls.length > 0;\n seen.contextClientID = useZero().clientID;\n try {\n seen.facadeClientID = client.zero.clientID;\n } catch (error) {\n seen.error = error.message;\n }\n return null;\n };\n renderToString(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"first-render\",\n transport: {\n install\n },\n children: /* @__PURE__ */ _jsx(Probe, {})\n }));\n expect(seen.error).toBeUndefined();\n expect(fakeZero.instances.length).toBe(1);\n expect(seen.facadeClientID).toBe(fakeZero.instances[0].clientID);\n expect(seen.contextClientID).toBe(fakeZero.instances[0].clientID);\n expect(seen.transportInstalled).toBe(true);\n});\ntest(\"the first committed render already carries the real instance\", function() {\n var client = makeClient();\n var clientIDs = [];\n var Probe = function Probe2() {\n clientIDs.push(useZero().clientID);\n return null;\n };\n root = createRoot(container);\n act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"committed\",\n children: /* @__PURE__ */ _jsx(Probe, {})\n }));\n });\n expect(clientIDs.length).toBeGreaterThan(0);\n expect(clientIDs).not.toContain(\"disabled\");\n expect(clientIDs[0]).toBe(fakeZero.instances[0].clientID);\n});\ntest(\"StrictMode double-invoked render constructs exactly one instance\", function() {\n var client = makeClient();\n root = createRoot(container);\n act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(StrictMode, {\n children: /* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"strict\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n })\n }));\n });\n expect(fakeZero.instances.length).toBe(1);\n expect(fakeZero.instances[0].close).not.toHaveBeenCalled();\n});\ntest(\"an identity change rotates the instance and closes the outgoing one\", function() {\n var client = makeClient();\n root = createRoot(container);\n var render = function render2(userID) {\n return act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n };\n render(\"one\");\n expect(fakeZero.instances.length).toBe(1);\n render(\"two\");\n expect(fakeZero.instances.length).toBe(2);\n expect(fakeZero.instances[0].close).toHaveBeenCalled();\n expect(fakeZero.instances[1].close).not.toHaveBeenCalled();\n});\ntest(\"a rotation that never commits is undone, not duplicated\", function() {\n var client = makeClient();\n root = createRoot(container);\n var mount = function mount2(userID) {\n return act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n };\n mount(\"committed\");\n var first = fakeZero.instances[0];\n renderToString(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"abandoned\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n expect(fakeZero.instances.length).toBe(2);\n expect(first.close).not.toHaveBeenCalled();\n mount(\"committed\");\n expect(fakeZero.instances.length).toBe(2);\n expect(first.close).not.toHaveBeenCalled();\n expect(fakeZero.instances[1].close).toHaveBeenCalled();\n});\ntest(\"disable=true constructs nothing\", function() {\n var client = makeClient();\n root = createRoot(container);\n act(function() {\n root === null || root === void 0 ? void 0 : root.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"off\",\n disable: true,\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n expect(fakeZero.instances.length).toBe(0);\n});\ntest(\"unmounting one of two overlapping providers keeps the shared instance published\", function() {\n var client = makeClient();\n var first = createRoot(document.createElement(\"div\"));\n root = createRoot(container);\n var mount = function mount2(target) {\n return act(function() {\n target === null || target === void 0 ? void 0 : target.render(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"shared\",\n children: /* @__PURE__ */ _jsx(\"span\", {\n children: \"ok\"\n })\n }));\n });\n };\n mount(first);\n mount(root);\n expect(fakeZero.instances.length).toBe(1);\n act(function() {\n return first.unmount();\n });\n expect(client.zero.clientID).toBe(fakeZero.instances[0].clientID);\n act(function() {\n return root === null || root === void 0 ? void 0 : root.unmount();\n });\n root = null;\n expect(function() {\n return client.zero.clientID;\n }).toThrow(/Zero instance not initialized/);\n});\n//# sourceMappingURL=provideZero.eagerInstance.test.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,8 @@ import { createSchema, string, table } from "@rocicorp/zero";
3
3
  import { useId } from "react";
4
4
  import { renderToString } from "react-dom/server";
5
5
  import { expect, test } from "vitest";
6
- import { createZeroClient } from "./createZeroClient.native.js";
7
- import { IS_SERVER, IS_SERVER_RUNTIME } from "./helpers/platform.native.js";
6
+ import { createZeroClient } from "./createZeroClient";
7
+ import { IS_SERVER, IS_SERVER_RUNTIME } from "./helpers/platform";
8
8
  var todoTable = table("todo").columns({
9
9
  id: string(),
10
10
  title: string()
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createSchema","string","table","useId","renderToString","expect","test","createZeroClient","IS_SERVER","IS_SERVER_RUNTIME","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","IdProbe","param","name","Tree","children","disable","ProvideZero","authData","userID","readIds","html","out","re"],"sources":["../../src/provideZero.hydration.test.tsx"],"sourcesContent":[null],"mappings":"AAkBA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAc,IAAAC,KAAQ,2BAAa;AAC5C,SAASC,YAAA,EAA6BC,MAAA,EAAAC,KAAA;AACtC,SAASC,KAAA;AACT,SAASC,cAAQ,QAAY;AAE7B,SAASC,MAAA,EAAAC,IAAA,gBAAwB;AACjC,SAASC,gBAAW,sCAAyB;AAgBpC,SAAAC,SAKL,EAAAC,iBALK;AAdT,IAAAC,SAAM,GAAAR,KAAY,OAAM,EAAMS,OAC3B;EAEHC,EAAA,EAAMX,MAAA;EAENY,KAAM,EAAAZ,MAAS;AAAiB,EAC9B,CAAAa,UAAA;AAAA,IACAC,MAAQ,GAACf,YAAA;EACTgB,MAAA,GACAN,SAAA;AAGF;AACE,IAAAO,MAAM,GAAKV,gBAAM;EACjBQ,MAAA;EACFG,MAAA;EAEAC,cAAgB;EACdC,YACE;AACE;AAAkB,SAClBC,QAAAC,KAAA,EAAC;EAED,IACA;IAAAC;EAAA,IAAAD,KAAA;EAIA,IACCV,EAAA,GAAAT,KAAA;EAAA,OACH,eAAAN,IAAA;IAEJ,aAAA0B,IAAA;IAEA,eAAiB,EAAAX;EACf;AACA;AACA,SAAIY,KAAAF,KAAA;EACJ;IAAAG,QAAe;IAAAC;EAAS,CAAI,GAAAJ,KAAO;EACnC,OAAO,eAAAvB,KAAA,CAAAkB,MAAA,CAAAU,WAAA;IACTC,QAAA;IAEAC,MAAK;IACHH,OAAO;IACPD,QAAO,GACR,eAAA5B,IAAA,CAAAwB,OAAA;MAEIE,IAAA;IACH,EAAM,EACN,eAAiB1B,IAAA,CAAQ;MACzB4B,QAAc,iBAAa5B,IAAQ,CAAAwB,OAAM;QAClCE,IAAA;MACR;IAEI,IACH,eAAe1B,IAAgB,UAAQ;MACjC4B,QAAA,EAAS,eAAM5B,IAAe;QAC9B4B,QAAA,EAAW,eAAM5B,IAAe,CAAAwB,OAAA;UAC/BE,IAAA,EAAQ;QAChB;MAUI;IAGH,EAAM,EACNE,QAAW;EAEX;AACA;AACA,SAAOK,OAAIA,CAAAC,IAAQ,EAAE;EACrB,IAAAC,GAAO,GAAE,CAAE;EACZ,IAAAC,EAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createSchema","string","table","useId","renderToString","expect","test","createZeroClient","IS_SERVER","IS_SERVER_RUNTIME","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","IdProbe","param","name","Tree","children","disable","ProvideZero","authData","userID","readIds","html","out","re","m","exec","toBe","active","disabled","Object","keys","length","toEqual","strip","strip2","s","replace","r1","r2","r3","r4"],"sources":["provideZero.hydration.test.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { useId } from \"react\";\nimport { renderToString } from \"react-dom/server\";\nimport { expect, test } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nimport { IS_SERVER, IS_SERVER_RUNTIME } from \"./helpers/platform\";\nvar todoTable = table(\"todo\").columns({\n id: string(),\n title: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n todoTable\n ]\n});\nvar client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"provider-shape-test\"\n});\nfunction IdProbe(param) {\n var { name } = param;\n var id = useId();\n return /* @__PURE__ */ _jsx(\"span\", {\n \"data-name\": name,\n \"data-probe-id\": id\n });\n}\nfunction Tree(param) {\n var { children, disable } = param;\n return /* @__PURE__ */ _jsxs(client.ProvideZero, {\n authData: {},\n userID: \"anon\",\n disable,\n children: [\n /* @__PURE__ */ _jsx(IdProbe, {\n name: \"a\"\n }),\n /* @__PURE__ */ _jsx(\"div\", {\n children: /* @__PURE__ */ _jsx(IdProbe, {\n name: \"b\"\n })\n }),\n /* @__PURE__ */ _jsx(\"section\", {\n children: /* @__PURE__ */ _jsx(\"p\", {\n children: /* @__PURE__ */ _jsx(IdProbe, {\n name: \"c\"\n })\n })\n }),\n children\n ]\n });\n}\nfunction readIds(html) {\n var out = {};\n var re = /data-name=\"([^\"]+)\" data-probe-id=\"([^\"]+)\"/g;\n var m;\n while (m = re.exec(html)) out[m[1]] = m[2];\n return out;\n}\ntest(\"test environment loads on-zero client runtime\", function() {\n expect(IS_SERVER_RUNTIME).toBe(false);\n expect(IS_SERVER).toBe(false);\n});\ntest(\"useId is stable across active vs disabled ProvideZero renders\", function() {\n var active = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n var disabled = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n expect(Object.keys(active).length).toBe(3);\n expect(disabled).toEqual(active);\n});\ntest(\"rendered DOM structure matches between active and disabled (probe ids stripped)\", function() {\n var strip = function strip2(s) {\n return s.replace(/ data-probe-id=\"[^\"]+\"/g, \"\");\n };\n var active = strip(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n var disabled = strip(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n expect(disabled).toBe(active);\n});\ntest(\"client-side hook count is stable across disable=true \\u2194 false\", function() {\n var r1 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n var r2 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n var r3 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {\n disable: true\n })));\n var r4 = readIds(renderToString(/* @__PURE__ */ _jsx(Tree, {})));\n expect(r2).toEqual(r1);\n expect(r3).toEqual(r1);\n expect(r4).toEqual(r1);\n});\n//# sourceMappingURL=provideZero.hydration.test.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,8 @@ import { createSchema, string, table } from "@rocicorp/zero";
3
3
  import { useZero } from "@rocicorp/zero/react";
4
4
  import { renderToString } from "react-dom/server";
5
5
  import { expect, test, vi } from "vitest";
6
- import { createZeroClient } from "./createZeroClient.native.js";
7
- import { IS_SERVER_RUNTIME } from "./helpers/platform.native.js";
6
+ import { createZeroClient } from "./createZeroClient";
7
+ import { IS_SERVER_RUNTIME } from "./helpers/platform";
8
8
  function _class_call_check(instance, Constructor) {
9
9
  if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","renderToString","expect","test","vi","createZeroClient","IS_SERVER_RUNTIME","_class_call_check","instance","Constructor","TypeError","fakeZero","hoisted","instances","FakeZero","FakeZero2","push","mock","importOriginal","actual","Zero","window","Error","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","toBe"],"sources":["../../src/provideZero.ssr.test.tsx"],"sourcesContent":[null],"mappings":"AAOA,SAASA,GAAA,IAAAC,IAAA,QAAc,mBAAqB;AAC5C,SAASC,YAAA,EAAAC,MAAe,EAAAC,KAAA;AACxB,SAASC,OAAA,8BAAsB;AAC/B,SAASC,cAAc,0BAAU;AAiBjC,SAASC,MAAA,EAAAC,IAAA,EAAAC,EAAA,QAAwB;AACjC,SAASC,gBAAA,sCAAyB;AA+B5B,SAAAC,iBAAA;AA/CN,SAAMC,iBAAcA,CAAAC,QAAc,EAAAC,WAAA;EAChC,MAAMD,QAAA,YAAwBC,WAAA,aAAAC,SAAA;AAAA;AACf,IACbC,QAAA,GAAAP,EAAA,CAAcQ,OAAA;EACZ,IAAAC,SAAA,GAAU;EAAS,IACrBC,QAAA,YAAAC,UAAA;IACF;;IACAR,iBAAmB,OAAAQ,SAAU;IAC9BF,SAAA,CAAAG,IAAA;EAED,CAAG;EACD,OAAM;IACNF,QAAS;IACVD;EAKD;AACE;AACFT,EAAA,CAAAa,IAAA,mCAAAC,cAAA;EAEA,IAAMC,MAAA,SAAYD,cACf;EAEH,OAAM;IAEN,GAAMC,MAAA;IACJC,IAAA,EAAAT,QAAA,CAAAG;EACA;AAAS,EACT;AAAiB,IACjB,OAAAO,MAAc;EACf,UAAAC,KAAA;AAED;AACE,IAAAC,SAAO,GAAAxB,KAAA,OAAmB,EAAAyB,OAAS;EACpCC,EAAA,EAAA3B,MAAA;EAED4B,KAAK,EAAA5B,MAAA;AACH,GAAA6B,UAAI;AACJ,IAAAC,MAAM,GAAA/B,YAAc;EAClBgC,MAAA,GACAN,SAAO;AAGT;AAAA,IACEO,MAAA,GAAAzB,gBAAC;EAGHuB,MAAA;EAEAG,MAAA,EAAO;EACPC,cAAO;EACPC,YAAO,EAAO;AAA0D;AACtE9B,IACF;EACDD,MAAA,CAAAI,iBAAA,EAAA4B,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","useZero","renderToString","expect","test","vi","createZeroClient","IS_SERVER_RUNTIME","_class_call_check","instance","Constructor","TypeError","fakeZero","hoisted","instances","FakeZero","FakeZero2","push","mock","importOriginal","actual","Zero","window","Error","todoTable","columns","id","title","primaryKey","schema","tables","client","models","groupedQueries","instanceName","toBe","contextClientID","Probe","Probe2","clientID","ProvideZero","cacheURL","userID","children","length","zero","toThrow"],"sources":["provideZero.ssr.test.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createSchema, string, table } from \"@rocicorp/zero\";\nimport { useZero } from \"@rocicorp/zero/react\";\nimport { renderToString } from \"react-dom/server\";\nimport { expect, test, vi } from \"vitest\";\nimport { createZeroClient } from \"./createZeroClient\";\nimport { IS_SERVER_RUNTIME } from \"./helpers/platform\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nvar fakeZero = vi.hoisted(function() {\n var instances = [];\n var FakeZero = function FakeZero2() {\n \"use strict\";\n _class_call_check(this, FakeZero2);\n instances.push(this);\n };\n return {\n FakeZero,\n instances\n };\n});\nvi.mock(\"@rocicorp/zero\", async function(importOriginal) {\n var actual = await importOriginal();\n return {\n ...actual,\n Zero: fakeZero.FakeZero\n };\n});\nif (typeof window !== \"undefined\") {\n throw new Error(\"provideZero.ssr.test.tsx must run with @vitest-environment node\");\n}\nvar todoTable = table(\"todo\").columns({\n id: string(),\n title: string()\n}).primaryKey(\"id\");\nvar schema = createSchema({\n tables: [\n todoTable\n ]\n});\nvar client = createZeroClient({\n schema,\n models: {},\n groupedQueries: {},\n instanceName: \"ssr-eager-test\"\n});\ntest(\"the server runtime is what this file exercises\", function() {\n expect(IS_SERVER_RUNTIME).toBe(true);\n});\ntest(\"rendering ProvideZero on the server constructs no client\", function() {\n var contextClientID;\n var Probe = function Probe2() {\n contextClientID = useZero().clientID;\n return null;\n };\n renderToString(/* @__PURE__ */ _jsx(client.ProvideZero, {\n cacheURL: \"http://127.0.0.1:7788/zero\",\n userID: \"ssr\",\n children: /* @__PURE__ */ _jsx(Probe, {})\n }));\n expect(fakeZero.instances.length).toBe(0);\n expect(contextClientID).toBe(\"disabled\");\n expect(function() {\n return client.zero.clientID;\n }).toThrow(/Zero instance not initialized/);\n});\n//# sourceMappingURL=provideZero.ssr.test.js.map\n"],"mappings":"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","ignoreList":[]}