@remotion/cli 4.0.0-offthread.34 → 4.0.0-offthread.6

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 (110) hide show
  1. package/dist/compositions.js +4 -3
  2. package/dist/editor/components/AudioWaveform.js +2 -2
  3. package/dist/editor/components/AudioWaveformBar.js +1 -1
  4. package/dist/editor/components/Canvas.js +1 -1
  5. package/dist/editor/components/CheckboardToggle.js +1 -1
  6. package/dist/editor/components/ClipboardIcon.js +1 -1
  7. package/dist/editor/components/CollapsedCompositionSelector.d.ts +4 -0
  8. package/dist/editor/components/CollapsedCompositionSelector.js +39 -0
  9. package/dist/editor/components/CompositionSelector.js +5 -45
  10. package/dist/editor/components/CompositionSelectorItem.js +3 -3
  11. package/dist/editor/components/ControlButton.js +1 -1
  12. package/dist/editor/components/CopyButton.js +2 -2
  13. package/dist/editor/components/CurrentComposition.js +2 -2
  14. package/dist/editor/components/Editor.js +6 -4
  15. package/dist/editor/components/EditorContent.js +3 -2
  16. package/dist/editor/components/FpsCounter.js +1 -1
  17. package/dist/editor/components/InitialCompositionLoader.d.ts +4 -0
  18. package/dist/editor/components/InitialCompositionLoader.js +60 -0
  19. package/dist/editor/components/KeyboardShortcutsModal.js +1 -1
  20. package/dist/editor/components/LoadingIndicator.js +1 -1
  21. package/dist/editor/components/LoopToggle.js +1 -1
  22. package/dist/editor/components/Menu/MenuDivider.js +1 -1
  23. package/dist/editor/components/Menu/MenuItem.js +3 -3
  24. package/dist/editor/components/Menu/MenuSubItem.js +3 -3
  25. package/dist/editor/components/Menu/SubMenu.js +1 -1
  26. package/dist/editor/components/MenuToolbar.js +68 -5
  27. package/dist/editor/components/ModalContainer.js +1 -1
  28. package/dist/editor/components/ModalHeader.js +1 -1
  29. package/dist/editor/components/MuteToggle.js +1 -1
  30. package/dist/editor/components/NewComposition/CancelButton.js +1 -1
  31. package/dist/editor/components/NewComposition/ComboBox.js +3 -3
  32. package/dist/editor/components/NewComposition/CopyHint.js +1 -1
  33. package/dist/editor/components/NewComposition/InputDragger.js +2 -2
  34. package/dist/editor/components/NewComposition/MenuContent.js +1 -1
  35. package/dist/editor/components/NewComposition/NewCompAspectRatio.js +1 -1
  36. package/dist/editor/components/NewComposition/NewCompDuration.js +1 -1
  37. package/dist/editor/components/NewComposition/NewComposition.js +4 -4
  38. package/dist/editor/components/NewComposition/RemInput.js +1 -1
  39. package/dist/editor/components/NewComposition/ToggleAspectRatio.js +1 -1
  40. package/dist/editor/components/NewComposition/ValidationMessage.js +2 -2
  41. package/dist/editor/components/PlayPause.js +40 -11
  42. package/dist/editor/components/PlaybackRateSelector.js +2 -2
  43. package/dist/editor/components/Preview.js +2 -2
  44. package/dist/editor/components/PreviewToolbar.js +1 -1
  45. package/dist/editor/components/RichTimelineToggle.js +1 -1
  46. package/dist/editor/components/SizeSelector.js +2 -2
  47. package/dist/editor/components/Splitter/SplitterContainer.js +1 -1
  48. package/dist/editor/components/Splitter/SplitterElement.js +4 -2
  49. package/dist/editor/components/Splitter/SplitterHandle.d.ts +4 -1
  50. package/dist/editor/components/Splitter/SplitterHandle.js +28 -7
  51. package/dist/editor/components/Thumbnail.js +1 -1
  52. package/dist/editor/components/TimeValue.js +1 -1
  53. package/dist/editor/components/Timeline/LoopedIndicator.js +2 -2
  54. package/dist/editor/components/Timeline/LoopedTimelineIndicators.js +3 -3
  55. package/dist/editor/components/Timeline/MaxTimelineTracks.js +1 -1
  56. package/dist/editor/components/Timeline/Timeline.js +2 -1
  57. package/dist/editor/components/Timeline/TimelineCollapseToggle.js +2 -2
  58. package/dist/editor/components/Timeline/TimelineDragHandler.js +1 -1
  59. package/dist/editor/components/Timeline/TimelineInOutPointer.js +2 -2
  60. package/dist/editor/components/Timeline/TimelineInOutPointerHandle.js +1 -1
  61. package/dist/editor/components/Timeline/TimelineList.js +1 -1
  62. package/dist/editor/components/Timeline/TimelineListItem.js +1 -1
  63. package/dist/editor/components/Timeline/TimelineSequence.js +1 -1
  64. package/dist/editor/components/Timeline/TimelineSequenceFrame.js +1 -1
  65. package/dist/editor/components/Timeline/TimelineSlider.js +1 -1
  66. package/dist/editor/components/Timeline/TimelineSliderHandle.js +1 -1
  67. package/dist/editor/components/Timeline/TimelineTracks.js +2 -2
  68. package/dist/editor/components/Timeline/TimelineVideoInfo.js +1 -1
  69. package/dist/editor/components/TimelineInOutToggle.js +1 -1
  70. package/dist/editor/components/TopPanel.js +23 -1
  71. package/dist/editor/components/UpdateCheck.js +1 -1
  72. package/dist/editor/components/UpdateModal/UpdateModal.js +1 -1
  73. package/dist/editor/components/layout.js +4 -4
  74. package/dist/editor/helpers/use-compact-ui.d.ts +1 -0
  75. package/dist/editor/helpers/use-compact-ui.js +18 -0
  76. package/dist/editor/icons/Checkmark.js +1 -1
  77. package/dist/editor/icons/caret.d.ts +1 -1
  78. package/dist/editor/icons/caret.js +4 -4
  79. package/dist/editor/icons/film.js +1 -1
  80. package/dist/editor/icons/folder.js +2 -2
  81. package/dist/editor/icons/jump-to-start.d.ts +2 -0
  82. package/dist/editor/icons/jump-to-start.js +8 -0
  83. package/dist/editor/icons/keys.js +3 -3
  84. package/dist/editor/icons/lock.js +2 -2
  85. package/dist/editor/icons/media-volume.js +2 -2
  86. package/dist/editor/icons/pause.js +1 -1
  87. package/dist/editor/icons/play.js +1 -1
  88. package/dist/editor/icons/step-back.js +1 -1
  89. package/dist/editor/icons/step-forward.js +1 -1
  90. package/dist/editor/icons/still.js +1 -1
  91. package/dist/editor/icons/timeline.js +1 -1
  92. package/dist/editor/icons/timelineInOutPointer.js +2 -2
  93. package/dist/editor/state/folders.d.ts +11 -0
  94. package/dist/editor/state/folders.js +23 -0
  95. package/dist/editor/state/highest-z-index.js +2 -2
  96. package/dist/editor/state/keybindings.js +1 -1
  97. package/dist/editor/state/sidebar.d.ts +12 -0
  98. package/dist/editor/state/sidebar.js +40 -0
  99. package/dist/editor/state/z-index.js +1 -1
  100. package/dist/get-cli-options.d.ts +1 -0
  101. package/dist/get-cli-options.js +5 -1
  102. package/dist/index.d.ts +1 -0
  103. package/dist/index.js +5 -1
  104. package/dist/parse-command-line.js +3 -0
  105. package/dist/previewEntry.js +2 -2
  106. package/dist/print-error.js +1 -0
  107. package/dist/render.js +8 -20
  108. package/dist/still.js +42 -28
  109. package/dist/upgrade.js +1 -0
  110. package/package.json +8 -8
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StepBack = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const StepBack = (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 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z" }, void 0) }, void 0));
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 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z" }) }));
7
7
  };
