@remotion/cli 4.0.0-alpha.185 → 4.0.0-alpha.217

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 (169) hide show
  1. package/dist/ansi/ansi-split.d.ts +1 -0
  2. package/dist/ansi/ansi-split.js +16 -3
  3. package/dist/benchmark.js +3 -0
  4. package/dist/color-math.d.ts +2 -1
  5. package/dist/color-math.js +2 -3
  6. package/dist/composition-prompts.d.ts +3 -4
  7. package/dist/composition-prompts.js +0 -1
  8. package/dist/compositions.js +3 -0
  9. package/dist/config/browser.d.ts +1 -3
  10. package/dist/config/browser.js +2 -12
  11. package/dist/config/index.d.ts +11 -2
  12. package/dist/config/index.js +6 -1
  13. package/dist/config/scale.d.ts +2 -1
  14. package/dist/config/user-agent.d.ts +4 -0
  15. package/dist/config/user-agent.js +12 -0
  16. package/dist/download-progress.js +7 -2
  17. package/dist/editor/components/EditorContexts.js +2 -1
  18. package/dist/editor/components/Menu/MenuSubItem.d.ts +0 -1
  19. package/dist/editor/components/Menu/MenuSubItem.js +1 -2
  20. package/dist/editor/components/ModalContainer.d.ts +2 -0
  21. package/dist/editor/components/ModalContainer.js +12 -3
  22. package/dist/editor/components/Modals.js +1 -1
  23. package/dist/editor/components/NewComposition/InputDragger.d.ts +1 -0
  24. package/dist/editor/components/NewComposition/InputDragger.js +2 -2
  25. package/dist/editor/components/NewComposition/NewCompDuration.js +1 -1
  26. package/dist/editor/components/NewComposition/NewComposition.js +8 -5
  27. package/dist/editor/components/NewComposition/RemInput.d.ts +2 -1
  28. package/dist/editor/components/NewComposition/RemInput.js +3 -2
  29. package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +0 -1
  30. package/dist/editor/components/NewComposition/RemInputTypeColor.js +3 -3
  31. package/dist/editor/components/NewComposition/ValidationMessage.js +2 -2
  32. package/dist/editor/components/Notifications/ServerDisconnected.d.ts +0 -4
  33. package/dist/editor/components/Notifications/ServerDisconnected.js +1 -2
  34. package/dist/editor/components/PlaybackRateSelector.d.ts +0 -2
  35. package/dist/editor/components/PlaybackRateSelector.js +5 -6
  36. package/dist/editor/components/Preview.d.ts +0 -1
  37. package/dist/editor/components/Preview.js +4 -4
  38. package/dist/editor/components/PreviewToolbar.js +1 -1
  39. package/dist/editor/components/QuickSwitcher/QuickSwitcherContent.js +1 -1
  40. package/dist/editor/components/QuickSwitcher/algolia-search.d.ts +0 -27
  41. package/dist/editor/components/QuickSwitcher/algolia-search.js +2 -3
  42. package/dist/editor/components/RenderButton.js +9 -2
  43. package/dist/editor/components/RenderModal/CrfSetting.js +1 -1
  44. package/dist/editor/components/RenderModal/EnvInput.js +1 -1
  45. package/dist/editor/components/RenderModal/FrameRangeSetting.js +1 -1
  46. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +1 -1
  47. package/dist/editor/components/RenderModal/NumberSetting.js +1 -1
  48. package/dist/editor/components/RenderModal/RenderModal.d.ts +1 -0
  49. package/dist/editor/components/RenderModal/RenderModal.js +20 -11
  50. package/dist/editor/components/RenderModal/RenderModalAudio.js +1 -1
  51. package/dist/editor/components/RenderModal/RenderModalBasic.js +1 -1
  52. package/dist/editor/components/RenderModal/RenderModalData.js +116 -13
  53. package/dist/editor/components/RenderModal/RenderModalInput.js +1 -1
  54. package/dist/editor/components/RenderModal/RenderModalJSONInputPropsEditor.d.ts +1 -2
  55. package/dist/editor/components/RenderModal/RenderModalPicture.js +1 -1
  56. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +1 -1
  57. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +9 -42
  58. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +11 -0
  59. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +55 -0
  60. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +1 -1
  61. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +10 -5
  62. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +1 -1
  63. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +17 -9
  64. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +1 -1
  65. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
  66. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +1 -1
  67. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.js +7 -3
  68. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +1 -1
  69. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +7 -3
  70. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +1 -1
  71. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +14 -0
  72. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.js +10 -0
  73. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +1 -1
  74. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -2
  75. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +1 -1
  76. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.js +6 -2
  77. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +14 -0
  78. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +10 -0
  79. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +1 -1
  80. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +11 -4
  81. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +1 -1
  82. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +6 -1
  83. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +1 -1
  84. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +30 -18
  85. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +1 -1
  86. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.js +12 -8
  87. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.d.ts +2 -2
  88. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.js +62 -57
  89. package/dist/editor/components/RenderModal/WarningIndicatorButton.d.ts +6 -0
  90. package/dist/editor/components/RenderModal/WarningIndicatorButton.js +49 -0
  91. package/dist/editor/components/RenderModal/get-render-modal-warnings.d.ts +11 -0
  92. package/dist/editor/components/RenderModal/get-render-modal-warnings.js +26 -0
  93. package/dist/editor/components/RenderModal/layout.js +0 -1
  94. package/dist/editor/components/RenderModal/out-name-checker.d.ts +0 -1
  95. package/dist/editor/components/RenderModal/out-name-checker.js +3 -3
  96. package/dist/editor/components/RenderQueue/actions.d.ts +0 -2
  97. package/dist/editor/components/RenderQueue/actions.js +10 -11
  98. package/dist/editor/components/RenderQueue/index.js +25 -1
  99. package/dist/editor/components/RenderToolbarIcon.js +25 -10
  100. package/dist/editor/components/SegmentedControl.d.ts +0 -5
  101. package/dist/editor/components/SegmentedControl.js +2 -3
  102. package/dist/editor/components/SizeSelector.d.ts +0 -1
  103. package/dist/editor/components/SizeSelector.js +3 -3
  104. package/dist/editor/components/Splitter/SplitterElement.js +1 -0
  105. package/dist/editor/components/Splitter/SplitterHandle.d.ts +0 -1
  106. package/dist/editor/components/Splitter/SplitterHandle.js +6 -6
  107. package/dist/editor/components/Tabs/index.d.ts +0 -1
  108. package/dist/editor/components/Tabs/index.js +3 -3
  109. package/dist/editor/components/Tabs/vertical.d.ts +0 -5
  110. package/dist/editor/components/Tabs/vertical.js +3 -17
  111. package/dist/editor/components/TimeValue.js +3 -4
  112. package/dist/editor/components/Timeline/TimelineListItem.js +9 -1
  113. package/dist/editor/components/Timeline/imperative-state.d.ts +0 -4
  114. package/dist/editor/components/Timeline/imperative-state.js +13 -13
  115. package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +0 -1
  116. package/dist/editor/components/Timeline/timeline-scroll-logic.js +5 -6
  117. package/dist/editor/components/ZoomPersistor.d.ts +0 -1
  118. package/dist/editor/components/ZoomPersistor.js +2 -3
  119. package/dist/editor/components/get-zod-if-possible.d.ts +10 -0
  120. package/dist/editor/components/get-zod-if-possible.js +79 -0
  121. package/dist/editor/helpers/calculate-timeline.d.ts +0 -4
  122. package/dist/editor/helpers/colors.d.ts +0 -1
  123. package/dist/editor/helpers/colors.js +3 -3
  124. package/dist/editor/helpers/create-folder-tree.d.ts +0 -1
  125. package/dist/editor/helpers/create-folder-tree.js +3 -4
  126. package/dist/editor/helpers/get-timeline-sequence-sort-key.d.ts +2 -1
  127. package/dist/editor/icons/caret.d.ts +4 -2
  128. package/dist/editor/icons/caret.js +17 -3
  129. package/dist/editor/state/keybindings.d.ts +2 -1
  130. package/dist/editor/state/modals.d.ts +1 -0
  131. package/dist/editor/state/preview-size.d.ts +0 -1
  132. package/dist/editor/state/preview-size.js +3 -4
  133. package/dist/editor/state/sidebar.d.ts +1 -1
  134. package/dist/editor/state/timeline-ref.d.ts +2 -1
  135. package/dist/editor/state/z-index.d.ts +0 -5
  136. package/dist/editor/state/z-index.js +8 -5
  137. package/dist/get-cli-options.js +1 -0
  138. package/dist/get-config-file-name.d.ts +0 -2
  139. package/dist/get-config-file-name.js +7 -7
  140. package/dist/index.d.ts +52 -1
  141. package/dist/list-of-remotion-packages.js +1 -0
  142. package/dist/parse-command-line.d.ts +3 -1
  143. package/dist/parse-command-line.js +3 -0
  144. package/dist/preview-server/api-types.d.ts +0 -4
  145. package/dist/preview-server/dev-middleware/middleware.d.ts +0 -1
  146. package/dist/preview-server/dev-middleware/middleware.js +1 -2
  147. package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +8 -5
  148. package/dist/preview-server/error-overlay/remotion-overlay/Button.js +5 -4
  149. package/dist/preview-server/hot-middleware/client.js +2 -2
  150. package/dist/preview-server/public-folder.d.ts +0 -5
  151. package/dist/preview-server/public-folder.js +3 -4
  152. package/dist/preview-server/render-queue/job.d.ts +1 -1
  153. package/dist/preview-server/render-queue/make-retry-payload.js +2 -0
  154. package/dist/preview-server/render-queue/queue.d.ts +1 -13
  155. package/dist/preview-server/render-queue/queue.js +13 -9
  156. package/dist/progress-bar.d.ts +1 -12
  157. package/dist/progress-bar.js +4 -15
  158. package/dist/render-flows/render.js +3 -0
  159. package/dist/render-flows/still.js +6 -0
  160. package/dist/select-composition.d.ts +2 -1
  161. package/dist/setup-cache.d.ts +2 -14
  162. package/dist/setup-cache.js +6 -5
  163. package/package.json +10 -8
  164. package/dist/editor/components/CollapsedSidebarExpander.d.ts +0 -5
  165. package/dist/editor/components/CollapsedSidebarExpander.js +0 -40
  166. package/dist/editor/components/SidebarContent.d.ts +0 -5
  167. package/dist/editor/components/SidebarContent.js +0 -53
  168. package/dist/editor/icons/save.d.ts +0 -2
  169. package/dist/editor/icons/save.js +0 -8
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getFiles = exports.watchPublicFolder = exports.fetchFolder = exports.initPublicFolderWatch = void 0;
6
+ exports.getFiles = exports.fetchFolder = exports.initPublicFolderWatch = void 0;
7
7
  const bundler_1 = require("@remotion/bundler");
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = __importDefault(require("path"));
@@ -11,7 +11,7 @@ const env_supports_fs_recursive_1 = require("./env-supports-fs-recursive");
11
11
  let files = [];
