@remotion/cli 4.0.68 → 4.0.70

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 (26) hide show
  1. package/dist/editor/components/Canvas.js +3 -0
  2. package/dist/editor/components/CurrentCompositionSideEffects.js +1 -0
  3. package/dist/editor/components/FullscreenToggle.js +1 -0
  4. package/dist/editor/components/GlobalKeybindings.js +4 -0
  5. package/dist/editor/components/NewComposition/MenuContent.js +7 -0
  6. package/dist/editor/components/PlayPause.js +6 -0
  7. package/dist/editor/components/PlaybackKeyboardShortcutsManager.js +3 -0
  8. package/dist/editor/components/QuickSwitcher/QuickSwitcherContent.js +2 -0
  9. package/dist/editor/components/QuickSwitcher/QuickSwitcherResult.js +1 -0
  10. package/dist/editor/components/RenderModal/RenderModal.js +1 -0
  11. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.js +1 -0
  12. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +1 -0
  13. package/dist/editor/components/SidebarCollapserControls.js +3 -0
  14. package/dist/editor/components/TimelineInOutToggle.js +3 -0
  15. package/dist/editor/helpers/render-modal-sections.d.ts +0 -1
  16. package/dist/editor/helpers/use-keybinding.d.ts +1 -0
  17. package/dist/editor/helpers/use-keybinding.js +1 -1
  18. package/dist/editor/state/z-index.js +1 -0
  19. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.js +1 -0
  20. package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.js +1 -0
  21. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.js +1 -0
  22. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -0
  23. package/dist/preview-server/hot-middleware/client.js +1 -1
  24. package/dist/preview-server/routes.d.ts +0 -1
  25. package/dist/preview-server/start-server.js +2 -2
  26. package/package.json +8 -8
@@ -218,6 +218,7 @@ const Canvas = ({ canvasContent }) => {
218
218
  callback: onReset,
219
219
  preventDefault: true,
220
220
  triggerIfInputFieldFocused: false,
221
+ keepRegisteredWhenNotHighestContext: false,
221
222
  });
222
223
  const zoomIn = keybindings.registerKeybinding({
223
224
  event: 'keydown',
@@ -226,6 +227,7 @@ const Canvas = ({ canvasContent }) => {
226
227
  callback: onZoomIn,
227
228
  preventDefault: true,
228
229
  triggerIfInputFieldFocused: false,
230
+ keepRegisteredWhenNotHighestContext: false,
229
231
  });
230
232
  const zoomOut = keybindings.registerKeybinding({
231
233
  event: 'keydown',
@@ -234,6 +236,7 @@ const Canvas = ({ canvasContent }) => {
234
236
  callback: onZoomOut,
235
237
  preventDefault: true,
236
238
  triggerIfInputFieldFocused: false,
239
+ keepRegisteredWhenNotHighestContext: false,
237
240
  });
238
241
  return () => {
239
242
  resetBinding.unregister();
@@ -56,6 +56,7 @@ const CurrentCompositionKeybindings = () => {
56
56
  callback: openRenderModal,
57
57
  preventDefault: true,
58
58
  triggerIfInputFieldFocused: false,
59
+ keepRegisteredWhenNotHighestContext: false,
59
60
  });
60
61
  return () => {
61
62
  binding.unregister();
@@ -37,6 +37,7 @@ const FullScreenToggle = () => {
37
37
  commandCtrlKey: false,
38
38
  preventDefault: true,
39
39
  triggerIfInputFieldFocused: false,
40
+ keepRegisteredWhenNotHighestContext: false,
40
41
  });
41
42
  return () => {
42
43
  f.unregister();
@@ -22,6 +22,7 @@ const GlobalKeybindings = () => {
22
22
  commandCtrlKey: false,
23
23
  preventDefault: true,
24
24
  triggerIfInputFieldFocused: false,
25
+ keepRegisteredWhenNotHighestContext: false,
25
26
  });
26
27
  const cmdKKey = keybindings.registerKeybinding({
27
28
  event: 'keydown',
@@ -34,6 +35,7 @@ const GlobalKeybindings = () => {
34
35
  });
35
36
  },
36
37
  triggerIfInputFieldFocused: true,
38
+ keepRegisteredWhenNotHighestContext: false,
37
39
  commandCtrlKey: true,
38
40
  preventDefault: true,
39
41
  });
