@remotion/cli 4.0.0-alpha13 → 4.0.0-alpha16

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 (189) hide show
  1. package/dist/ansi/ansi-diff.d.ts +1 -1
  2. package/dist/benchmark.js +29 -14
  3. package/dist/cleanup-before-quit.js +3 -0
  4. package/dist/composition-prompts.d.ts +2 -2
  5. package/dist/compositions.js +8 -7
  6. package/dist/config/concurrency.d.ts +1 -1
  7. package/dist/config/index.d.ts +2 -2
  8. package/dist/config/jpeg-quality.d.ts +1 -1
  9. package/dist/config/jpeg-quality.js +1 -1
  10. package/dist/config/number-of-gif-loops.d.ts +1 -1
  11. package/dist/config/override-webpack.d.ts +1 -1
  12. package/dist/config/scale.d.ts +1 -1
  13. package/dist/config/user-agent.d.ts +1 -1
  14. package/dist/editor/components/CanvasOrLoading.js +3 -0
  15. package/dist/editor/components/Checkbox.d.ts +1 -0
  16. package/dist/editor/components/Checkbox.js +2 -2
  17. package/dist/editor/components/CompositionSelectorItem.d.ts +1 -1
  18. package/dist/editor/components/InlineAction.d.ts +1 -1
  19. package/dist/editor/components/Menu/MenuItem.d.ts +2 -2
  20. package/dist/editor/components/Menu/MenuSubItem.d.ts +1 -1
  21. package/dist/editor/components/NewComposition/ComboBox.d.ts +4 -4
  22. package/dist/editor/components/NewComposition/CopyHint.js +1 -1
  23. package/dist/editor/components/NewComposition/InputDragger.d.ts +1 -1
  24. package/dist/editor/components/NewComposition/RemInput.d.ts +3 -3
  25. package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +2 -1
  26. package/dist/editor/components/NewComposition/RemInputTypeColor.js +1 -1
  27. package/dist/editor/components/NewComposition/RemTextarea.d.ts +1 -1
  28. package/dist/editor/components/Notifications/NotificationCenter.d.ts +2 -2
  29. package/dist/editor/components/QuickSwitcher/NoResults.d.ts +1 -1
  30. package/dist/editor/components/QuickSwitcher/QuickSwitcherResult.d.ts +2 -2
  31. package/dist/editor/components/RenderModal/DataEditor.d.ts +2 -3
  32. package/dist/editor/components/RenderModal/DataEditor.js +14 -5
  33. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +1 -1
  34. package/dist/editor/components/RenderModal/MutedSetting.js +1 -1
  35. package/dist/editor/components/RenderModal/RenderModal.d.ts +1 -1
  36. package/dist/editor/components/RenderModal/RenderModal.js +2 -2
  37. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +1 -1
  38. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +1 -1
  39. package/dist/editor/components/RenderModal/RenderModalAudio.js +1 -1
  40. package/dist/editor/components/RenderModal/RenderModalGif.js +1 -1
  41. package/dist/editor/components/RenderModal/RenderModalInput.d.ts +1 -1
  42. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.d.ts +1 -1
  43. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +1 -1
  44. package/dist/editor/components/RenderModal/SchemaEditor/Fieldset.d.ts +7 -0
  45. package/dist/editor/components/RenderModal/SchemaEditor/Fieldset.js +26 -0
  46. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +0 -1
  47. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +2 -3
  48. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +1 -3
  49. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +1 -7
  50. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.js +14 -22
  51. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSeparationLine.d.ts +2 -0
  52. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +11 -0
  53. package/dist/editor/components/RenderModal/SchemaEditor/SchemaVerticalGuide.d.ts +5 -0
  54. package/dist/editor/components/RenderModal/SchemaEditor/SchemaVerticalGuide.js +13 -0
  55. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +1 -1
  56. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +51 -42
  57. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.d.ts +1 -1
  58. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +5 -5
  59. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +3 -1
  60. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +14 -13
  61. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +1 -1
  62. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +12 -14
  63. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +1 -1
  64. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +9 -15
  65. package/dist/editor/components/RenderModal/SchemaEditor/ZodDefaultEditor.d.ts +1 -1
  66. package/dist/editor/components/RenderModal/SchemaEditor/ZodDefaultEditor.js +2 -2
  67. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +1 -1
  68. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.js +5 -30
  69. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +0 -1
  70. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +8 -11
  71. package/dist/editor/components/RenderModal/SchemaEditor/ZodFieldValidation.d.ts +7 -0
  72. package/dist/editor/components/RenderModal/SchemaEditor/ZodFieldValidation.js +27 -0
  73. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.d.ts +1 -1
  74. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +3 -3
  75. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +1 -1
  76. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.js +2 -2
  77. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +1 -1
  78. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +10 -13
  79. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +1 -1
  80. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.js +39 -45
  81. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +1 -1
  82. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +2 -2
  83. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +2 -1
  84. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +13 -48
  85. package/dist/editor/components/RenderModal/SchemaEditor/ZodStaticFileEditor.d.ts +1 -1
  86. package/dist/editor/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +7 -10
  87. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +1 -1
  88. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +8 -11
  89. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +2 -2
  90. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +21 -21
  91. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +1 -1
  92. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.js +6 -6
  93. package/dist/editor/components/RenderModal/SchemaEditor/deep-equal.js +3 -0
  94. package/dist/editor/components/RenderModal/SchemaEditor/extract-enum-json-paths.d.ts +1 -1
  95. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.js +3 -3
  96. package/dist/editor/components/RenderModal/SchemaEditor/input-props-serialization.d.ts +1 -1
  97. package/dist/editor/components/RenderModal/SchemaEditor/local-state.d.ts +10 -5
  98. package/dist/editor/components/RenderModal/SchemaEditor/local-state.js +56 -15
  99. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.d.ts +1 -1
  100. package/dist/editor/components/RenderModal/get-render-modal-warnings.d.ts +1 -1
  101. package/dist/editor/components/RenderModal/layout.d.ts +0 -1
  102. package/dist/editor/components/RenderModal/layout.js +1 -7
  103. package/dist/editor/components/RenderQueue/actions.d.ts +2 -1
  104. package/dist/editor/components/RenderQueue/actions.js +7 -2
  105. package/dist/editor/components/RenderQueue/context.d.ts +1 -1
  106. package/dist/editor/components/RightPanel.d.ts +1 -1
  107. package/dist/editor/components/RightPanel.js +1 -1
  108. package/dist/editor/components/SegmentedControl.d.ts +1 -1
  109. package/dist/editor/components/SegmentedControl.js +2 -0
  110. package/dist/editor/components/Splitter/SplitterContext.d.ts +3 -3
  111. package/dist/editor/components/Timeline/LoopedIndicator.js +6 -6
  112. package/dist/editor/components/Timeline/TimelineWidthProvider.d.ts +1 -1
  113. package/dist/editor/components/Timeline/TimelineZoomControls.js +1 -1
  114. package/dist/editor/components/Timeline/timeline-state-reducer.d.ts +2 -2
  115. package/dist/editor/components/UpdateCheck.d.ts +1 -1
  116. package/dist/editor/components/UpdateCheck.js +2 -4
  117. package/dist/editor/components/get-zod-if-possible.d.ts +2 -2
  118. package/dist/editor/helpers/client-id.d.ts +1 -1
  119. package/dist/editor/helpers/colors.d.ts +1 -1
  120. package/dist/editor/helpers/get-timeline-sequence-sort-key.d.ts +3 -3
  121. package/dist/editor/helpers/persist-open-folders.d.ts +1 -1
  122. package/dist/editor/helpers/render-modal-sections.d.ts +1 -1
  123. package/dist/editor/helpers/use-menu-structure.d.ts +1 -1
  124. package/dist/editor/icons/plus.d.ts +3 -1
  125. package/dist/editor/icons/plus.js +2 -2
  126. package/dist/editor/state/checkerboard.d.ts +1 -1
  127. package/dist/editor/state/editor-zoom-gestures.d.ts +1 -1
  128. package/dist/editor/state/folders.d.ts +1 -1
  129. package/dist/editor/state/highest-z-index.d.ts +1 -1
  130. package/dist/editor/state/in-out.d.ts +2 -2
  131. package/dist/editor/state/keybindings.d.ts +4 -4
  132. package/dist/editor/state/modals.d.ts +4 -4
  133. package/dist/editor/state/preview-size.d.ts +1 -1
  134. package/dist/editor/state/sidebar.d.ts +3 -3
  135. package/dist/editor/state/timeline-ref.d.ts +1 -1
  136. package/dist/event-source-events.d.ts +1 -1
  137. package/dist/file-watcher.d.ts +1 -1
  138. package/dist/get-cli-options.d.ts +1 -1
  139. package/dist/get-composition-id.d.ts +10 -11
  140. package/dist/get-composition-id.js +9 -6
  141. package/dist/get-composition-with-dimension-override.d.ts +4 -4
  142. package/dist/get-composition-with-dimension-override.js +2 -2
  143. package/dist/index.d.ts +5 -4
  144. package/dist/log.d.ts +1 -0
  145. package/dist/parse-command-line.d.ts +1 -1
  146. package/dist/preview-server/api-routes.js +2 -0
  147. package/dist/preview-server/api-types.d.ts +5 -4
  148. package/dist/preview-server/dev-middleware/get-paths.d.ts +1 -1
  149. package/dist/preview-server/dev-middleware/middleware.d.ts +1 -1
  150. package/dist/preview-server/dev-middleware/range-parser.d.ts +2 -2
  151. package/dist/preview-server/dev-middleware/types.d.ts +1 -1
  152. package/dist/preview-server/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts +1 -1
  153. package/dist/preview-server/error-overlay/react-overlay/effects/proxy-console.d.ts +3 -3
  154. package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-error.d.ts +1 -1
  155. package/dist/preview-server/error-overlay/react-overlay/effects/unhandled-rejection.d.ts +1 -1
  156. package/dist/preview-server/error-overlay/react-overlay/listen-to-runtime-errors.d.ts +1 -1
  157. package/dist/preview-server/error-overlay/react-overlay/utils/get-source-map.js +1 -0
  158. package/dist/preview-server/error-overlay/react-overlay/utils/open-in-editor.d.ts +2 -2
  159. package/dist/preview-server/error-overlay/react-overlay/utils/stack-frame.d.ts +4 -4
  160. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.d.ts +1 -1
  161. package/dist/preview-server/error-overlay/remotion-overlay/Overlay.d.ts +2 -2
  162. package/dist/preview-server/error-overlay/remotion-overlay/get-help-link.d.ts +1 -1
  163. package/dist/preview-server/get-package-manager.d.ts +2 -2
  164. package/dist/preview-server/hot-middleware/client.d.ts +1 -1
  165. package/dist/preview-server/hot-middleware/types.d.ts +4 -4
  166. package/dist/preview-server/live-events.d.ts +1 -1
  167. package/dist/preview-server/live-events.js +10 -1
  168. package/dist/preview-server/project-info.d.ts +1 -1
  169. package/dist/preview-server/render-queue/job.d.ts +30 -21
  170. package/dist/preview-server/render-queue/process-still.js +1 -2
  171. package/dist/preview-server/routes/update-available.d.ts +3 -0
  172. package/dist/preview-server/routes/update-available.js +9 -0
  173. package/dist/preview-server/routes.js +1 -11
  174. package/dist/preview-server/update-available.d.ts +2 -10
  175. package/dist/progress-bar.d.ts +4 -4
  176. package/dist/progress-bar.js +3 -2
  177. package/dist/progress-types.d.ts +4 -4
  178. package/dist/render-flows/render.js +35 -28
  179. package/dist/render-flows/still.d.ts +1 -1
  180. package/dist/render-flows/still.js +23 -10
  181. package/dist/required-chromium-options.d.ts +2 -2
  182. package/dist/server-ready-comment.d.ts +1 -1
  183. package/dist/server-ready-comment.js +2 -2
  184. package/dist/setup-cache.js +10 -0
  185. package/dist/show-compositions-picker.d.ts +1 -1
  186. package/dist/step.d.ts +1 -1
  187. package/dist/studio.js +3 -3
  188. package/dist/truthy.d.ts +1 -1
  189. package/package.json +10 -12
