@remotion/cli 3.1.5 → 3.1.8

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 (491) hide show
  1. package/dist/chalk/symbols.d.ts +111 -0
  2. package/dist/chalk/symbols.js +75 -0
  3. package/dist/chalk/utilities.d.ts +2 -0
  4. package/dist/chalk/utilities.js +37 -0
  5. package/dist/code-frame.js +3 -3
  6. package/dist/compositions.d.ts +1 -1
  7. package/dist/compositions.js +16 -4
  8. package/dist/config/browser-executable.d.ts +3 -0
  9. package/dist/config/browser-executable.js +12 -0
  10. package/dist/config/browser.d.ts +3 -0
  11. package/dist/config/browser.js +18 -0
  12. package/dist/config/chromium-flags.d.ts +9 -0
  13. package/dist/config/chromium-flags.js +33 -0
  14. package/dist/config/codec.d.ts +7 -0
  15. package/dist/config/codec.js +40 -0
  16. package/dist/config/concurrency.d.ts +3 -0
  17. package/dist/config/concurrency.js +12 -0
  18. package/dist/config/crf.d.ts +4 -0
  19. package/dist/config/crf.js +23 -0
  20. package/dist/config/env-file.d.ts +2 -0
  21. package/dist/config/env-file.js +10 -0
  22. package/dist/config/every-nth-frame.d.ts +3 -0
  23. package/dist/config/every-nth-frame.js +20 -0
  24. package/dist/config/ffmpeg-executable.d.ts +5 -0
  25. package/dist/config/ffmpeg-executable.js +21 -0
  26. package/dist/config/frame-range.d.ts +4 -0
  27. package/dist/config/frame-range.js +35 -0
  28. package/dist/config/image-format.d.ts +3 -0
  29. package/dist/config/image-format.js +20 -0
  30. package/dist/config/image-sequence.d.ts +3 -0
  31. package/dist/config/image-sequence.js +15 -0
  32. package/dist/config/index.d.ts +43 -0
  33. package/dist/config/index.js +162 -0
  34. package/dist/config/log.d.ts +3 -0
  35. package/dist/config/log.js +12 -0
  36. package/dist/config/max-timeline-tracks.d.ts +2 -0
  37. package/dist/config/max-timeline-tracks.js +24 -0
  38. package/dist/config/number-of-gif-loops.d.ts +4 -0
  39. package/dist/config/number-of-gif-loops.js +21 -0
  40. package/dist/config/output-location.d.ts +2 -0
  41. package/dist/config/output-location.js +16 -0
  42. package/dist/config/override-webpack.d.ts +5 -0
  43. package/dist/config/override-webpack.js +14 -0
  44. package/dist/config/overwrite.d.ts +2 -0
  45. package/dist/config/overwrite.js +14 -0
  46. package/dist/config/pixel-format.d.ts +3 -0
  47. package/dist/config/pixel-format.js +16 -0
  48. package/dist/config/preview-server.d.ts +2 -0
  49. package/dist/config/preview-server.js +20 -0
  50. package/dist/config/prores-profile.d.ts +3 -0
  51. package/dist/config/prores-profile.js +12 -0
  52. package/dist/config/quality.d.ts +2 -0
  53. package/dist/config/quality.js +17 -0
  54. package/dist/config/scale.d.ts +3 -0
  55. package/dist/config/scale.js +15 -0
  56. package/dist/config/still-frame.d.ts +2 -0
  57. package/dist/config/still-frame.js +12 -0
  58. package/dist/config/timeout.d.ts +2 -0
  59. package/dist/config/timeout.js +17 -0
  60. package/dist/config/webpack-caching.d.ts +3 -0
  61. package/dist/config/webpack-caching.js +16 -0
  62. package/dist/editor/components/CompositionManager.d.ts +4 -0
  63. package/dist/editor/components/CompositionManager.js +60 -0
  64. package/dist/editor/components/CompositionSelectorItem.d.ts +1 -1
  65. package/dist/editor/components/CompositionSelectorItem.js +2 -1
  66. package/dist/editor/components/Editor.js +2 -1
  67. package/dist/editor/components/InitialCompositionLoader.d.ts +1 -1
  68. package/dist/editor/components/InitialCompositionLoader.js +17 -4
  69. package/dist/editor/components/Menu/MenuItem.js +1 -1
  70. package/dist/editor/components/Menu/MenuSubItem.js +1 -1
  71. package/dist/editor/components/Menu/styles.d.ts +3 -2
  72. package/dist/editor/components/Menu/styles.js +10 -3
  73. package/dist/editor/components/NewComposition/ComboBox.js +12 -2
  74. package/dist/editor/components/PlayPause.js +4 -0
  75. package/dist/editor/components/Timeline/TimelineDragHandler.js +3 -2
  76. package/dist/editor/components/Timeline/TimelineInOutPointer.js +2 -1
  77. package/dist/editor/components/Timeline/TimelineListItem.js +1 -0
  78. package/dist/editor/components/Timeline/TimelineScrollable.d.ts +4 -0
  79. package/dist/editor/components/Timeline/TimelineScrollable.js +23 -0
  80. package/dist/editor/components/Timeline/TimelineZoomControls.d.ts +2 -0
  81. package/dist/editor/components/Timeline/TimelineZoomControls.js +29 -0
  82. package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +4 -0
  83. package/dist/editor/components/Timeline/timeline-scroll-logic.js +13 -0
  84. package/dist/editor/components/TimelineInOutToggle.js +3 -2
  85. package/dist/editor/state/in-out.d.ts +12 -0
  86. package/dist/editor/state/in-out.js +23 -0
  87. package/dist/editor/state/timeline-zoom.d.ts +10 -0
  88. package/dist/editor/state/timeline-zoom.js +24 -0
  89. package/dist/find-closest-package-json.d.ts +2 -0
  90. package/dist/find-closest-package-json.js +35 -0
  91. package/dist/get-cli-options.d.ts +6 -7
  92. package/dist/get-cli-options.js +43 -48
  93. package/dist/get-composition-id.d.ts +1 -2
  94. package/dist/get-composition-id.js +2 -3
  95. package/dist/get-config-file-name.d.ts +1 -1
  96. package/dist/get-config-file-name.js +9 -6
  97. package/dist/get-env.js +6 -4
  98. package/dist/get-filename.d.ts +4 -3
  99. package/dist/get-filename.js +5 -5
  100. package/dist/get-final-output-codec.d.ts +6 -0
  101. package/dist/get-final-output-codec.js +63 -0
  102. package/dist/image-formats.d.ts +3 -3
  103. package/dist/image-formats.js +4 -3
  104. package/dist/index.d.ts +11 -10
  105. package/dist/index.js +17 -9
  106. package/dist/initialize-render-cli.d.ts +1 -1
  107. package/dist/initialize-render-cli.js +8 -3
  108. package/dist/lambda-command.d.ts +1 -1
  109. package/dist/lambda-command.js +4 -4
  110. package/dist/load-config.d.ts +1 -1
  111. package/dist/load-config.js +16 -5
  112. package/dist/log.js +7 -6
  113. package/dist/parse-command-line.d.ts +1 -1
  114. package/dist/parse-command-line.js +31 -30
  115. package/dist/preview-server/error-overlay/react-overlay/effects/map-error-to-react-stack.js +2 -2
  116. package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.d.ts +1 -1
  117. package/dist/preview-server/error-overlay/react-overlay/utils/get-file-source.js +3 -3
  118. package/dist/preview-server/fast-refresh/helpers.d.ts +39 -0
  119. package/dist/preview-server/fast-refresh/helpers.js +145 -0
  120. package/dist/preview-server/fast-refresh/index.d.ts +30 -0
  121. package/dist/preview-server/fast-refresh/index.js +86 -0
  122. package/dist/preview-server/fast-refresh/loader.d.ts +35 -0
  123. package/dist/preview-server/fast-refresh/loader.js +81 -0
  124. package/dist/preview-server/fast-refresh/runtime.d.ts +35 -0
  125. package/dist/preview-server/fast-refresh/runtime.js +32 -0
  126. package/dist/preview-server/get-package-manager.d.ts +1 -1
  127. package/dist/preview-server/get-package-manager.js +2 -2
  128. package/dist/preview-server/project-info.d.ts +1 -1
  129. package/dist/preview-server/project-info.js +3 -3
  130. package/dist/preview-server/routes.d.ts +2 -1
  131. package/dist/preview-server/routes.js +28 -17
  132. package/dist/preview-server/start-server.d.ts +1 -0
  133. package/dist/preview-server/start-server.js +4 -2
  134. package/dist/preview-server/static-preview.d.ts +1 -0
  135. package/dist/preview-server/static-preview.js +40 -0
  136. package/dist/preview-server/update-available.d.ts +1 -1
  137. package/dist/preview-server/update-available.js +8 -5
  138. package/dist/preview-server/webpack-cache.d.ts +12 -0
  139. package/dist/preview-server/webpack-cache.js +66 -0
  140. package/dist/preview.d.ts +1 -1
  141. package/dist/preview.js +5 -4
  142. package/dist/previewEntry.js +1 -0
  143. package/dist/progress-bar.d.ts +1 -2
  144. package/dist/progress-bar.js +5 -4
  145. package/dist/render.d.ts +1 -1
  146. package/dist/render.js +39 -19
  147. package/dist/setup-cache.d.ts +10 -1
  148. package/dist/setup-cache.js +32 -10
  149. package/dist/still.d.ts +1 -1
  150. package/dist/still.js +45 -29
  151. package/dist/truthy.d.ts +3 -0
  152. package/dist/truthy.js +7 -0
  153. package/dist/upgrade.d.ts +1 -1
  154. package/dist/upgrade.js +5 -10
  155. package/dist/user-passed-output-location.d.ts +5 -1
  156. package/dist/user-passed-output-location.js +14 -7
  157. package/dist/versions.d.ts +2 -2
  158. package/dist/versions.js +13 -12
  159. package/package.json +10 -10
  160. package/dist/ansi/ansi-diff.d.ts.map +0 -1
  161. package/dist/ansi/ansi-diff.js.map +0 -1
  162. package/dist/ansi/ansi-regex.d.ts.map +0 -1
  163. package/dist/ansi/ansi-regex.js.map +0 -1
  164. package/dist/ansi/ansi-split.d.ts.map +0 -1
  165. package/dist/ansi/ansi-split.js.map +0 -1
  166. package/dist/check-version.d.ts.map +0 -1
  167. package/dist/check-version.js.map +0 -1
  168. package/dist/code-frame.d.ts.map +0 -1
  169. package/dist/code-frame.js.map +0 -1
  170. package/dist/compositions.d.ts.map +0 -1
  171. package/dist/compositions.js.map +0 -1
  172. package/dist/download-progress.d.ts.map +0 -1
  173. package/dist/download-progress.js.map +0 -1
  174. package/dist/editor/components/AudioWaveform.d.ts.map +0 -1
  175. package/dist/editor/components/AudioWaveform.js.map +0 -1
  176. package/dist/editor/components/AudioWaveformBar.d.ts.map +0 -1
  177. package/dist/editor/components/AudioWaveformBar.js.map +0 -1
  178. package/dist/editor/components/Canvas.d.ts.map +0 -1
  179. package/dist/editor/components/Canvas.js.map +0 -1
  180. package/dist/editor/components/CheckboardToggle.d.ts.map +0 -1
  181. package/dist/editor/components/CheckboardToggle.js.map +0 -1
  182. package/dist/editor/components/ClipboardIcon.d.ts.map +0 -1
  183. package/dist/editor/components/ClipboardIcon.js.map +0 -1
  184. package/dist/editor/components/CompositionSelector.d.ts.map +0 -1
  185. package/dist/editor/components/CompositionSelector.js.map +0 -1
  186. package/dist/editor/components/CompositionSelectorItem.d.ts.map +0 -1
  187. package/dist/editor/components/CompositionSelectorItem.js.map +0 -1
  188. package/dist/editor/components/ControlButton.d.ts.map +0 -1
  189. package/dist/editor/components/ControlButton.js.map +0 -1
  190. package/dist/editor/components/CopyButton.d.ts.map +0 -1
  191. package/dist/editor/components/CopyButton.js.map +0 -1
  192. package/dist/editor/components/CurrentComposition.d.ts.map +0 -1
  193. package/dist/editor/components/CurrentComposition.js.map +0 -1
  194. package/dist/editor/components/Editor.d.ts.map +0 -1
  195. package/dist/editor/components/Editor.js.map +0 -1
  196. package/dist/editor/components/EditorContent.d.ts.map +0 -1
  197. package/dist/editor/components/EditorContent.js.map +0 -1
  198. package/dist/editor/components/FpsCounter.d.ts.map +0 -1
  199. package/dist/editor/components/FpsCounter.js.map +0 -1
  200. package/dist/editor/components/FramePersistor.d.ts.map +0 -1
  201. package/dist/editor/components/FramePersistor.js.map +0 -1
  202. package/dist/editor/components/GlobalKeybindings.d.ts.map +0 -1
  203. package/dist/editor/components/GlobalKeybindings.js.map +0 -1
  204. package/dist/editor/components/KeyboardShortcutsModal.d.ts.map +0 -1
  205. package/dist/editor/components/KeyboardShortcutsModal.js.map +0 -1
  206. package/dist/editor/components/LoadingIndicator.d.ts.map +0 -1
  207. package/dist/editor/components/LoadingIndicator.js.map +0 -1
  208. package/dist/editor/components/LoopToggle.d.ts.map +0 -1
  209. package/dist/editor/components/LoopToggle.js.map +0 -1
  210. package/dist/editor/components/Menu/MenuDivider.d.ts.map +0 -1
  211. package/dist/editor/components/Menu/MenuDivider.js.map +0 -1
  212. package/dist/editor/components/Menu/MenuItem.d.ts.map +0 -1
  213. package/dist/editor/components/Menu/MenuItem.js.map +0 -1
  214. package/dist/editor/components/Menu/MenuSubItem.d.ts.map +0 -1
  215. package/dist/editor/components/Menu/MenuSubItem.js.map +0 -1
  216. package/dist/editor/components/Menu/SubMenu.d.ts.map +0 -1
  217. package/dist/editor/components/Menu/SubMenu.js.map +0 -1
  218. package/dist/editor/components/Menu/portals.d.ts.map +0 -1
  219. package/dist/editor/components/Menu/portals.js.map +0 -1
  220. package/dist/editor/components/Menu/styles.d.ts.map +0 -1
  221. package/dist/editor/components/Menu/styles.js.map +0 -1
  222. package/dist/editor/components/MenuToolbar.d.ts.map +0 -1
  223. package/dist/editor/components/MenuToolbar.js.map +0 -1
  224. package/dist/editor/components/ModalContainer.d.ts.map +0 -1
  225. package/dist/editor/components/ModalContainer.js.map +0 -1
  226. package/dist/editor/components/ModalHeader.d.ts.map +0 -1
  227. package/dist/editor/components/ModalHeader.js.map +0 -1
  228. package/dist/editor/components/MuteToggle.d.ts.map +0 -1
  229. package/dist/editor/components/MuteToggle.js.map +0 -1
  230. package/dist/editor/components/NewComposition/CancelButton.d.ts.map +0 -1
  231. package/dist/editor/components/NewComposition/CancelButton.js.map +0 -1
  232. package/dist/editor/components/NewComposition/ComboBox.d.ts.map +0 -1
  233. package/dist/editor/components/NewComposition/ComboBox.js.map +0 -1
  234. package/dist/editor/components/NewComposition/CopyHint.d.ts.map +0 -1
  235. package/dist/editor/components/NewComposition/CopyHint.js.map +0 -1
  236. package/dist/editor/components/NewComposition/InputDragger.d.ts.map +0 -1
  237. package/dist/editor/components/NewComposition/InputDragger.js.map +0 -1
  238. package/dist/editor/components/NewComposition/MenuContent.d.ts.map +0 -1
  239. package/dist/editor/components/NewComposition/MenuContent.js.map +0 -1
  240. package/dist/editor/components/NewComposition/NewCompAspectRatio.d.ts.map +0 -1
  241. package/dist/editor/components/NewComposition/NewCompAspectRatio.js.map +0 -1
  242. package/dist/editor/components/NewComposition/NewCompCode.d.ts.map +0 -1
  243. package/dist/editor/components/NewComposition/NewCompCode.js.map +0 -1
  244. package/dist/editor/components/NewComposition/NewCompDuration.d.ts.map +0 -1
  245. package/dist/editor/components/NewComposition/NewCompDuration.js.map +0 -1
  246. package/dist/editor/components/NewComposition/NewComposition.d.ts.map +0 -1
  247. package/dist/editor/components/NewComposition/NewComposition.js.map +0 -1
  248. package/dist/editor/components/NewComposition/RemInput.d.ts.map +0 -1
  249. package/dist/editor/components/NewComposition/RemInput.js.map +0 -1
  250. package/dist/editor/components/NewComposition/ToggleAspectRatio.d.ts.map +0 -1
  251. package/dist/editor/components/NewComposition/ToggleAspectRatio.js.map +0 -1
  252. package/dist/editor/components/NewComposition/ValidationMessage.d.ts.map +0 -1
  253. package/dist/editor/components/NewComposition/ValidationMessage.js.map +0 -1
  254. package/dist/editor/components/NewComposition/new-comp-layout.d.ts.map +0 -1
  255. package/dist/editor/components/NewComposition/new-comp-layout.js.map +0 -1
  256. package/dist/editor/components/NewComposition/render-aspect-ratio.d.ts.map +0 -1
  257. package/dist/editor/components/NewComposition/render-aspect-ratio.js.map +0 -1
  258. package/dist/editor/components/PlayPause.d.ts.map +0 -1
  259. package/dist/editor/components/PlayPause.js.map +0 -1
  260. package/dist/editor/components/PlaybackKeyboardShortcutsManager.d.ts.map +0 -1
  261. package/dist/editor/components/PlaybackKeyboardShortcutsManager.js.map +0 -1
  262. package/dist/editor/components/PlaybackRatePersistor.d.ts.map +0 -1
  263. package/dist/editor/components/PlaybackRatePersistor.js.map +0 -1
  264. package/dist/editor/components/PlaybackRateSelector.d.ts.map +0 -1
  265. package/dist/editor/components/PlaybackRateSelector.js.map +0 -1
  266. package/dist/editor/components/Preview.d.ts.map +0 -1
  267. package/dist/editor/components/Preview.js.map +0 -1
  268. package/dist/editor/components/PreviewToolbar.d.ts.map +0 -1
  269. package/dist/editor/components/PreviewToolbar.js.map +0 -1
  270. package/dist/editor/components/RichTimelineToggle.d.ts.map +0 -1
  271. package/dist/editor/components/RichTimelineToggle.js.map +0 -1
  272. package/dist/editor/components/SizeSelector.d.ts.map +0 -1
  273. package/dist/editor/components/SizeSelector.js.map +0 -1
  274. package/dist/editor/components/Splitter/SplitterContainer.d.ts.map +0 -1
  275. package/dist/editor/components/Splitter/SplitterContainer.js.map +0 -1
  276. package/dist/editor/components/Splitter/SplitterContext.d.ts.map +0 -1
  277. package/dist/editor/components/Splitter/SplitterContext.js.map +0 -1
  278. package/dist/editor/components/Splitter/SplitterElement.d.ts.map +0 -1
  279. package/dist/editor/components/Splitter/SplitterElement.js.map +0 -1
  280. package/dist/editor/components/Splitter/SplitterHandle.d.ts.map +0 -1
  281. package/dist/editor/components/Splitter/SplitterHandle.js.map +0 -1
  282. package/dist/editor/components/Thumbnail.d.ts.map +0 -1
  283. package/dist/editor/components/Thumbnail.js.map +0 -1
  284. package/dist/editor/components/TimeValue.d.ts.map +0 -1
  285. package/dist/editor/components/TimeValue.js.map +0 -1
  286. package/dist/editor/components/Timeline/LoopedIndicator.d.ts.map +0 -1
  287. package/dist/editor/components/Timeline/LoopedIndicator.js.map +0 -1
  288. package/dist/editor/components/Timeline/LoopedTimelineIndicators.d.ts.map +0 -1
  289. package/dist/editor/components/Timeline/LoopedTimelineIndicators.js.map +0 -1
  290. package/dist/editor/components/Timeline/MaxTimelineTracks.d.ts.map +0 -1
  291. package/dist/editor/components/Timeline/MaxTimelineTracks.js.map +0 -1
  292. package/dist/editor/components/Timeline/Timeline.d.ts.map +0 -1
  293. package/dist/editor/components/Timeline/Timeline.js.map +0 -1
  294. package/dist/editor/components/Timeline/TimelineCollapseToggle.d.ts.map +0 -1
  295. package/dist/editor/components/Timeline/TimelineCollapseToggle.js.map +0 -1
  296. package/dist/editor/components/Timeline/TimelineDragHandler.d.ts.map +0 -1
  297. package/dist/editor/components/Timeline/TimelineDragHandler.js.map +0 -1
  298. package/dist/editor/components/Timeline/TimelineInOutPointer.d.ts.map +0 -1
  299. package/dist/editor/components/Timeline/TimelineInOutPointer.js.map +0 -1
  300. package/dist/editor/components/Timeline/TimelineInOutPointerHandle.d.ts.map +0 -1
  301. package/dist/editor/components/Timeline/TimelineInOutPointerHandle.js.map +0 -1
  302. package/dist/editor/components/Timeline/TimelineList.d.ts.map +0 -1
  303. package/dist/editor/components/Timeline/TimelineList.js.map +0 -1
  304. package/dist/editor/components/Timeline/TimelineListItem.d.ts.map +0 -1
  305. package/dist/editor/components/Timeline/TimelineListItem.js.map +0 -1
  306. package/dist/editor/components/Timeline/TimelineSequence.d.ts.map +0 -1
  307. package/dist/editor/components/Timeline/TimelineSequence.js.map +0 -1
  308. package/dist/editor/components/Timeline/TimelineSequenceFrame.d.ts.map +0 -1
  309. package/dist/editor/components/Timeline/TimelineSequenceFrame.js.map +0 -1
  310. package/dist/editor/components/Timeline/TimelineSlider.d.ts.map +0 -1
  311. package/dist/editor/components/Timeline/TimelineSlider.js.map +0 -1
  312. package/dist/editor/components/Timeline/TimelineSliderHandle.d.ts.map +0 -1
  313. package/dist/editor/components/Timeline/TimelineSliderHandle.js.map +0 -1
  314. package/dist/editor/components/Timeline/TimelineTracks.d.ts.map +0 -1
  315. package/dist/editor/components/Timeline/TimelineTracks.js.map +0 -1
  316. package/dist/editor/components/Timeline/TimelineVideoInfo.d.ts.map +0 -1
  317. package/dist/editor/components/Timeline/TimelineVideoInfo.js.map +0 -1
  318. package/dist/editor/components/Timeline/is-collapsed.d.ts.map +0 -1
  319. package/dist/editor/components/Timeline/is-collapsed.js.map +0 -1
  320. package/dist/editor/components/Timeline/timeline-refs.d.ts.map +0 -1
  321. package/dist/editor/components/Timeline/timeline-refs.js.map +0 -1
  322. package/dist/editor/components/Timeline/timeline-state-reducer.d.ts.map +0 -1
  323. package/dist/editor/components/Timeline/timeline-state-reducer.js.map +0 -1
  324. package/dist/editor/components/TimelineInOutToggle.d.ts.map +0 -1
  325. package/dist/editor/components/TimelineInOutToggle.js.map +0 -1
  326. package/dist/editor/components/TopPanel.d.ts.map +0 -1
  327. package/dist/editor/components/TopPanel.js.map +0 -1
  328. package/dist/editor/components/UpdateCheck.d.ts.map +0 -1
  329. package/dist/editor/components/UpdateCheck.js.map +0 -1
  330. package/dist/editor/components/UpdateModal/UpdateModal.d.ts.map +0 -1
  331. package/dist/editor/components/UpdateModal/UpdateModal.js.map +0 -1
  332. package/dist/editor/components/layout.d.ts.map +0 -1
  333. package/dist/editor/components/layout.js.map +0 -1
  334. package/dist/editor/helpers/calculate-timeline.d.ts.map +0 -1
  335. package/dist/editor/helpers/calculate-timeline.js.map +0 -1
  336. package/dist/editor/helpers/checkerboard-background.d.ts.map +0 -1
  337. package/dist/editor/helpers/checkerboard-background.js.map +0 -1
  338. package/dist/editor/helpers/colors.d.ts.map +0 -1
  339. package/dist/editor/helpers/colors.js.map +0 -1
  340. package/dist/editor/helpers/copy-text.d.ts.map +0 -1
  341. package/dist/editor/helpers/copy-text.js.map +0 -1
  342. package/dist/editor/helpers/create-folder-tree.d.ts.map +0 -1
  343. package/dist/editor/helpers/create-folder-tree.js.map +0 -1
  344. package/dist/editor/helpers/get-left-of-timeline-slider.d.ts.map +0 -1
  345. package/dist/editor/helpers/get-left-of-timeline-slider.js.map +0 -1
  346. package/dist/editor/helpers/get-sequence-visible-range.d.ts.map +0 -1
  347. package/dist/editor/helpers/get-sequence-visible-range.js.map +0 -1
  348. package/dist/editor/helpers/get-timeline-nestedness.d.ts.map +0 -1
  349. package/dist/editor/helpers/get-timeline-nestedness.js.map +0 -1
  350. package/dist/editor/helpers/get-timeline-sequence-hash.d.ts.map +0 -1
  351. package/dist/editor/helpers/get-timeline-sequence-hash.js.map +0 -1
  352. package/dist/editor/helpers/get-timeline-sequence-layout.d.ts.map +0 -1
  353. package/dist/editor/helpers/get-timeline-sequence-layout.js.map +0 -1
  354. package/dist/editor/helpers/get-timeline-sequence-sort-key.d.ts.map +0 -1
  355. package/dist/editor/helpers/get-timeline-sequence-sort-key.js.map +0 -1
  356. package/dist/editor/helpers/is-composition-still.d.ts.map +0 -1
  357. package/dist/editor/helpers/is-composition-still.js.map +0 -1
  358. package/dist/editor/helpers/is-current-selected-still.d.ts.map +0 -1
  359. package/dist/editor/helpers/is-current-selected-still.js.map +0 -1
  360. package/dist/editor/helpers/noop.d.ts.map +0 -1
  361. package/dist/editor/helpers/noop.js.map +0 -1
  362. package/dist/editor/helpers/persist-open-folders.d.ts.map +0 -1
  363. package/dist/editor/helpers/persist-open-folders.js.map +0 -1
  364. package/dist/editor/helpers/timeline-layout.d.ts.map +0 -1
  365. package/dist/editor/helpers/timeline-layout.js.map +0 -1
  366. package/dist/editor/helpers/use-keybinding.d.ts.map +0 -1
  367. package/dist/editor/helpers/use-keybinding.js.map +0 -1
  368. package/dist/editor/helpers/validate-new-comp-data.d.ts.map +0 -1
  369. package/dist/editor/helpers/validate-new-comp-data.js.map +0 -1
  370. package/dist/editor/icons/Checkmark.d.ts.map +0 -1
  371. package/dist/editor/icons/Checkmark.js.map +0 -1
  372. package/dist/editor/icons/caret.d.ts.map +0 -1
  373. package/dist/editor/icons/caret.js.map +0 -1
  374. package/dist/editor/icons/film.d.ts.map +0 -1
  375. package/dist/editor/icons/film.js.map +0 -1
  376. package/dist/editor/icons/folder.d.ts.map +0 -1
  377. package/dist/editor/icons/folder.js.map +0 -1
  378. package/dist/editor/icons/keys.d.ts.map +0 -1
  379. package/dist/editor/icons/keys.js.map +0 -1
  380. package/dist/editor/icons/lock.d.ts.map +0 -1
  381. package/dist/editor/icons/lock.js.map +0 -1
  382. package/dist/editor/icons/media-volume.d.ts.map +0 -1
  383. package/dist/editor/icons/media-volume.js.map +0 -1
  384. package/dist/editor/icons/pause.d.ts.map +0 -1
  385. package/dist/editor/icons/pause.js.map +0 -1
  386. package/dist/editor/icons/play.d.ts.map +0 -1
  387. package/dist/editor/icons/play.js.map +0 -1
  388. package/dist/editor/icons/step-back.d.ts.map +0 -1
  389. package/dist/editor/icons/step-back.js.map +0 -1
  390. package/dist/editor/icons/step-forward.d.ts.map +0 -1
  391. package/dist/editor/icons/step-forward.js.map +0 -1
  392. package/dist/editor/icons/still.d.ts.map +0 -1
  393. package/dist/editor/icons/still.js.map +0 -1
  394. package/dist/editor/icons/timeline.d.ts.map +0 -1
  395. package/dist/editor/icons/timeline.js.map +0 -1
  396. package/dist/editor/icons/timelineInOutPointer.d.ts.map +0 -1
  397. package/dist/editor/icons/timelineInOutPointer.js.map +0 -1
  398. package/dist/editor/state/aspect-ratio-locked.d.ts.map +0 -1
  399. package/dist/editor/state/aspect-ratio-locked.js.map +0 -1
  400. package/dist/editor/state/checkerboard.d.ts.map +0 -1
  401. package/dist/editor/state/checkerboard.js.map +0 -1
  402. package/dist/editor/state/highest-z-index.d.ts.map +0 -1
  403. package/dist/editor/state/highest-z-index.js.map +0 -1
  404. package/dist/editor/state/input-dragger-click-lock.d.ts.map +0 -1
  405. package/dist/editor/state/input-dragger-click-lock.js.map +0 -1
  406. package/dist/editor/state/keybindings.d.ts.map +0 -1
  407. package/dist/editor/state/keybindings.js.map +0 -1
  408. package/dist/editor/state/loop.d.ts.map +0 -1
  409. package/dist/editor/state/loop.js.map +0 -1
  410. package/dist/editor/state/marks.d.ts.map +0 -1
  411. package/dist/editor/state/marks.js.map +0 -1
  412. package/dist/editor/state/modals.d.ts.map +0 -1
  413. package/dist/editor/state/modals.js.map +0 -1
  414. package/dist/editor/state/mute.d.ts.map +0 -1
  415. package/dist/editor/state/mute.js.map +0 -1
  416. package/dist/editor/state/playbackrate.d.ts.map +0 -1
  417. package/dist/editor/state/playbackrate.js.map +0 -1
  418. package/dist/editor/state/preview-size.d.ts.map +0 -1
  419. package/dist/editor/state/preview-size.js.map +0 -1
  420. package/dist/editor/state/render-frame.d.ts.map +0 -1
  421. package/dist/editor/state/render-frame.js.map +0 -1
  422. package/dist/editor/state/rich-timeline.d.ts.map +0 -1
  423. package/dist/editor/state/rich-timeline.js.map +0 -1
  424. package/dist/editor/state/timeline-ref.d.ts.map +0 -1
  425. package/dist/editor/state/timeline-ref.js.map +0 -1
  426. package/dist/editor/state/timeline.d.ts.map +0 -1
  427. package/dist/editor/state/timeline.js.map +0 -1
  428. package/dist/editor/state/z-index.d.ts.map +0 -1
  429. package/dist/editor/state/z-index.js.map +0 -1
  430. package/dist/get-cli-options.d.ts.map +0 -1
  431. package/dist/get-cli-options.js.map +0 -1
  432. package/dist/get-composition-id.d.ts.map +0 -1
  433. package/dist/get-composition-id.js.map +0 -1
  434. package/dist/get-config-file-name.d.ts.map +0 -1
  435. package/dist/get-config-file-name.js.map +0 -1
  436. package/dist/get-env.d.ts.map +0 -1
  437. package/dist/get-env.js.map +0 -1
  438. package/dist/get-filename.d.ts.map +0 -1
  439. package/dist/get-filename.js.map +0 -1
  440. package/dist/get-input-props.d.ts.map +0 -1
  441. package/dist/get-input-props.js.map +0 -1
  442. package/dist/handle-common-errors.d.ts.map +0 -1
  443. package/dist/handle-common-errors.js.map +0 -1
  444. package/dist/image-formats.d.ts.map +0 -1
  445. package/dist/image-formats.js.map +0 -1
  446. package/dist/index.d.ts.map +0 -1
  447. package/dist/index.js.map +0 -1
  448. package/dist/initialize-render-cli.d.ts.map +0 -1
  449. package/dist/initialize-render-cli.js.map +0 -1
  450. package/dist/is-javascript.d.ts.map +0 -1
  451. package/dist/is-javascript.js.map +0 -1
  452. package/dist/lambda-command.d.ts.map +0 -1
  453. package/dist/lambda-command.js.map +0 -1
  454. package/dist/load-config.d.ts.map +0 -1
  455. package/dist/load-config.js.map +0 -1
  456. package/dist/log.d.ts.map +0 -1
  457. package/dist/log.js.map +0 -1
  458. package/dist/make-progress-bar.d.ts.map +0 -1
  459. package/dist/make-progress-bar.js.map +0 -1
  460. package/dist/parse-command-line.d.ts.map +0 -1
  461. package/dist/parse-command-line.js.map +0 -1
  462. package/dist/preview.d.ts.map +0 -1
  463. package/dist/preview.js.map +0 -1
  464. package/dist/previewEntry.d.ts.map +0 -1
  465. package/dist/previewEntry.js.map +0 -1
  466. package/dist/print-error.d.ts.map +0 -1
  467. package/dist/print-error.js.map +0 -1
  468. package/dist/print-help.d.ts.map +0 -1
  469. package/dist/print-help.js.map +0 -1
  470. package/dist/progress-bar.d.ts.map +0 -1
  471. package/dist/progress-bar.js.map +0 -1
  472. package/dist/render.d.ts.map +0 -1
  473. package/dist/render.js.map +0 -1
  474. package/dist/resolve-from.d.ts.map +0 -1
  475. package/dist/resolve-from.js.map +0 -1
  476. package/dist/setup-cache.d.ts.map +0 -1
  477. package/dist/setup-cache.js.map +0 -1
  478. package/dist/step.d.ts.map +0 -1
  479. package/dist/step.js.map +0 -1
  480. package/dist/still.d.ts.map +0 -1
  481. package/dist/still.js.map +0 -1
  482. package/dist/upgrade.d.ts.map +0 -1
  483. package/dist/upgrade.js.map +0 -1
  484. package/dist/user-passed-output-location.d.ts.map +0 -1
  485. package/dist/user-passed-output-location.js.map +0 -1
  486. package/dist/validate-ffmpeg-version.d.ts.map +0 -1
  487. package/dist/validate-ffmpeg-version.js.map +0 -1
  488. package/dist/versions.d.ts.map +0 -1
  489. package/dist/versions.js.map +0 -1
  490. package/dist/warn-about-ffmpeg-version.d.ts.map +0 -1
  491. package/dist/warn-about-ffmpeg-version.js.map +0 -1