@@ -46,6 +48,7 @@ const GlobalKeybindings = () => {
46
48
  commandCtrlKey: false,
47
49
  preventDefault: true,
48
50
  triggerIfInputFieldFocused: false,
51
+ keepRegisteredWhenNotHighestContext: false,
49
52
  });
50
53
  const questionMark = keybindings.registerKeybinding({
51
54
  event: 'keypress',
@@ -60,6 +63,7 @@ const GlobalKeybindings = () => {
60
63
  commandCtrlKey: false,
61
64
  preventDefault: true,
62
65
  triggerIfInputFieldFocused: false,
66
+ keepRegisteredWhenNotHighestContext: false,
63
67
  });
64
68
  return () => {
65
69
  nKey.unregister();
@@ -123,6 +123,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
123
123
  commandCtrlKey: false,
124
124
  preventDefault: true,
125
125
  triggerIfInputFieldFocused: false,
126
+ keepRegisteredWhenNotHighestContext: false,
126
127
  });
127
128
  const rightBinding = keybindings.registerKeybinding({
128
129
  event: 'keydown',
@@ -131,6 +132,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
131
132
  callback: onArrowRight,
132
133
  preventDefault: true,
133
134
  triggerIfInputFieldFocused: false,
135
+ keepRegisteredWhenNotHighestContext: false,
134
136
  });
135
137
  const leftBinding = keybindings.registerKeybinding({
136
138
  event: 'keydown',
@@ -139,6 +141,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
139
141
  callback: onPreviousMenu,
140
142
  preventDefault: true,
141
143
  triggerIfInputFieldFocused: false,
144
+ keepRegisteredWhenNotHighestContext: false,
142
145
  });
143
146
  const downBinding = keybindings.registerKeybinding({
144
147
  event: 'keydown',
@@ -147,6 +150,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
147
150
  callback: onArrowDown,
148
151
  preventDefault: true,
149
152
  triggerIfInputFieldFocused: false,
153
+ keepRegisteredWhenNotHighestContext: false,
150
154
  });
151
155
  const upBinding = keybindings.registerKeybinding({
152
156
  event: 'keydown',
@@ -155,6 +159,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
155
159
  commandCtrlKey: false,
156
160
  preventDefault: true,
157
161
  triggerIfInputFieldFocused: false,
162
+ keepRegisteredWhenNotHighestContext: false,
158
163
  });
159
164
  const enterBinding = keybindings.registerKeybinding({
160
165
  event: 'keydown',
@@ -163,6 +168,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
163
168
  commandCtrlKey: false,
164
169
  preventDefault: true,
165
170
  triggerIfInputFieldFocused: false,
171
+ keepRegisteredWhenNotHighestContext: false,
166
172
  });