8
8
  exports.StepBack = StepBack;
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StepForward = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const StepForward = (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: "M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z" }, void 0) }, void 0));
6
+ return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 448 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z" }) }));
7
7
  };
8
8
  exports.StepForward = StepForward;
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StillIcon = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const StillIcon = (props) => {
6
- return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 512 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z" }, void 0) }, void 0));
6
+ return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 512 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z" }) }));
7
7
  };
8
8
  exports.StillIcon = StillIcon;
@@ -4,6 +4,6 @@ exports.TimelineIcon = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const TimelineIcon = (props) => {
6
6
  var _a;
7
- return ((0, jsx_runtime_1.jsx)("svg", { "aria-hidden": "true", focusable: "false", "data-prefix": "fas", "data-icon": "stream", className: "svg-inline--fa fa-stream fa-w-16", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: (_a = props.style) === null || _a === void 0 ? void 0 : _a.color, d: "M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z" }, void 0) }, void 0));
7
+ return ((0, jsx_runtime_1.jsx)("svg", { "aria-hidden": "true", focusable: "false", "data-prefix": "fas", "data-icon": "stream", className: "svg-inline--fa fa-stream fa-w-16", role: "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", ...props, children: (0, jsx_runtime_1.jsx)("path", { fill: (_a = props.style) === null || _a === void 0 ? void 0 : _a.color, d: "M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z" }) }));
8
8
  };
