@strapi/data-transfer 0.0.0-experimental.62ebf57bb35846666febb5ee2078fe02fe990f57 → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

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 (419) hide show
  1. package/dist/directory/index.d.ts +2 -0
  2. package/dist/directory/index.d.ts.map +1 -0
  3. package/dist/directory/index.js +8 -0
  4. package/dist/directory/index.js.map +1 -0
  5. package/dist/directory/index.mjs +3 -0
  6. package/dist/directory/index.mjs.map +1 -0
  7. package/dist/directory/providers/destination/index.d.ts +38 -0
  8. package/dist/directory/providers/destination/index.d.ts.map +1 -0
  9. package/dist/directory/providers/destination/index.js +184 -0
  10. package/dist/directory/providers/destination/index.js.map +1 -0
  11. package/dist/directory/providers/destination/index.mjs +177 -0
  12. package/dist/directory/providers/destination/index.mjs.map +1 -0
  13. package/dist/directory/providers/destination/utils.d.ts +8 -0
  14. package/dist/directory/providers/destination/utils.d.ts.map +1 -0
  15. package/dist/directory/providers/destination/utils.js +62 -0
  16. package/dist/directory/providers/destination/utils.js.map +1 -0
  17. package/dist/directory/providers/destination/utils.mjs +56 -0
  18. package/dist/directory/providers/destination/utils.mjs.map +1 -0
  19. package/dist/directory/providers/index.d.ts +3 -0
  20. package/dist/directory/providers/index.d.ts.map +1 -0
  21. package/dist/directory/providers/index.js +10 -0
  22. package/dist/directory/providers/index.js.map +1 -0
  23. package/dist/directory/providers/index.mjs +3 -0
  24. package/dist/directory/providers/index.mjs.map +1 -0
  25. package/dist/directory/providers/source/index.d.ts +27 -0
  26. package/dist/directory/providers/source/index.d.ts.map +1 -0
  27. package/dist/directory/providers/source/index.js +266 -0
  28. package/dist/directory/providers/source/index.js.map +1 -0
  29. package/dist/directory/providers/source/index.mjs +259 -0
  30. package/dist/directory/providers/source/index.mjs.map +1 -0
  31. package/dist/engine/errors.js +39 -0
  32. package/dist/engine/errors.js.map +1 -0
  33. package/dist/engine/errors.mjs +34 -0
  34. package/dist/engine/errors.mjs.map +1 -0
  35. package/dist/engine/index.d.ts +2 -3
  36. package/dist/engine/index.d.ts.map +1 -1
  37. package/dist/engine/index.js +922 -0
  38. package/dist/engine/index.js.map +1 -0
  39. package/dist/engine/index.mjs +917 -0
  40. package/dist/engine/index.mjs.map +1 -0
  41. package/dist/engine/validation/provider.d.ts +2 -2
  42. package/dist/engine/validation/provider.d.ts.map +1 -1
  43. package/dist/engine/validation/provider.js +19 -0
  44. package/dist/engine/validation/provider.js.map +1 -0
  45. package/dist/engine/validation/provider.mjs +17 -0
  46. package/dist/engine/validation/provider.mjs.map +1 -0
  47. package/dist/engine/validation/schemas/index.d.ts.map +1 -1
  48. package/dist/engine/validation/schemas/index.js +59 -0
  49. package/dist/engine/validation/schemas/index.js.map +1 -0
  50. package/dist/engine/validation/schemas/index.mjs +57 -0
  51. package/dist/engine/validation/schemas/index.mjs.map +1 -0
  52. package/dist/errors/base.js +13 -0
  53. package/dist/errors/base.js.map +1 -0
  54. package/dist/errors/base.mjs +11 -0
  55. package/dist/errors/base.mjs.map +1 -0
  56. package/dist/errors/constants.d.ts +1 -1
  57. package/dist/errors/constants.d.ts.map +1 -1
  58. package/dist/errors/constants.js +9 -0
  59. package/dist/errors/constants.js.map +1 -0
  60. package/dist/errors/constants.mjs +7 -0
  61. package/dist/errors/constants.mjs.map +1 -0
  62. package/dist/errors/providers.d.ts +1 -1
  63. package/dist/errors/providers.d.ts.map +1 -1
  64. package/dist/errors/providers.js +41 -0
  65. package/dist/errors/providers.js.map +1 -0
  66. package/dist/errors/providers.mjs +36 -0
  67. package/dist/errors/providers.mjs.map +1 -0
  68. package/dist/file/index.js +8 -0
  69. package/dist/file/index.js.map +1 -0
  70. package/dist/file/index.mjs +3 -0
  71. package/dist/file/index.mjs.map +1 -0
  72. package/dist/file/providers/destination/index.d.ts +3 -5
  73. package/dist/file/providers/destination/index.d.ts.map +1 -1
  74. package/dist/file/providers/destination/index.js +254 -0
  75. package/dist/file/providers/destination/index.js.map +1 -0
  76. package/dist/file/providers/destination/index.mjs +246 -0
  77. package/dist/file/providers/destination/index.mjs.map +1 -0
  78. package/dist/file/providers/destination/utils.d.ts +0 -1
  79. package/dist/file/providers/destination/utils.d.ts.map +1 -1
  80. package/dist/file/providers/destination/utils.js +63 -0
  81. package/dist/file/providers/destination/utils.js.map +1 -0
  82. package/dist/file/providers/destination/utils.mjs +60 -0
  83. package/dist/file/providers/destination/utils.mjs.map +1 -0
  84. package/dist/file/providers/index.js +10 -0
  85. package/dist/file/providers/index.js.map +1 -0
  86. package/dist/file/providers/index.mjs +3 -0
  87. package/dist/file/providers/index.mjs.map +1 -0
  88. package/dist/file/providers/source/index.d.ts +4 -6
  89. package/dist/file/providers/source/index.d.ts.map +1 -1
  90. package/dist/file/providers/source/index.js +336 -0
  91. package/dist/file/providers/source/index.js.map +1 -0
  92. package/dist/file/providers/source/index.mjs +328 -0
  93. package/dist/file/providers/source/index.mjs.map +1 -0
  94. package/dist/file/providers/source/utils.d.ts.map +1 -1
  95. package/dist/file/providers/source/utils.js +60 -0
  96. package/dist/file/providers/source/utils.js.map +1 -0
  97. package/dist/file/providers/source/utils.mjs +52 -0
  98. package/dist/file/providers/source/utils.mjs.map +1 -0
  99. package/dist/index.d.ts +1 -1
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +15 -5423
  102. package/dist/index.js.map +1 -1
  103. package/dist/index.mjs +10 -5392
  104. package/dist/index.mjs.map +1 -1
  105. package/dist/strapi/index.js +12 -0
  106. package/dist/strapi/index.js.map +1 -0
  107. package/dist/strapi/index.mjs +7 -0
  108. package/dist/strapi/index.mjs.map +1 -0
  109. package/dist/strapi/providers/index.js +18 -0
  110. package/dist/strapi/providers/index.js.map +1 -0
  111. package/dist/strapi/providers/index.mjs +8 -0
  112. package/dist/strapi/providers/index.mjs.map +1 -0
  113. package/dist/strapi/providers/local-destination/assets-destination-writable.d.ts +26 -0
  114. package/dist/strapi/providers/local-destination/assets-destination-writable.d.ts.map +1 -0
  115. package/dist/strapi/providers/local-destination/assets-destination-writable.js +125 -0
  116. package/dist/strapi/providers/local-destination/assets-destination-writable.js.map +1 -0
  117. package/dist/strapi/providers/local-destination/assets-destination-writable.mjs +123 -0
  118. package/dist/strapi/providers/local-destination/assets-destination-writable.mjs.map +1 -0
  119. package/dist/strapi/providers/local-destination/index.d.ts +9 -7
  120. package/dist/strapi/providers/local-destination/index.d.ts.map +1 -1
  121. package/dist/strapi/providers/local-destination/index.js +362 -0
  122. package/dist/strapi/providers/local-destination/index.js.map +1 -0
  123. package/dist/strapi/providers/local-destination/index.mjs +335 -0
  124. package/dist/strapi/providers/local-destination/index.mjs.map +1 -0
  125. package/dist/strapi/providers/local-destination/strategies/restore/configuration.d.ts +4 -5
  126. package/dist/strapi/providers/local-destination/strategies/restore/configuration.d.ts.map +1 -1
  127. package/dist/strapi/providers/local-destination/strategies/restore/configuration.js +58 -0
  128. package/dist/strapi/providers/local-destination/strategies/restore/configuration.js.map +1 -0
  129. package/dist/strapi/providers/local-destination/strategies/restore/configuration.mjs +51 -0
  130. package/dist/strapi/providers/local-destination/strategies/restore/configuration.mjs.map +1 -0
  131. package/dist/strapi/providers/local-destination/strategies/restore/entities.d.ts +4 -5
  132. package/dist/strapi/providers/local-destination/strategies/restore/entities.d.ts.map +1 -1
  133. package/dist/strapi/providers/local-destination/strategies/restore/entities.js +54 -0
  134. package/dist/strapi/providers/local-destination/strategies/restore/entities.js.map +1 -0
  135. package/dist/strapi/providers/local-destination/strategies/restore/entities.mjs +52 -0
  136. package/dist/strapi/providers/local-destination/strategies/restore/entities.mjs.map +1 -0
  137. package/dist/strapi/providers/local-destination/strategies/restore/index.d.ts +3 -3
  138. package/dist/strapi/providers/local-destination/strategies/restore/index.d.ts.map +1 -1
  139. package/dist/strapi/providers/local-destination/strategies/restore/index.js +124 -0
  140. package/dist/strapi/providers/local-destination/strategies/restore/index.js.map +1 -0
  141. package/dist/strapi/providers/local-destination/strategies/restore/index.mjs +120 -0
  142. package/dist/strapi/providers/local-destination/strategies/restore/index.mjs.map +1 -0
  143. package/dist/strapi/providers/local-destination/strategies/restore/links.d.ts +3 -4
  144. package/dist/strapi/providers/local-destination/strategies/restore/links.d.ts.map +1 -1
  145. package/dist/strapi/providers/local-destination/strategies/restore/links.js +79 -0
  146. package/dist/strapi/providers/local-destination/strategies/restore/links.js.map +1 -0
  147. package/dist/strapi/providers/local-destination/strategies/restore/links.mjs +77 -0
  148. package/dist/strapi/providers/local-destination/strategies/restore/links.mjs.map +1 -0
  149. package/dist/strapi/providers/local-source/assets.d.ts +9 -2
  150. package/dist/strapi/providers/local-source/assets.d.ts.map +1 -1
  151. package/dist/strapi/providers/local-source/assets.js +151 -0
  152. package/dist/strapi/providers/local-source/assets.js.map +1 -0
  153. package/dist/strapi/providers/local-source/assets.mjs +147 -0
  154. package/dist/strapi/providers/local-source/assets.mjs.map +1 -0
  155. package/dist/strapi/providers/local-source/configuration.d.ts +2 -2
  156. package/dist/strapi/providers/local-source/configuration.d.ts.map +1 -1
  157. package/dist/strapi/providers/local-source/configuration.js +47 -0
  158. package/dist/strapi/providers/local-source/configuration.js.map +1 -0
  159. package/dist/strapi/providers/local-source/configuration.mjs +45 -0
  160. package/dist/strapi/providers/local-source/configuration.mjs.map +1 -0
  161. package/dist/strapi/providers/local-source/entities.d.ts +4 -2
  162. package/dist/strapi/providers/local-source/entities.d.ts.map +1 -1
  163. package/dist/strapi/providers/local-source/entities.js +66 -0
  164. package/dist/strapi/providers/local-source/entities.js.map +1 -0
  165. package/dist/strapi/providers/local-source/entities.mjs +63 -0
  166. package/dist/strapi/providers/local-source/entities.mjs.map +1 -0
  167. package/dist/strapi/providers/local-source/estimate-asset-totals.d.ts +11 -0
  168. package/dist/strapi/providers/local-source/estimate-asset-totals.d.ts.map +1 -0
  169. package/dist/strapi/providers/local-source/estimate-asset-totals.js +130 -0
  170. package/dist/strapi/providers/local-source/estimate-asset-totals.js.map +1 -0
  171. package/dist/strapi/providers/local-source/estimate-asset-totals.mjs +128 -0
  172. package/dist/strapi/providers/local-source/estimate-asset-totals.mjs.map +1 -0
  173. package/dist/strapi/providers/local-source/index.d.ts +10 -8
  174. package/dist/strapi/providers/local-source/index.d.ts.map +1 -1
  175. package/dist/strapi/providers/local-source/index.js +186 -0
  176. package/dist/strapi/providers/local-source/index.js.map +1 -0
  177. package/dist/strapi/providers/local-source/index.mjs +183 -0
  178. package/dist/strapi/providers/local-source/index.mjs.map +1 -0
  179. package/dist/strapi/providers/local-source/links.d.ts +2 -2
  180. package/dist/strapi/providers/local-source/links.d.ts.map +1 -1
  181. package/dist/strapi/providers/local-source/links.js +26 -0
  182. package/dist/strapi/providers/local-source/links.js.map +1 -0
  183. package/dist/strapi/providers/local-source/links.mjs +24 -0
  184. package/dist/strapi/providers/local-source/links.mjs.map +1 -0
  185. package/dist/strapi/providers/remote-destination/index.d.ts +15 -7
  186. package/dist/strapi/providers/remote-destination/index.d.ts.map +1 -1
  187. package/dist/strapi/providers/remote-destination/index.js +482 -0
  188. package/dist/strapi/providers/remote-destination/index.js.map +1 -0
  189. package/dist/strapi/providers/remote-destination/index.mjs +480 -0
  190. package/dist/strapi/providers/remote-destination/index.mjs.map +1 -0
  191. package/dist/strapi/providers/remote-source/index.d.ts +13 -8
  192. package/dist/strapi/providers/remote-source/index.d.ts.map +1 -1
  193. package/dist/strapi/providers/remote-source/index.js +538 -0
  194. package/dist/strapi/providers/remote-source/index.js.map +1 -0
  195. package/dist/strapi/providers/remote-source/index.mjs +536 -0
  196. package/dist/strapi/providers/remote-source/index.mjs.map +1 -0
  197. package/dist/strapi/providers/utils.d.ts +19 -15
  198. package/dist/strapi/providers/utils.d.ts.map +1 -1
  199. package/dist/strapi/providers/utils.js +178 -0
  200. package/dist/strapi/providers/utils.js.map +1 -0
  201. package/dist/strapi/providers/utils.mjs +174 -0
  202. package/dist/strapi/providers/utils.mjs.map +1 -0
  203. package/dist/strapi/queries/entity.d.ts +2 -2
  204. package/dist/strapi/queries/entity.d.ts.map +1 -1
  205. package/dist/strapi/queries/entity.js +125 -0
  206. package/dist/strapi/queries/entity.js.map +1 -0
  207. package/dist/strapi/queries/entity.mjs +123 -0
  208. package/dist/strapi/queries/entity.mjs.map +1 -0
  209. package/dist/strapi/queries/index.js +10 -0
  210. package/dist/strapi/queries/index.js.map +1 -0
  211. package/dist/strapi/queries/index.mjs +5 -0
  212. package/dist/strapi/queries/index.mjs.map +1 -0
  213. package/dist/strapi/queries/link.d.ts +4 -3
  214. package/dist/strapi/queries/link.d.ts.map +1 -1
  215. package/dist/strapi/queries/link.js +298 -0
  216. package/dist/strapi/queries/link.js.map +1 -0
  217. package/dist/strapi/queries/link.mjs +295 -0
  218. package/dist/strapi/queries/link.mjs.map +1 -0
  219. package/dist/strapi/remote/constants.d.ts.map +1 -1
  220. package/dist/strapi/remote/constants.js +11 -0
  221. package/dist/strapi/remote/constants.js.map +1 -0
  222. package/dist/strapi/remote/constants.mjs +8 -0
  223. package/dist/strapi/remote/constants.mjs.map +1 -0
  224. package/dist/strapi/remote/flows/default.d.ts.map +1 -1
  225. package/dist/strapi/remote/flows/default.js +43 -0
  226. package/dist/strapi/remote/flows/default.js.map +1 -0
  227. package/dist/strapi/remote/flows/default.mjs +41 -0
  228. package/dist/strapi/remote/flows/default.mjs.map +1 -0
  229. package/dist/strapi/remote/flows/index.d.ts +1 -1
  230. package/dist/strapi/remote/flows/index.d.ts.map +1 -1
  231. package/dist/strapi/remote/flows/index.js +54 -0
  232. package/dist/strapi/remote/flows/index.js.map +1 -0
  233. package/dist/strapi/remote/flows/index.mjs +52 -0
  234. package/dist/strapi/remote/flows/index.mjs.map +1 -0
  235. package/dist/strapi/remote/handlers/abstract.d.ts +4 -1
  236. package/dist/strapi/remote/handlers/abstract.d.ts.map +1 -1
  237. package/dist/strapi/remote/handlers/constants.js +10 -0
  238. package/dist/strapi/remote/handlers/constants.js.map +1 -0
  239. package/dist/strapi/remote/handlers/constants.mjs +8 -0
  240. package/dist/strapi/remote/handlers/constants.mjs.map +1 -0
  241. package/dist/strapi/remote/handlers/index.js +12 -0
  242. package/dist/strapi/remote/handlers/index.js.map +1 -0
  243. package/dist/strapi/remote/handlers/index.mjs +4 -0
  244. package/dist/strapi/remote/handlers/index.mjs.map +1 -0
  245. package/dist/strapi/remote/handlers/pull.d.ts +2 -3
  246. package/dist/strapi/remote/handlers/pull.d.ts.map +1 -1
  247. package/dist/strapi/remote/handlers/pull.js +369 -0
  248. package/dist/strapi/remote/handlers/pull.js.map +1 -0
  249. package/dist/strapi/remote/handlers/pull.mjs +367 -0
  250. package/dist/strapi/remote/handlers/pull.mjs.map +1 -0
  251. package/dist/strapi/remote/handlers/push.d.ts +16 -5
  252. package/dist/strapi/remote/handlers/push.d.ts.map +1 -1
  253. package/dist/strapi/remote/handlers/push.js +454 -0
  254. package/dist/strapi/remote/handlers/push.js.map +1 -0
  255. package/dist/strapi/remote/handlers/push.mjs +452 -0
  256. package/dist/strapi/remote/handlers/push.mjs.map +1 -0
  257. package/dist/strapi/remote/handlers/utils.d.ts +2 -3
  258. package/dist/strapi/remote/handlers/utils.d.ts.map +1 -1
  259. package/dist/strapi/remote/handlers/utils.js +318 -0
  260. package/dist/strapi/remote/handlers/utils.js.map +1 -0
  261. package/dist/strapi/remote/handlers/utils.mjs +312 -0
  262. package/dist/strapi/remote/handlers/utils.mjs.map +1 -0
  263. package/dist/strapi/remote/index.js +10 -0
  264. package/dist/strapi/remote/index.js.map +1 -0
  265. package/dist/strapi/remote/index.mjs +5 -0
  266. package/dist/strapi/remote/index.mjs.map +1 -0
  267. package/dist/strapi/utils/project-settings-logos.d.ts +29 -0
  268. package/dist/strapi/utils/project-settings-logos.d.ts.map +1 -0
  269. package/dist/strapi/utils/project-settings-logos.js +174 -0
  270. package/dist/strapi/utils/project-settings-logos.js.map +1 -0
  271. package/dist/strapi/utils/project-settings-logos.mjs +169 -0
  272. package/dist/strapi/utils/project-settings-logos.mjs.map +1 -0
  273. package/dist/types/common-entities.d.ts +149 -0
  274. package/dist/types/common-entities.d.ts.map +1 -0
  275. package/dist/types/encryption.d.ts +13 -0
  276. package/dist/types/encryption.d.ts.map +1 -0
  277. package/dist/types/index.d.ts +7 -0
  278. package/dist/types/index.d.ts.map +1 -0
  279. package/dist/types/providers.d.ts +49 -0
  280. package/dist/types/providers.d.ts.map +1 -0
  281. package/dist/types/remote/index.d.ts +2 -0
  282. package/dist/types/remote/index.d.ts.map +1 -0
  283. package/dist/types/remote/protocol/auth.d.ts +5 -0
  284. package/dist/types/remote/protocol/auth.d.ts.map +1 -0
  285. package/dist/types/remote/protocol/client/commands.d.ts +37 -0
  286. package/dist/types/remote/protocol/client/commands.d.ts.map +1 -0
  287. package/dist/types/remote/protocol/client/index.d.ts +9 -0
  288. package/dist/types/remote/protocol/client/index.d.ts.map +1 -0
  289. package/dist/types/remote/protocol/client/transfer/action.d.ts +5 -0
  290. package/dist/types/remote/protocol/client/transfer/action.d.ts.map +1 -0
  291. package/dist/types/remote/protocol/client/transfer/index.d.ts +12 -0
  292. package/dist/types/remote/protocol/client/transfer/index.d.ts.map +1 -0
  293. package/dist/types/remote/protocol/client/transfer/pull.d.ts +25 -0
  294. package/dist/types/remote/protocol/client/transfer/pull.d.ts.map +1 -0
  295. package/dist/types/remote/protocol/client/transfer/push.d.ts +29 -0
  296. package/dist/types/remote/protocol/client/transfer/push.d.ts.map +1 -0
  297. package/dist/types/remote/protocol/client/transfer/utils.d.ts +47 -0
  298. package/dist/types/remote/protocol/client/transfer/utils.d.ts.map +1 -0
  299. package/dist/types/remote/protocol/index.d.ts +4 -0
  300. package/dist/types/remote/protocol/index.d.ts.map +1 -0
  301. package/dist/types/remote/protocol/server/error.d.ts +18 -0
  302. package/dist/types/remote/protocol/server/error.d.ts.map +1 -0
  303. package/dist/types/remote/protocol/server/index.d.ts +3 -0
  304. package/dist/types/remote/protocol/server/index.d.ts.map +1 -0
  305. package/dist/types/remote/protocol/server/messaging.d.ts +37 -0
  306. package/dist/types/remote/protocol/server/messaging.d.ts.map +1 -0
  307. package/dist/types/transfer-engine.d.ts +148 -0
  308. package/dist/types/transfer-engine.d.ts.map +1 -0
  309. package/dist/types/utils.d.ts +82 -0
  310. package/dist/types/utils.d.ts.map +1 -0
  311. package/dist/utils/components.d.ts +35 -18
  312. package/dist/utils/components.d.ts.map +1 -1
  313. package/dist/utils/components.js +230 -0
  314. package/dist/utils/components.js.map +1 -0
  315. package/dist/utils/components.mjs +219 -0
  316. package/dist/utils/components.mjs.map +1 -0
  317. package/dist/{engine → utils}/diagnostic.d.ts +1 -0
  318. package/dist/utils/diagnostic.d.ts.map +1 -0
  319. package/dist/utils/diagnostic.js +51 -0
  320. package/dist/utils/diagnostic.js.map +1 -0
  321. package/dist/utils/diagnostic.mjs +49 -0
  322. package/dist/utils/diagnostic.mjs.map +1 -0
  323. package/dist/utils/encryption/decrypt.d.ts +6 -4
  324. package/dist/utils/encryption/decrypt.d.ts.map +1 -1
  325. package/dist/utils/encryption/decrypt.js +47 -0
  326. package/dist/utils/encryption/decrypt.js.map +1 -0
  327. package/dist/utils/encryption/decrypt.mjs +45 -0
  328. package/dist/utils/encryption/decrypt.mjs.map +1 -0
  329. package/dist/utils/encryption/encrypt.d.ts +6 -4
  330. package/dist/utils/encryption/encrypt.d.ts.map +1 -1
  331. package/dist/utils/encryption/encrypt.js +47 -0
  332. package/dist/utils/encryption/encrypt.js.map +1 -0
  333. package/dist/utils/encryption/encrypt.mjs +45 -0
  334. package/dist/utils/encryption/encrypt.mjs.map +1 -0
  335. package/dist/utils/encryption/index.js +10 -0
  336. package/dist/utils/encryption/index.js.map +1 -0
  337. package/dist/utils/encryption/index.mjs +3 -0
  338. package/dist/utils/encryption/index.mjs.map +1 -0
  339. package/dist/utils/index.d.ts +3 -0
  340. package/dist/utils/index.d.ts.map +1 -1
  341. package/dist/utils/index.js +28 -0
  342. package/dist/utils/index.js.map +1 -0
  343. package/dist/utils/index.mjs +17 -0
  344. package/dist/utils/index.mjs.map +1 -0
  345. package/dist/utils/json.d.ts.map +1 -1
  346. package/dist/utils/json.js +96 -0
  347. package/dist/utils/json.js.map +1 -0
  348. package/dist/utils/json.mjs +94 -0
  349. package/dist/utils/json.mjs.map +1 -0
  350. package/dist/utils/middleware.d.ts +1 -1
  351. package/dist/utils/middleware.d.ts.map +1 -1
  352. package/dist/utils/middleware.js +14 -0
  353. package/dist/utils/middleware.js.map +1 -0
  354. package/dist/utils/middleware.mjs +12 -0
  355. package/dist/utils/middleware.mjs.map +1 -0
  356. package/dist/utils/providers.d.ts +2 -2
  357. package/dist/utils/providers.d.ts.map +1 -1
  358. package/dist/utils/providers.js +12 -0
  359. package/dist/utils/providers.js.map +1 -0
  360. package/dist/utils/providers.mjs +10 -0
  361. package/dist/utils/providers.mjs.map +1 -0
  362. package/dist/utils/schema.d.ts +3 -2
  363. package/dist/utils/schema.d.ts.map +1 -1
  364. package/dist/utils/schema.js +32 -0
  365. package/dist/utils/schema.js.map +1 -0
  366. package/dist/utils/schema.mjs +29 -0
  367. package/dist/utils/schema.mjs.map +1 -0
  368. package/dist/utils/stream.d.ts +0 -1
  369. package/dist/utils/stream.d.ts.map +1 -1
  370. package/dist/utils/stream.js +96 -0
  371. package/dist/utils/stream.js.map +1 -0
  372. package/dist/utils/stream.mjs +92 -0
  373. package/dist/utils/stream.mjs.map +1 -0
  374. package/dist/utils/transaction.d.ts +3 -3
  375. package/dist/utils/transaction.d.ts.map +1 -1
  376. package/dist/utils/transaction.js +93 -0
  377. package/dist/utils/transaction.js.map +1 -0
  378. package/dist/utils/transaction.mjs +91 -0
  379. package/dist/utils/transaction.mjs.map +1 -0
  380. package/dist/utils/transfer-asset-chunk.d.ts +61 -0
  381. package/dist/utils/transfer-asset-chunk.d.ts.map +1 -0
  382. package/dist/utils/transfer-asset-chunk.js +118 -0
  383. package/dist/utils/transfer-asset-chunk.js.map +1 -0
  384. package/dist/utils/transfer-asset-chunk.mjs +112 -0
  385. package/dist/utils/transfer-asset-chunk.mjs.map +1 -0
  386. package/dist/utils/transfer-websocket-json.d.ts +24 -0
  387. package/dist/utils/transfer-websocket-json.d.ts.map +1 -0
  388. package/dist/utils/transfer-websocket-json.js +67 -0
  389. package/dist/utils/transfer-websocket-json.js.map +1 -0
  390. package/dist/utils/transfer-websocket-json.mjs +63 -0
  391. package/dist/utils/transfer-websocket-json.mjs.map +1 -0
  392. package/dist/utils/writable-async-write.d.ts +16 -0
  393. package/dist/utils/writable-async-write.d.ts.map +1 -0
  394. package/dist/utils/writable-async-write.js +61 -0
  395. package/dist/utils/writable-async-write.js.map +1 -0
  396. package/dist/utils/writable-async-write.mjs +59 -0
  397. package/dist/utils/writable-async-write.mjs.map +1 -0
  398. package/package.json +42 -31
  399. package/dist/commands/commander.d.ts +0 -36
  400. package/dist/commands/commander.d.ts.map +0 -1
  401. package/dist/commands/data-transfer.d.ts +0 -63
  402. package/dist/commands/data-transfer.d.ts.map +0 -1
  403. package/dist/commands/export/action.d.ts +0 -21
  404. package/dist/commands/export/action.d.ts.map +0 -1
  405. package/dist/commands/export/command.d.ts +0 -9
  406. package/dist/commands/export/command.d.ts.map +0 -1
  407. package/dist/commands/helpers.d.ts +0 -31
  408. package/dist/commands/helpers.d.ts.map +0 -1
  409. package/dist/commands/import/action.d.ts +0 -20
  410. package/dist/commands/import/action.d.ts.map +0 -1
  411. package/dist/commands/import/command.d.ts +0 -9
  412. package/dist/commands/import/command.d.ts.map +0 -1
  413. package/dist/commands/index.d.ts +0 -4
  414. package/dist/commands/index.d.ts.map +0 -1
  415. package/dist/commands/transfer/action.d.ts +0 -19
  416. package/dist/commands/transfer/action.d.ts.map +0 -1
  417. package/dist/commands/transfer/command.d.ts +0 -9
  418. package/dist/commands/transfer/command.d.ts.map +0 -1
  419. package/dist/engine/diagnostic.d.ts.map +0 -1