167
173
  const spaceBinding = keybindings.registerKeybinding({
168
174
  event: 'keyup',
@@ -171,6 +177,7 @@ const MenuContent = ({ onHide, values, preselectIndex, onNextMenu, onPreviousMen
171
177
  commandCtrlKey: false,
172
178
  preventDefault: true,
173
179
  triggerIfInputFieldFocused: false,
180
+ keepRegisteredWhenNotHighestContext: false,
174
181
  });
175
182
  return () => {
176
183
  escapeBinding.unregister();
@@ -132,6 +132,7 @@ const PlayPause = ({ playbackRate, loop }) => {
132
132
  commandCtrlKey: false,
133
133
  preventDefault: true,
134
134
  triggerIfInputFieldFocused: false,
135
+ keepRegisteredWhenNotHighestContext: false,
135
136
  });
136
137
  const arrowRight = keybindings.registerKeybinding({
137
138
  event: 'keydown',
@@ -140,6 +141,7 @@ const PlayPause = ({ playbackRate, loop }) => {
140
141
  commandCtrlKey: false,
141
142
  preventDefault: true,
142
143
  triggerIfInputFieldFocused: false,
144
+ keepRegisteredWhenNotHighestContext: false,
143
145
  });
144
146
  const space = keybindings.registerKeybinding({
145
147
  event: 'keydown',
@@ -148,6 +150,7 @@ const PlayPause = ({ playbackRate, loop }) => {
148
150
  commandCtrlKey: false,
149
151
  preventDefault: true,
150
152
  triggerIfInputFieldFocused: false,
153
+ keepRegisteredWhenNotHighestContext: false,
151
154
  });
152
155
  const enter = keybindings.registerKeybinding({
153
156
  event: 'keydown',
@@ -156,6 +159,7 @@ const PlayPause = ({ playbackRate, loop }) => {
156
159
  commandCtrlKey: false,
157
160
  preventDefault: false,
158
161
  triggerIfInputFieldFocused: false,
162
+ keepRegisteredWhenNotHighestContext: false,
159
163
  });
160
164
  const a = keybindings.registerKeybinding({
161
165
  event: 'keydown',
@@ -164,6 +168,7 @@ const PlayPause = ({ playbackRate, loop }) => {
164
168
  commandCtrlKey: false,
165
169
  preventDefault: true,
166
170
  triggerIfInputFieldFocused: false,
171
+ keepRegisteredWhenNotHighestContext: false,
167
172
  });
168
173
  const e = keybindings.registerKeybinding({
169
174
  event: 'keydown',
@@ -172,6 +177,7 @@ const PlayPause = ({ playbackRate, loop }) => {
172
177
  commandCtrlKey: false,
173
178
  preventDefault: true,
174
179
  triggerIfInputFieldFocused: false,
180
+ keepRegisteredWhenNotHighestContext: false,
175
181
  });
176
182
  return () => {
177
183
  arrowLeft.unregister();
@@ -49,6 +49,7 @@ const PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
49
49
  commandCtrlKey: false,
50
50
  preventDefault: true,
51
51
  triggerIfInputFieldFocused: false,
52
+ keepRegisteredWhenNotHighestContext: false,
52
53
  });
53
54
  const kKey = keybindings.registerKeybinding({
54
55
  event: 'keydown',
@@ -57,6 +58,7 @@ const PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
57
58
  commandCtrlKey: false,
58
59
  preventDefault: true,
59
60
  triggerIfInputFieldFocused: false,
61
+ keepRegisteredWhenNotHighestContext: false,
60
62
  });
61
63
  const lKey = keybindings.registerKeybinding({
62
64
  event: 'keydown',
@@ -65,6 +67,7 @@ const PlaybackKeyboardShortcutsManager = ({ setPlaybackRate }) => {
65
67
  commandCtrlKey: false,
66
68
  preventDefault: true,
67
69
  triggerIfInputFieldFocused: false,
70
+ keepRegisteredWhenNotHighestContext: false,
68
71
  });
69
72
  return () => {
70
73
  jKey.unregister();
@@ -181,6 +181,7 @@ const QuickSwitcherContent = ({ initialMode, invocationTimestamp }) => {
181
181
  preventDefault: true,
182
182
  // Will be using the input field while selecting
183
183
  triggerIfInputFieldFocused: true,
184
+ keepRegisteredWhenNotHighestContext: false,
184
185
  });
185
186
  return () => {
186
187
  binding.unregister();
@@ -223,6 +224,7 @@ const QuickSwitcherContent = ({ initialMode, invocationTimestamp }) => {
223
224
  preventDefault: true,
224
225
  // Will be using the input field while selecting
225
226
  triggerIfInputFieldFocused: true,
227
+ keepRegisteredWhenNotHighestContext: false,
226
228
  });
227
229
  return () => {
228
230
  binding.unregister();
@@ -64,6 +64,7 @@ const QuickSwitcherResult = ({ result, selected }) => {
64
64
  preventDefault: true,
65
65
  // Input will be focused while sleection
66
66
  triggerIfInputFieldFocused: true,
67
+ keepRegisteredWhenNotHighestContext: false,
67
68
  });
68
69
  return () => {
69
70
  binding.unregister();
@@ -728,6 +728,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
728
728
  event: 'keydown',
729
729
  preventDefault: true,
730
730
  triggerIfInputFieldFocused: true,
731
+ keepRegisteredWhenNotHighestContext: false,
731
732
  });
732
733
  return () => {
733
734
  enter.unregister();
@@ -116,6 +116,7 @@ const RenderModalJSONPropsEditor = ({ setValue, value, defaultProps, onSave, sho
116
116
  callback: onQuickSave,
117
117
  preventDefault: true,
118
118
  triggerIfInputFieldFocused: true,
119
+ keepRegisteredWhenNotHighestContext: false,
119
120
  });
120
121
  return () => {
121
122
  save.unregister();
@@ -42,6 +42,7 @@ const SchemaEditor = ({ schema, value, setValue, zodValidationResult, defaultPro
42
42
  callback: onQuickSave,
43
43
  preventDefault: true,
44
44
  triggerIfInputFieldFocused: true,
45
+ keepRegisteredWhenNotHighestContext: true,
45
46
  });
46
47
  return () => {
47
48
  save.unregister();
@@ -89,6 +89,7 @@ const SidebarCollapserControls = () => {
89
89
  callback: toggleLeft,
90
90
  preventDefault: true,
91
91
  triggerIfInputFieldFocused: false,
92
+ keepRegisteredWhenNotHighestContext: false,
92
93
  });
93
94
  const right = keybindings.registerKeybinding({
94
95
  event: 'keydown',
@@ -97,6 +98,7 @@ const SidebarCollapserControls = () => {
97
98
  callback: toggleRight,
98
99
  preventDefault: true,
99
100
  triggerIfInputFieldFocused: false,
101
+ keepRegisteredWhenNotHighestContext: false,
100
102
  });
101
103
  const zen = keybindings.registerKeybinding({
102
104
  event: 'keydown',
@@ -105,6 +107,7 @@ const SidebarCollapserControls = () => {
105
107
  callback: toggleBoth,
106
108
  preventDefault: true,
107
109
  triggerIfInputFieldFocused: false,
110
+ keepRegisteredWhenNotHighestContext: false,
108
111
  });
109
112
  return () => {
110
113
  left.unregister();
@@ -193,6 +193,7 @@ const TimelineInOutPointToggle = () => {
193
193
  commandCtrlKey: false,
194
194
  preventDefault: true,
195
195
  triggerIfInputFieldFocused: false,
196
+ keepRegisteredWhenNotHighestContext: false,
196
197
  });
197
198
  const oKey = keybindings.registerKeybinding({
198
199
  event: 'keypress',
@@ -203,6 +204,7 @@ const TimelineInOutPointToggle = () => {
203
204
  commandCtrlKey: false,
204
205
  preventDefault: true,
205
206
  triggerIfInputFieldFocused: false,
207
+ keepRegisteredWhenNotHighestContext: false,
206
208
  });
207
209
  const xKey = keybindings.registerKeybinding({
208
210
  event: 'keypress',
@@ -213,6 +215,7 @@ const TimelineInOutPointToggle = () => {
213
215
  commandCtrlKey: false,
214
216
  preventDefault: true,
215
217
  triggerIfInputFieldFocused: false,
218
+ keepRegisteredWhenNotHighestContext: false,
216
219
  });
217
220
  return () => {
218
221
  oKey.unregister();
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { Codec } from '@remotion/renderer';
3
2
  import type { RenderType } from '../components/RenderModal/RenderModalAdvanced';
4
3
  type Section = 'general' | 'picture' | 'advanced' | 'data' | 'gif' | 'audio';
@@ -8,6 +8,7 @@ export declare const useKeybinding: () => {
8
8
  callback: (e: KeyboardEvent) => void;
9
9
  preventDefault: boolean;
10
10
  triggerIfInputFieldFocused: boolean;
11
+ keepRegisteredWhenNotHighestContext: boolean;
11
12
  }) => {
12
13
  unregister: () => void;
13
14
  };
@@ -22,7 +22,7 @@ const useKeybinding = () => {
22
22
  unregister: () => undefined,
23
23
  };
24
24
  }
25
- if (!isHighestContext) {
25
+ if (!isHighestContext && !options.keepRegisteredWhenNotHighestContext) {
26
26
  return {
27
27
  unregister: () => undefined,
28
28
  };
@@ -23,6 +23,7 @@ const EscapeHook = ({ onEscape }) => {
23
23
  preventDefault: true,
24
24
  // To dismiss the Quick Switcher menu if input is focused
25
25
  triggerIfInputFieldFocused: true,
26
+ keepRegisteredWhenNotHighestContext: false,
26
27
  });
27
28
  return () => {
28
29
  escape.unregister();
@@ -26,6 +26,7 @@ const AskOnDiscord = ({ canHaveKeyboardShortcuts }) => {
26
26
  commandCtrlKey: true,
27
27
  preventDefault: true,
28
28
  triggerIfInputFieldFocused: false,
29
+ keepRegisteredWhenNotHighestContext: false,
29
30
  });
30
31
  return () => unregister();
31
32
  }, [canHaveKeyboardShortcuts, openInBrowser, registerKeybinding]);
@@ -30,6 +30,7 @@ const HelpLink = ({ canHaveKeyboardShortcuts, link }) => {
30
30
  commandCtrlKey: true,
31
31
  preventDefault: true,
32
32
  triggerIfInputFieldFocused: false,
33
+ keepRegisteredWhenNotHighestContext: false,
33
34
  });
34
35
  return () => unregister();
35
36
  }, [canHaveKeyboardShortcuts, openLink, registerKeybinding]);
@@ -82,6 +82,7 @@ const OpenInEditor = ({ stack, canHaveKeyboardShortcuts }) => {
82
82
  commandCtrlKey: true,
83
83
  preventDefault: true,
84
84
  triggerIfInputFieldFocused: false,
85
+ keepRegisteredWhenNotHighestContext: false,
85
86
  });
86
87
  return () => unregister();
87
88
  }, [canHaveKeyboardShortcuts, openInBrowser, registerKeybinding]);
@@ -25,6 +25,7 @@ const SearchGithubIssues = ({ message, canHaveKeyboardShortcuts }) => {
25
25
  commandCtrlKey: true,
26
26
  preventDefault: true,
27
27
  triggerIfInputFieldFocused: false,
28
+ keepRegisteredWhenNotHighestContext: false,
28
29
  });
29
30
  return () => unregister();
30
31
  }, [canHaveKeyboardShortcuts, openInBrowser, registerKeybinding]);
@@ -48,7 +48,7 @@ function eventSourceWrapper() {
48
48
  function handleDisconnect() {
49
49
  clearInterval(timer);
50
50
  source.close();
51
- setTimeout(init, types_1.hotMiddlewareOptions.timeout);
51
+ setTimeout(init, 1000);
52
52
  }
53
53
  return {
54
54
  addMessageListener(fn) {
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import type { LogLevel } from '@remotion/renderer';
3
2
  import type { IncomingMessage, ServerResponse } from 'node:http';
4
3
  import type { LiveEventsServer } from './live-events';
@@ -90,14 +90,14 @@ const startServer = async (options) => {
90
90
  to: 3100,
91
91
  hostsToTry: portConfig.hostsToTry,
92
92
  })
93
- .then(({ port, didUsePort }) => {
93
+ .then(({ port, unlockPort }) => {
94
94
  server.listen({
95
95
  port,
96
96
  host: portConfig.host,
97
97
  });
98
98
  server.on('listening', () => {
99
99
  resolve(port);
100
- return didUsePort();
100
+ return unlockPort();
101
101
  });
102
102
  server.on('error', (err) => {
103
103
  reject(err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.68",
3
+ "version": "4.0.70",
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.5.3",
37
37
  "source-map": "0.6.1",
38
- "@remotion/bundler": "4.0.68",
39
- "@remotion/player": "4.0.68",
40
- "remotion": "4.0.68",
41
- "@remotion/media-utils": "4.0.68",
42
- "@remotion/renderer": "4.0.68"
38
+ "@remotion/bundler": "4.0.70",
39
+ "@remotion/media-utils": "4.0.70",
40
+ "@remotion/player": "4.0.70",
41
+ "@remotion/renderer": "4.0.70",
42
+ "remotion": "4.0.70"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": ">=16.8.0",
@@ -65,8 +65,8 @@
65
65
  "react-dom": "18.2.0",
66
66
  "vitest": "0.31.1",
67
67
  "zod": "^3.22.3",
68
- "@remotion/tailwind": "4.0.68",
69
- "@remotion/zod-types": "4.0.68"
68
+ "@remotion/zod-types": "4.0.70",
69
+ "@remotion/tailwind": "4.0.70"
70
70
  },
71
71
  "keywords": [
72
72
  "remotion",