@fluidframework/routerlicious-driver 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.225277

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/.eslintrc.js +10 -12
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +156 -0
  4. package/README.md +39 -1
  5. package/api-extractor-esm.json +4 -0
  6. package/api-extractor-lint.json +4 -0
  7. package/api-extractor.json +2 -2
  8. package/api-report/routerlicious-driver.api.md +108 -0
  9. package/dist/cache.cjs +30 -0
  10. package/dist/cache.cjs.map +1 -0
  11. package/dist/cache.d.ts +7 -0
  12. package/dist/cache.d.ts.map +1 -1
  13. package/dist/{definitions.js → contracts.cjs} +1 -1
  14. package/dist/contracts.cjs.map +1 -0
  15. package/dist/contracts.d.ts +42 -0
  16. package/dist/contracts.d.ts.map +1 -0
  17. package/dist/{createNewUtils.js → createNewUtils.cjs} +7 -5
  18. package/dist/createNewUtils.cjs.map +1 -0
  19. package/dist/createNewUtils.d.ts +1 -1
  20. package/dist/createNewUtils.d.ts.map +1 -1
  21. package/dist/{defaultTokenProvider.js → defaultTokenProvider.cjs} +2 -1
  22. package/dist/defaultTokenProvider.cjs.map +1 -0
  23. package/dist/defaultTokenProvider.d.ts +1 -0
  24. package/dist/defaultTokenProvider.d.ts.map +1 -1
  25. package/dist/definitions.cjs +7 -0
  26. package/dist/definitions.cjs.map +1 -0
  27. package/dist/definitions.d.ts.map +1 -1
  28. package/dist/deltaStorageService.cjs +122 -0
  29. package/dist/deltaStorageService.cjs.map +1 -0
  30. package/dist/deltaStorageService.d.ts +7 -6
  31. package/dist/deltaStorageService.d.ts.map +1 -1
  32. package/dist/{documentDeltaConnection.js → documentDeltaConnection.cjs} +8 -13
  33. package/dist/documentDeltaConnection.cjs.map +1 -0
  34. package/dist/documentDeltaConnection.d.ts +3 -4
  35. package/dist/documentDeltaConnection.d.ts.map +1 -1
  36. package/dist/{documentService.js → documentService.cjs} +61 -64
  37. package/dist/documentService.cjs.map +1 -0
  38. package/dist/documentService.d.ts +12 -4
  39. package/dist/documentService.d.ts.map +1 -1
  40. package/dist/{documentServiceFactory.js → documentServiceFactory.cjs} +87 -33
  41. package/dist/documentServiceFactory.cjs.map +1 -0
  42. package/dist/documentServiceFactory.d.ts +5 -3
  43. package/dist/documentServiceFactory.d.ts.map +1 -1
  44. package/dist/{documentStorageService.js → documentStorageService.cjs} +18 -16
  45. package/dist/documentStorageService.cjs.map +1 -0
  46. package/dist/documentStorageService.d.ts +4 -3
  47. package/dist/documentStorageService.d.ts.map +1 -1
  48. package/dist/errorUtils.cjs +87 -0
  49. package/dist/errorUtils.cjs.map +1 -0
  50. package/dist/errorUtils.d.ts +56 -10
  51. package/dist/errorUtils.d.ts.map +1 -1
  52. package/dist/gitManager.cjs +46 -0
  53. package/dist/gitManager.cjs.map +1 -0
  54. package/dist/gitManager.d.ts +27 -0
  55. package/dist/gitManager.d.ts.map +1 -0
  56. package/dist/historian.cjs +72 -0
  57. package/dist/historian.cjs.map +1 -0
  58. package/dist/historian.d.ts +34 -0
  59. package/dist/historian.d.ts.map +1 -0
  60. package/dist/index.cjs +19 -0
  61. package/dist/index.cjs.map +1 -0
  62. package/dist/index.d.ts +5 -8
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/mapWithExpiration.cjs +105 -0
  65. package/dist/mapWithExpiration.cjs.map +1 -0
  66. package/dist/mapWithExpiration.d.ts +34 -0
  67. package/dist/mapWithExpiration.d.ts.map +1 -0
  68. package/dist/{nullBlobStorageService.js → nullBlobStorageService.cjs} +5 -5
  69. package/dist/nullBlobStorageService.cjs.map +1 -0
  70. package/dist/nullBlobStorageService.d.ts.map +1 -1
  71. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  72. package/dist/packageVersion.cjs.map +1 -0
  73. package/dist/packageVersion.d.ts +1 -1
  74. package/dist/packageVersion.d.ts.map +1 -1
  75. package/dist/{policies.js → policies.cjs} +1 -1
  76. package/dist/policies.cjs.map +1 -0
  77. package/dist/policies.d.ts +22 -9
  78. package/dist/policies.d.ts.map +1 -1
  79. package/dist/r11sSnapshotParser.cjs +73 -0
  80. package/dist/r11sSnapshotParser.cjs.map +1 -0
  81. package/dist/r11sSnapshotParser.d.ts +14 -0
  82. package/dist/r11sSnapshotParser.d.ts.map +1 -0
  83. package/dist/restWrapper.cjs +249 -0
  84. package/dist/restWrapper.cjs.map +1 -0
  85. package/dist/restWrapper.d.ts +32 -12
  86. package/dist/restWrapper.d.ts.map +1 -1
  87. package/dist/restWrapperBase.cjs +89 -0
  88. package/dist/restWrapperBase.cjs.map +1 -0
  89. package/dist/restWrapperBase.d.ts +26 -0
  90. package/dist/restWrapperBase.d.ts.map +1 -0
  91. package/dist/retriableGitManager.cjs +40 -0
  92. package/dist/retriableGitManager.cjs.map +1 -0
  93. package/dist/retriableGitManager.d.ts +13 -23
  94. package/dist/retriableGitManager.d.ts.map +1 -1
  95. package/dist/routerlicious-driver-alpha.d.ts +92 -0
  96. package/dist/routerlicious-driver-beta.d.ts +98 -0
  97. package/dist/routerlicious-driver-public.d.ts +98 -0
  98. package/dist/routerlicious-driver-untrimmed.d.ts +261 -0
  99. package/dist/{shreddedSummaryDocumentStorageService.js → shreddedSummaryDocumentStorageService.cjs} +41 -34
  100. package/dist/shreddedSummaryDocumentStorageService.cjs.map +1 -0
  101. package/dist/shreddedSummaryDocumentStorageService.d.ts +6 -5
  102. package/dist/shreddedSummaryDocumentStorageService.d.ts.map +1 -1
  103. package/dist/storageContracts.cjs +7 -0
  104. package/dist/storageContracts.cjs.map +1 -0
  105. package/dist/storageContracts.d.ts +45 -0
  106. package/dist/storageContracts.d.ts.map +1 -0
  107. package/dist/summaryTreeUploadManager.cjs +110 -0
  108. package/dist/summaryTreeUploadManager.cjs.map +1 -0
  109. package/dist/summaryTreeUploadManager.d.ts +23 -0
  110. package/dist/summaryTreeUploadManager.d.ts.map +1 -0
  111. package/dist/{tokens.js → tokens.cjs} +1 -1
  112. package/dist/tokens.cjs.map +1 -0
  113. package/dist/tokens.d.ts +34 -5
  114. package/dist/tokens.d.ts.map +1 -1
  115. package/dist/treeUtils.cjs +107 -0
  116. package/dist/treeUtils.cjs.map +1 -0
  117. package/dist/treeUtils.d.ts +58 -0
  118. package/dist/treeUtils.d.ts.map +1 -0
  119. package/dist/tsdoc-metadata.json +11 -0
  120. package/dist/{urlUtils.js → urlUtils.cjs} +21 -25
  121. package/dist/urlUtils.cjs.map +1 -0
  122. package/dist/urlUtils.d.ts +2 -2
  123. package/dist/urlUtils.d.ts.map +1 -1
  124. package/dist/wholeSummaryDocumentStorageService.cjs +253 -0
  125. package/dist/wholeSummaryDocumentStorageService.cjs.map +1 -0
  126. package/dist/wholeSummaryDocumentStorageService.d.ts +10 -8
  127. package/dist/wholeSummaryDocumentStorageService.d.ts.map +1 -1
  128. package/dist/wholeSummaryUploadManager.cjs +37 -0
  129. package/dist/wholeSummaryUploadManager.cjs.map +1 -0
  130. package/dist/wholeSummaryUploadManager.d.ts +16 -0
  131. package/dist/wholeSummaryUploadManager.d.ts.map +1 -0
  132. package/lib/{cache.d.ts → cache.d.mts} +8 -1
  133. package/lib/cache.d.mts.map +1 -0
  134. package/lib/cache.mjs +25 -0
  135. package/lib/cache.mjs.map +1 -0
  136. package/lib/contracts.d.mts +42 -0
  137. package/lib/contracts.d.mts.map +1 -0
  138. package/lib/{definitions.js → contracts.mjs} +1 -1
  139. package/lib/contracts.mjs.map +1 -0
  140. package/lib/{createNewUtils.d.ts → createNewUtils.d.mts} +2 -2
  141. package/lib/createNewUtils.d.mts.map +1 -0
  142. package/lib/{createNewUtils.js → createNewUtils.mjs} +7 -5
  143. package/lib/createNewUtils.mjs.map +1 -0
  144. package/lib/{defaultTokenProvider.d.ts → defaultTokenProvider.d.mts} +3 -2
  145. package/lib/defaultTokenProvider.d.mts.map +1 -0
  146. package/lib/{defaultTokenProvider.js → defaultTokenProvider.mjs} +2 -1
  147. package/lib/defaultTokenProvider.mjs.map +1 -0
  148. package/lib/{definitions.d.ts → definitions.d.mts} +1 -1
  149. package/lib/definitions.d.mts.map +1 -0
  150. package/lib/definitions.mjs +6 -0
  151. package/{dist/definitions.js.map → lib/definitions.mjs.map} +1 -1
  152. package/lib/{deltaStorageService.d.ts → deltaStorageService.d.mts} +9 -8
  153. package/lib/deltaStorageService.d.mts.map +1 -0
  154. package/lib/deltaStorageService.mjs +117 -0
  155. package/lib/deltaStorageService.mjs.map +1 -0
  156. package/lib/{documentDeltaConnection.d.ts → documentDeltaConnection.d.mts} +4 -5
  157. package/lib/documentDeltaConnection.d.mts.map +1 -0
  158. package/lib/{documentDeltaConnection.js → documentDeltaConnection.mjs} +8 -13
  159. package/lib/documentDeltaConnection.mjs.map +1 -0
  160. package/lib/{documentService.d.ts → documentService.d.mts} +17 -9
  161. package/lib/documentService.d.mts.map +1 -0
  162. package/lib/{documentService.js → documentService.mjs} +60 -44
  163. package/lib/documentService.mjs.map +1 -0
  164. package/lib/{documentServiceFactory.d.ts → documentServiceFactory.d.mts} +8 -6
  165. package/lib/documentServiceFactory.d.mts.map +1 -0
  166. package/lib/{documentServiceFactory.js → documentServiceFactory.mjs} +88 -34
  167. package/lib/documentServiceFactory.mjs.map +1 -0
  168. package/lib/{documentStorageService.d.ts → documentStorageService.d.mts} +8 -7
  169. package/lib/documentStorageService.d.mts.map +1 -0
  170. package/lib/{documentStorageService.js → documentStorageService.mjs} +19 -17
  171. package/lib/documentStorageService.mjs.map +1 -0
  172. package/lib/errorUtils.d.mts +93 -0
  173. package/lib/errorUtils.d.mts.map +1 -0
  174. package/lib/errorUtils.mjs +81 -0
  175. package/lib/errorUtils.mjs.map +1 -0
  176. package/lib/gitManager.d.mts +27 -0
  177. package/lib/gitManager.d.mts.map +1 -0
  178. package/lib/gitManager.mjs +42 -0
  179. package/lib/gitManager.mjs.map +1 -0
  180. package/lib/historian.d.mts +34 -0
  181. package/lib/historian.d.mts.map +1 -0
  182. package/lib/historian.mjs +67 -0
  183. package/lib/historian.mjs.map +1 -0
  184. package/lib/index.d.mts +10 -0
  185. package/lib/index.d.mts.map +1 -0
  186. package/lib/index.mjs +8 -0
  187. package/lib/index.mjs.map +1 -0
  188. package/lib/mapWithExpiration.d.mts +34 -0
  189. package/lib/mapWithExpiration.d.mts.map +1 -0
  190. package/lib/mapWithExpiration.mjs +101 -0
  191. package/lib/mapWithExpiration.mjs.map +1 -0
  192. package/lib/{nullBlobStorageService.d.ts → nullBlobStorageService.d.mts} +1 -1
  193. package/lib/nullBlobStorageService.d.mts.map +1 -0
  194. package/lib/{nullBlobStorageService.js → nullBlobStorageService.mjs} +5 -5
  195. package/lib/nullBlobStorageService.mjs.map +1 -0
  196. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +2 -2
  197. package/lib/packageVersion.d.mts.map +1 -0
  198. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  199. package/lib/packageVersion.mjs.map +1 -0
  200. package/lib/{policies.d.ts → policies.d.mts} +23 -10
  201. package/lib/policies.d.mts.map +1 -0
  202. package/lib/{policies.js → policies.mjs} +1 -1
  203. package/lib/policies.mjs.map +1 -0
  204. package/lib/r11sSnapshotParser.d.mts +14 -0
  205. package/lib/r11sSnapshotParser.d.mts.map +1 -0
  206. package/lib/r11sSnapshotParser.mjs +69 -0
  207. package/lib/r11sSnapshotParser.mjs.map +1 -0
  208. package/lib/restWrapper.d.mts +53 -0
  209. package/lib/restWrapper.d.mts.map +1 -0
  210. package/lib/restWrapper.mjs +236 -0
  211. package/lib/restWrapper.mjs.map +1 -0
  212. package/lib/restWrapperBase.d.mts +26 -0
  213. package/lib/restWrapperBase.d.mts.map +1 -0
  214. package/lib/restWrapperBase.mjs +84 -0
  215. package/lib/restWrapperBase.mjs.map +1 -0
  216. package/lib/retriableGitManager.d.mts +24 -0
  217. package/lib/retriableGitManager.d.mts.map +1 -0
  218. package/lib/retriableGitManager.mjs +36 -0
  219. package/lib/retriableGitManager.mjs.map +1 -0
  220. package/lib/routerlicious-driver-alpha.d.mts +92 -0
  221. package/lib/routerlicious-driver-beta.d.mts +98 -0
  222. package/lib/routerlicious-driver-public.d.mts +98 -0
  223. package/lib/routerlicious-driver-untrimmed.d.mts +261 -0
  224. package/lib/{shreddedSummaryDocumentStorageService.d.ts → shreddedSummaryDocumentStorageService.d.mts} +10 -9
  225. package/lib/shreddedSummaryDocumentStorageService.d.mts.map +1 -0
  226. package/lib/{shreddedSummaryDocumentStorageService.js → shreddedSummaryDocumentStorageService.mjs} +41 -34
  227. package/lib/shreddedSummaryDocumentStorageService.mjs.map +1 -0
  228. package/lib/storageContracts.d.mts +45 -0
  229. package/lib/storageContracts.d.mts.map +1 -0
  230. package/lib/storageContracts.mjs +6 -0
  231. package/lib/storageContracts.mjs.map +1 -0
  232. package/lib/summaryTreeUploadManager.d.mts +23 -0
  233. package/lib/summaryTreeUploadManager.d.mts.map +1 -0
  234. package/lib/summaryTreeUploadManager.mjs +106 -0
  235. package/lib/summaryTreeUploadManager.mjs.map +1 -0
  236. package/lib/{tokens.d.ts → tokens.d.mts} +35 -6
  237. package/lib/tokens.d.mts.map +1 -0
  238. package/lib/{tokens.js → tokens.mjs} +1 -1
  239. package/lib/tokens.mjs.map +1 -0
  240. package/lib/treeUtils.d.mts +58 -0
  241. package/lib/treeUtils.d.mts.map +1 -0
  242. package/lib/treeUtils.mjs +100 -0
  243. package/lib/treeUtils.mjs.map +1 -0
  244. package/lib/{urlUtils.d.ts → urlUtils.d.mts} +3 -3
  245. package/lib/urlUtils.d.mts.map +1 -0
  246. package/lib/urlUtils.mjs +38 -0
  247. package/lib/urlUtils.mjs.map +1 -0
  248. package/lib/{wholeSummaryDocumentStorageService.d.ts → wholeSummaryDocumentStorageService.d.mts} +13 -11
  249. package/lib/wholeSummaryDocumentStorageService.d.mts.map +1 -0
  250. package/lib/wholeSummaryDocumentStorageService.mjs +249 -0
  251. package/lib/wholeSummaryDocumentStorageService.mjs.map +1 -0
  252. package/lib/wholeSummaryUploadManager.d.mts +16 -0
  253. package/lib/wholeSummaryUploadManager.d.mts.map +1 -0
  254. package/lib/wholeSummaryUploadManager.mjs +33 -0
  255. package/lib/wholeSummaryUploadManager.mjs.map +1 -0
  256. package/package.json +142 -68
  257. package/prettier.config.cjs +8 -0
  258. package/src/cache.ts +25 -9
  259. package/src/contracts.ts +60 -0
  260. package/src/createNewUtils.ts +26 -24
  261. package/src/defaultTokenProvider.ts +14 -15
  262. package/src/definitions.ts +2 -2
  263. package/src/deltaStorageService.ts +145 -91
  264. package/src/documentDeltaConnection.ts +54 -52
  265. package/src/documentService.ts +272 -242
  266. package/src/documentServiceFactory.ts +338 -237
  267. package/src/documentStorageService.ts +92 -84
  268. package/src/errorUtils.ts +117 -79
  269. package/src/gitManager.ts +67 -0
  270. package/src/historian.ts +121 -0
  271. package/src/index.ts +15 -8
  272. package/src/mapWithExpiration.ts +124 -0
  273. package/src/nullBlobStorageService.ts +24 -21
  274. package/src/packageVersion.ts +1 -1
  275. package/src/policies.ts +51 -38
  276. package/src/r11sSnapshotParser.ts +82 -0
  277. package/src/restWrapper.ts +400 -216
  278. package/src/restWrapperBase.ts +146 -0
  279. package/src/retriableGitManager.ts +76 -153
  280. package/src/shreddedSummaryDocumentStorageService.ts +214 -195
  281. package/src/storageContracts.ts +63 -0
  282. package/src/summaryTreeUploadManager.ts +155 -0
  283. package/src/tokens.ts +74 -39
  284. package/src/treeUtils.ts +138 -0
  285. package/src/urlUtils.ts +27 -28
  286. package/src/wholeSummaryDocumentStorageService.ts +352 -252
  287. package/src/wholeSummaryUploadManager.ts +64 -0
  288. package/tsc-multi.test.json +4 -0
  289. package/tsconfig.json +10 -13
  290. package/dist/cache.js +0 -20
  291. package/dist/cache.js.map +0 -1
  292. package/dist/createNewUtils.js.map +0 -1
  293. package/dist/defaultTokenProvider.js.map +0 -1
  294. package/dist/deltaStorageService.js +0 -82
  295. package/dist/deltaStorageService.js.map +0 -1
  296. package/dist/documentDeltaConnection.js.map +0 -1
  297. package/dist/documentService.js.map +0 -1
  298. package/dist/documentServiceFactory.js.map +0 -1
  299. package/dist/documentStorageService.js.map +0 -1
  300. package/dist/errorUtils.js +0 -56
  301. package/dist/errorUtils.js.map +0 -1
  302. package/dist/index.js +0 -25
  303. package/dist/index.js.map +0 -1
  304. package/dist/nullBlobStorageService.js.map +0 -1
  305. package/dist/packageVersion.js.map +0 -1
  306. package/dist/policies.js.map +0 -1
  307. package/dist/restWrapper.js +0 -153
  308. package/dist/restWrapper.js.map +0 -1
  309. package/dist/retriableGitManager.js +0 -76
  310. package/dist/retriableGitManager.js.map +0 -1
  311. package/dist/shreddedSummaryDocumentStorageService.js.map +0 -1
  312. package/dist/tokens.js.map +0 -1
  313. package/dist/urlUtils.js.map +0 -1
  314. package/dist/wholeSummaryDocumentStorageService.js +0 -191
  315. package/dist/wholeSummaryDocumentStorageService.js.map +0 -1
  316. package/lib/cache.d.ts.map +0 -1
  317. package/lib/cache.js +0 -16
  318. package/lib/cache.js.map +0 -1
  319. package/lib/createNewUtils.d.ts.map +0 -1
  320. package/lib/createNewUtils.js.map +0 -1
  321. package/lib/defaultTokenProvider.d.ts.map +0 -1
  322. package/lib/defaultTokenProvider.js.map +0 -1
  323. package/lib/definitions.d.ts.map +0 -1
  324. package/lib/definitions.js.map +0 -1
  325. package/lib/deltaStorageService.d.ts.map +0 -1
  326. package/lib/deltaStorageService.js +0 -77
  327. package/lib/deltaStorageService.js.map +0 -1
  328. package/lib/documentDeltaConnection.d.ts.map +0 -1
  329. package/lib/documentDeltaConnection.js.map +0 -1
  330. package/lib/documentService.d.ts.map +0 -1
  331. package/lib/documentService.js.map +0 -1
  332. package/lib/documentServiceFactory.d.ts.map +0 -1
  333. package/lib/documentServiceFactory.js.map +0 -1
  334. package/lib/documentStorageService.d.ts.map +0 -1
  335. package/lib/documentStorageService.js.map +0 -1
  336. package/lib/errorUtils.d.ts +0 -47
  337. package/lib/errorUtils.d.ts.map +0 -1
  338. package/lib/errorUtils.js +0 -50
  339. package/lib/errorUtils.js.map +0 -1
  340. package/lib/index.d.ts +0 -13
  341. package/lib/index.d.ts.map +0 -1
  342. package/lib/index.js +0 -13
  343. package/lib/index.js.map +0 -1
  344. package/lib/nullBlobStorageService.d.ts.map +0 -1
  345. package/lib/nullBlobStorageService.js.map +0 -1
  346. package/lib/packageVersion.d.ts.map +0 -1
  347. package/lib/packageVersion.js.map +0 -1
  348. package/lib/policies.d.ts.map +0 -1
  349. package/lib/policies.js.map +0 -1
  350. package/lib/restWrapper.d.ts +0 -33
  351. package/lib/restWrapper.d.ts.map +0 -1
  352. package/lib/restWrapper.js +0 -144
  353. package/lib/restWrapper.js.map +0 -1
  354. package/lib/retriableGitManager.d.ts +0 -34
  355. package/lib/retriableGitManager.d.ts.map +0 -1
  356. package/lib/retriableGitManager.js +0 -72
  357. package/lib/retriableGitManager.js.map +0 -1
  358. package/lib/shreddedSummaryDocumentStorageService.d.ts.map +0 -1
  359. package/lib/shreddedSummaryDocumentStorageService.js.map +0 -1
  360. package/lib/tokens.d.ts.map +0 -1
  361. package/lib/tokens.js.map +0 -1
  362. package/lib/urlUtils.d.ts.map +0 -1
  363. package/lib/urlUtils.js +0 -42
  364. package/lib/urlUtils.js.map +0 -1
  365. package/lib/wholeSummaryDocumentStorageService.d.ts.map +0 -1
  366. package/lib/wholeSummaryDocumentStorageService.js +0 -187
  367. package/lib/wholeSummaryDocumentStorageService.js.map +0 -1
  368. package/tsconfig.esnext.json +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/routerlicious-driver",