@@ -0,0 +1,2 @@
1
+ export * as providers from './providers';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/directory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var index = require('./providers/index.js');
4
+
5
+
6
+
7
+ exports.providers = index;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,3 @@
1
+ import * as index from './providers/index.mjs';
2
+ export { index as providers };
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,38 @@
1
+ import { Writable } from 'stream';
2
+ import type { IDestinationProvider, IDestinationProviderTransferResults, IMetadata, ProviderType } from '../../../types';
3
+ import type { IDiagnosticReporter } from '../../../utils/diagnostic';
4
+ export interface ILocalDirectoryDestinationProviderOptions {
5
+ directory: {
6
+ /** Output root: unpacked Strapi export layout (metadata.json, entities/, …) */
7
+ path: string;
8
+ };
9
+ file: {
10
+ maxSizeJsonl?: number;
11
+ };
12
+ }
13
+ export interface ILocalDirectoryDestinationProviderTransferResults extends IDestinationProviderTransferResults {
14
+ file?: {
15
+ path?: string;
16
+ };
17
+ }
18
+ export declare const createLocalDirectoryDestinationProvider: (options: ILocalDirectoryDestinationProviderOptions) => LocalDirectoryDestinationProvider;
19
+ declare class LocalDirectoryDestinationProvider implements IDestinationProvider {
20
+ #private;
21
+ name: string;
22
+ type: ProviderType;
23
+ options: ILocalDirectoryDestinationProviderOptions;
24
+ results: ILocalDirectoryDestinationProviderTransferResults;
25
+ constructor(options: ILocalDirectoryDestinationProviderOptions);
26
+ setMetadata(target: ProviderType, metadata: IMetadata): IDestinationProvider;
27
+ bootstrap(diagnostics: IDiagnosticReporter): Promise<void>;
28
+ close(): Promise<void>;
29
+ rollback(): Promise<void>;
30
+ getMetadata(): null;
31
+ createSchemasWriteStream(): import("stream-chain");
32
+ createEntitiesWriteStream(): Writable;
33
+ createLinksWriteStream(): Writable;
34
+ createConfigurationWriteStream(): Writable;
35
+ createAssetsWriteStream(): Writable;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/directory/providers/destination/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAY,MAAM,QAAQ,CAAC;AAK5C,OAAO,KAAK,EAEV,oBAAoB,EACpB,mCAAmC,EACnC,SAAS,EACT,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,MAAM,WAAW,yCAAyC;IACxD,SAAS,EAAE;QACT,+EAA+E;QAC/E,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE;QACJ,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,iDACf,SAAQ,mCAAmC;IAC3C,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,uCAAuC,GAClD,SAAS,yCAAyC,sCAGnD,CAAC;AAEF,cAAM,iCAAkC,YAAW,oBAAoB;;IACrE,IAAI,SAAkC;IAEtC,IAAI,EAAE,YAAY,CAAiB;IAEnC,OAAO,EAAE,yCAAyC,CAAC;IAEnD,OAAO,EAAE,iDAAiD,CAAM;gBAQpD,OAAO,EAAE,yCAAyC;IAgB9D,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,GAAG,oBAAoB;IAKtE,SAAS,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,KAAK;IAIL,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,WAAW;IAcX,wBAAwB;IAWxB,yBAAyB,IAAI,QAAQ;IAWrC,sBAAsB,IAAI,QAAQ;IAWlC,8BAA8B,IAAI,QAAQ;IAW1C,uBAAuB,IAAI,QAAQ;CAwCpC"}
@@ -0,0 +1,184 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var fs$1 = require('fs');
5
+ var stream = require('stream');
6
+ var fs = require('fs-extra');
7
+ var Stringer = require('stream-json/jsonl/Stringer');
8
+ var streamChain = require('stream-chain');
9
+ var utils = require('./utils.js');
10
+ var providers = require('../../../errors/providers.js');
11
+ var utils$1 = require('../../../file/providers/destination/utils.js');
12
+
13
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+
15
+ var path__default = /*#__PURE__*/_interopDefault(path);
16
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
17
+
18
+ function _class_private_field_loose_base(receiver, privateKey) {
19
+ if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
20
+ throw new TypeError("attempted to use private field on non-instance");
21
+ }
22
+ return receiver;
23
+ }
24
+ var id = 0;
25
+ function _class_private_field_loose_key(name) {
26
+ return "__private_" + id++ + "_" + name;
27
+ }
28
+ const createLocalDirectoryDestinationProvider = (options)=>{
29
+ return new LocalDirectoryDestinationProvider(options);
30
+ };
31
+ var _providersMetadata = /*#__PURE__*/ _class_private_field_loose_key("_providersMetadata"), _rootResolved = /*#__PURE__*/ _class_private_field_loose_key("_rootResolved"), _diagnostics = /*#__PURE__*/ _class_private_field_loose_key("_diagnostics"), _reportInfo = /*#__PURE__*/ _class_private_field_loose_key("_reportInfo"), _writeMetadata = /*#__PURE__*/ _class_private_field_loose_key("_writeMetadata");
32
+ class LocalDirectoryDestinationProvider {
33
+ setMetadata(target, metadata) {
34
+ _class_private_field_loose_base(this, _providersMetadata)[_providersMetadata][target] = metadata;
35
+ return this;
36
+ }
37
+ async bootstrap(diagnostics) {
38
+ _class_private_field_loose_base(this, _diagnostics)[_diagnostics] = diagnostics;
39
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('preparing directory export');
40
+ await fs__default.default.mkdir(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], {
41
+ recursive: true
42
+ });
43
+ this.results.file = {
44
+ path: _class_private_field_loose_base(this, _rootResolved)[_rootResolved]
45
+ };
46
+ }
47
+ async close() {
48
+ await _class_private_field_loose_base(this, _writeMetadata)[_writeMetadata]();
49
+ }
50
+ async rollback() {
51
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('rolling back');
52
+ await fs__default.default.rm(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], {
53
+ recursive: true,
54
+ force: true
55
+ });
56
+ }
57
+ getMetadata() {
58
+ return null;
59
+ }
60
+ createSchemasWriteStream() {
61
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating schemas write stream');
62
+ const filePathFactory = utils$1.createFilePathFactory('schemas');
63
+ const entryStream = utils.createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
64
+ return streamChain.chain([
65
+ Stringer.stringer(),
66
+ entryStream
67
+ ]);
68
+ }
69
+ createEntitiesWriteStream() {
70
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating entities write stream');
71
+ const filePathFactory = utils$1.createFilePathFactory('entities');
72
+ const entryStream = utils.createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
73
+ return streamChain.chain([
74
+ Stringer.stringer(),
75
+ entryStream
76
+ ]);
77
+ }
78
+ createLinksWriteStream() {
79
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating links write stream');
80
+ const filePathFactory = utils$1.createFilePathFactory('links');
81
+ const entryStream = utils.createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
82
+ return streamChain.chain([
83
+ Stringer.stringer(),
84
+ entryStream
85
+ ]);
86
+ }
87
+ createConfigurationWriteStream() {
88
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating configuration write stream');
89
+ const filePathFactory = utils$1.createFilePathFactory('configuration');
90
+ const entryStream = utils.createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
91
+ return streamChain.chain([
92
+ Stringer.stringer(),
93
+ entryStream
94
+ ]);
95
+ }
96
+ createAssetsWriteStream() {
97
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating assets write stream');
98
+ const root = _class_private_field_loose_base(this, _rootResolved)[_rootResolved];
99
+ return new stream.Writable({
100
+ objectMode: true,
101
+ write (data, _encoding, callback) {
102
+ const { filename } = data;
103
+ const entryPath = path__default.default.join(root, 'assets', 'uploads', filename);
104
+ const entryMetadataPath = path__default.default.join(root, 'assets', 'metadata', `${filename}.json`);
105
+ const assetWriteError = (cause)=>new providers.ProviderTransferError(`Failed to write asset ${filename}`, {
106
+ details: {
107
+ error: cause instanceof Error ? cause : new Error(String(cause))
108
+ }
109
+ });
110
+ let fileStream;
111
+ try {
112
+ fs__default.default.mkdirSync(path__default.default.dirname(entryPath), {
113
+ recursive: true
114
+ });
115
+ fs__default.default.mkdirSync(path__default.default.dirname(entryMetadataPath), {
116
+ recursive: true
117
+ });
118
+ fs__default.default.writeFileSync(entryMetadataPath, JSON.stringify(data.metadata), 'utf8');
119
+ fileStream = fs$1.createWriteStream(entryPath);
120
+ } catch (error) {
121
+ callback(assetWriteError(error));
122
+ return;
123
+ }
124
+ stream.pipeline(data.stream, fileStream, (err)=>{
125
+ if (err) {
126
+ callback(assetWriteError(err));
127
+ return;
128
+ }
129
+ callback(null);
130
+ });
131
+ }
132
+ });
133
+ }
134
+ constructor(options){
135
+ Object.defineProperty(this, _reportInfo, {
136
+ value: reportInfo
137
+ });
138
+ Object.defineProperty(this, _writeMetadata, {
139
+ value: writeMetadata
140
+ });
141
+ Object.defineProperty(this, _providersMetadata, {
142
+ writable: true,
143
+ value: void 0
144
+ });
145
+ Object.defineProperty(this, _rootResolved, {
146
+ writable: true,
147
+ value: void 0
148
+ });
149
+ Object.defineProperty(this, _diagnostics, {
150
+ writable: true,
151
+ value: void 0
152
+ });
153
+ this.name = 'destination::local-directory';
154
+ this.type = 'destination';
155
+ this.results = {};
156
+ _class_private_field_loose_base(this, _providersMetadata)[_providersMetadata] = {};
157
+ this.options = options;
158
+ _class_private_field_loose_base(this, _rootResolved)[_rootResolved] = path__default.default.resolve(options.directory.path);
159
+ }
160
+ }
161
+ function reportInfo(message) {
162
+ _class_private_field_loose_base(this, _diagnostics)[_diagnostics]?.report({
163
+ details: {
164
+ createdAt: new Date(),
165
+ message,
166
+ origin: 'directory-destination-provider'
167
+ },
168
+ kind: 'info'
169
+ });
170
+ }
171
+ async function writeMetadata() {
172
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('writing metadata');
173
+ const metadata = _class_private_field_loose_base(this, _providersMetadata)[_providersMetadata].source;
174
+ if (metadata) {
175
+ const target = path__default.default.join(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], 'metadata.json');
176
+ await fs__default.default.mkdir(path__default.default.dirname(target), {
177
+ recursive: true
178
+ });
179
+ await fs__default.default.writeFile(target, JSON.stringify(metadata, null, 2), 'utf8');
180
+ }
181
+ }
182
+
183
+ exports.createLocalDirectoryDestinationProvider = createLocalDirectoryDestinationProvider;
184
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/directory/providers/destination/index.ts"],"sourcesContent":["import path from 'path';\nimport { createWriteStream } from 'fs';\nimport { Writable, pipeline } from 'stream';\nimport fs from 'fs-extra';\nimport { stringer } from 'stream-json/jsonl/Stringer';\nimport { chain } from 'stream-chain';\n\nimport type {\n IAsset,\n IDestinationProvider,\n IDestinationProviderTransferResults,\n IMetadata,\n ProviderType,\n} from '../../../types';\nimport type { IDiagnosticReporter } from '../../../utils/diagnostic';\nimport { createDirectoryJsonlWriter, createFilePathFactory } from './utils';\nimport { ProviderTransferError } from '../../../errors/providers';\n\nexport interface ILocalDirectoryDestinationProviderOptions {\n directory: {\n /** Output root: unpacked Strapi export layout (metadata.json, entities/, …) */\n path: string;\n };\n file: {\n maxSizeJsonl?: number;\n };\n}\n\nexport interface ILocalDirectoryDestinationProviderTransferResults\n extends IDestinationProviderTransferResults {\n file?: {\n path?: string;\n };\n}\n\nexport const createLocalDirectoryDestinationProvider = (\n options: ILocalDirectoryDestinationProviderOptions\n) => {\n return new LocalDirectoryDestinationProvider(options);\n};\n\nclass LocalDirectoryDestinationProvider implements IDestinationProvider {\n name = 'destination::local-directory';\n\n type: ProviderType = 'destination';\n\n options: ILocalDirectoryDestinationProviderOptions;\n\n results: ILocalDirectoryDestinationProviderTransferResults = {};\n\n #providersMetadata: { source?: IMetadata; destination?: IMetadata } = {};\n\n #rootResolved: string;\n\n #diagnostics?: IDiagnosticReporter;\n\n constructor(options: ILocalDirectoryDestinationProviderOptions) {\n this.options = options;\n this.#rootResolved = path.resolve(options.directory.path);\n }\n\n #reportInfo(message: string) {\n this.#diagnostics?.report({\n details: {\n createdAt: new Date(),\n message,\n origin: 'directory-destination-provider',\n },\n kind: 'info',\n });\n }\n\n setMetadata(target: ProviderType, metadata: IMetadata): IDestinationProvider {\n this.#providersMetadata[target] = metadata;\n return this;\n }\n\n async bootstrap(diagnostics: IDiagnosticReporter): Promise<void> {\n this.#diagnostics = diagnostics;\n this.#reportInfo('preparing directory export');\n await fs.mkdir(this.#rootResolved, { recursive: true });\n this.results.file = { path: this.#rootResolved };\n }\n\n async close() {\n await this.#writeMetadata();\n }\n\n async rollback(): Promise<void> {\n this.#reportInfo('rolling back');\n await fs.rm(this.#rootResolved, { recursive: true, force: true });\n }\n\n getMetadata() {\n return null;\n }\n\n async #writeMetadata(): Promise<void> {\n this.#reportInfo('writing metadata');\n const metadata = this.#providersMetadata.source;\n if (metadata) {\n const target = path.join(this.#rootResolved, 'metadata.json');\n await fs.mkdir(path.dirname(target), { recursive: true });\n await fs.writeFile(target, JSON.stringify(metadata, null, 2), 'utf8');\n }\n }\n\n createSchemasWriteStream() {\n this.#reportInfo('creating schemas write stream');\n const filePathFactory = createFilePathFactory('schemas');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createEntitiesWriteStream(): Writable {\n this.#reportInfo('creating entities write stream');\n const filePathFactory = createFilePathFactory('entities');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createLinksWriteStream(): Writable {\n this.#reportInfo('creating links write stream');\n const filePathFactory = createFilePathFactory('links');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createConfigurationWriteStream(): Writable {\n this.#reportInfo('creating configuration write stream');\n const filePathFactory = createFilePathFactory('configuration');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createAssetsWriteStream(): Writable {\n this.#reportInfo('creating assets write stream');\n const root = this.#rootResolved;\n\n return new Writable({\n objectMode: true,\n write(data: IAsset, _encoding, callback) {\n const { filename } = data;\n const entryPath = path.join(root, 'assets', 'uploads', filename);\n const entryMetadataPath = path.join(root, 'assets', 'metadata', `${filename}.json`);\n\n const assetWriteError = (cause: unknown) =>\n new ProviderTransferError(`Failed to write asset ${filename}`, {\n details: {\n error: cause instanceof Error ? cause : new Error(String(cause)),\n },\n });\n\n let fileStream: ReturnType<typeof createWriteStream>;\n\n try {\n fs.mkdirSync(path.dirname(entryPath), { recursive: true });\n fs.mkdirSync(path.dirname(entryMetadataPath), { recursive: true });\n fs.writeFileSync(entryMetadataPath, JSON.stringify(data.metadata), 'utf8');\n fileStream = createWriteStream(entryPath);\n } catch (error: unknown) {\n callback(assetWriteError(error));\n return;\n }\n\n pipeline(data.stream, fileStream, (err) => {\n if (err) {\n callback(assetWriteError(err));\n return;\n }\n callback(null);\n });\n },\n });\n }\n}\n"],"names":["createLocalDirectoryDestinationProvider","options","LocalDirectoryDestinationProvider","setMetadata","target","metadata","bootstrap","diagnostics","fs","mkdir","recursive","results","file","path","close","rollback","rm","force","getMetadata","createSchemasWriteStream","filePathFactory","createFilePathFactory","entryStream","createDirectoryJsonlWriter","maxSizeJsonl","chain","stringer","createEntitiesWriteStream","createLinksWriteStream","createConfigurationWriteStream","createAssetsWriteStream","root","Writable","objectMode","write","data","_encoding","callback","filename","entryPath","join","entryMetadataPath","assetWriteError","cause","ProviderTransferError","details","error","Error","String","fileStream","mkdirSync","dirname","writeFileSync","JSON","stringify","createWriteStream","pipeline","stream","err","name","type","resolve","directory","message","report","createdAt","Date","origin","kind","source","writeFile"],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ import path from 'path';
2
+ import { createWriteStream } from 'fs';
3
+ import { Writable, pipeline } from 'stream';
4
+ import fs__default from 'fs-extra';
5
+ import { stringer } from 'stream-json/jsonl/Stringer';
6
+ import { chain } from 'stream-chain';
7
+ import { createDirectoryJsonlWriter } from './utils.mjs';
8
+ import { ProviderTransferError } from '../../../errors/providers.mjs';
9
+ import { createFilePathFactory } from '../../../file/providers/destination/utils.mjs';
10
+
11
+ function _class_private_field_loose_base(receiver, privateKey) {
12
+ if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
13
+ throw new TypeError("attempted to use private field on non-instance");
14
+ }
15
+ return receiver;
16
+ }
17
+ var id = 0;
18
+ function _class_private_field_loose_key(name) {
19
+ return "__private_" + id++ + "_" + name;
20
+ }
21
+ const createLocalDirectoryDestinationProvider = (options)=>{
22
+ return new LocalDirectoryDestinationProvider(options);
23
+ };
24
+ var _providersMetadata = /*#__PURE__*/ _class_private_field_loose_key("_providersMetadata"), _rootResolved = /*#__PURE__*/ _class_private_field_loose_key("_rootResolved"), _diagnostics = /*#__PURE__*/ _class_private_field_loose_key("_diagnostics"), _reportInfo = /*#__PURE__*/ _class_private_field_loose_key("_reportInfo"), _writeMetadata = /*#__PURE__*/ _class_private_field_loose_key("_writeMetadata");
25
+ class LocalDirectoryDestinationProvider {
26
+ setMetadata(target, metadata) {
27
+ _class_private_field_loose_base(this, _providersMetadata)[_providersMetadata][target] = metadata;
28
+ return this;
29
+ }
30
+ async bootstrap(diagnostics) {
31
+ _class_private_field_loose_base(this, _diagnostics)[_diagnostics] = diagnostics;
32
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('preparing directory export');
33
+ await fs__default.mkdir(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], {
34
+ recursive: true
35
+ });
36
+ this.results.file = {
37
+ path: _class_private_field_loose_base(this, _rootResolved)[_rootResolved]
38
+ };
39
+ }
40
+ async close() {
41
+ await _class_private_field_loose_base(this, _writeMetadata)[_writeMetadata]();
42
+ }
43
+ async rollback() {
44
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('rolling back');
45
+ await fs__default.rm(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], {
46
+ recursive: true,
47
+ force: true
48
+ });
49
+ }
50
+ getMetadata() {
51
+ return null;
52
+ }
53
+ createSchemasWriteStream() {
54
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating schemas write stream');
55
+ const filePathFactory = createFilePathFactory('schemas');
56
+ const entryStream = createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
57
+ return chain([
58
+ stringer(),
59
+ entryStream
60
+ ]);
61
+ }
62
+ createEntitiesWriteStream() {
63
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating entities write stream');
64
+ const filePathFactory = createFilePathFactory('entities');
65
+ const entryStream = createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
66
+ return chain([
67
+ stringer(),
68
+ entryStream
69
+ ]);
70
+ }
71
+ createLinksWriteStream() {
72
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating links write stream');
73
+ const filePathFactory = createFilePathFactory('links');
74
+ const entryStream = createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
75
+ return chain([
76
+ stringer(),
77
+ entryStream
78
+ ]);
79
+ }
80
+ createConfigurationWriteStream() {
81
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating configuration write stream');
82
+ const filePathFactory = createFilePathFactory('configuration');
83
+ const entryStream = createDirectoryJsonlWriter(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], filePathFactory, this.options.file.maxSizeJsonl);
84
+ return chain([
85
+ stringer(),
86
+ entryStream
87
+ ]);
88
+ }
89
+ createAssetsWriteStream() {
90
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('creating assets write stream');
91
+ const root = _class_private_field_loose_base(this, _rootResolved)[_rootResolved];
92
+ return new Writable({
93
+ objectMode: true,
94
+ write (data, _encoding, callback) {
95
+ const { filename } = data;
96
+ const entryPath = path.join(root, 'assets', 'uploads', filename);
97
+ const entryMetadataPath = path.join(root, 'assets', 'metadata', `${filename}.json`);
98
+ const assetWriteError = (cause)=>new ProviderTransferError(`Failed to write asset ${filename}`, {
99
+ details: {
100
+ error: cause instanceof Error ? cause : new Error(String(cause))
101
+ }
102
+ });
103
+ let fileStream;
104
+ try {
105
+ fs__default.mkdirSync(path.dirname(entryPath), {
106
+ recursive: true
107
+ });
108
+ fs__default.mkdirSync(path.dirname(entryMetadataPath), {
109
+ recursive: true
110
+ });
111
+ fs__default.writeFileSync(entryMetadataPath, JSON.stringify(data.metadata), 'utf8');
112
+ fileStream = createWriteStream(entryPath);
113
+ } catch (error) {
114
+ callback(assetWriteError(error));
115
+ return;
116
+ }
117
+ pipeline(data.stream, fileStream, (err)=>{
118
+ if (err) {
119
+ callback(assetWriteError(err));
120
+ return;
121
+ }
122
+ callback(null);
123
+ });
124
+ }
125
+ });
126
+ }
127
+ constructor(options){
128
+ Object.defineProperty(this, _reportInfo, {
129
+ value: reportInfo
130
+ });
131
+ Object.defineProperty(this, _writeMetadata, {
132
+ value: writeMetadata
133
+ });
134
+ Object.defineProperty(this, _providersMetadata, {
135
+ writable: true,
136
+ value: void 0
137
+ });
138
+ Object.defineProperty(this, _rootResolved, {
139
+ writable: true,
140
+ value: void 0
141
+ });
142
+ Object.defineProperty(this, _diagnostics, {
143
+ writable: true,
144
+ value: void 0
145
+ });
146
+ this.name = 'destination::local-directory';
147
+ this.type = 'destination';
148
+ this.results = {};
149
+ _class_private_field_loose_base(this, _providersMetadata)[_providersMetadata] = {};
150
+ this.options = options;
151
+ _class_private_field_loose_base(this, _rootResolved)[_rootResolved] = path.resolve(options.directory.path);
152
+ }
153
+ }
154
+ function reportInfo(message) {
155
+ _class_private_field_loose_base(this, _diagnostics)[_diagnostics]?.report({
156
+ details: {
157
+ createdAt: new Date(),
158
+ message,
159
+ origin: 'directory-destination-provider'
160
+ },
161
+ kind: 'info'
162
+ });
163
+ }
164
+ async function writeMetadata() {
165
+ _class_private_field_loose_base(this, _reportInfo)[_reportInfo]('writing metadata');
166
+ const metadata = _class_private_field_loose_base(this, _providersMetadata)[_providersMetadata].source;
167
+ if (metadata) {
168
+ const target = path.join(_class_private_field_loose_base(this, _rootResolved)[_rootResolved], 'metadata.json');
169
+ await fs__default.mkdir(path.dirname(target), {
170
+ recursive: true
171
+ });
172
+ await fs__default.writeFile(target, JSON.stringify(metadata, null, 2), 'utf8');
173
+ }
174
+ }
175
+
176
+ export { createLocalDirectoryDestinationProvider };
177
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/directory/providers/destination/index.ts"],"sourcesContent":["import path from 'path';\nimport { createWriteStream } from 'fs';\nimport { Writable, pipeline } from 'stream';\nimport fs from 'fs-extra';\nimport { stringer } from 'stream-json/jsonl/Stringer';\nimport { chain } from 'stream-chain';\n\nimport type {\n IAsset,\n IDestinationProvider,\n IDestinationProviderTransferResults,\n IMetadata,\n ProviderType,\n} from '../../../types';\nimport type { IDiagnosticReporter } from '../../../utils/diagnostic';\nimport { createDirectoryJsonlWriter, createFilePathFactory } from './utils';\nimport { ProviderTransferError } from '../../../errors/providers';\n\nexport interface ILocalDirectoryDestinationProviderOptions {\n directory: {\n /** Output root: unpacked Strapi export layout (metadata.json, entities/, …) */\n path: string;\n };\n file: {\n maxSizeJsonl?: number;\n };\n}\n\nexport interface ILocalDirectoryDestinationProviderTransferResults\n extends IDestinationProviderTransferResults {\n file?: {\n path?: string;\n };\n}\n\nexport const createLocalDirectoryDestinationProvider = (\n options: ILocalDirectoryDestinationProviderOptions\n) => {\n return new LocalDirectoryDestinationProvider(options);\n};\n\nclass LocalDirectoryDestinationProvider implements IDestinationProvider {\n name = 'destination::local-directory';\n\n type: ProviderType = 'destination';\n\n options: ILocalDirectoryDestinationProviderOptions;\n\n results: ILocalDirectoryDestinationProviderTransferResults = {};\n\n #providersMetadata: { source?: IMetadata; destination?: IMetadata } = {};\n\n #rootResolved: string;\n\n #diagnostics?: IDiagnosticReporter;\n\n constructor(options: ILocalDirectoryDestinationProviderOptions) {\n this.options = options;\n this.#rootResolved = path.resolve(options.directory.path);\n }\n\n #reportInfo(message: string) {\n this.#diagnostics?.report({\n details: {\n createdAt: new Date(),\n message,\n origin: 'directory-destination-provider',\n },\n kind: 'info',\n });\n }\n\n setMetadata(target: ProviderType, metadata: IMetadata): IDestinationProvider {\n this.#providersMetadata[target] = metadata;\n return this;\n }\n\n async bootstrap(diagnostics: IDiagnosticReporter): Promise<void> {\n this.#diagnostics = diagnostics;\n this.#reportInfo('preparing directory export');\n await fs.mkdir(this.#rootResolved, { recursive: true });\n this.results.file = { path: this.#rootResolved };\n }\n\n async close() {\n await this.#writeMetadata();\n }\n\n async rollback(): Promise<void> {\n this.#reportInfo('rolling back');\n await fs.rm(this.#rootResolved, { recursive: true, force: true });\n }\n\n getMetadata() {\n return null;\n }\n\n async #writeMetadata(): Promise<void> {\n this.#reportInfo('writing metadata');\n const metadata = this.#providersMetadata.source;\n if (metadata) {\n const target = path.join(this.#rootResolved, 'metadata.json');\n await fs.mkdir(path.dirname(target), { recursive: true });\n await fs.writeFile(target, JSON.stringify(metadata, null, 2), 'utf8');\n }\n }\n\n createSchemasWriteStream() {\n this.#reportInfo('creating schemas write stream');\n const filePathFactory = createFilePathFactory('schemas');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createEntitiesWriteStream(): Writable {\n this.#reportInfo('creating entities write stream');\n const filePathFactory = createFilePathFactory('entities');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createLinksWriteStream(): Writable {\n this.#reportInfo('creating links write stream');\n const filePathFactory = createFilePathFactory('links');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createConfigurationWriteStream(): Writable {\n this.#reportInfo('creating configuration write stream');\n const filePathFactory = createFilePathFactory('configuration');\n const entryStream = createDirectoryJsonlWriter(\n this.#rootResolved,\n filePathFactory,\n this.options.file.maxSizeJsonl\n );\n return chain([stringer(), entryStream]);\n }\n\n createAssetsWriteStream(): Writable {\n this.#reportInfo('creating assets write stream');\n const root = this.#rootResolved;\n\n return new Writable({\n objectMode: true,\n write(data: IAsset, _encoding, callback) {\n const { filename } = data;\n const entryPath = path.join(root, 'assets', 'uploads', filename);\n const entryMetadataPath = path.join(root, 'assets', 'metadata', `${filename}.json`);\n\n const assetWriteError = (cause: unknown) =>\n new ProviderTransferError(`Failed to write asset ${filename}`, {\n details: {\n error: cause instanceof Error ? cause : new Error(String(cause)),\n },\n });\n\n let fileStream: ReturnType<typeof createWriteStream>;\n\n try {\n fs.mkdirSync(path.dirname(entryPath), { recursive: true });\n fs.mkdirSync(path.dirname(entryMetadataPath), { recursive: true });\n fs.writeFileSync(entryMetadataPath, JSON.stringify(data.metadata), 'utf8');\n fileStream = createWriteStream(entryPath);\n } catch (error: unknown) {\n callback(assetWriteError(error));\n return;\n }\n\n pipeline(data.stream, fileStream, (err) => {\n if (err) {\n callback(assetWriteError(err));\n return;\n }\n callback(null);\n });\n },\n });\n }\n}\n"],"names":["createLocalDirectoryDestinationProvider","options","LocalDirectoryDestinationProvider","setMetadata","target","metadata","bootstrap","diagnostics","fs","mkdir","recursive","results","file","path","close","rollback","rm","force","getMetadata","createSchemasWriteStream","filePathFactory","createFilePathFactory","entryStream","createDirectoryJsonlWriter","maxSizeJsonl","chain","stringer","createEntitiesWriteStream","createLinksWriteStream","createConfigurationWriteStream","createAssetsWriteStream","root","Writable","objectMode","write","data","_encoding","callback","filename","entryPath","join","entryMetadataPath","assetWriteError","cause","ProviderTransferError","details","error","Error","String","fileStream","mkdirSync","dirname","writeFileSync","JSON","stringify","createWriteStream","pipeline","stream","err","name","type","resolve","directory","message","report","createdAt","Date","origin","kind","source","writeFile"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmCO,MAAMA,0CAA0C,CACrDC,OAAAA,GAAAA;AAEA,IAAA,OAAO,IAAIC,iCAAAA,CAAkCD,OAAAA,CAAAA;AAC/C;IAWE,kBAAA,iBAAA,8BAAA,CAAA,oBAAA,CAAA,EAEA,aAAA,iBAAA,8BAAA,CAAA,eAAA,CAAA,EAEA,6EAOA,WAAA,iBAAA,8BAAA,CAAA,aAAA,CAAA,EAoCM,cAAA,iBAAA,8BAAA,CAAA,gBAAA,CAAA;AAxDR,MAAMC,iCAAAA,CAAAA;IA+BJC,WAAAA,CAAYC,MAAoB,EAAEC,QAAmB,EAAwB;AAC3E,QAAA,+BAAA,CAAA,IAAI,EAAC,kBAAA,CAAA,CAAA,kBAAA,CAAkB,CAACD,OAAO,GAAGC,QAAAA;AAClC,QAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAMC,SAAAA,CAAUC,WAAgC,EAAiB;QAC/D,+BAAA,CAAA,IAAI,EAAC,YAAA,CAAA,CAAA,YAAA,CAAA,GAAeA,WAAAA;QACpB,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,4BAAA,CAAA;AACjB,QAAA,MAAMC,YAAGC,KAAK,CAAC,gCAAA,IAAI,EAAC,eAAA,aAAA,CAAA,EAAe;YAAEC,SAAAA,EAAW;AAAK,SAAA,CAAA;AACrD,QAAA,IAAI,CAACC,OAAO,CAACC,IAAI,GAAG;AAAEC,YAAAA,IAAI,EAAE,+BAAA,CAAA,IAAI,EAAC,aAAA,CAAA,CAAA,aAAA;AAAc,SAAA;AACjD,IAAA;AAEA,IAAA,MAAMC,KAAAA,GAAQ;QACZ,MAAM,+BAAA,CAAA,IAAI,EAAC,cAAA,CAAA,CAAA,cAAA,CAAA,EAAA;AACb,IAAA;AAEA,IAAA,MAAMC,QAAAA,GAA0B;QAC9B,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,cAAA,CAAA;AACjB,QAAA,MAAMP,YAAGQ,EAAE,CAAC,gCAAA,IAAI,EAAC,eAAA,aAAA,CAAA,EAAe;YAAEN,SAAAA,EAAW,IAAA;YAAMO,KAAAA,EAAO;AAAK,SAAA,CAAA;AACjE,IAAA;IAEAC,WAAAA,GAAc;QACZ,OAAO,IAAA;AACT,IAAA;IAYAC,wBAAAA,GAA2B;QACzB,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,+BAAA,CAAA;AACjB,QAAA,MAAMC,kBAAkBC,qBAAAA,CAAsB,SAAA,CAAA;AAC9C,QAAA,MAAMC,WAAAA,GAAcC,0BAAAA,CAClB,+BAAA,CAAA,IAAI,EAAC,aAAA,CAAA,CAAA,aAAA,CAAA,EACLH,eAAAA,EACA,IAAI,CAACnB,OAAO,CAACW,IAAI,CAACY,YAAY,CAAA;AAEhC,QAAA,OAAOC,KAAAA,CAAM;AAACC,YAAAA,QAAAA,EAAAA;AAAYJ,YAAAA;AAAY,SAAA,CAAA;AACxC,IAAA;IAEAK,yBAAAA,GAAsC;QACpC,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,gCAAA,CAAA;AACjB,QAAA,MAAMP,kBAAkBC,qBAAAA,CAAsB,UAAA,CAAA;AAC9C,QAAA,MAAMC,WAAAA,GAAcC,0BAAAA,CAClB,+BAAA,CAAA,IAAI,EAAC,aAAA,CAAA,CAAA,aAAA,CAAA,EACLH,eAAAA,EACA,IAAI,CAACnB,OAAO,CAACW,IAAI,CAACY,YAAY,CAAA;AAEhC,QAAA,OAAOC,KAAAA,CAAM;AAACC,YAAAA,QAAAA,EAAAA;AAAYJ,YAAAA;AAAY,SAAA,CAAA;AACxC,IAAA;IAEAM,sBAAAA,GAAmC;QACjC,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,6BAAA,CAAA;AACjB,QAAA,MAAMR,kBAAkBC,qBAAAA,CAAsB,OAAA,CAAA;AAC9C,QAAA,MAAMC,WAAAA,GAAcC,0BAAAA,CAClB,+BAAA,CAAA,IAAI,EAAC,aAAA,CAAA,CAAA,aAAA,CAAA,EACLH,eAAAA,EACA,IAAI,CAACnB,OAAO,CAACW,IAAI,CAACY,YAAY,CAAA;AAEhC,QAAA,OAAOC,KAAAA,CAAM;AAACC,YAAAA,QAAAA,EAAAA;AAAYJ,YAAAA;AAAY,SAAA,CAAA;AACxC,IAAA;IAEAO,8BAAAA,GAA2C;QACzC,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,qCAAA,CAAA;AACjB,QAAA,MAAMT,kBAAkBC,qBAAAA,CAAsB,eAAA,CAAA;AAC9C,QAAA,MAAMC,WAAAA,GAAcC,0BAAAA,CAClB,+BAAA,CAAA,IAAI,EAAC,aAAA,CAAA,CAAA,aAAA,CAAA,EACLH,eAAAA,EACA,IAAI,CAACnB,OAAO,CAACW,IAAI,CAACY,YAAY,CAAA;AAEhC,QAAA,OAAOC,KAAAA,CAAM;AAACC,YAAAA,QAAAA,EAAAA;AAAYJ,YAAAA;AAAY,SAAA,CAAA;AACxC,IAAA;IAEAQ,uBAAAA,GAAoC;QAClC,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,8BAAA,CAAA;AACjB,QAAA,MAAMC,IAAAA,GAAO,+BAAA,CAAA,IAAI,EAAC,aAAA,CAAA,CAAA,aAAA,CAAA;AAElB,QAAA,OAAO,IAAIC,QAAAA,CAAS;YAClBC,UAAAA,EAAY,IAAA;AACZC,YAAAA,KAAAA,CAAAA,CAAMC,IAAY,EAAEC,SAAS,EAAEC,QAAQ,EAAA;gBACrC,MAAM,EAAEC,QAAQ,EAAE,GAAGH,IAAAA;AACrB,gBAAA,MAAMI,YAAY1B,IAAAA,CAAK2B,IAAI,CAACT,IAAAA,EAAM,UAAU,SAAA,EAAWO,QAAAA,CAAAA;gBACvD,MAAMG,iBAAAA,GAAoB5B,IAAAA,CAAK2B,IAAI,CAACT,IAAAA,EAAM,UAAU,UAAA,EAAY,CAAA,EAAGO,QAAAA,CAAS,KAAK,CAAC,CAAA;gBAElF,MAAMI,eAAAA,GAAkB,CAACC,KAAAA,GACvB,IAAIC,sBAAsB,CAAC,sBAAsB,EAAEN,QAAAA,CAAAA,CAAU,EAAE;wBAC7DO,OAAAA,EAAS;AACPC,4BAAAA,KAAAA,EAAOH,KAAAA,YAAiBI,KAAAA,GAAQJ,KAAAA,GAAQ,IAAII,MAAMC,MAAAA,CAAOL,KAAAA,CAAAA;AAC3D;AACF,qBAAA,CAAA;gBAEF,IAAIM,UAAAA;gBAEJ,IAAI;AACFzC,oBAAAA,WAAAA,CAAG0C,SAAS,CAACrC,IAAAA,CAAKsC,OAAO,CAACZ,SAAAA,CAAAA,EAAY;wBAAE7B,SAAAA,EAAW;AAAK,qBAAA,CAAA;AACxDF,oBAAAA,WAAAA,CAAG0C,SAAS,CAACrC,IAAAA,CAAKsC,OAAO,CAACV,iBAAAA,CAAAA,EAAoB;wBAAE/B,SAAAA,EAAW;AAAK,qBAAA,CAAA;oBAChEF,WAAAA,CAAG4C,aAAa,CAACX,iBAAAA,EAAmBY,IAAAA,CAAKC,SAAS,CAACnB,IAAAA,CAAK9B,QAAQ,CAAA,EAAG,MAAA,CAAA;AACnE4C,oBAAAA,UAAAA,GAAaM,iBAAAA,CAAkBhB,SAAAA,CAAAA;AACjC,gBAAA,CAAA,CAAE,OAAOO,KAAAA,EAAgB;AACvBT,oBAAAA,QAAAA,CAASK,eAAAA,CAAgBI,KAAAA,CAAAA,CAAAA;AACzB,oBAAA;AACF,gBAAA;AAEAU,gBAAAA,QAAAA,CAASrB,IAAAA,CAAKsB,MAAM,EAAER,UAAAA,EAAY,CAACS,GAAAA,GAAAA;AACjC,oBAAA,IAAIA,GAAAA,EAAK;AACPrB,wBAAAA,QAAAA,CAASK,eAAAA,CAAgBgB,GAAAA,CAAAA,CAAAA;AACzB,wBAAA;AACF,oBAAA;oBACArB,QAAAA,CAAS,IAAA,CAAA;AACX,gBAAA,CAAA,CAAA;AACF,YAAA;AACF,SAAA,CAAA;AACF,IAAA;AAtIA,IAAA,WAAA,CAAYpC,OAAkD,CAAE;QAKhE,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,WAAA,EAAA;AAAA,YAAA,KAAA,EAAA;;QAoCA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAM,cAAA,EAAA;AAAN,YAAA,KAAA,EAAA;;QA/CA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,kBAAA,EAAA;;mBAAA;;QAEA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,aAAA,EAAA;;mBAAA;;QAEA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,YAAA,EAAA;;mBAAA;;aAZA0D,IAAAA,GAAO,8BAAA;aAEPC,IAAAA,GAAqB,aAAA;AAIrBjD,QAAAA,IAAAA,CAAAA,OAAAA,GAA6D,EAAC;AAE9D,QAAA,+BAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,CAAA,sBAAsE,EAAC;QAOrE,IAAI,CAACV,OAAO,GAAGA,OAAAA;QACf,+BAAA,CAAA,IAAI,EAAC,aAAA,CAAA,CAAA,aAAA,CAAA,GAAgBY,IAAAA,CAAKgD,OAAO,CAAC5D,OAAAA,CAAQ6D,SAAS,CAACjD,IAAI,CAAA;AAC1D,IAAA;AAoIF;AAlIE,SAAA,WAAYkD,OAAe,EAAA;AACzB,IAAA,+BAAA,CAAA,IAAI,EAAC,YAAA,CAAA,CAAA,YAAA,CAAA,EAAcC,MAAAA,CAAO;QACxBnB,OAAAA,EAAS;AACPoB,YAAAA,SAAAA,EAAW,IAAIC,IAAAA,EAAAA;AACfH,YAAAA,OAAAA;YACAI,MAAAA,EAAQ;AACV,SAAA;QACAC,IAAAA,EAAM;AACR,KAAA,CAAA;AACF;AA2BA,eAAA,aAAA,GAAA;IACE,+BAAA,CAAA,IAAI,EAAC,WAAA,CAAA,CAAA,WAAA,CAAA,CAAY,kBAAA,CAAA;AACjB,IAAA,MAAM/D,WAAW,+BAAA,CAAA,IAAI,EAAC,kBAAA,CAAA,CAAA,oBAAmBgE,MAAM;AAC/C,IAAA,IAAIhE,QAAAA,EAAU;QACZ,MAAMD,MAAAA,GAASS,KAAK2B,IAAI,CAAC,gCAAA,IAAI,EAAC,eAAA,aAAA,CAAA,EAAe,eAAA,CAAA;AAC7C,QAAA,MAAMhC,YAAGC,KAAK,CAACI,IAAAA,CAAKsC,OAAO,CAAC/C,MAAAA,CAAAA,EAAS;YAAEM,SAAAA,EAAW;AAAK,SAAA,CAAA;QACvD,MAAMF,WAAAA,CAAG8D,SAAS,CAAClE,MAAAA,EAAQiD,KAAKC,SAAS,CAACjD,QAAAA,EAAU,IAAA,EAAM,CAAA,CAAA,EAAI,MAAA,CAAA;AAChE,IAAA;AACF;;;;"}
@@ -0,0 +1,8 @@
1
+ import { Writable } from 'stream';
2
+ import { createFilePathFactory } from '../../../file/providers/destination/utils';
3
+ export { createFilePathFactory };
4
+ /**
5
+ * JSONL writer that mirrors {@link createTarEntryStream} but writes files under a root directory.
6
+ */
7
+ export declare const createDirectoryJsonlWriter: (rootDir: string, pathFactory: (index?: number) => string, maxSize?: number) => Writable;
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/directory/providers/destination/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAElF,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,EACvC,gBAAgB,aAwDjB,CAAC"}
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs');
4
+ var path = require('path');
5
+ var stream = require('stream');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var path__default = /*#__PURE__*/_interopDefault(path);
10
+
11
+ /**
12
+ * JSONL writer that mirrors {@link createTarEntryStream} but writes files under a root directory.
13
+ */ const createDirectoryJsonlWriter = (rootDir, pathFactory, maxSize = 2.56e8)=>{
14
+ let fileIndex = 0;
15
+ let buffer = '';
16
+ const resolvePath = (posixName)=>path__default.default.join(rootDir, ...posixName.split('/'));
17
+ const flush = async ()=>{
18
+ if (!buffer) {
19
+ return;
20
+ }
21
+ fileIndex += 1;
22
+ const name = pathFactory(fileIndex);
23
+ const targetPath = resolvePath(name);
24
+ await fs.promises.mkdir(path__default.default.dirname(targetPath), {
25
+ recursive: true
26
+ });
27
+ await fs.promises.writeFile(targetPath, buffer, 'utf8');
28
+ buffer = '';
29
+ };
30
+ const push = (chunk)=>{
31
+ buffer += chunk;
32
+ };
33
+ return new stream.Writable({
34
+ async final (callback) {
35
+ try {
36
+ await flush();
37
+ callback();
38
+ } catch (err) {
39
+ callback(err instanceof Error ? err : new Error(String(err)));
40
+ }
41
+ },
42
+ async destroy (err, callback) {
43
+ await flush();
44
+ callback(err);
45
+ },
46
+ async write (chunk, _encoding, callback) {
47
+ const size = chunk.length;
48
+ if (chunk.length > maxSize) {
49
+ callback(new Error(`payload too large: ${chunk.length}>${maxSize}`));
50
+ return;
51
+ }
52
+ if (buffer.length + size > maxSize) {
53
+ await flush();
54
+ }
55
+ push(chunk);
56
+ callback(null);
57
+ }
58
+ });
59
+ };
60
+
61
+ exports.createDirectoryJsonlWriter = createDirectoryJsonlWriter;
62
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/directory/providers/destination/utils.ts"],"sourcesContent":["import { promises as fsp } from 'fs';\nimport path from 'path';\nimport { Writable } from 'stream';\n\nimport { createFilePathFactory } from '../../../file/providers/destination/utils';\n\nexport { createFilePathFactory };\n\n/**\n * JSONL writer that mirrors {@link createTarEntryStream} but writes files under a root directory.\n */\nexport const createDirectoryJsonlWriter = (\n rootDir: string,\n pathFactory: (index?: number) => string,\n maxSize = 2.56e8\n) => {\n let fileIndex = 0;\n let buffer = '';\n\n const resolvePath = (posixName: string) => path.join(rootDir, ...posixName.split('/'));\n\n const flush = async () => {\n if (!buffer) {\n return;\n }\n\n fileIndex += 1;\n const name = pathFactory(fileIndex);\n const targetPath = resolvePath(name);\n await fsp.mkdir(path.dirname(targetPath), { recursive: true });\n await fsp.writeFile(targetPath, buffer, 'utf8');\n buffer = '';\n };\n\n const push = (chunk: string | Buffer) => {\n buffer += chunk;\n };\n\n return new Writable({\n async final(callback) {\n try {\n await flush();\n callback();\n } catch (err: unknown) {\n callback(err instanceof Error ? err : new Error(String(err)));\n }\n },\n\n async destroy(err, callback) {\n await flush();\n callback(err);\n },\n\n async write(chunk, _encoding, callback) {\n const size = chunk.length;\n\n if (chunk.length > maxSize) {\n callback(new Error(`payload too large: ${chunk.length}>${maxSize}`));\n return;\n }\n\n if (buffer.length + size > maxSize) {\n await flush();\n }\n\n push(chunk);\n\n callback(null);\n },\n });\n};\n"],"names":["createDirectoryJsonlWriter","rootDir","pathFactory","maxSize","fileIndex","buffer","resolvePath","posixName","path","join","split","flush","name","targetPath","fsp","mkdir","dirname","recursive","writeFile","push","chunk","Writable","final","callback","err","Error","String","destroy","write","_encoding","size","length"],"mappings":";;;;;;;;;;AAQA;;AAEC,IACM,MAAMA,0BAAAA,GAA6B,CACxCC,OAAAA,EACAC,WAAAA,EACAC,UAAU,MAAM,GAAA;AAEhB,IAAA,IAAIC,SAAAA,GAAY,CAAA;AAChB,IAAA,IAAIC,MAAAA,GAAS,EAAA;IAEb,MAAMC,WAAAA,GAAc,CAACC,SAAAA,GAAsBC,qBAAAA,CAAKC,IAAI,CAACR,OAAAA,EAAAA,GAAYM,SAAAA,CAAUG,KAAK,CAAC,GAAA,CAAA,CAAA;AAEjF,IAAA,MAAMC,KAAAA,GAAQ,UAAA;AACZ,QAAA,IAAI,CAACN,MAAAA,EAAQ;AACX,YAAA;AACF,QAAA;QAEAD,SAAAA,IAAa,CAAA;AACb,QAAA,MAAMQ,OAAOV,WAAAA,CAAYE,SAAAA,CAAAA;AACzB,QAAA,MAAMS,aAAaP,WAAAA,CAAYM,IAAAA,CAAAA;AAC/B,QAAA,MAAME,YAAIC,KAAK,CAACP,qBAAAA,CAAKQ,OAAO,CAACH,UAAAA,CAAAA,EAAa;YAAEI,SAAAA,EAAW;AAAK,SAAA,CAAA;AAC5D,QAAA,MAAMH,WAAAA,CAAII,SAAS,CAACL,UAAAA,EAAYR,MAAAA,EAAQ,MAAA,CAAA;QACxCA,MAAAA,GAAS,EAAA;AACX,IAAA,CAAA;AAEA,IAAA,MAAMc,OAAO,CAACC,KAAAA,GAAAA;QACZf,MAAAA,IAAUe,KAAAA;AACZ,IAAA,CAAA;AAEA,IAAA,OAAO,IAAIC,eAAAA,CAAS;AAClB,QAAA,MAAMC,OAAMC,QAAQ,EAAA;YAClB,IAAI;gBACF,MAAMZ,KAAAA,EAAAA;AACNY,gBAAAA,QAAAA,EAAAA;AACF,YAAA,CAAA,CAAE,OAAOC,GAAAA,EAAc;AACrBD,gBAAAA,QAAAA,CAASC,GAAAA,YAAeC,KAAAA,GAAQD,GAAAA,GAAM,IAAIC,MAAMC,MAAAA,CAAOF,GAAAA,CAAAA,CAAAA,CAAAA;AACzD,YAAA;AACF,QAAA,CAAA;QAEA,MAAMG,OAAAA,CAAAA,CAAQH,GAAG,EAAED,QAAQ,EAAA;YACzB,MAAMZ,KAAAA,EAAAA;YACNY,QAAAA,CAASC,GAAAA,CAAAA;AACX,QAAA,CAAA;AAEA,QAAA,MAAMI,KAAAA,CAAAA,CAAMR,KAAK,EAAES,SAAS,EAAEN,QAAQ,EAAA;YACpC,MAAMO,IAAAA,GAAOV,MAAMW,MAAM;YAEzB,IAAIX,KAAAA,CAAMW,MAAM,GAAG5B,OAAAA,EAAS;gBAC1BoB,QAAAA,CAAS,IAAIE,KAAAA,CAAM,CAAC,mBAAmB,EAAEL,MAAMW,MAAM,CAAC,CAAC,EAAE5B,OAAAA,CAAAA,CAAS,CAAA,CAAA;AAClE,gBAAA;AACF,YAAA;AAEA,YAAA,IAAIE,MAAAA,CAAO0B,MAAM,GAAGD,IAAAA,GAAO3B,OAAAA,EAAS;gBAClC,MAAMQ,KAAAA,EAAAA;AACR,YAAA;YAEAQ,IAAAA,CAAKC,KAAAA,CAAAA;YAELG,QAAAA,CAAS,IAAA,CAAA;AACX,QAAA;AACF,KAAA,CAAA;AACF;;;;"}
@@ -0,0 +1,56 @@
1
+ import { promises } from 'fs';
2
+ import path from 'path';
3
+ import { Writable } from 'stream';
4
+
5
+ /**
6
+ * JSONL writer that mirrors {@link createTarEntryStream} but writes files under a root directory.
7
+ */ const createDirectoryJsonlWriter = (rootDir, pathFactory, maxSize = 2.56e8)=>{
8
+ let fileIndex = 0;
9
+ let buffer = '';
10
+ const resolvePath = (posixName)=>path.join(rootDir, ...posixName.split('/'));
11
+ const flush = async ()=>{
12
+ if (!buffer) {
13
+ return;
14
+ }
15
+ fileIndex += 1;
16
+ const name = pathFactory(fileIndex);
17
+ const targetPath = resolvePath(name);
18
+ await promises.mkdir(path.dirname(targetPath), {
19
+ recursive: true
20
+ });
21
+ await promises.writeFile(targetPath, buffer, 'utf8');
22
+ buffer = '';
23
+ };
24
+ const push = (chunk)=>{
25
+ buffer += chunk;
26
+ };
27
+ return new Writable({
28
+ async final (callback) {
29
+ try {
30
+ await flush();
31
+ callback();
32
+ } catch (err) {
33
+ callback(err instanceof Error ? err : new Error(String(err)));
34
+ }
35
+ },
36
+ async destroy (err, callback) {
37
+ await flush();
38
+ callback(err);
39
+ },
40
+ async write (chunk, _encoding, callback) {
41
+ const size = chunk.length;
42
+ if (chunk.length > maxSize) {
43
+ callback(new Error(`payload too large: ${chunk.length}>${maxSize}`));
44
+ return;
45
+ }
46
+ if (buffer.length + size > maxSize) {
47
+ await flush();
48
+ }
49
+ push(chunk);
50
+ callback(null);
51
+ }
52
+ });
53
+ };
54
+
55
+ export { createDirectoryJsonlWriter };
56
+ //# sourceMappingURL=utils.mjs.map