9
9
  exports.TimelineIcon = TimelineIcon;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TimelineOutPointer = exports.TimelineInPointer = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const TimelineInPointer = (props) => {
6
- return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 256 256", fill: "none", ...props, children: (0, jsx_runtime_1.jsx)("path", { d: "M158 25H99V230.5H158", stroke: props.color, strokeWidth: "42", strokeLinecap: "round", strokeLinejoin: "round" }, void 0) }, void 0));
6
+ return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 256 256", fill: "none", ...props, children: (0, jsx_runtime_1.jsx)("path", { d: "M158 25H99V230.5H158", stroke: props.color, strokeWidth: "42", strokeLinecap: "round", strokeLinejoin: "round" }) }));
7
7
  };
8
8
  exports.TimelineInPointer = TimelineInPointer;
9
9
  const TimelineOutPointer = (props) => {
10
- return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 256 256", fill: "none", ...props, children: (0, jsx_runtime_1.jsx)("path", { d: "M98 25H157V230.5H98", stroke: props.color, strokeWidth: "42", strokeLinecap: "round", strokeLinejoin: "round" }, void 0) }, void 0));
10
+ return ((0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 256 256", fill: "none", ...props, children: (0, jsx_runtime_1.jsx)("path", { d: "M98 25H157V230.5H98", stroke: props.color, strokeWidth: "42", strokeLinecap: "round", strokeLinejoin: "round" }) }));
11
11
  };
12
12
  exports.TimelineOutPointer = TimelineOutPointer;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ExpandedFoldersState } from '../helpers/persist-open-folders';
3
+ declare type TFolderContext = {
4
+ foldersExpanded: ExpandedFoldersState;
5
+ setFoldersExpanded: React.Dispatch<React.SetStateAction<ExpandedFoldersState>>;
6
+ };
7
+ export declare const FolderContext: React.Context<TFolderContext>;
8
+ export declare const FolderContextProvider: React.FC<{
9
+ children: React.ReactNode;
10
+ }>;
11
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FolderContextProvider = exports.FolderContext = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const persist_open_folders_1 = require("../helpers/persist-open-folders");
7
+ exports.FolderContext = (0, react_1.createContext)({
8
+ foldersExpanded: {},
9
+ setFoldersExpanded: () => {
10
+ throw new Error('default state');
11
+ },
12
+ });
13
+ const FolderContextProvider = ({ children }) => {
14
+ const [foldersExpanded, setFoldersExpanded] = (0, react_1.useState)((0, persist_open_folders_1.loadExpandedFolders)());
15
+ const value = (0, react_1.useMemo)(() => {
16
+ return {
17
+ foldersExpanded,
18
+ setFoldersExpanded,
19
+ };
20
+ }, [foldersExpanded]);
21
+ return ((0, jsx_runtime_1.jsx)(exports.FolderContext.Provider, { value: value, children: children }));
22
+ };
23
+ exports.FolderContextProvider = FolderContextProvider;
@@ -19,7 +19,7 @@ const HighestZIndexProvider = ({ children }) => {
19
19
  if (index === -1) {
20
20
  throw new Error('did not find z-index ' + newIndex);
21
21
  }
22
- return prev.filter((n, i) => i !== index);
22
+ return prev.filter((_n, i) => i !== index);
23
23
  });