3
- "version": "1.4.0-121020",
3
+ "version": "2.0.0-dev-rc.1.0.0.225277",
4
4
  "description": "Socket.IO + Git implementation of Fluid service API",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -11,44 +11,72 @@
11
11
  "license": "MIT",
12
12
  "author": "Microsoft and contributors",
13
13
  "sideEffects": false,
14
- "main": "dist/index.js",
15
- "module": "lib/index.js",
16
- "types": "dist/index.d.ts",
17
- "scripts": {
18
- "build": "npm run build:genver && concurrently npm:build:compile npm:lint && npm run build:docs",
19
- "build:commonjs": "npm run tsc && npm run typetests:gen && npm run build:test",
20
- "build:compile": "concurrently npm:build:commonjs npm:build:esnext",
21
- "build:docs": "api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/",
22
- "build:esnext": "tsc --project ./tsconfig.esnext.json",
23
- "build:full": "npm run build",
24
- "build:full:compile": "npm run build:compile",
25
- "build:genver": "gen-version",
26
- "build:test": "tsc --project ./src/test/tsconfig.json",
27
- "ci:build:docs": "api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/",
28
- "clean": "rimraf dist lib *.tsbuildinfo *.build.log",
29
- "eslint": "eslint --format stylish src",
30
- "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
31
- "lint": "npm run eslint",
32
- "lint:fix": "npm run eslint:fix",
33
- "test": "npm run test:mocha",
34
- "test:coverage": "nyc npm test -- --reporter xunit --reporter-option output=nyc/junit-report.xml",
35
- "test:mocha": "mocha --ignore 'dist/test/types/*' --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup --unhandled-rejections=strict",
36
- "test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
37
- "tsc": "tsc",
38
- "typetests:gen": "flub generate typetests --generate --dir . --no-generateInName",
39
- "typetests:prepare": "flub generate typetests --prepare --dir . --pin"
14
+ "exports": {
15
+ ".": {
16
+ "import": {
17
+ "types": "./lib/index.d.mts",
18
+ "default": "./lib/index.mjs"
19
+ },
20
+ "require": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.cjs"
23
+ }
24
+ },
25
+ "./alpha": {
26
+ "import": {
27
+ "types": "./lib/routerlicious-driver-alpha.d.mts",
28
+ "default": "./lib/index.mjs"
29
+ },
30
+ "require": {
31
+ "types": "./dist/routerlicious-driver-alpha.d.ts",
32
+ "default": "./dist/index.cjs"
33
+ }
34
+ },
35
+ "./beta": {
36
+ "import": {
37
+ "types": "./lib/routerlicious-driver-beta.d.mts",
38
+ "default": "./lib/index.mjs"
39
+ },
40
+ "require": {
41
+ "types": "./dist/routerlicious-driver-beta.d.ts",
42
+ "default": "./dist/index.cjs"
43
+ }
44
+ },
45
+ "./internal": {
46
+ "import": {
47
+ "types": "./lib/index.d.mts",
48
+ "default": "./lib/index.mjs"
49
+ },
50
+ "require": {
51
+ "types": "./dist/index.d.ts",
52
+ "default": "./dist/index.cjs"
53
+ }
54
+ },
55
+ "./public": {
56
+ "import": {
57
+ "types": "./lib/routerlicious-driver-public.d.mts",
58
+ "default": "./lib/index.mjs"
59
+ },
60
+ "require": {
61
+ "types": "./dist/routerlicious-driver-public.d.ts",
62
+ "default": "./dist/index.cjs"
63
+ }
64
+ }
40
65
  },