package/dist/render.js CHANGED
@@ -8,17 +8,20 @@ const renderer_1 = require("@remotion/renderer");
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const os_1 = __importDefault(require("os"));
10
10
  const path_1 = __importDefault(require("path"));
11
+ // eslint-disable-next-line no-restricted-imports
11
12
  const remotion_1 = require("remotion");
12
13
  const chalk_1 = require("./chalk");
14
+ const config_1 = require("./config");
13
15
  const get_cli_options_1 = require("./get-cli-options");
14
16
  const get_composition_id_1 = require("./get-composition-id");
17
+ const get_filename_1 = require("./get-filename");
15
18
  const initialize_render_cli_1 = require("./initialize-render-cli");
16
19
  const log_1 = require("./log");
17
20
  const parse_command_line_1 = require("./parse-command-line");
18
21
  const progress_bar_1 = require("./progress-bar");
19
22
  const setup_cache_1 = require("./setup-cache");
20
23
  const validate_ffmpeg_version_1 = require("./validate-ffmpeg-version");
21
- const render = async () => {
24
+ const render = async (remotionRoot) => {
22
25
  const startTime = Date.now();
23
26
  const file = parse_command_line_1.parsedCli._[1];
24
27
  if (!file) {
@@ -30,18 +33,29 @@ const render = async () => {
30
33
  const fullPath = renderer_1.RenderInternals.isServeUrl(file)
31
34
  ? file
32
35
  : path_1.default.join(process.cwd(), file);
33
- await (0, initialize_render_cli_1.initializeRenderCli)('sequence');
34
- const { codec, proResProfile, parallelism, frameRange, shouldOutputImageSequence, absoluteOutputFile, overwrite, inputProps, envVariables, quality, browser, crf, pixelFormat, imageFormat, browserExecutable, ffmpegExecutable, ffprobeExecutable, scale, chromiumOptions, port, numberOfGifLoops, everyNthFrame, puppeteerTimeout, } = await (0, get_cli_options_1.getCliOptions)({ isLambda: false, type: 'series' });
35
- if (!absoluteOutputFile) {
36
- throw new Error('assertion error - expected absoluteOutputFile to not be null');
37
- }
36
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
37
+ await (0, initialize_render_cli_1.initializeRenderCli)(remotionRoot, 'sequence');
38
+ log_1.Log.verbose('Asset dirs', downloadMap.assetDir);
39
+ const { codec, proResProfile, parallelism, frameRange, shouldOutputImageSequence, overwrite, inputProps, envVariables, quality, browser, crf, pixelFormat, imageFormat, browserExecutable, ffmpegExecutable, ffprobeExecutable, scale, chromiumOptions, port, numberOfGifLoops, everyNthFrame, puppeteerTimeout, } = await (0, get_cli_options_1.getCliOptions)({
40
+ isLambda: false,
41
+ type: 'series',
42
+ });
43
+ const relativeOutputLocation = (0, get_filename_1.getOutputFilename)({
44
+ codec,
45
+ imageSequence: shouldOutputImageSequence,
46
+ compositionName: (0, get_composition_id_1.getCompositionId)(),
47
+ defaultExtension: renderer_1.RenderInternals.getFileExtensionFromCodec(codec, 'final'),
48
+ });
49
+ const absoluteOutputFile = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
50
+ const compositionId = (0, get_composition_id_1.getCompositionId)();
51
+ log_1.Log.info(chalk_1.chalk.gray(`Composition = ${compositionId}, Codec = ${codec}, Output = ${relativeOutputLocation}`));
38
52
  log_1.Log.verbose('Browser executable: ', browserExecutable);
39
53
  await (0, validate_ffmpeg_version_1.checkAndValidateFfmpegVersion)({
40
54
  ffmpegExecutable,
41
55
  });
42
56
  const browserInstance = (0, renderer_1.openBrowser)(browser, {
43
57
  browserExecutable,
44
- shouldDumpIo: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
58
+ shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
45
59
  chromiumOptions,
46
60
  forceDeviceScaleFactor: scale,
47
61
  });
@@ -50,9 +64,11 @@ const render = async () => {
50
64
  'rendering',
51
65
  shouldOutputImageSequence ? null : 'stitching',
52
66
  ].filter(remotion_1.Internals.truthy);
53
- const urlOrBundle = renderer_1.RenderInternals.isServeUrl(fullPath)
54
- ? fullPath
55
- : await (0, setup_cache_1.bundleOnCli)({ fullPath, steps });
67
+ const { urlOrBundle, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
68
+ fullPath,
69
+ remotionRoot,
70
+ steps,
71
+ });
56
72
  const onDownload = (src) => {
57
73
  const id = Math.random();
58
74
  const download = {
@@ -76,11 +92,11 @@ const render = async () => {
76
92
  inputProps,
77
93
  puppeteerInstance,
78
94
  envVariables,
79
- timeoutInMilliseconds: remotion_1.Internals.getCurrentPuppeteerTimeout(),
95
+ timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
80
96
  chromiumOptions,
81
97
  browserExecutable,
98
+ downloadMap,
82
99
  });
83
- const compositionId = (0, get_composition_id_1.getCompositionId)(comps);
84
100
  const config = comps.find((c) => c.id === compositionId);
85
101
  if (!config) {
86
102
  throw new Error(`Cannot find composition with ID ${compositionId}`);
@@ -157,7 +173,7 @@ const render = async () => {
157
173
  },
158
174
  outputDir,
159
175
  serveUrl: urlOrBundle,
160
- dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
176
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
161
177
  everyNthFrame,
162
178
  envVariables,
163
179
  frameRange,
@@ -171,6 +187,7 @@ const render = async () => {
171
187
  ffprobeExecutable,
172
188
  browserExecutable,
173
189
  port,
190
+ downloadMap,
174
191
  });
175
192
  renderedDoneIn = Date.now() - startTime;
176
193
  updateRenderProgress();
@@ -206,13 +223,15 @@ const render = async () => {
206
223
  quality,
207
224
  serveUrl: urlOrBundle,
208
225
  onDownload,
209
- dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
226
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
210
227
  chromiumOptions,
211
- timeoutInMilliseconds: remotion_1.Internals.getCurrentPuppeteerTimeout(),
228
+ timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
212
229
  scale,
213
230
  port,
214
231
  numberOfGifLoops,
215
232
  everyNthFrame,
233
+ verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
234
+ downloadMap,
216
235
  });
217
236
  log_1.Log.info();
218
237
  log_1.Log.info();
@@ -224,9 +243,10 @@ const render = async () => {
224
243
  ].join(' '));
225
244
  log_1.Log.info('-', 'Output can be found at:');
226
245
  log_1.Log.info(chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
227
- log_1.Log.verbose('Cleaning up...');
228
246
  try {
229
- await renderer_1.RenderInternals.deleteDirectory(urlOrBundle);
247
+ await cleanupBundle();
248
+ await renderer_1.RenderInternals.cleanDownloadMap(downloadMap);
249
+ log_1.Log.verbose('Cleaned up', downloadMap.assetDir);
230
250
  }
231
251
  catch (err) {
232
252
  log_1.Log.warn('Could not clean up directory.');
@@ -234,8 +254,8 @@ const render = async () => {
234
254
  log_1.Log.warn('Do you have minimum required Node.js version?');
235
255
  }
236
256
  log_1.Log.info(chalk_1.chalk.green(`\nYour ${codec === 'gif' ? 'GIF' : 'video'} is ready!`));
237
- if (remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose')) {
238
- remotion_1.Internals.perf.logPerf();
257
+ if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose')) {
258
+ renderer_1.RenderInternals.perf.logPerf();
239
259
  }
240
260
  };
241
261
  exports.render = render;
@@ -1,5 +1,14 @@
1
1
  import type { RenderStep } from './step';
2
- export declare const bundleOnCli: ({ fullPath, steps, }: {
2
+ export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, steps, }: {
3
3
  fullPath: string;
4
+ remotionRoot: string;
4
5
  steps: RenderStep[];
6
+ }) => Promise<{
7
+ urlOrBundle: string;
8
+ cleanup: () => Promise<void>;
9
+ }>;
10
+ export declare const bundleOnCli: ({ fullPath, steps, remotionRoot, }: {
11
+ fullPath: string;
12
+ steps: RenderStep[];
13
+ remotionRoot: string;
5
14
  }) => Promise<string>;
@@ -1,14 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bundleOnCli = void 0;
3
+ exports.bundleOnCli = exports.bundleOnCliOrTakeServeUrl = void 0;
4
4
  const bundler_1 = require("@remotion/bundler");
5
- const remotion_1 = require("remotion");
5
+ const renderer_1 = require("@remotion/renderer");
6
+ const config_1 = require("./config");
6
7
  const log_1 = require("./log");
7
8
  const parse_command_line_1 = require("./parse-command-line");
8
9
  const progress_bar_1 = require("./progress-bar");
9
- const bundleOnCli = async ({ fullPath, steps, }) => {
10
+ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, steps, }) => {
11
+ if (renderer_1.RenderInternals.isServeUrl(fullPath)) {
12
+ return {
13
+ urlOrBundle: fullPath,
14
+ cleanup: () => Promise.resolve(undefined),
15
+ };
16
+ }
17
+ const bundled = await (0, exports.bundleOnCli)({ fullPath, remotionRoot, steps });
18
+ return {
19
+ urlOrBundle: bundled,
20
+ cleanup: () => renderer_1.RenderInternals.deleteDirectory(bundled),
21
+ };
22
+ };
23
+ exports.bundleOnCliOrTakeServeUrl = bundleOnCliOrTakeServeUrl;
24
+ const bundleOnCli = async ({ fullPath, steps, remotionRoot, }) => {
10
25
  var _a;
11
- const shouldCache = remotion_1.Internals.getWebpackCaching();
26
+ const shouldCache = config_1.ConfigInternals.getWebpackCaching();
12
27
  const onProgress = (progress) => {
13
28
  bundlingProgress.update((0, progress_bar_1.makeBundlingProgress)({
14
29
  progress: progress / 100,
@@ -18,17 +33,24 @@ const bundleOnCli = async ({ fullPath, steps, }) => {
18
33
  };
19
34
  const options = {
20
35
  enableCaching: shouldCache,
21
- webpackOverride: (_a = remotion_1.Internals.getWebpackOverrideFn()) !== null && _a !== void 0 ? _a : remotion_1.Internals.defaultOverrideFunction,
36
+ webpackOverride: (_a = config_1.ConfigInternals.getWebpackOverrideFn()) !== null && _a !== void 0 ? _a : ((f) => f),
37
+ rootDir: remotionRoot,
22
38
  };
23
- const [hash] = bundler_1.BundlerInternals.getConfig('', fullPath, onProgress, options);
24
- const cacheExistedBefore = bundler_1.BundlerInternals.cacheExists('production', hash);
39
+ const [hash] = bundler_1.BundlerInternals.getConfig({
40
+ outDir: '',
41
+ entryPoint: fullPath,
42
+ onProgressUpdate: onProgress,
43
+ options,
44
+ resolvedRemotionRoot: remotionRoot,
45
+ });
46
+ const cacheExistedBefore = bundler_1.BundlerInternals.cacheExists(remotionRoot, 'production', hash);
25
47
  if (cacheExistedBefore !== 'does-not-exist' && !shouldCache) {
26
48
  log_1.Log.info('🧹 Cache disabled but found. Deleting... ');
27
- await bundler_1.BundlerInternals.clearCache();
49
+ await bundler_1.BundlerInternals.clearCache(remotionRoot);
28
50
  }
29
51
  if (cacheExistedBefore === 'other-exists' && shouldCache) {
30
52
  log_1.Log.info('🧹 Webpack config change detected. Clearing cache... ');
31
- await bundler_1.BundlerInternals.clearCache();
53
+ await bundler_1.BundlerInternals.clearCache(remotionRoot);
32
54
  }
33
55
  const bundleStartTime = Date.now();
34
56
  const bundlingProgress = (0, progress_bar_1.createOverwriteableCliOutput)((0, parse_command_line_1.quietFlagProvided)());
@@ -45,7 +67,7 @@ const bundleOnCli = async ({ fullPath, steps, }) => {
45
67
  doneIn: Date.now() - bundleStartTime,
46
68
  }) + '\n');
47
69
  log_1.Log.verbose('Bundled under', bundled);
48
- const cacheExistedAfter = bundler_1.BundlerInternals.cacheExists('production', hash) === 'exists';
70
+ const cacheExistedAfter = bundler_1.BundlerInternals.cacheExists(remotionRoot, 'production', hash) === 'exists';
49
71
  if (cacheExistedAfter) {
50
72
  if (cacheExistedBefore === 'does-not-exist' ||
51
73
  cacheExistedBefore === 'other-exists') {
package/dist/still.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const still: () => Promise<void>;
1
+ export declare const still: (remotionRoot: string) => Promise<void>;
package/dist/still.js CHANGED
@@ -7,8 +7,8 @@ exports.still = void 0;
7
7
  const renderer_1 = require("@remotion/renderer");
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = __importDefault(require("path"));
10
- const remotion_1 = require("remotion");
11
10
  const chalk_1 = require("./chalk");
11
+ const config_1 = require("./config");
12
12
  const get_cli_options_1 = require("./get-cli-options");
13
13
  const get_composition_id_1 = require("./get-composition-id");
14
14
  const initialize_render_cli_1 = require("./initialize-render-cli");
@@ -16,55 +16,66 @@ const log_1 = require("./log");
16
16
  const parse_command_line_1 = require("./parse-command-line");
17
17
  const progress_bar_1 = require("./progress-bar");
18
18
  const setup_cache_1 = require("./setup-cache");
19
+ const truthy_1 = require("./truthy");
19
20
  const user_passed_output_location_1 = require("./user-passed-output-location");
20
- const still = async () => {
21
+ const still = async (remotionRoot) => {
21
22
  const startTime = Date.now();
22
23
  const file = parse_command_line_1.parsedCli._[1];
23
24
  const fullPath = renderer_1.RenderInternals.isServeUrl(file)
24
25
  ? file
25
26
  : path_1.default.join(process.cwd(), file);
26
- await (0, initialize_render_cli_1.initializeRenderCli)('still');
27
- const userOutput = path_1.default.resolve(process.cwd(), (0, user_passed_output_location_1.getUserPassedOutputLocation)());
28
- if (userOutput.endsWith('.jpeg') || userOutput.endsWith('.jpg')) {
29
- log_1.Log.verbose('Output file has a JPEG extension, therefore setting the image format to JPEG.');
30
- remotion_1.Config.Rendering.setImageFormat('jpeg');
27
+ await (0, initialize_render_cli_1.initializeRenderCli)(remotionRoot, 'still');
28
+ const userPassedOutput = (0, user_passed_output_location_1.getUserPassedOutputLocation)();
29
+ if ((userPassedOutput === null || userPassedOutput === void 0 ? void 0 : userPassedOutput.endsWith('.jpeg')) ||
30
+ (userPassedOutput === null || userPassedOutput === void 0 ? void 0 : userPassedOutput.endsWith('.jpg'))) {
31
+ log_1.Log.verbose('Output file has a JPEG extension, setting the image format to JPEG.');
32
+ config_1.Config.Rendering.setImageFormat('jpeg');
31
33
  }
32
- if (userOutput.endsWith('.png')) {
33
- log_1.Log.verbose('Output file has a PNG extension, therefore setting the image format to PNG.');
34
- remotion_1.Config.Rendering.setImageFormat('png');
34
+ if (userPassedOutput === null || userPassedOutput === void 0 ? void 0 : userPassedOutput.endsWith('.png')) {
35
+ log_1.Log.verbose('Output file has a PNG extension, setting the image format to PNG.');
36
+ config_1.Config.Rendering.setImageFormat('png');
35
37
  }
36
- const { inputProps, envVariables, quality, browser, imageFormat, stillFrame, browserExecutable, chromiumOptions, scale, ffmpegExecutable, ffprobeExecutable, overwrite, puppeteerTimeout, port, } = await (0, get_cli_options_1.getCliOptions)({ isLambda: false, type: 'still' });
38
+ const { inputProps, envVariables, quality, browser, imageFormat, stillFrame, browserExecutable, chromiumOptions, scale, ffmpegExecutable, ffprobeExecutable, overwrite, puppeteerTimeout, port, } = await (0, get_cli_options_1.getCliOptions)({
39
+ isLambda: false,
40
+ type: 'still',
41
+ });
37
42
  log_1.Log.verbose('Browser executable: ', browserExecutable);
43
+ const compositionId = (0, get_composition_id_1.getCompositionId)();
44
+ const relativeOutputLocation = (0, user_passed_output_location_1.getOutputLocation)({
45
+ compositionId,
46
+ defaultExtension: imageFormat,
47
+ });
48
+ const absoluteOutputLocation = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
49
+ log_1.Log.info(chalk_1.chalk.gray(`Output = ${relativeOutputLocation}, Format = ${imageFormat}, Composition = ${compositionId}`));
38
50
  if (imageFormat === 'none') {
39
51
  log_1.Log.error('No image format was selected - this is probably an error in Remotion - please post your command on Github Issues for help.');
40
52
  process.exit(1);
41
53
  }
42
- if (imageFormat === 'png' && !userOutput.endsWith('.png')) {
43
- log_1.Log.warn(`Rendering a PNG, expected a .png extension but got ${userOutput}`);
54
+ if (imageFormat === 'png' && !absoluteOutputLocation.endsWith('.png')) {
55
+ log_1.Log.warn(`Rendering a PNG, expected a .png extension but got ${absoluteOutputLocation}`);
44
56
  }
45
57
  if (imageFormat === 'jpeg' &&
46
- !userOutput.endsWith('.jpg') &&
47
- !userOutput.endsWith('.jpeg')) {
48
- log_1.Log.warn(`Rendering a JPEG, expected a .jpg or .jpeg extension but got ${userOutput}`);
58
+ !absoluteOutputLocation.endsWith('.jpg') &&
59
+ !absoluteOutputLocation.endsWith('.jpeg')) {
60
+ log_1.Log.warn(`Rendering a JPEG, expected a .jpg or .jpeg extension but got ${absoluteOutputLocation}`);
49
61
  }
50
62
  const browserInstance = (0, renderer_1.openBrowser)(browser, {
51
63
  browserExecutable,
52
64
  chromiumOptions,
53
- shouldDumpIo: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
65
+ shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
54
66
  forceDeviceScaleFactor: scale,
55
67
  });
56
- (0, fs_1.mkdirSync)(path_1.default.join(userOutput, '..'), {
68
+ (0, fs_1.mkdirSync)(path_1.default.join(absoluteOutputLocation, '..'), {
57
69
  recursive: true,
58
70
  });
59
71
  const steps = [
60
72
  renderer_1.RenderInternals.isServeUrl(fullPath) ? null : 'bundling',
61
73
  'rendering',
62
- ].filter(remotion_1.Internals.truthy);
63
- const urlOrBundle = renderer_1.RenderInternals.isServeUrl(fullPath)
64
- ? Promise.resolve(fullPath)
65
- : await (0, setup_cache_1.bundleOnCli)({ fullPath, steps });
74
+ ].filter(truthy_1.truthy);
75
+ const { cleanup: cleanupBundle, urlOrBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({ fullPath, remotionRoot, steps });
66
76
  const puppeteerInstance = await browserInstance;
67
- const comps = await (0, renderer_1.getCompositions)(await urlOrBundle, {
77
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
78
+ const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
68
79
  inputProps,
69
80
  puppeteerInstance,
70
81
  envVariables,
@@ -74,8 +85,8 @@ const still = async () => {
74
85
  browserExecutable,
75
86
  ffmpegExecutable,
76
87
  ffprobeExecutable,
88
+ downloadMap,
77
89
  });
78
- const compositionId = (0, get_composition_id_1.getCompositionId)(comps);
79
90
  const composition = comps.find((c) => c.id === compositionId);
80
91
  if (!composition) {
81
92
  throw new Error(`Cannot find composition with ID ${compositionId}`);
@@ -118,20 +129,22 @@ const still = async () => {
118
129
  await (0, renderer_1.renderStill)({
119
130
  composition,
120
131
  frame: stillFrame,
121
- output: userOutput,
122
- serveUrl: await urlOrBundle,
132
+ output: absoluteOutputLocation,
133
+ serveUrl: urlOrBundle,
123
134
  quality,
124
- dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
135
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
125
136
  envVariables,
126
137
  imageFormat,
127
138
  inputProps,
128
139
  chromiumOptions,
129
- timeoutInMilliseconds: remotion_1.Internals.getCurrentPuppeteerTimeout(),
140
+ timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
130
141
  scale,
131
142
  ffmpegExecutable,
132
143
  browserExecutable,
133
144
  overwrite,
134
145
  onDownload,
146
+ port,
147
+ downloadMap,
135
148
  });
136
149
  frames = 1;
137
150
  updateProgress();
@@ -145,7 +158,10 @@ const still = async () => {
145
158
  seconds === 1 ? 'second' : 'seconds',
146
159
  ].join(' '));
147
160
  log_1.Log.info('-', 'Output can be found at:');
148
- log_1.Log.info(chalk_1.chalk.cyan(`▶️ ${userOutput}`));
161
+ log_1.Log.info(chalk_1.chalk.cyan(`▶️ ${absoluteOutputLocation}`));
149
162
  await closeBrowserPromise;
163
+ await renderer_1.RenderInternals.cleanDownloadMap(downloadMap);
164
+ await cleanupBundle();
165
+ log_1.Log.verbose('Cleaned up', downloadMap.assetDir);
150
166
  };
151
167
  exports.still = still;
@@ -0,0 +1,3 @@
1
+ declare type Truthy<T> = T extends false | '' | 0 | null | undefined ? never : T;
2
+ export declare function truthy<T>(value: T): value is Truthy<T>;
3
+ export {};
package/dist/truthy.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.truthy = void 0;
4
+ function truthy(value) {
5
+ return Boolean(value);
6
+ }
7
+ exports.truthy = truthy;
package/dist/upgrade.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const upgrade: () => Promise<void>;
1
+ export declare const upgrade: (remotionRoot: string) => Promise<void>;
package/dist/upgrade.js CHANGED
@@ -5,9 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.upgrade = void 0;
7
7
  const renderer_1 = require("@remotion/renderer");
8
- const fs_1 = __importDefault(require("fs"));
9
8
  const path_1 = __importDefault(require("path"));
10
- const remotion_1 = require("remotion");
9
+ const config_1 = require("./config");
11
10
  const get_latest_remotion_version_1 = require("./get-latest-remotion-version");
12
11
  const log_1 = require("./log");
13
12
  const get_package_manager_1 = require("./preview-server/get-package-manager");
@@ -20,17 +19,13 @@ const getUpgradeCommand = ({ manager, packages, version, }) => {
20
19
  };
21
20
  return commands[manager];
22
21
  };
23
- const upgrade = async () => {
22
+ const upgrade = async (remotionRoot) => {
24
23
  var _a;
25
- const packageJsonFilePath = path_1.default.join(process.cwd(), 'package.json');
26
- if (!fs_1.default.existsSync(packageJsonFilePath)) {
27
- log_1.Log.error('Could not upgrade because no package.json could be found in your project.');
28
- process.exit(1);
29
- }
24
+ const packageJsonFilePath = path_1.default.join(remotionRoot, 'package.json');
30
25
  const packageJson = require(packageJsonFilePath);
31
26
  const dependencies = Object.keys(packageJson.dependencies);
32
27
  const latestRemotionVersion = await (0, get_latest_remotion_version_1.getLatestRemotionVersion)();
33
- const manager = (0, get_package_manager_1.getPackageManager)();
28
+ const manager = (0, get_package_manager_1.getPackageManager)(remotionRoot);
34
29
  if (manager === 'unknown') {
35
30
  throw new Error(`No lockfile was found in your project (one of ${get_package_manager_1.lockFilePaths
36
31
  .map((p) => p.path)
@@ -57,7 +52,7 @@ const upgrade = async () => {
57
52
  }), {
58
53
  stdio: 'inherit',
59
54
  });
60
- if (remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'info')) {
55
+ if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'info')) {
61
56
  (_a = prom.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
62
57
  }
63
58
  await prom;
@@ -1 +1,5 @@
1
- export declare const getUserPassedOutputLocation: () => string;
1
+ export declare const getUserPassedOutputLocation: () => string | null;
2
+ export declare const getOutputLocation: ({ compositionId, defaultExtension, }: {
3
+ compositionId: string;
4
+ defaultExtension: string;
5
+ }) => string;
@@ -1,14 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUserPassedOutputLocation = void 0;
4
- const log_1 = require("./log");
3
+ exports.getOutputLocation = exports.getUserPassedOutputLocation = void 0;
4
+ const config_1 = require("./config");
5
5
  const parse_command_line_1 = require("./parse-command-line");
6
6
  const getUserPassedOutputLocation = () => {
7
- if (!parse_command_line_1.parsedCli._[3]) {
8
- log_1.Log.error('Pass an extra argument <output-filename>.');
9
- process.exit(1);
10
- }
11
- const filename = parse_command_line_1.parsedCli._[3];
7
+ const filename = parse_command_line_1.parsedCli._[3]
8
+ ? parse_command_line_1.parsedCli._[3]
9
+ : config_1.ConfigInternals.getOutputLocation();
12
10
  return filename;
13
11
  };
14
12
  exports.getUserPassedOutputLocation = getUserPassedOutputLocation;
13
+ const getDefaultOutLocation = ({ compositionName, defaultExtension, }) => {
14
+ const defaultName = `out/${compositionName}.${defaultExtension}`;
15
+ return defaultName;
16
+ };
17
+ const getOutputLocation = ({ compositionId, defaultExtension, }) => {
18
+ var _a;
19
+ return ((_a = (0, exports.getUserPassedOutputLocation)()) !== null && _a !== void 0 ? _a : getDefaultOutLocation({ compositionName: compositionId, defaultExtension }));
20
+ };
21
+ exports.getOutputLocation = getOutputLocation;
@@ -1,3 +1,3 @@
1
1
  export declare const VERSIONS_COMMAND = "versions";
2
- export declare const validateVersionsBeforeCommand: () => Promise<void>;
3
- export declare const versionsCommand: () => Promise<void>;
2
+ export declare const validateVersionsBeforeCommand: (remotionRoot: string) => Promise<void>;
3
+ export declare const versionsCommand: (remotionRoot: string) => Promise<void>;
package/dist/versions.js CHANGED
@@ -4,8 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.versionsCommand = exports.validateVersionsBeforeCommand = exports.VERSIONS_COMMAND = void 0;
7
+ const renderer_1 = require("@remotion/renderer");
7
8
  const fs_1 = __importDefault(require("fs"));
8
- const remotion_1 = require("remotion");
9
+ const config_1 = require("./config");
9
10
  const log_1 = require("./log");
10
11
  const parse_command_line_1 = require("./parse-command-line");
11
12
  const resolve_from_1 = require("./resolve-from");
@@ -23,9 +24,9 @@ const packages = [
23
24
  '@remotion/gif',
24
25
  'remotion',
25
26
  ];
26
- const getVersion = async (p) => {
27
+ const getVersion = async (remotionRoot, p) => {
27
28
  try {
28
- const remotionPkgJson = (0, resolve_from_1.resolveFrom)(process.cwd(), `${p}/package.json`);
29
+ const remotionPkgJson = (0, resolve_from_1.resolveFrom)(remotionRoot, `${p}/package.json`);
29
30
  const file = await fs_1.default.promises.readFile(remotionPkgJson, 'utf-8');
30
31
  const packageJson = JSON.parse(file);
31
32
  return packageJson.version;
@@ -44,12 +45,12 @@ const groupBy = (vals) => {
44
45
  }
45
46
  return groups;
46
47
  };
47
- const getAllVersions = async () => {
48
- return (await Promise.all(packages.map(async (p) => [p, await getVersion(p)]))).filter(([, version]) => version);
48
+ const getAllVersions = async (remotionRoot) => {
49
+ return (await Promise.all(packages.map(async (p) => [p, await getVersion(remotionRoot, p)]))).filter(([, version]) => version);
49
50
  };
50
51
  exports.VERSIONS_COMMAND = 'versions';
51
- const validateVersionsBeforeCommand = async () => {
52
- const versions = await getAllVersions();
52
+ const validateVersionsBeforeCommand = async (remotionRoot) => {
53
+ const versions = await getAllVersions(remotionRoot);
53
54
  const grouped = groupBy(versions);
54
55
  const installedVersions = Object.keys(grouped);
55
56
  if (installedVersions.length === 1) {
@@ -72,16 +73,16 @@ const validateVersionsBeforeCommand = async () => {
72
73
  log_1.Log.warn('To resolve:');
73
74
  log_1.Log.warn('- Make sure your package.json has all Remotion packages pointing to the same version.');
74
75
  log_1.Log.warn('- Remove the `^` character in front of a version to pin a package.');
75
- if (!remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose')) {
76
+ if (!renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose')) {
76
77
  log_1.Log.warn('- Run `npx remotion versions --log=verbose` to see the path of the modules resolved.');
77
78
  }
78
79
  log_1.Log.warn('-------------');
79
80
  log_1.Log.info();
80
81
  };
81
82
  exports.validateVersionsBeforeCommand = validateVersionsBeforeCommand;
82
- const versionsCommand = async () => {
83
+ const versionsCommand = async (remotionRoot) => {
83
84
  (0, parse_command_line_1.parseCommandLine)('versions');
84
- const versions = await getAllVersions();
85
+ const versions = await getAllVersions(remotionRoot);
85
86
  const grouped = groupBy(versions);
86
87
  const installedVersions = Object.keys(grouped);
87
88
  log_1.Log.info(`Node.JS = ${process.version}, OS = ${process.platform}`);
@@ -90,7 +91,7 @@ const versionsCommand = async () => {
90
91
  log_1.Log.info(`On version: ${version}`);
91
92
  for (const pkg of grouped[version]) {
92
93
  log_1.Log.info(`- ${pkg}`);
93
- log_1.Log.verbose(` ${(0, resolve_from_1.resolveFrom)(process.cwd(), `${pkg}/package.json`)}`);
94
+ log_1.Log.verbose(` ${(0, resolve_from_1.resolveFrom)(remotionRoot, `${pkg}/package.json`)}`);
94
95
  }
95
96
  log_1.Log.info();
96
97
  }
@@ -101,7 +102,7 @@ const versionsCommand = async () => {
101
102
  log_1.Log.error('Version mismatch: Not all Remotion packages have the same version.');
102
103
  log_1.Log.info('- Make sure your package.json has all Remotion packages pointing to the same version.');
103
104
  log_1.Log.info('- Remove the `^` character in front of a version to pin a package.');
104
- if (!remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose')) {
105
+ if (!renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose')) {
105
106
  log_1.Log.info('- Rerun this command with --log=verbose to see the path of the modules resolved.');
106
107
  }
107
108
  process.exit(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "3.1.5",
3
+ "version": "3.1.8",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -23,18 +23,17 @@
23
23
  "author": "Jonny Burger <jonny@remotion.dev>",
24
24
  "license": "SEE LICENSE IN LICENSE.md",
25
25
  "dependencies": {
26
- "@remotion/bundler": "3.1.5",
27
- "@remotion/media-utils": "3.1.5",
28
- "@remotion/player": "3.1.5",
29
- "@remotion/renderer": "3.1.5",
26
+ "@remotion/bundler": "3.1.8",
27
+ "@remotion/media-utils": "3.1.8",
28
+ "@remotion/player": "3.1.8",
29
+ "@remotion/renderer": "3.1.8",
30
30
  "better-opn": "2.1.1",
31
31
  "dotenv": "9.0.2",
32
32
  "memfs": "3.4.3",
33
33
  "minimist": "1.2.6",
34
- "remotion": "3.1.5",
34
+ "remotion": "3.1.8",
35
35
  "semver": "7.3.5",
36
- "source-map": "0.6.1",
37
- "vitest": "^0.18.0"
36
+ "source-map": "0.6.1"
38
37
  },
39
38
  "peerDependencies": {
40
39
  "react": ">=16.8.0",
@@ -58,7 +57,8 @@
58
57
  "prettier-plugin-organize-imports": "^2.3.4",
59
58
  "react": "^18.0.0",
60
59
  "react-dom": "^18.0.0",
61
- "typescript": "^4.7.0"
60
+ "typescript": "^4.7.0",
61
+ "vitest": "^0.18.0"
62
62
  },
63
63
  "keywords": [
64
64
  "remotion",
@@ -71,5 +71,5 @@
71
71
  "publishConfig": {
72
72
  "access": "public"
73
73
  },
74
- "gitHead": "965ca68bd4efce9ca5e27fe30c4a31aec594575c"
74
+ "gitHead": "57f34a02b0f830053f92af426a6b70b6824f887e"
75
75
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ansi-diff.d.ts","sourceRoot":"","sources":["../../src/ansi/ansi-diff.ts"],"names":[],"mappings":";AAKA,aAAK,OAAO,GAAG;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAEjD,qBAAa,QAAQ;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,IAAI,EAAE,CAAC;gBAEH,IAAI,CAAC,EAAE,OAAO;IAW1B,MAAM,SAAU,OAAO,UAkBrB;IAEF,QAAQ;IAIR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC;IAuElE,UAAU,CAAC,CAAC,EAAE,MAAM;IASpB,QAAQ;IAMR,MAAM,CAAC,IAAI,EAAE,IAAI;IAMjB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAa5B,KAAK,QAAS,MAAM,UAElB;CACF;AAeD,cAAM,IAAI;IACT,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;gBACL,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ;IAe/D,QAAQ,CAAC,KAAK,EAAE,IAAI;IASpB,SAAS,CAAC,KAAK,EAAE,IAAI;IAUrB,QAAQ;CAGR"}