24
24
  }, []);
25
25
  const highestIndex = Math.max(...zIndexes);
@@ -30,6 +30,6 @@ const HighestZIndexProvider = ({ children }) => {
30
30
  unregisterZIndex,
31
31
  };
32
32
  }, [registerZIndex, unregisterZIndex, highestIndex]);
33
- return ((0, jsx_runtime_1.jsx)(exports.HighestZIndexContext.Provider, { value: value, children: children }, void 0));
33
+ return ((0, jsx_runtime_1.jsx)(exports.HighestZIndexContext.Provider, { value: value, children: children }));
34
34
  };
35
35
  exports.HighestZIndexProvider = HighestZIndexProvider;
@@ -36,6 +36,6 @@ const KeybindingContextProvider = ({ children }) => {
36
36
  unregisterPane,
37
37
  };
38
38
  }, [registerKeybinding, unregisterKeybinding, unregisterPane]);
39
- return ((0, jsx_runtime_1.jsx)(exports.KeybindingContext.Provider, { value: value, children: children }, void 0));
39
+ return ((0, jsx_runtime_1.jsx)(exports.KeybindingContext.Provider, { value: value, children: children }));
40
40
  };
41
41
  exports.KeybindingContextProvider = KeybindingContextProvider;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export declare type SidebarCollapsedState = 'collapsed' | 'expanded' | 'responsive';
3
+ declare type Context = {
4
+ sidebarCollapsedState: SidebarCollapsedState;
5
+ setSidebarCollapsedState: (newState: SidebarCollapsedState) => void;
6
+ };
7
+ export declare const getSavedCollapsedState: () => SidebarCollapsedState;
8
+ export declare const SidebarContext: React.Context<Context>;
9
+ export declare const SidebarContextProvider: React.FC<{
10
+ children: React.ReactNode;
11
+ }>;
12
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SidebarContextProvider = exports.SidebarContext = exports.getSavedCollapsedState = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const storageKey = 'remotion.sidebarCollapsing';
7
+ const getSavedCollapsedState = () => {
8
+ const state = window.localStorage.getItem(storageKey);
9
+ if (state === 'collapsed') {
10
+ return 'collapsed';
11
+ }
12
+ if (state === 'expanded') {
13
+ return 'expanded';
14
+ }
15
+ return 'responsive';
16
+ };
17
+ exports.getSavedCollapsedState = getSavedCollapsedState;
18
+ const setSavedCollapsedState = (type) => {
19
+ window.localStorage.setItem(storageKey, type);
20
+ };
21
+ exports.SidebarContext = (0, react_1.createContext)({
22
+ sidebarCollapsedState: 'collapsed',
23
+ setSidebarCollapsedState: () => {
24
+ throw new Error('sidebar collapsed state');
25
+ },
26
+ });
27
+ const SidebarContextProvider = ({ children }) => {
28
+ const [sidebarCollapsedState, setSidebarCollapsedState] = (0, react_1.useState)(() => (0, exports.getSavedCollapsedState)());
29
+ const value = (0, react_1.useMemo)(() => {
30
+ return {
31
+ setSidebarCollapsedState: (state) => {
32
+ setSidebarCollapsedState(state);
33
+ setSavedCollapsedState(state);
34
+ },
35
+ sidebarCollapsedState,
36
+ };
37
+ }, [sidebarCollapsedState]);
38
+ return ((0, jsx_runtime_1.jsx)(exports.SidebarContext.Provider, { value: value, children: children }));
39
+ };
40
+ exports.SidebarContextProvider = SidebarContextProvider;
@@ -49,7 +49,7 @@ const HigherZIndex = ({ children, onEscape, onOutsideClick }) => {
49
49
  currentIndex,
50
50
  };
51
51
  }, [currentIndex]);
52
- return ((0, jsx_runtime_1.jsxs)(exports.ZIndexContext.Provider, { value: value, children: [(0, jsx_runtime_1.jsx)(EscapeHook, { onEscape: onEscape }, void 0), (0, jsx_runtime_1.jsx)("div", { ref: containerRef, children: children }, void 0)] }, void 0));
52
+ return ((0, jsx_runtime_1.jsxs)(exports.ZIndexContext.Provider, { value: value, children: [(0, jsx_runtime_1.jsx)(EscapeHook, { onEscape: onEscape }), (0, jsx_runtime_1.jsx)("div", { ref: containerRef, children: children })] }));
53
53
  };