41
- "nyc": {
66
+ "main": "dist/index.cjs",
67
+ "module": "lib/index.mjs",
68
+ "types": "dist/index.d.ts",
69
+ "c8": {
42
70
  "all": true,
43
71
  "cache-dir": "nyc/.cache",
44
72
  "exclude": [
45
- "src/test/**/*.ts",
46
- "dist/test/**/*.js"
73
+ "src/test/**/*.*ts",
74
+ "dist/test/**/*.*js"
47
75
  ],
48
76
  "exclude-after-remap": false,
49
77
  "include": [
50
- "src/**/*.ts",
51
- "dist/**/*.js"
78
+ "src/**/*.*ts",
79
+ "dist/**/*.*js"
52
80
  ],
53
81
  "report-dir": "nyc/report",
54
82
  "reporter": [
@@ -59,51 +87,97 @@
59
87
  "temp-directory": "nyc/.nyc_output"
60
88
  },
61
89
  "dependencies": {
62
- "@fluidframework/common-definitions": "^0.20.1",
63
- "@fluidframework/common-utils": "^0.32.1",
64
- "@fluidframework/driver-base": "1.4.0-121020",
65
- "@fluidframework/driver-definitions": "1.4.0-121020",
66
- "@fluidframework/driver-utils": "1.4.0-121020",
67
- "@fluidframework/gitresources": "^0.1036.5000",
68
- "@fluidframework/protocol-base": "^0.1036.5000",
69
- "@fluidframework/protocol-definitions": "^0.1028.2000",
70
- "@fluidframework/server-services-client": "^0.1036.5000",
71
- "@fluidframework/telemetry-utils": "1.4.0-121020",
90
+ "@fluid-internal/client-utils": "2.0.0-dev-rc.1.0.0.225277",
91
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.1.0.0.225277",
92
+ "@fluidframework/core-utils": "2.0.0-dev-rc.1.0.0.225277",
93
+ "@fluidframework/driver-base": "2.0.0-dev-rc.1.0.0.225277",
94
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.1.0.0.225277",
95
+ "@fluidframework/driver-utils": "2.0.0-dev-rc.1.0.0.225277",
96
+ "@fluidframework/gitresources": "^3.0.0-223236",
97
+ "@fluidframework/protocol-base": "^3.0.0-223236",
98
+ "@fluidframework/protocol-definitions": "^3.1.0-223007",
99
+ "@fluidframework/server-services-client": "^3.0.0-223236",
100
+ "@fluidframework/telemetry-utils": "2.0.0-dev-rc.1.0.0.225277",
72
101
  "cross-fetch": "^3.1.5",
73
102
  "json-stringify-safe": "5.0.1",
74
- "querystring": "^0.2.0",
75
- "socket.io-client": "^4.4.1",
103
+ "socket.io-client": "^4.6.1",
76
104
  "url-parse": "^1.5.8",
77
- "uuid": "^8.3.1"
105
+ "uuid": "^9.0.0"
78
106
  },
79
107
  "devDependencies": {
80
- "@fluidframework/build-common": "^0.24.0",
81
- "@fluidframework/build-tools": "^0.6.0-110101",
82
- "@fluidframework/eslint-config-fluid": "^0.28.2000",
83
- "@fluidframework/mocha-test-setup": "1.4.0-121020",
84
- "@fluidframework/routerlicious-driver-previous": "npm:@fluidframework/routerlicious-driver@1.3.1",
85
- "@microsoft/api-extractor": "^7.22.2",
86
- "@rushstack/eslint-config": "^2.5.1",
108
+ "@arethetypeswrong/cli": "^0.13.3",
109
+ "@fluid-tools/build-cli": "0.29.0-222379",
110
+ "@fluidframework/build-common": "^2.0.3",
111
+ "@fluidframework/build-tools": "0.29.0-222379",
112
+ "@fluidframework/eslint-config-fluid": "^3.1.0",
113
+ "@fluidframework/mocha-test-setup": "2.0.0-dev-rc.1.0.0.225277",
114
+ "@fluidframework/routerlicious-driver-previous": "npm:@fluidframework/routerlicious-driver@2.0.0-internal.8.0.0",
115
+ "@microsoft/api-extractor": "^7.38.3",
87
116
  "@types/mocha": "^9.1.1",
88
117
  "@types/nock": "^9.3.0",
118
+ "@types/node": "^18.19.0",
119
+ "@types/sinon": "^7.0.13",
89
120
  "@types/url-parse": "1.4.4",
90
- "@types/uuid": "^8.3.0",
91
- "axios": "^0.26.0",
92
- "concurrently": "^6.2.0",
93
- "copyfiles": "^2.1.0",
94
- "cross-env": "^7.0.2",
95
- "eslint": "~8.6.0",
96
- "mocha": "^10.0.0",
97
- "nock": "^10.0.1",
98
- "nyc": "^15.0.0",
99
- "rimraf": "^2.6.2",
100
- "typescript": "~4.5.5",
101
- "typescript-formatter": "7.1.0"
121
+ "@types/uuid": "^9.0.2",
122
+ "axios": "^1.6.2",
123
+ "c8": "^8.0.1",
124
+ "copyfiles": "^2.4.1",
125
+ "cross-env": "^7.0.3",
126
+ "eslint": "~8.50.0",
127
+ "mocha": "^10.2.0",
128
+ "mocha-json-output-reporter": "^2.0.1",
129
+ "mocha-multi-reporters": "^1.5.1",
130
+ "moment": "^2.21.0",
131
+ "nock": "^13.3.3",
132
+ "prettier": "~3.0.3",
133
+ "rimraf": "^4.4.0",
134
+ "sinon": "^7.4.2",
135
+ "tsc-multi": "^1.1.0",
136
+ "typescript": "~5.1.6"
137
+ },
138
+ "fluidBuild": {
139
+ "tasks": {
140
+ "build:docs": {
141
+ "dependsOn": [
142
+ "...",
143
+ "api-extractor:commonjs",
144
+ "api-extractor:esnext"
145
+ ],
146
+ "script": false
147
+ }
148
+ }
102
149
  },
103
150
  "typeValidation": {
104
- "version": "1.4.0",
105
- "baselineRange": "~1.3.0",
106
- "baselineVersion": "1.3.1",
107
151
  "broken": {}
152
+ },
153
+ "scripts": {
154
+ "api": "fluid-build . --task api",
155
+ "api-extractor:commonjs": "api-extractor run --local",
156
+ "api-extractor:esnext": "api-extractor run --config ./api-extractor-esm.json",
157
+ "build": "fluid-build . --task build",
158
+ "build:commonjs": "fluid-build . --task commonjs",
159
+ "build:compile": "fluid-build . --task compile",
160
+ "build:docs": "fluid-build . --task api",
161
+ "build:esnext": "tsc-multi --config ../../../common/build/build-common/tsc-multi.esm.json",
162
+ "build:genver": "gen-version",
163
+ "build:test": "tsc-multi --config ./tsc-multi.test.json",
164
+ "check:are-the-types-wrong": "attw --pack . --entrypoints .",
165
+ "check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
166
+ "ci:build:docs": "api-extractor run",
167
+ "clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
168
+ "eslint": "eslint --format stylish src",
169
+ "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
170
+ "format": "npm run prettier:fix",
171
+ "lint": "npm run prettier && npm run check:release-tags && npm run eslint",
172
+ "lint:fix": "npm run prettier:fix && npm run eslint:fix",
173
+ "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
174
+ "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
175
+ "test": "npm run test:mocha",
176
+ "test:coverage": "c8 npm test",
177
+ "test:mocha": "mocha --ignore \"dist/test/types/*\" --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup",
178
+ "test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
179
+ "tsc": "tsc-multi --config ../../../common/build/build-common/tsc-multi.cjs.json",
180
+ "typetests:gen": "fluid-type-test-generator",
181
+ "typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
108
182
  }
109
- }
183
+ }
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ module.exports = {
7
+ ...require("@fluidframework/build-common/prettier.config.cjs"),
8
+ };
package/src/cache.ts CHANGED
@@ -3,19 +3,35 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { MapWithExpiration } from "./mapWithExpiration";
7
+
6
8
  export interface ICache<T> {
7
- get(key: string): Promise<T | undefined>;
8
- put(key: string, value: T): Promise<void>;
9
+ get(key: string): Promise<T | undefined>;
10
+ put(key: string, value: T): Promise<void>;
9
11
  }