12
12
  const initPublicFolderWatch = ({ publicDir, onUpdate, staticHash, }) => {
13
13
  (0, exports.fetchFolder)({ publicDir, staticHash });
14
- (0, exports.watchPublicFolder)({ publicDir, onUpdate, staticHash });
14
+ watchPublicFolder({ publicDir, onUpdate, staticHash });
15
15
  };
16
16
  exports.initPublicFolderWatch = initPublicFolderWatch;
17
17
  const fetchFolder = ({ publicDir, staticHash, }) => {
@@ -33,7 +33,7 @@ const watchPublicFolder = ({ publicDir, onUpdate, staticHash, }) => {
33
33
  const parentDir = path_1.default.dirname(publicDir);
34
34
  const onDirChange = () => {
35
35
  if ((0, fs_1.existsSync)(publicDir)) {
36
- (0, exports.watchPublicFolder)({
36
+ watchPublicFolder({
37
37
  publicDir,
38
38
  onUpdate,
39
39
  staticHash,
@@ -49,7 +49,6 @@ const watchPublicFolder = ({ publicDir, onUpdate, staticHash, }) => {
49
49
  onUpdate();
50
50
  });
51
51
  };
52
- exports.watchPublicFolder = watchPublicFolder;
53
52
  const getFiles = () => {
54
53
  return files;
55
54
  };
@@ -1,7 +1,7 @@
1
1
  import type { AudioCodec, Codec, makeCancelSignal, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
2
  import type { AggregateRenderProgress } from '../../progress-types';
3
3
  import type { RequiredChromiumOptions } from '../../required-chromium-options';
4
- export declare type BaseRenderProgress = {
4
+ declare type BaseRenderProgress = {
5
5
  message: string;
6
6
  value: number;
7
7
  };
@@ -44,6 +44,7 @@ const makeRetryPayload = (job) => {
44
44
  initialOpenGlRenderer: job.chromiumOptions.gl,
45
45
  initialHeadless: job.chromiumOptions.headless,
46
46
  initialIgnoreCertificateErrors: job.chromiumOptions.ignoreCertificateErrors,
47
+ defaultProps: job.inputProps,
47
48
  };
48
49
  }
49
50
  if (job.type === 'video') {
@@ -82,6 +83,7 @@ const makeRetryPayload = (job) => {
82
83
  initialOpenGlRenderer: job.chromiumOptions.gl,
83
84
  initialHeadless: job.chromiumOptions.headless,
84
85
  initialIgnoreCertificateErrors: job.chromiumOptions.ignoreCertificateErrors,
86
+ defaultProps: job.inputProps,
85
87
  };
86
88
  }
87
89
  throw new Error(`Job ${JSON.stringify(job)} Not implemented`);
@@ -1,13 +1,5 @@
1
- import type { JobProgressCallback, RenderJob, RenderJobWithCleanup } from './job';
1
+ import type { RenderJob, RenderJobWithCleanup } from './job';
2
2
  export declare const getRenderQueue: () => RenderJob[];
3
- export declare const notifyClientsOfJobUpdate: () => void;
4
- export declare const processJob: ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }: {
5
- job: RenderJob;
6
- remotionRoot: string;
7
- entryPoint: string;
8
- onProgress: JobProgressCallback;
9
- addCleanupCallback: (cb: () => void) => void;
10
- }) => Promise<void>;
11
3
  export declare const addJob: ({ job, entryPoint, remotionRoot, }: {
12
4
  job: RenderJobWithCleanup;
13
5
  entryPoint: string;
@@ -15,7 +7,3 @@ export declare const addJob: ({ job, entryPoint, remotionRoot, }: {
15
7
  }) => void;
16
8
  export declare const removeJob: (jobId: string) => void;
17
9
  export declare const cancelJob: (jobId: string) => void;
18
- export declare const processJobIfPossible: ({ remotionRoot, entryPoint, }: {
19
- remotionRoot: string;
20
- entryPoint: string;
21
- }) => Promise<void>;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.processJobIfPossible = exports.cancelJob = exports.removeJob = exports.addJob = exports.processJob = exports.notifyClientsOfJobUpdate = exports.getRenderQueue = void 0;
6
+ exports.cancelJob = exports.removeJob = exports.addJob = exports.getRenderQueue = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const chalk_1 = require("../../chalk");
9
9
  const file_watcher_1 = require("../../file-watcher");
@@ -21,7 +21,7 @@ const updateJob = (id, updater) => {
21
21
  }
22
22
  return j;
23
23
  });
24
- (0, exports.notifyClientsOfJobUpdate)();
24
+ notifyClientsOfJobUpdate();
25
25
  };
26
26
  const getRenderQueue = () => {
27
27
  return jobQueue.map((j) => {
@@ -38,7 +38,6 @@ const notifyClientsOfJobUpdate = () => {
38
38
  });
39
39
  });
40
40
  };
41
- exports.notifyClientsOfJobUpdate = notifyClientsOfJobUpdate;
42
41
  const processJob = async ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }) => {
43
42
  if (job.type === 'still') {
44
43
  await (0, process_still_1.processStill)({
@@ -62,11 +61,10 @@ const processJob = async ({ job, remotionRoot, entryPoint, onProgress, addCleanu
62
61
  }
63
62
  throw new Error(`Unknown job ${JSON.stringify(job)}`);
64
63
  };
65
- exports.processJob = processJob;
66
64
  const addJob = ({ job, entryPoint, remotionRoot, }) => {
67
65
  jobQueue.push(job);
68
- (0, exports.processJobIfPossible)({ entryPoint, remotionRoot });
69
- (0, exports.notifyClientsOfJobUpdate)();
66
+ processJobIfPossible({ entryPoint, remotionRoot });
67
+ notifyClientsOfJobUpdate();
70
68
  };
71
69
  exports.addJob = addJob;
72
70
  const removeJob = (jobId) => {
@@ -79,7 +77,7 @@ const removeJob = (jobId) => {
79
77
  }
80
78
  return true;
81
79
  });
82
- (0, exports.notifyClientsOfJobUpdate)();
80
+ notifyClientsOfJobUpdate();
83
81
  };
84
82
  exports.removeJob = removeJob;
85
83
  const cancelJob = (jobId) => {
@@ -96,6 +94,12 @@ const cancelJob = (jobId) => {
96
94
  exports.cancelJob = cancelJob;
97
95
  // TODO: Currently, concurrency = 1 is not enforced
98
96
  const processJobIfPossible = async ({ remotionRoot, entryPoint, }) => {
97
+ const runningJob = jobQueue.find((q) => {
98
+ return q.status === 'running';
99
+ });
100
+ if (runningJob) {
101
+ return;
102
+ }
99
103
  const nextJob = jobQueue.find((q) => {
100
104
  return q.status === 'idle';
101
105
  });
@@ -118,7 +122,7 @@ const processJobIfPossible = async ({ remotionRoot, entryPoint, }) => {
118
122
  const startTime = Date.now();
119
123
  log_1.Log.info(chalk_1.chalk.gray('╭─ Starting render '));
120
124
  let lastProgress = null;
121
- await (0, exports.processJob)({
125
+ await processJob({
122
126
  job: nextJob,
123
127
  entryPoint,
124
128
  remotionRoot,
@@ -204,5 +208,5 @@ const processJobIfPossible = async ({ remotionRoot, entryPoint, }) => {
204
208
  finally {
205
209
  await Promise.all(jobCleanups.map((c) => c()));
206
210
  }
211
+ processJobIfPossible({ remotionRoot, entryPoint });
207
212
  };
208
- exports.processJobIfPossible = processJobIfPossible;
@@ -1,8 +1,5 @@
1
1
  import type { CancelSignal } from '@remotion/renderer';
2
- import type { AggregateRenderProgress, RenderingProgressInput, StitchingProgressInput } from './progress-types';
3
- export declare const createProgressBar: (quiet: boolean, cancelSignal: CancelSignal | null) => {
4
- update: (str: string) => boolean;
5
- };
2
+ import type { AggregateRenderProgress } from './progress-types';
6
3
  export declare type OverwriteableCliOutput = {
7
4
  update: (up: string) => boolean;
8
5
  };
@@ -26,13 +23,6 @@ export declare const makeBundlingAndCopyProgress: ({ bundling, copying, symLinks
26
23
  copying: CopyingState;
27
24
  symLinks: SymbolicLinksState;
28
25
  }, indent: boolean, bundlingStep: number, steps: number) => string;
29
- export declare const makeRenderingProgress: ({ frames, totalFrames, steps, concurrency, doneIn }: RenderingProgressInput, indent: boolean) => string;
30
- export declare const makeStitchingProgress: ({ stitchingProgress, indent, steps, stitchingStep, }: {
31
- stitchingProgress: StitchingProgressInput;
32
- indent: boolean;
33
- steps: number;
34
- stitchingStep: number;
35
- }) => string;
36
26
  export declare const makeRenderingAndStitchingProgress: ({ prog, indent, steps, stitchingStep, }: {
37
27
  prog: AggregateRenderProgress;
38
28
  indent: boolean;
@@ -43,4 +33,3 @@ export declare const makeRenderingAndStitchingProgress: ({ prog, indent, steps,
43
33
  progress: number;
44
34
  message: string;
45
35
  };
46
- export declare const getGuiProgressSubtitle: (progress: AggregateRenderProgress) => string;
@@ -1,21 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGuiProgressSubtitle = exports.makeRenderingAndStitchingProgress = exports.makeStitchingProgress = exports.makeRenderingProgress = exports.makeBundlingAndCopyProgress = exports.createOverwriteableCliOutput = exports.createProgressBar = void 0;
3
+ exports.makeRenderingAndStitchingProgress = exports.makeBundlingAndCopyProgress = exports.createOverwriteableCliOutput = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const ansi_diff_1 = require("./ansi/ansi-diff");
6
6
  const chalk_1 = require("./chalk");
7
- const config_1 = require("./config");
8
7
  const download_progress_1 = require("./download-progress");
9
8
  const log_1 = require("./log");
10
9
  const make_progress_bar_1 = require("./make-progress-bar");
11
10
  const truthy_1 = require("./truthy");
12
- const createProgressBar = (quiet, cancelSignal) => {
13
- if (!renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'info')) {
14
- return { update: () => false };
15
- }
16
- return (0, exports.createOverwriteableCliOutput)({ quiet, cancelSignal });
17
- };
18
- exports.createProgressBar = createProgressBar;
19
11
  const createOverwriteableCliOutput = (options) => {
20
12
  var _a;
21
13
  if (options.quiet) {
@@ -114,7 +106,6 @@ const makeRenderingProgress = ({ frames, totalFrames, steps, concurrency, doneIn
114
106
  .filter(truthy_1.truthy)
115
107
  .join(' ');
116
108
  };
117
- exports.makeRenderingProgress = makeRenderingProgress;
118
109
  const makeStitchingProgress = ({ stitchingProgress, indent, steps, stitchingStep, }) => {
119
110
  const { frames, totalFrames, doneIn, stage, codec } = stitchingProgress;
120
111
  const progress = frames / totalFrames;
@@ -135,15 +126,14 @@ const makeStitchingProgress = ({ stitchingProgress, indent, steps, stitchingStep
135
126
  .filter(truthy_1.truthy)
136
127
  .join(' ');
137
128
  };
138
- exports.makeStitchingProgress = makeStitchingProgress;
139
129
  const makeRenderingAndStitchingProgress = ({ prog, indent, steps, stitchingStep, }) => {
140
130
  const { rendering, stitching, downloads, bundling } = prog;
141
131
  const output = [
142
- rendering ? (0, exports.makeRenderingProgress)(rendering, indent) : null,
132
+ rendering ? makeRenderingProgress(rendering, indent) : null,
143
133
  (0, download_progress_1.makeMultiDownloadProgress)(downloads, indent),
144
134
  stitching === null
145
135
  ? null
146
- : (0, exports.makeStitchingProgress)({
136
+ : makeStitchingProgress({
147
137
  stitchingProgress: stitching,
148
138
  indent,
149
139
  steps,
@@ -159,7 +149,7 @@ const makeRenderingAndStitchingProgress = ({ prog, indent, steps, stitchingStep,
159
149
  ? stitching.frames / stitching.totalFrames
160
150
  : 0;
161
151
  const progress = bundling.progress * 0.3 + renderProgress * 0.6 + stitchingProgress * 0.1;
162
- return { output, progress, message: (0, exports.getGuiProgressSubtitle)(prog) };
152
+ return { output, progress, message: getGuiProgressSubtitle(prog) };
163
153
  };
164
154
  exports.makeRenderingAndStitchingProgress = makeRenderingAndStitchingProgress;
165
155
  const getGuiProgressSubtitle = (progress) => {
@@ -187,4 +177,3 @@ const getGuiProgressSubtitle = (progress) => {
187
177
  }
188
178
  return `Stitching ${progress.stitching.frames}/${progress.stitching.totalFrames}`;
189
179
  };
190
- exports.getGuiProgressSubtitle = getGuiProgressSubtitle;
@@ -84,6 +84,9 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
84
84
  logLevel,
85
85
  bundlingStep: steps.indexOf('bundling'),
86
86
  steps: steps.length,
87
+ onDirectoryCreated: (dir) => {
88
+ addCleanupCallback(() => renderer_1.RenderInternals.deleteDirectory(dir));
89
+ },
87
90
  });
88
91
  addCleanupCallback(() => cleanupBundle());
89
92
  const onDownload = (src) => {
@@ -9,6 +9,7 @@ const renderer_1 = require("@remotion/renderer");
9
9
  const fs_1 = require("fs");
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const chalk_1 = require("../chalk");
12
+ const cleanup_before_quit_1 = require("../cleanup-before-quit");
12
13
  const config_1 = require("../config");
13
14
  const determine_image_format_1 = require("../determine-image-format");
14
15
  const get_cli_options_1 = require("../get-cli-options");
@@ -63,6 +64,11 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
63
64
  indentOutput,
64
65
  logLevel,
65
66
  bundlingStep: steps.indexOf('bundling'),
67
+ onDirectoryCreated: (dir) => {
68
+ (0, cleanup_before_quit_1.registerCleanupJob)(() => {
69
+ renderer_1.RenderInternals.deleteDirectory(dir);
70
+ });
71
+ },
66
72
  });
67
73
  addCleanupCallback(() => cleanupBundle());
68
74
  const puppeteerInstance = await browserInstance;
@@ -1,7 +1,8 @@
1
1
  import type { getCompositions } from '@remotion/renderer';
2
- export declare type Await<T> = T extends PromiseLike<infer U> ? U : T;
2
+ declare type Await<T> = T extends PromiseLike<infer U> ? U : T;
3
3
  export declare const selectComposition: (validCompositions: Await<ReturnType<typeof getCompositions>>) => Promise<{
4
4
  compositionId: string;
5
5
  reason: string;
6
6
  }>;
7
7
  export declare const selectCompositions: (validCompositions: Await<ReturnType<typeof getCompositions>>) => Promise<string[]>;
8
+ export {};
@@ -1,6 +1,6 @@
1
1
  import type { LogLevel } from '@remotion/renderer';
2
2
  import type { BundlingState, CopyingState } from './progress-bar';
3
- export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, bundlingStep, steps, }: {
3
+ export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, bundlingStep, steps, onDirectoryCreated, }: {
4
4
  fullPath: string;
5
5
  remotionRoot: string;
6
6
  publicDir: string | null;
@@ -12,20 +12,8 @@ export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publi
12
12
  logLevel: LogLevel;
13
13
  bundlingStep: number;
14
14
  steps: number;
15
+ onDirectoryCreated: (path: string) => void;
15
16
  }) => Promise<{
16
17
  urlOrBundle: string;
17
18
  cleanup: () => void;
18
19
  }>;
19
- export declare const bundleOnCli: ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, bundlingStep, steps, }: {
20
- fullPath: string;
21
- remotionRoot: string;
22
- publicDir: string | null;
23
- onProgressCallback: (params: {
24
- bundling: BundlingState;
25
- copying: CopyingState;
26
- }) => void;
27
- indent: boolean;
28
- logLevel: LogLevel;
29
- bundlingStep: number;
30
- steps: number;
31
- }) => Promise<string>;
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bundleOnCli = exports.bundleOnCliOrTakeServeUrl = void 0;
3
+ exports.bundleOnCliOrTakeServeUrl = void 0;
4
4
  const bundler_1 = require("@remotion/bundler");
5
5
  const renderer_1 = require("@remotion/renderer");
6
6
  const config_1 = require("./config");
7
7
  const log_1 = require("./log");
8
8
  const parse_command_line_1 = require("./parse-command-line");
9
9
  const progress_bar_1 = require("./progress-bar");
10
- const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, bundlingStep, steps, }) => {
10
+ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, bundlingStep, steps, onDirectoryCreated, }) => {
11
11
  if (renderer_1.RenderInternals.isServeUrl(fullPath)) {
12
12
  return {
13
13
  urlOrBundle: fullPath,
14
14
  cleanup: () => Promise.resolve(undefined),
15
15
  };
16
16
  }
17
- const bundled = await (0, exports.bundleOnCli)({
17
+ const bundled = await bundleOnCli({
18
18
  fullPath,
19
19
  remotionRoot,
20
20
  publicDir,
@@ -23,6 +23,7 @@ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, on
23
23
  logLevel,
24
24
  bundlingStep,
25
25
  steps,
26
+ onDirectoryCreated,
26
27
  });
27
28
  return {
28
29
  urlOrBundle: bundled,
@@ -30,7 +31,7 @@ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, on
30
31
  };
31
32
  };
32
33
  exports.bundleOnCliOrTakeServeUrl = bundleOnCliOrTakeServeUrl;
33
- const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, bundlingStep, steps, }) => {
34
+ const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, bundlingStep, steps, onDirectoryCreated, }) => {
34
35
  var _a;
35
36
  const shouldCache = config_1.ConfigInternals.getWebpackCaching();
36
37
  const symlinkState = {
@@ -115,6 +116,7 @@ const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallba
115
116
  };
116
117
  updateProgress(false);
117
118
  },
119
+ onDirectoryCreated,
118
120
  ...options,
119
121
  });
120
122
  bundlingState = {
@@ -136,4 +138,3 @@ const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallba
136
138
  }
137
139
  return bundled;
138
140
  };
139
- exports.bundleOnCli = bundleOnCli;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.0-alpha.185+1b8f0e746",
3
+ "version": "4.0.0-alpha.217+27eff7599",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -34,16 +34,16 @@
34
34
  "author": "Jonny Burger <jonny@remotion.dev>",
35
35
  "license": "SEE LICENSE IN LICENSE.md",
36
36
  "dependencies": {
37
- "@remotion/bundler": "4.0.0-alpha.185+1b8f0e746",
38
- "@remotion/media-utils": "4.0.0-alpha.185+1b8f0e746",
39
- "@remotion/player": "4.0.0-alpha.185+1b8f0e746",
40
- "@remotion/renderer": "4.0.0-alpha.185+1b8f0e746",
37
+ "@remotion/bundler": "4.0.0-alpha.217+27eff7599",
38
+ "@remotion/media-utils": "4.0.0-alpha.217+27eff7599",
39
+ "@remotion/player": "4.0.0-alpha.217+27eff7599",
40
+ "@remotion/renderer": "4.0.0-alpha.217+27eff7599",
41
41
  "dotenv": "9.0.2",
42
42
  "memfs": "3.4.3",
43
43
  "minimist": "1.2.6",
44
44
  "open": "^8.4.2",
45
45
  "prompts": "2.4.1",
46
- "remotion": "4.0.0-alpha.185+1b8f0e746",
46
+ "remotion": "4.0.0-alpha.217+27eff7599",
47
47
  "semver": "7.3.5",
48
48
  "source-map": "0.6.1"
49
49
  },
@@ -53,6 +53,7 @@
53
53
  },
54
54
  "devDependencies": {
55
55
  "@jonny/eslint-config": "3.0.266",
56
+ "@remotion/z-color": "4.0.0-alpha.217+27eff7599",
56
57
  "@types/minimist": "^1.2.2",
57
58
  "@types/node": "^16.7.5",
58
59
  "@types/prettier": "^2.7.2",
@@ -71,7 +72,8 @@
71
72
  "react": "^18.0.0",
72
73
  "react-dom": "^18.0.0",
73
74
  "typescript": "^4.7.0",
74
- "vitest": "0.24.3"
75
+ "vitest": "0.24.3",
76
+ "zod": "^3.21.4"
75
77
  },
76
78
  "keywords": [
77
79
  "remotion",
@@ -83,5 +85,5 @@
83
85
  "publishConfig": {
84
86
  "access": "public"
85
87
  },
86
- "gitHead": "1b8f0e746ea4aa1153c4ecc7bc1063752c405f25"
88
+ "gitHead": "27eff759935b19b666e29f4f46dd5bdd6214e188"
87
89
  }
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export declare const CollapsedSidebarExpander: React.FC<{
3
- onExpand: () => void;
4
- direction: 'left' | 'right';
5
- }>;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollapsedSidebarExpander = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const colors_1 = require("../helpers/colors");
7
- const caret_1 = require("../icons/caret");
8
- const z_index_1 = require("../state/z-index");
9
- const CollapsedSidebarExpander = ({ onExpand, direction }) => {
10
- const [hovered, setHovered] = (0, react_1.useState)(false);
11
- const { tabIndex } = (0, z_index_1.useZIndex)();
12
- const onPointerEnter = (0, react_1.useCallback)(() => {
13
- setHovered(true);
14
- }, []);
15
- const onPointerLeave = (0, react_1.useCallback)(() => {
16
- setHovered(false);
17
- }, []);
18
- const style = (0, react_1.useMemo)(() => {
19
- return {
20
- border: 'none',
21
- borderRight: `${direction === 'right' ? 1 : 0}px solid black`,
22
- borderLeft: `${direction === 'left' ? 1 : 0}px solid black`,
23
- cursor: 'pointer',
24
- color: 'white',
25
- display: 'flex',
26
- justifyContent: 'center',
27
- alignItems: 'center',
28
- paddingLeft: direction === 'right' ? 7 : 5,
29
- paddingRight: direction === 'right' ? 4 : 5,
30
- backgroundColor: (0, colors_1.getBackgroundFromHoverState)({
31
- hovered,
32
- selected: false,
33
- }),
34
- appearance: 'none',
35
- WebkitAppearance: 'none',
36
- };
37
- }, [direction, hovered]);
38
- return ((0, jsx_runtime_1.jsx)("button", { style: style, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, type: "button", role: "button", tabIndex: tabIndex, onClick: onExpand, children: direction === 'right' ? (0, jsx_runtime_1.jsx)(caret_1.CaretRight, {}) : (0, jsx_runtime_1.jsx)(caret_1.CaretLeft, {}) }));
39
- };
40
- exports.CollapsedSidebarExpander = CollapsedSidebarExpander;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export declare const leftSidebarTabs: React.RefObject<{
3
- selectRendersPanel: () => void;
4
- }>;
5
- export declare const SidebarContent: React.FC;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SidebarContent = exports.leftSidebarTabs = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const colors_1 = require("../helpers/colors");
7
- const CompositionSelector_1 = require("./CompositionSelector");
8
- const CurrentCompositionSideEffects_1 = require("./CurrentCompositionSideEffects");
9
- const RenderQueue_1 = require("./RenderQueue");
10
- const context_1 = require("./RenderQueue/context");
11
- const RendersTab_1 = require("./RendersTab");
12
- const Tabs_1 = require("./Tabs");
13
- const container = {
14
- width: '100%',
15
- };
16
- const tabsContainer = {
17
- borderBottom: `1px solid ${colors_1.BORDER_COLOR}`,
18
- };
19
- exports.leftSidebarTabs = (0, react_1.createRef)();
20
- const localStorageKey = 'remotion.sidebarPanel';
21
- const persistSelectedPanel = (panel) => {
22
- localStorage.setItem(localStorageKey, panel);
23
- };
24
- const getSelectedPanel = (shouldRender) => {
25
- const panel = localStorage.getItem(localStorageKey);
26
- if (panel === 'renders' && shouldRender) {
27
- return 'renders';
28
- }
29
- return 'compositions';
30
- };
31
- const SidebarContent = () => {
32
- const shouldRender = (0, context_1.useShouldRenderLeftSidebarTabs)();
33
- const [panel, setPanel] = (0, react_1.useState)(() => getSelectedPanel(shouldRender));
34
- const onCompositionsSelected = (0, react_1.useCallback)(() => {
35
- setPanel('compositions');
36
- persistSelectedPanel('compositions');
37
- }, []);
38
- const onRendersSelected = (0, react_1.useCallback)(() => {
39
- setPanel('renders');
40
- persistSelectedPanel('renders');
41
- }, []);
42
- (0, react_1.useImperativeHandle)(exports.leftSidebarTabs, () => {
43
- return {
44
- selectRendersPanel: () => {
45
- setPanel('renders');
46
- persistSelectedPanel('renders');
47
- },
48
- };
49
- }, []);
50
- // TODO: It is not perfectly aligned in example
51
- return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [shouldRender ? ((0, jsx_runtime_1.jsx)("div", { style: tabsContainer, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: panel === 'compositions', onClick: onCompositionsSelected, children: "Compositions" }), (0, jsx_runtime_1.jsx)(RendersTab_1.RendersTab, { onClick: onRendersSelected, selected: panel === 'renders' })] }) })) : null, panel === 'renders' && shouldRender ? ((0, jsx_runtime_1.jsx)(RenderQueue_1.RenderQueue, {})) : ((0, jsx_runtime_1.jsx)(CompositionSelector_1.CompositionSelector, {})), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.CurrentCompositionKeybindings, {}), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.TitleUpdater, {})] }));
52
- };
53
- exports.SidebarContent = SidebarContent;
@@ -1,2 +0,0 @@
1
- import type { SVGProps } from 'react';
2
- export declare const Save: (props: SVGProps<SVGSVGElement>) => JSX.Element;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Save = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const Save = (props) => {
6
- return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 448 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: "currentcolor", d: "M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V173.3c0-17-6.7-33.3-18.7-45.3L352 50.7C340 38.7 323.7 32 306.7 32H64zm0 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zM224 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z" }) }));
7
- };
8
- exports.Save = Save;