54
54
  exports.HigherZIndex = HigherZIndex;
55
55
  const useZIndex = () => {
@@ -25,4 +25,5 @@ export declare const getCliOptions: (options: {
25
25
  logLevel: "verbose" | "info" | "warn" | "error";
26
26
  scale: number;
27
27
  chromiumOptions: ChromiumOptions;
28
+ port: number | null;
28
29
  }>;
@@ -117,7 +117,9 @@ const getAndValidateBrowser = async (browserExecutable) => {
117
117
  const getCliOptions = async (options) => {
118
118
  var _a;
119
119
  const frameRange = getAndValidateFrameRange();
120
- const codec = await getFinalCodec({ isLambda: options.isLambda });
120
+ const codec = options.type === 'get-compositions'
121
+ ? 'h264'
122
+ : await getFinalCodec({ isLambda: options.isLambda });
121
123
  const shouldOutputImageSequence = options.type === 'still'
122
124
  ? true
123
125
  : await getAndValidateShouldOutputImageSequence({
@@ -143,6 +145,7 @@ const getCliOptions = async (options) => {
143
145
  const browserExecutable = remotion_1.Internals.getBrowserExecutable();
144
146
  const ffmpegExecutable = remotion_1.Internals.getCustomFfmpegExecutable();
145
147
  const scale = remotion_1.Internals.getScale();
148
+ const port = remotion_1.Internals.getServerPort();
146
149
  const chromiumOptions = {
147
150
  disableWebSecurity: remotion_1.Internals.getChromiumDisableWebSecurity(),
148
151
  ignoreCertificateErrors: remotion_1.Internals.getIgnoreCertificateErrors(),
@@ -173,6 +176,7 @@ const getCliOptions = async (options) => {
173
176
  logLevel: remotion_1.Internals.Logging.getLogLevel(),
174
177
  scale,
175
178
  chromiumOptions,
179
+ port: port !== null && port !== void 0 ? port : null,
176
180
  };
177
181
  };
178
182
  exports.getCliOptions = getCliOptions;
package/dist/index.d.ts CHANGED
@@ -50,6 +50,7 @@ export declare const CliInternals: {
50
50
  logLevel: "verbose" | "info" | "warn" | "error";
51
51
  scale: number;
52
52
  chromiumOptions: import("@remotion/renderer").ChromiumOptions;
53
+ port: number | null;
53
54
  }>;
54
55
  parseCommandLine: (type: "sequence" | "still" | "lambda" | "preview" | "versions") => void;
55
56
  loadConfig: () => Promise<string | null>;
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -113,6 +113,9 @@ const parseCommandLine = (type) => {
113
113
  if (typeof exports.parsedCli.scale !== 'undefined') {
114
114
  remotion_1.Config.Rendering.setScale(exports.parsedCli.scale);
115
115
  }
116
+ if (typeof exports.parsedCli.port !== 'undefined') {
117
+ remotion_1.Config.Bundling.setPort(exports.parsedCli.port);
118
+ }
116
119
  };
117
120
  exports.parseCommandLine = parseCommandLine;
118
121
  const quietFlagProvided = () => exports.parsedCli.quiet || exports.parsedCli.q;
@@ -9,10 +9,10 @@ const remotion_1 = require("remotion");
9
9
  require("../styles/styles.css");
10
10
  const Editor_1 = require("./editor/components/Editor");
11
11
  remotion_1.Internals.CSSUtils.injectCSS(remotion_1.Internals.CSSUtils.makeDefaultCSS(null, '#1f2428'));
12
- const content = ((0, jsx_runtime_1.jsx)(remotion_1.Internals.RemotionRoot, { children: (0, jsx_runtime_1.jsx)(Editor_1.Editor, {}, void 0) }, void 0));
12
+ const content = ((0, jsx_runtime_1.jsx)(remotion_1.Internals.RemotionRoot, { children: (0, jsx_runtime_1.jsx)(Editor_1.Editor, {}) }));
13
13
  if (client_1.default.createRoot) {
14
14
  client_1.default.createRoot(remotion_1.Internals.getPreviewDomElement()).render(content);
15
15
  }
16
16
  else {
17
- client_1.default.render((0, jsx_runtime_1.jsx)(remotion_1.Internals.RemotionRoot, { children: (0, jsx_runtime_1.jsx)(Editor_1.Editor, {}, void 0) }, void 0), remotion_1.Internals.getPreviewDomElement());
17
+ client_1.default.render((0, jsx_runtime_1.jsx)(remotion_1.Internals.RemotionRoot, { children: (0, jsx_runtime_1.jsx)(Editor_1.Editor, {}) }), remotion_1.Internals.getPreviewDomElement());
18
18
  }
@@ -25,6 +25,7 @@ const printError = async (err) => {
25
25
  }
26
26
  catch (e) {
27
27
  output.update(chalk_1.default.red('(Error occurred symbolicating stack trace - printing minified stack trace)\n'));
28
+ log_1.Log.error();
28
29
  log_1.Log.error(err.stack || err);
29
30
  }
30
31
  return;
package/dist/render.js CHANGED
@@ -31,7 +31,7 @@ const render = async () => {
31
31
  ? file
32
32
  : path_1.default.join(process.cwd(), file);
33
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, scale, chromiumOptions, } = await (0, get_cli_options_1.getCliOptions)({ isLambda: false, type: 'series' });
34
+ const { codec, proResProfile, parallelism, frameRange, shouldOutputImageSequence, absoluteOutputFile, overwrite, inputProps, envVariables, quality, browser, crf, pixelFormat, imageFormat, browserExecutable, ffmpegExecutable, scale, chromiumOptions, port, puppeteerTimeout, } = await (0, get_cli_options_1.getCliOptions)({ isLambda: false, type: 'series' });
35
35
  if (!absoluteOutputFile) {
36
36
  throw new Error('assertion error - expected absoluteOutputFile to not be null');
37
37
  }
@@ -53,7 +53,6 @@ const render = async () => {
53
53
  const urlOrBundle = renderer_1.RenderInternals.isServeUrl(fullPath)
54
54
  ? fullPath
55
55
  : await (0, setup_cache_1.bundleOnCli)(fullPath, steps);
56
- const downloadDir = renderer_1.RenderInternals.makeAssetsDownloadTmpDir();
57
56
  const onDownload = (src) => {
58
57
  const id = Math.random();
59
58
  const download = {
@@ -68,19 +67,8 @@ const render = async () => {
68
67
  updateRenderProgress();
69
68
  };
70
69
  };
71
- const { serveUrl, closeServer } = await renderer_1.RenderInternals.prepareServer({
72
- webpackConfigOrServeUrl: urlOrBundle,
73
- downloadDir,
74
- onDownload,
75
- onError: (err) => {
76
- log_1.Log.error('Error occurred:');
77
- log_1.Log.error(err);
78
- process.exit(1);
79
- },
80
- ffmpegExecutable,
81
- });
82
70
  const puppeteerInstance = await browserInstance;
83
- const comps = await (0, renderer_1.getCompositions)(serveUrl, {
71
+ const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
84
72
  inputProps,
85
73
  puppeteerInstance,
86
74
  envVariables,
@@ -165,17 +153,19 @@ const render = async () => {
165
153
  }
166
154
  },
167
155
  outputDir,
168
- serveUrl,
156
+ serveUrl: urlOrBundle,
169
157
  dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
170
158
  envVariables,
171
159
  frameRange,
172
160
  parallelism,
173
161
  puppeteerInstance,
174
162
  quality,
175
- timeoutInMilliseconds: remotion_1.Internals.getCurrentPuppeteerTimeout(),
163
+ timeoutInMilliseconds: puppeteerTimeout,
176
164
  chromiumOptions,
177
165
  scale,
178
166
  ffmpegExecutable,
167
+ browserExecutable,
168
+ port,
179
169
  });
180
170
  renderedDoneIn = Date.now() - startTime;
181
171
  updateRenderProgress();
@@ -208,7 +198,7 @@ const render = async () => {
208
198
  pixelFormat,
209
199
  proResProfile,
210
200
  quality,
211
- serveUrl,
201
+ serveUrl: urlOrBundle,
212
202
  onDownload,
213
203
  dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
214
204
  onStart: ({ frameCount }) => {
@@ -217,6 +207,7 @@ const render = async () => {
217
207
  chromiumOptions,
218
208
  timeoutInMilliseconds: remotion_1.Internals.getCurrentPuppeteerTimeout(),
219
209
  scale,
210
+ port,
220
211
  });
221
212
  log_1.Log.info();
222
213
  log_1.Log.info();
@@ -238,8 +229,5 @@ const render = async () => {
238
229
  log_1.Log.warn('Do you have minimum required Node.js version?');
239
230
  }
240
231
  log_1.Log.info(chalk_1.default.green('\nYour video is ready!'));
241
- closeServer().catch((err) => {
242
- log_1.Log.error('Could not close web server', err);
243
- });
244
232
  };
245
233
  exports.render = render;
package/dist/still.js CHANGED
@@ -33,7 +33,7 @@ const still = async () => {
33
33
  log_1.Log.verbose('Output file has a PNG extension, therefore setting the image format to PNG.');
34
34
  remotion_1.Config.Rendering.setImageFormat('png');
35
35
  }
36
- const { inputProps, envVariables, quality, browser, imageFormat, stillFrame, browserExecutable, chromiumOptions, scale, ffmpegExecutable, overwrite, } = await (0, get_cli_options_1.getCliOptions)({ isLambda: false, type: 'still' });
36
+ const { inputProps, envVariables, quality, browser, imageFormat, stillFrame, browserExecutable, chromiumOptions, scale, ffmpegExecutable, overwrite, puppeteerTimeout, port, } = await (0, get_cli_options_1.getCliOptions)({ isLambda: false, type: 'still' });
37
37
  log_1.Log.verbose('Browser executable: ', browserExecutable);
38
38
  if (imageFormat === 'none') {
39
39
  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.');
@@ -63,27 +63,16 @@ const still = async () => {
63
63
  const urlOrBundle = renderer_1.RenderInternals.isServeUrl(fullPath)
64
64
  ? Promise.resolve(fullPath)
65
65
  : await (0, setup_cache_1.bundleOnCli)(fullPath, steps);
66
- const downloadDir = renderer_1.RenderInternals.makeAssetsDownloadTmpDir();
67
- const onDownload = (src) => {
68
- log_1.Log.info('Downloading ', src);
69
- };
70
- const { serveUrl, closeServer } = await renderer_1.RenderInternals.prepareServer({
71
- downloadDir,
72
- onDownload,
73
- onError: (err) => {
74
- log_1.Log.error(err);
75
- process.exit(1);
76
- },
77
- ffmpegExecutable,
78
- webpackConfigOrServeUrl: await urlOrBundle,
79
- });
80
66
  const puppeteerInstance = await browserInstance;
81
- const comps = await (0, renderer_1.getCompositions)(serveUrl, {
67
+ const comps = await (0, renderer_1.getCompositions)(await urlOrBundle, {
82
68
  inputProps,
83
69
  puppeteerInstance,
84
70
  envVariables,
85
- timeoutInMilliseconds: remotion_1.Internals.getCurrentPuppeteerTimeout(),
71
+ timeoutInMilliseconds: puppeteerTimeout,
86
72
  chromiumOptions,
73
+ port,
74
+ browserExecutable,
75
+ ffmpegExecutable,
87
76
  });
88
77
  const compositionId = (0, get_composition_id_1.getCompositionId)(comps);
89
78
  const composition = comps.find((c) => c.id === compositionId);
@@ -92,11 +81,42 @@ const still = async () => {
92
81
  }
93
82
  const renderProgress = (0, progress_bar_1.createOverwriteableCliOutput)((0, parse_command_line_1.quietFlagProvided)());
94
83
  const renderStart = Date.now();
84
+ const downloads = [];
85
+ let frames = 0;
86
+ const totalFrames = 1;
87
+ const updateProgress = () => {
88
+ renderProgress.update((0, progress_bar_1.makeRenderingAndStitchingProgress)({
89
+ rendering: {
90
+ frames,
91
+ concurrency: 1,
92
+ doneIn: frames === totalFrames ? Date.now() - renderStart : null,
93
+ steps,
94
+ totalFrames,
95
+ },
96
+ downloads,
97
+ stitching: null,
98
+ }));
99
+ };
100
+ updateProgress();
101
+ const onDownload = (src) => {
102
+ const id = Math.random();
103
+ const download = {
104
+ id,
105
+ name: src,
106
+ progress: 0,
107
+ };
108
+ downloads.push(download);
109
+ updateProgress();
110
+ return ({ percent }) => {
111
+ download.progress = percent;
112
+ updateProgress();
113
+ };
114
+ };
95
115
  await (0, renderer_1.renderStill)({
96
116
  composition,
97
117
  frame: stillFrame,
98
118
  output: userOutput,
99
- serveUrl,
119
+ serveUrl: await urlOrBundle,
100
120
  quality,
101
121
  dumpBrowserLogs: remotion_1.Internals.Logging.isEqualOrBelowLogLevel(remotion_1.Internals.Logging.getLogLevel(), 'verbose'),
102
122
  envVariables,
@@ -108,18 +128,12 @@ const still = async () => {
108
128
  ffmpegExecutable,
109
129
  browserExecutable,
110
130
  overwrite,
131
+ onDownload,
111
132
  });
133
+ frames = 1;
134
+ updateProgress();
135
+ log_1.Log.info();
112
136
  const closeBrowserPromise = puppeteerInstance.close();
113
- closeServer().catch((err) => {
114
- log_1.Log.error('Could not close web server', err);
115
- });
116
- renderProgress.update((0, progress_bar_1.makeRenderingProgress)({
117
- frames: 1,
118
- concurrency: 1,
119
- doneIn: Date.now() - renderStart,
120
- steps,
121
- totalFrames: 1,
122
- }));
123
137
  log_1.Log.info(chalk_1.default.green('\nYour still frame is ready!'));
124
138
  const seconds = Math.round((Date.now() - startTime) / 1000);
125
139
  log_1.Log.info([
package/dist/upgrade.js CHANGED
@@ -43,6 +43,7 @@ const upgrade = async () => {
43
43
  '@remotion/media-utils',
44
44
  '@remotion/babel-loader',
45
45
  '@remotion/lambda',
46
+ '@remotion/preload',
46
47
  '@remotion/three',
47
48
  '@remotion/gif',
48
49
  'remotion',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.0-offthread.34+5888bc369",
3
+ "version": "4.0.0-offthread.6+d689e66f2",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -23,16 +23,16 @@
23
23
  "author": "Jonny Burger <jonny@remotion.dev>",
24
24
  "license": "SEE LICENSE IN LICENSE.md",
25
25
  "dependencies": {
26
- "@remotion/bundler": "4.0.0-offthread.34+5888bc369",
27
- "@remotion/media-utils": "4.0.0-offthread.34+5888bc369",
28
- "@remotion/player": "4.0.0-offthread.34+5888bc369",
29
- "@remotion/renderer": "4.0.0-offthread.34+5888bc369",
26
+ "@remotion/bundler": "4.0.0-offthread.6+d689e66f2",
27
+ "@remotion/media-utils": "4.0.0-offthread.6+d689e66f2",
28
+ "@remotion/player": "4.0.0-offthread.6+d689e66f2",
29
+ "@remotion/renderer": "4.0.0-offthread.6+d689e66f2",
30
30
  "better-opn": "2.1.1",
31
31
  "chalk": "4.1.2",
32
32
  "dotenv": "9.0.2",
33
33
  "execa": "5.1.1",
34
34
  "minimist": "1.2.6",
35
- "remotion": "4.0.0-offthread.34+5888bc369",
35
+ "remotion": "4.0.0-offthread.6+d689e66f2",
36
36
  "semver": "7.3.5",
37
37
  "webpack": "5.72.0"
38
38
  },
@@ -59,7 +59,7 @@
59
59
  "react": "^18.0.0",
60
60
  "react-dom": "^18.0.0",
61
61
  "ts-jest": "^27.0.5",
62
- "typescript": "^4.5.5"
62
+ "typescript": "^4.7.0"
63
63
  },
64
64
  "keywords": [
65
65
  "remotion",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "5888bc369ebc9edf6ecb60a7214f01ca4844b3a0"
75
+ "gitHead": "d689e66f2c7b5096008b60c68254f3d953602651"
76
76
  }