10
12
 
13
+ /** A basic in-memory cache that optionally supports expiring entries after a period of inactivity */
11
14
  export class InMemoryCache<T> implements ICache<T> {
12
- private readonly cache: Map<string, T> = new Map();
15
+ private readonly cache: Map<string, T>;
16
+
17
+ constructor(expirationMs?: number) {
18
+ this.cache = expirationMs !== undefined ? new MapWithExpiration(expirationMs) : new Map();
19
+ }
20
+
21
+ public async get(key: string): Promise<T | undefined> {
22
+ return this.cache.get(key);
23
+ }
24
+
25
+ public async put(key: string, value: T): Promise<void> {
26
+ this.cache.set(key, value);
27
+ }
28
+ }
13
29
 
14
- public async get(key: string): Promise<T | undefined> {
15
- return this.cache.get(key);
16
- }
30
+ /** This "cache" does nothing on put, and get always returns undefined */
31
+ export class NullCache<T> implements ICache<T> {
32
+ public async get(key: string): Promise<T | undefined> {
33
+ return undefined;
34
+ }
17
35
 
18
- public async put(key: string, value: T): Promise<void> {
19
- this.cache.set(key, value);
20
- }
36
+ public async put(key: string, value: T): Promise<void> {}
21
37
  }
@@ -0,0 +1,60 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { ISnapshotTree } from "@fluidframework/protocol-definitions";
7
+
8
+ /*
9
+ *
10
+ * Whole Snapshot Download Data Structures
11
+ *
12
+ */
13
+
14
+ export interface IWholeFlatSnapshotTreeEntryTree {
15
+ path: string;
16
+ type: "tree";
17
+ // Indicates that this tree entry is unreferenced. If this is not present, the tree entry is considered referenced.
18
+ unreferenced?: true;
19
+ }
20
+
21
+ export interface IWholeFlatSnapshotTreeEntryBlob {
22
+ id: string;
23
+ path: string;
24
+ type: "blob";
25
+ }
26
+
27
+ export type IWholeFlatSnapshotTreeEntry =
28
+ | IWholeFlatSnapshotTreeEntryTree
29
+ | IWholeFlatSnapshotTreeEntryBlob;
30
+
31
+ export interface IWholeFlatSnapshotTree {
32
+ entries: IWholeFlatSnapshotTreeEntry[];
33
+ id: string;
34
+ sequenceNumber: number;
35
+ }
36
+
37
+ export interface IWholeFlatSnapshotBlob {
38
+ content: string;
39
+ encoding: "base64" | "utf-8";
40
+ id: string;
41
+ size: number;
42
+ }
43
+
44
+ export interface IWholeFlatSnapshot {
45
+ // The same as the id of the first snapshot tree in the trees array.
46
+ id: string;
47
+ // Receive an array of snapshot trees for future-proofing, however, always length 1 for now.
48
+ trees: IWholeFlatSnapshotTree[];
49
+ blobs?: IWholeFlatSnapshotBlob[];
50
+ }
51
+
52
+ /**
53
+ * Normalized Whole Summary with decoded blobs and unflattened snapshot tree.
54
+ */
55
+ export interface INormalizedWholeSnapshot {
56
+ blobs: Map<string, ArrayBuffer>;
57
+ snapshotTree: ISnapshotTree;
58
+ sequenceNumber: number | undefined;
59
+ id: string;
60
+ }
@@ -3,37 +3,39 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { Uint8ArrayToString } from "@fluidframework/common-utils";
6
+ import { Uint8ArrayToString } from "@fluid-internal/client-utils";
7
7
  import { ISummaryTree, SummaryType } from "@fluidframework/protocol-definitions";