@@ -1,28 +1,28 @@
1
1
  import type { Codec, StitchingState } from '@remotion/renderer';
2
2
  import type { BundlingState, CopyingState } from './progress-bar';
3
3
  import type { RenderStep } from './step';
4
- export declare type DownloadProgress = {
4
+ export type DownloadProgress = {
5
5
  name: string;
6
6
  id: number;
7
7
  progress: number | null;
8
8
  totalBytes: number | null;
9
9
  downloaded: number;
10
10
  };
11
- export declare type RenderingProgressInput = {
11
+ export type RenderingProgressInput = {
12
12
  frames: number;
13
13
  totalFrames: number;
14
14
  steps: RenderStep[];
15
15
  concurrency: number;
16
16
  doneIn: number | null;
17
17
  };
18
- export declare type StitchingProgressInput = {
18
+ export type StitchingProgressInput = {
19
19
  frames: number;
20
20
  totalFrames: number;
21
21
  doneIn: number | null;
22
22
  stage: StitchingState;
23
23
  codec: Codec;
24
24
  };
25
- export declare type AggregateRenderProgress = {
25
+ export type AggregateRenderProgress = {
26
26
  rendering: RenderingProgressInput | null;
27
27
  stitching: StitchingProgressInput | null;
28
28
  downloads: DownloadProgress[];
@@ -48,16 +48,15 @@ const user_passed_output_location_1 = require("../user-passed-output-location");
48
48
  const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, inputProps, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, pixelFormat, videoBitrate, numberOfGifLoops, audioCodec, disallowParallelEncoding, }) => {
49
49
  var _a;
50
50
  const downloads = [];
51
- const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
52
- addCleanupCallback(() => renderer_1.RenderInternals.cleanDownloadMap(downloadMap));
53
51
  log_1.Log.verboseAdvanced({ indent, logLevel }, 'Browser executable: ', browserExecutable);
54
- log_1.Log.verboseAdvanced({ indent, logLevel }, 'Asset dirs', downloadMap.assetDir);
55
- const browserInstance = (0, renderer_1.openBrowser)(browser, {
52
+ const browserInstance = renderer_1.RenderInternals.internalOpenBrowser({
53
+ browser,
56
54
  browserExecutable,
57
55
  shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
58
56
  chromiumOptions,
59
57
  forceDeviceScaleFactor: scale,
60
58
  indent,
59
+ viewport: null,
61
60
  });
62
61
  const updatesDontOverwrite = (0, should_use_non_overlaying_logger_1.shouldUseNonOverlayingLogger)({ logLevel });
63
62
  const renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)({
@@ -136,6 +135,16 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
136
135
  };
137
136
  const puppeteerInstance = await browserInstance;
138
137
  addCleanupCallback(() => puppeteerInstance.close(false));
138
+ const actualConcurrency = renderer_1.RenderInternals.getActualConcurrency(concurrency);
139
+ const server = renderer_1.RenderInternals.prepareServer({
140
+ concurrency: actualConcurrency,
141
+ indent,
142
+ port,
143
+ remotionRoot,
144
+ verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
145
+ webpackConfigOrServeUrl: urlOrBundle,
146
+ });
147
+ addCleanupCallback(() => server.then((s) => s.closeServer(false)));
139
148
  const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
140
149
  height,
141
150
  width,
@@ -143,7 +152,6 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
143
152
  compositionIdFromUi,
144
153
  browserExecutable,
145
154
  chromiumOptions,
146
- downloadMap,
147
155
  envVariables,
148
156
  indent,
149
157
  inputProps,
@@ -152,6 +160,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
152
160
  serveUrlOrWebpackUrl: urlOrBundle,
153
161
  timeoutInMilliseconds: puppeteerTimeout,
154
162
  verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
163
+ server: await server,
155
164
  });
156
165
  const { codec, reason: codecReason } = (0, get_final_output_codec_1.getFinalOutputCodec)({
157
166
  cliFlag: parse_command_line_1.parsedCli.codec,
@@ -175,13 +184,12 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
175
184
  fromUi: outputLocationFromUI,
176
185
  logLevel,
177
186
  });
178
- log_1.Log.verboseAdvanced({ indent, logLevel, tag: 'config' }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
187
+ log_1.Log.verboseAdvanced({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
179
188
  log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.gray(`Composition = ${compositionId} (${reason}), Codec = ${codec} (${codecReason}), Output = ${relativeOutputLocation}`));
180
189
  const absoluteOutputFile = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
181
190
  const exists = (0, node_fs_1.existsSync)(absoluteOutputFile);
182
191
  const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(config.durationInFrames, frameRange);
183
192
  const totalFrames = renderer_1.RenderInternals.getFramesToRender(realFrameRange, everyNthFrame);
184
- const actualConcurrency = renderer_1.RenderInternals.getActualConcurrency(concurrency);
185
193
  renderingProgress = {
186
194
  frames: 0,
187
195
  totalFrames: totalFrames.length,
@@ -204,7 +212,8 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
204
212
  ? absoluteOutputFile
205
213
  : await node_fs_1.default.promises.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), 'react-motion-render'));
206
214
  log_1.Log.verboseAdvanced({ indent, logLevel }, 'Output dir', outputDir);
207
- await (0, renderer_1.renderFrames)({
215
+ const verbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
216
+ await renderer_1.RenderInternals.internalRenderFrames({
208
217
  imageFormat,
209
218
  inputProps,
210
219
  onFrameUpdate: (rendered) => {
@@ -212,31 +221,29 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
212
221
  updateRenderProgress(false);
213
222
  },
214
223
  onStart: () => undefined,
215
- onDownload: (src) => {
216
- if (src.startsWith('data:')) {
217
- log_1.Log.infoAdvanced({ indent, logLevel }, '\nWriting Data URL to file: ', src.substring(0, 30) + '...');
218
- }
219
- else {
220
- log_1.Log.infoAdvanced({ indent, logLevel }, '\nDownloading asset... ', src);
221
- }
222
- },
224
+ onDownload,
223
225
  cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
224
226
  outputDir,
225
- serveUrl: urlOrBundle,
226
- dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
227
+ webpackBundleOrServeUrl: urlOrBundle,
228
+ dumpBrowserLogs: verbose,
227
229
  everyNthFrame,
228
230
  envVariables,
229
231
  frameRange,
230
232
  concurrency: actualConcurrency,
231
233
  puppeteerInstance,
232
- jpegQuality,
234
+ jpegQuality: jpegQuality !== null && jpegQuality !== void 0 ? jpegQuality : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
233
235
  timeoutInMilliseconds: puppeteerTimeout,
234
236
  chromiumOptions,
235
237
  scale,
236
238
  browserExecutable,
237
239
  port,
238
- downloadMap,
239
240
  composition: config,
241
+ server: await server,
242
+ indent,
243
+ muted,
244
+ onBrowserLog: null,
245
+ onFrameBuffer: null,
246
+ verbose,
240
247
  });
241
248
  updateRenderProgress(true);
242
249
  log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.blue(`▶ ${absoluteOutputFile}`));
@@ -249,21 +256,21 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
249
256
  totalFrames: totalFrames.length,
250
257
  codec,
251
258
  };
252
- const { slowestFrames } = await (0, renderer_1.renderMedia)({
259
+ const { slowestFrames } = await renderer_1.RenderInternals.internalRenderMedia({
253
260
  outputLocation: absoluteOutputFile,
254
261
  composition: {
255
262
  ...config,
256
263
  width: width !== null && width !== void 0 ? width : config.width,
257
264
  height: height !== null && height !== void 0 ? height : config.height,
258
265
  },
259
- crf,
266
+ crf: crf !== null && crf !== void 0 ? crf : null,
260
267
  envVariables,
261
268
  frameRange,
262
269
  inputProps,
263
270
  overwrite,
264
271
  pixelFormat,
265
272
  proResProfile,
266
- jpegQuality,
273
+ jpegQuality: jpegQuality !== null && jpegQuality !== void 0 ? jpegQuality : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
267
274
  dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
268
275
  chromiumOptions,
269
276
  timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
@@ -295,16 +302,16 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
295
302
  },
296
303
  puppeteerInstance,
297
304
  onDownload,
298
- internal: {
299
- onCtrlCExit: addCleanupCallback,
300
- downloadMap,
301
- indent,
302
- },
305
+ onCtrlCExit: addCleanupCallback,
306
+ indent,
307
+ server: await server,
303
308
  cancelSignal: cancelSignal !== null && cancelSignal !== void 0 ? cancelSignal : undefined,
304
309
  audioCodec,
305
310
  preferLossless: false,
306
311
  imageFormat,
307
312
  disallowParallelEncoding,
313
+ onBrowserLog: null,
314
+ onStart: () => undefined,
308
315
  });
309
316
  log_1.Log.verboseAdvanced({ indent, logLevel });
310
317
  log_1.Log.verboseAdvanced({ indent, logLevel }, `Slowest frames:`);
@@ -7,7 +7,7 @@ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPoin
7
7
  remainingArgs: string[];
8
8
  inputProps: Record<string, unknown>;
9
9
  envVariables: Record<string, string>;
10
- jpegQuality: number | undefined;
10
+ jpegQuality: number;
11
11
  browser: Browser;
12
12
  stillFrame: number;
13
13
  browserExecutable: BrowserExecutable;
@@ -44,13 +44,15 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
44
44
  onProgress({ message, value: progress, ...aggregate });
45
45
  };
46
46
  log_1.Log.verboseAdvanced({ indent: indentOutput, logLevel }, 'Browser executable: ', browserExecutable);
47
- const shouldDumpIo = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
48
- const browserInstance = (0, renderer_1.openBrowser)(browser, {
47
+ const verbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
48
+ const browserInstance = renderer_1.RenderInternals.internalOpenBrowser({
49
+ browser,
49
50
  browserExecutable,
50
51
  chromiumOptions,
51
- shouldDumpIo,
52
+ shouldDumpIo: verbose,
52
53
  forceDeviceScaleFactor: scale,
53
54
  indent: indentOutput,
55
+ viewport: null,
54
56
  });
55
57
  const { cleanup: cleanupBundle, urlOrBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
56
58
  fullPath: fullEntryPoint,
@@ -72,11 +74,18 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
72
74
  },
73
75
  quietProgress: updatesDontOverwrite,
74
76
  });
77
+ const server = renderer_1.RenderInternals.prepareServer({
78
+ concurrency: 1,
79
+ indent: indentOutput,
80
+ port,
81
+ remotionRoot,
82
+ verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
83
+ webpackConfigOrServeUrl: urlOrBundle,
84
+ });
85
+ addCleanupCallback(() => server.then((s) => s.closeServer(false)));
75
86
  addCleanupCallback(() => cleanupBundle());
76
87
  const puppeteerInstance = await browserInstance;
77
88
  addCleanupCallback(() => puppeteerInstance.close(false));
78
- const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
79
- addCleanupCallback(() => renderer_1.RenderInternals.cleanDownloadMap(downloadMap));
80
89
  const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
81
90
  height,
82
91
  width,
@@ -84,7 +93,6 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
84
93
  compositionIdFromUi,
85
94
  browserExecutable,
86
95
  chromiumOptions,
87
- downloadMap,
88
96
  envVariables,
89
97
  indent: indentOutput,
90
98
  inputProps,
@@ -93,6 +101,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
93
101
  serveUrlOrWebpackUrl: urlOrBundle,
94
102
  timeoutInMilliseconds: puppeteerTimeout,
95
103
  verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
104
+ server: await server,
96
105
  });
97
106
  const { format: imageFormat, source } = (0, determine_image_format_1.determineFinalStillImageFormat)({
98
107
  cliFlag: (_a = parse_command_line_1.parsedCli['image-format']) !== null && _a !== void 0 ? _a : null,
@@ -114,7 +123,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
114
123
  (0, node_fs_1.mkdirSync)(node_path_1.default.join(absoluteOutputLocation, '..'), {
115
124
  recursive: true,
116
125
  });
117
- log_1.Log.verboseAdvanced({ indent: indentOutput, logLevel, tag: 'config' }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
126
+ log_1.Log.verboseAdvanced({ indent: indentOutput, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
118
127
  log_1.Log.infoAdvanced({ indent: indentOutput, logLevel }, chalk_1.chalk.gray(`Composition = ${compositionId} (${reason}), Format = ${imageFormat} (${source}), Output = ${relativeOutputLocation}`));
119
128
  renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)({
120
129
  quiet: (0, parse_command_line_1.quietFlagProvided)(),
@@ -147,13 +156,13 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
147
156
  updateProgress(false);
148
157
  };
149
158
  };
150
- await (0, renderer_1.renderStill)({
159
+ await renderer_1.RenderInternals.internalRenderStill({
151
160
  composition: config,
152
161
  frame: stillFrame,
153
162
  output: absoluteOutputLocation,
154
163
  serveUrl: urlOrBundle,
155
164
  jpegQuality,
156
- dumpBrowserLogs: shouldDumpIo,
165
+ dumpBrowserLogs: verbose,
157
166
  envVariables,
158
167
  imageFormat,
159
168
  inputProps,
@@ -164,8 +173,12 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
164
173
  overwrite,
165
174
  onDownload,
166
175
  port,
167
- downloadMap,
168
176
  puppeteerInstance,
177
+ server: await server,
178
+ cancelSignal,
179
+ indent: indentOutput,
180
+ onBrowserLog: null,
181
+ verbose,
169
182
  });
170
183
  aggregate.rendering = {
171
184
  frames: 1,
@@ -1,3 +1,3 @@
1
1
  import type { ChromiumOptions, OpenGlRenderer } from '@remotion/renderer';
2
- export declare type RequiredChromiumOptions = Required<ChromiumOptions>;
3
- export declare type UiOpenGlOptions = OpenGlRenderer | 'default';
2
+ export type RequiredChromiumOptions = Required<ChromiumOptions>;
3
+ export type UiOpenGlOptions = OpenGlRenderer | 'default';
@@ -1,2 +1,2 @@
1
1
  export declare const setServerReadyComment: (newMessage: string) => void;
2
- export declare const printServerReadyComment: () => void;
2
+ export declare const printServerReadyComment: (prefix: string) => void;
@@ -7,7 +7,7 @@ const setServerReadyComment = (newMessage) => {
7
7
  message = newMessage;
8
8
  };
9
9
  exports.setServerReadyComment = setServerReadyComment;
10
- const printServerReadyComment = () => {
11
- log_1.Log.info(message);
10
+ const printServerReadyComment = (prefix) => {
11
+ log_1.Log.info(`${prefix} - ${message}`);
12
12
  };
13
13
  exports.printServerReadyComment = printServerReadyComment;
@@ -10,6 +10,16 @@ const progress_bar_1 = require("./progress-bar");
10
10
  const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
11
11
  const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, bundlingStep, steps, onDirectoryCreated, quietProgress, }) => {
12
12
  if (renderer_1.RenderInternals.isServeUrl(fullPath)) {
13
+ onProgress({
14
+ bundling: {
15
+ doneIn: 0,
16
+ progress: 1,
17
+ },
18
+ copying: {
19
+ bytes: 0,
20
+ doneIn: 0,
21
+ },
22
+ });
13
23
  return {
14
24
  urlOrBundle: fullPath,
15
25
  cleanup: () => Promise.resolve(undefined),
@@ -1,5 +1,5 @@
1
1
  import type { getCompositions } from '@remotion/renderer';
2
- declare type Await<T> = T extends PromiseLike<infer U> ? U : T;
2
+ type Await<T> = T extends PromiseLike<infer U> ? U : T;
3
3
  export declare const showSingleCompositionsPicker: (validCompositions: Await<ReturnType<typeof getCompositions>>) => Promise<{
4
4
  compositionId: string;
5
5
  reason: string;
package/dist/step.d.ts CHANGED
@@ -1 +1 @@
1
- export declare type RenderStep = 'bundling' | 'rendering' | 'stitching';
1
+ export type RenderStep = 'bundling' | 'rendering' | 'stitching';
package/dist/studio.js CHANGED
@@ -120,12 +120,12 @@ const studioCommand = async (remotionRoot, args) => {
120
120
  (0, live_events_1.setLiveEventsListener)(liveEventsServer);
121
121
  const networkAddress = (0, get_network_address_1.getNetworkAddress)();
122
122
  if (networkAddress) {
123
- (0, server_ready_comment_1.setServerReadyComment)(`Server ready - Local: ${chalk_1.chalk.underline(`http://localhost:${port}`)}, Network: ${chalk_1.chalk.underline(`http://${networkAddress}:${port}`)}`);
123
+ (0, server_ready_comment_1.setServerReadyComment)(`Local: ${chalk_1.chalk.underline(`http://localhost:${port}`)}, Network: ${chalk_1.chalk.underline(`http://${networkAddress}:${port}`)}`);
124
124
  }
125
125
  else {
126
- (0, server_ready_comment_1.setServerReadyComment)(`Running on http://localhost:${port}`);
126
+ (0, server_ready_comment_1.setServerReadyComment)(`http://localhost:${port}`);
127
127
  }
128
- (0, server_ready_comment_1.printServerReadyComment)();
128
+ (0, server_ready_comment_1.printServerReadyComment)('Server ready');
129
129
  const { reasonForBrowserDecision, shouldOpenBrowser } = getShouldOpenBrowser();
130
130
  if (shouldOpenBrowser) {
131
131
  await (0, better_opn_1.openBrowser)({
package/dist/truthy.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare type Truthy<T> = T extends false | '' | 0 | null | undefined ? never : T;
1
+ type Truthy<T> = T extends false | '' | 0 | null | undefined ? never : T;
2
2
  export declare function truthy<T>(value: T): value is Truthy<T>;
3
3
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.0-alpha13",
3
+ "version": "4.0.0-alpha16",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -35,11 +35,11 @@
35
35
  "prompts": "2.4.1",
36
36
  "semver": "7.3.5",
37
37
  "source-map": "0.6.1",
38
- "@remotion/bundler": "4.0.0-alpha13",
39
- "@remotion/renderer": "4.0.0-alpha13",
40
- "@remotion/player": "4.0.0-alpha13",
41
- "@remotion/media-utils": "4.0.0-alpha13",
42
- "remotion": "4.0.0-alpha13"
38
+ "@remotion/bundler": "4.0.0-alpha16",
39
+ "remotion": "4.0.0-alpha16",
40
+ "@remotion/renderer": "4.0.0-alpha16",
41
+ "@remotion/media-utils": "4.0.0-alpha16",
42
+ "@remotion/player": "4.0.0-alpha16"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": ">=16.8.0",
@@ -54,9 +54,7 @@
54
54
  "@types/prettier": "^2.7.2",
55
55
  "@types/react-dom": "18.0.10",
56
56
  "@types/semver": "^7.3.4",
57
- "@typescript-eslint/eslint-plugin": "5.18.0",
58
- "@typescript-eslint/parser": "5.18.0",
59
- "eslint": "8.25.0",
57
+ "eslint": "8.42.0",
60
58
  "eslint-plugin-10x": "1.5.2",
61
59
  "eslint-plugin-react": "7.29.4",
62
60
  "eslint-plugin-react-hooks": "4.4.0",
@@ -64,11 +62,11 @@
64
62
  "prettier-plugin-organize-imports": "^2.3.4",
65
63
  "react": "^18.0.0",
66
64
  "react-dom": "^18.0.0",
67
- "typescript": "^4.7.0",
65
+ "typescript": "4.9.5",
68
66
  "vitest": "0.31.1",
69
67
  "zod": "^3.21.4",
70
- "@remotion/zod-types": "4.0.0-alpha13",
71
- "@remotion/tailwind": "4.0.0-alpha13"
68
+ "@remotion/zod-types": "4.0.0-alpha16",
69
+ "@remotion/tailwind": "4.0.0-alpha16"
72
70
  },
73
71
  "keywords": [
74
72
  "remotion",