8
8
 
9
9
  /**
10
10
  * Utility api to convert ISummaryTree to a summary tree where blob contents are only utf8 strings.
11
11
  * @param summary - Summary supplied by the runtime to upload.
12
- * @returns - Modified summary tree where the blob contents could be utf8 string only.
12
+ * @returns Modified summary tree where the blob contents could be utf8 string only.
13
13
  */
14
14
  export function convertSummaryToCreateNewSummary(summary: ISummaryTree): ISummaryTree {
15
- const keys = Object.keys(summary.tree);
16
- for (const key of keys) {
17
- const summaryObject = summary.tree[key];
15
+ const keys = Object.keys(summary.tree);
16
+ for (const key of keys) {
17
+ const summaryObject = summary.tree[key];
18
18
 
19
- switch (summaryObject.type) {
20
- case SummaryType.Tree: {
21
- summary.tree[key] = convertSummaryToCreateNewSummary(summaryObject);
22
- break;
23
- }
24
- case SummaryType.Blob: {
25
- summaryObject.content = typeof summaryObject.content === "string" ?
26
- summaryObject.content : Uint8ArrayToString(summaryObject.content, "utf8");
27
- break;
28
- }
29
- case SummaryType.Handle: {
30
- throw new Error("No handle should be present for first summary!!");
31
- }
32
- default: {
33
- throw new Error(`Unknown tree type ${summaryObject.type}`);
34
- }
35
- }
36
- }
19
+ switch (summaryObject.type) {
20
+ case SummaryType.Tree: {
21
+ summary.tree[key] = convertSummaryToCreateNewSummary(summaryObject);
22
+ break;
23
+ }
24
+ case SummaryType.Blob: {
25
+ summaryObject.content =
26
+ typeof summaryObject.content === "string"
27
+ ? summaryObject.content
28
+ : Uint8ArrayToString(summaryObject.content, "utf8");
29
+ break;
30
+ }
31
+ case SummaryType.Handle: {
32
+ throw new Error("No handle should be present for first summary!!");
33
+ }
34
+ default: {
35
+ throw new Error(`Unknown tree type ${summaryObject.type}`);
36
+ }
37
+ }
38
+ }
37
39
 
38
- return summary;
40
+ return summary;
39
41
  }
@@ -7,24 +7,23 @@ import { ITokenProvider, ITokenResponse } from "./tokens";
7
7
 
8
8
  /**
9
9
  * Default token provider in case the host does not provide one. It simply caches the provided jwt and returns it back.
10
+ * @internal
10
11
  */
11
12
 
12
13
  export class DefaultTokenProvider implements ITokenProvider {
13
- constructor(private readonly jwt: string) {
14
+ constructor(private readonly jwt: string) {}
14
15
 
15
- }
16
+ public async fetchOrdererToken(): Promise<ITokenResponse> {
17
+ return {
18
+ fromCache: true,
19
+ jwt: this.jwt,
20
+ };
21
+ }
16
22
 
17
- public async fetchOrdererToken(): Promise<ITokenResponse> {
18
- return {
19
- fromCache: true,
20
- jwt: this.jwt,
21
- };
22
- }
23
-
24
- public async fetchStorageToken(): Promise<ITokenResponse> {
25
- return {
26
- fromCache: true,
27
- jwt: this.jwt,
28
- };
29
- }
23
+ public async fetchStorageToken(): Promise<ITokenResponse> {
24
+ return {
25
+ fromCache: true,
26
+ jwt: this.jwt,
27
+ };
28
+ }
30
29
  }
@@ -6,6 +6,6 @@
6
6
  import { ISnapshotTree } from "@fluidframework/protocol-definitions";
7
7
 
8
8
  export interface ISnapshotTreeVersion {
9
- id: string;
10
- snapshotTree: ISnapshotTree;
9
+ id: string;
10
+ snapshotTree: ISnapshotTree;
11
11
  }