@remotion/studio 4.0.89 → 4.0.90

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 (261) hide show
  1. package/.eslintrc +33 -28
  2. package/.turbo/turbo-build.log +1 -1
  3. package/dist/Studio.js +6 -1
  4. package/dist/components/AssetSelectorItem.js +2 -1
  5. package/dist/components/ControlButton.d.ts +1 -1
  6. package/dist/components/CopyButton.js +1 -1
  7. package/dist/components/CurrentComposition.d.ts +1 -2
  8. package/dist/components/CurrentCompositionSideEffects.d.ts +3 -1
  9. package/dist/components/CurrentCompositionSideEffects.js +5 -2
  10. package/dist/components/Editor.d.ts +1 -0
  11. package/dist/components/Editor.js +6 -3
  12. package/dist/components/EditorContent.d.ts +3 -1
  13. package/dist/components/EditorContent.js +2 -2
  14. package/dist/components/EditorContexts.d.ts +1 -0
  15. package/dist/components/EditorContexts.js +2 -2
  16. package/dist/components/FilePreview.js +2 -2
  17. package/dist/components/InitialCompositionLoader.js +3 -2
  18. package/dist/components/MenuToolbar.d.ts +3 -1
  19. package/dist/components/MenuToolbar.js +3 -3
  20. package/dist/components/Modals.d.ts +3 -1
  21. package/dist/components/Modals.js +2 -2
  22. package/dist/components/NewComposition/NewCompCode.d.ts +1 -2
  23. package/dist/components/NewComposition/RemInput.d.ts +1 -1
  24. package/dist/components/NewComposition/RemInputTypeColor.d.ts +1 -1
  25. package/dist/components/NewComposition/RemTextarea.d.ts +1 -1
  26. package/dist/components/OptionsPanel.d.ts +3 -1
  27. package/dist/components/OptionsPanel.js +7 -4
  28. package/dist/components/PreviewToolbar.d.ts +3 -1
  29. package/dist/components/PreviewToolbar.js +2 -2
  30. package/dist/components/QuickSwitcher/QuickSwitcher.d.ts +1 -0
  31. package/dist/components/QuickSwitcher/QuickSwitcher.js +2 -2
  32. package/dist/components/QuickSwitcher/QuickSwitcherContent.d.ts +1 -0
  33. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +2 -2
  34. package/dist/components/RenderButton.js +1 -1
  35. package/dist/components/RenderModal/DataEditor.d.ts +1 -0
  36. package/dist/components/RenderModal/DataEditor.js +3 -3
  37. package/dist/components/RenderModal/GuiRenderStatus.d.ts +1 -1
  38. package/dist/components/RenderModal/OptionExplainer.js +1 -1
  39. package/dist/components/RenderModal/RenderModal.js +10 -10
  40. package/dist/components/RenderModal/RenderModalAdvanced.d.ts +1 -1
  41. package/dist/components/RenderModal/RenderModalAudio.js +2 -2
  42. package/dist/components/RenderModal/RenderModalEnvironmentVariables.js +1 -1
  43. package/dist/components/RenderModal/RenderModalInput.d.ts +1 -1
  44. package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +1 -1
  45. package/dist/components/RenderModal/RenderStatusModal.js +2 -2
  46. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +3 -3
  47. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +2 -2
  48. package/dist/components/RenderModal/SchemaEditor/extract-enum-json-paths.d.ts +0 -1
  49. package/dist/components/RenderModal/SchemaEditor/local-state.d.ts +1 -1
  50. package/dist/components/RenderQueue/RenderQueueCopyToClipboard.d.ts +1 -1
  51. package/dist/components/RenderQueue/RenderQueueError.d.ts +1 -1
  52. package/dist/components/RenderQueue/RenderQueueItem.d.ts +1 -1
  53. package/dist/components/RenderQueue/RenderQueueItem.js +2 -1
  54. package/dist/components/RenderQueue/RenderQueueItemCancelButton.d.ts +1 -1
  55. package/dist/components/RenderQueue/RenderQueueItemStatus.d.ts +1 -1
  56. package/dist/components/RenderQueue/RenderQueueOpenInFolder.d.ts +1 -1
  57. package/dist/components/RenderQueue/RenderQueueOutputName.d.ts +1 -1
  58. package/dist/components/RenderQueue/RenderQueueProgressMessage.d.ts +1 -1
  59. package/dist/components/RenderQueue/RenderQueueRemoveItem.d.ts +1 -1
  60. package/dist/components/RenderQueue/RenderQueueRepeat.d.ts +1 -1
  61. package/dist/components/RenderQueue/RenderQueueRepeat.js +1 -1
  62. package/dist/components/RenderQueue/actions.d.ts +5 -7
  63. package/dist/components/RenderQueue/actions.js +7 -1
  64. package/dist/components/RenderQueue/context.d.ts +2 -2
  65. package/dist/components/RenderQueue/context.js +2 -1
  66. package/dist/components/ResetZoomButton.js +1 -1
  67. package/dist/components/Timeline/MaxTimelineTracks.d.ts +0 -1
  68. package/dist/components/Timeline/MaxTimelineTracks.js +3 -3
  69. package/dist/components/Timeline/TimelineStack/index.js +9 -8
  70. package/dist/components/TopPanel.d.ts +3 -1
  71. package/dist/components/TopPanel.js +2 -2
  72. package/dist/components/UpdateCheck.d.ts +2 -3
  73. package/dist/components/ZoomPersistor.js +4 -3
  74. package/dist/error-overlay/entry-basic.d.ts +95 -1
  75. package/dist/error-overlay/entry-basic.js +20 -15
  76. package/dist/error-overlay/react-overlay/effects/resolve-file-source.d.ts +1 -2
  77. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.d.ts +7 -1
  78. package/dist/error-overlay/react-overlay/listen-to-runtime-errors.js +2 -7
  79. package/dist/error-overlay/react-overlay/utils/get-lines-around.d.ts +1 -1
  80. package/dist/error-overlay/react-overlay/utils/get-stack-frames.d.ts +7 -1
  81. package/dist/error-overlay/react-overlay/utils/get-stack-frames.js +0 -6
  82. package/dist/error-overlay/react-overlay/utils/parser.d.ts +7 -1
  83. package/dist/error-overlay/react-overlay/utils/parser.js +5 -11
  84. package/dist/error-overlay/react-overlay/utils/unmapper.d.ts +7 -1
  85. package/dist/error-overlay/react-overlay/utils/unmapper.js +0 -8
  86. package/dist/error-overlay/remotion-overlay/AskOnDiscord.js +1 -1
  87. package/dist/error-overlay/remotion-overlay/CodeFrame.d.ts +1 -1
  88. package/dist/error-overlay/remotion-overlay/DismissButton.js +2 -1
  89. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +2 -2
  90. package/dist/error-overlay/remotion-overlay/HelpLink.js +1 -1
  91. package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts +1 -1
  92. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -2
  93. package/dist/error-overlay/remotion-overlay/Retry.js +1 -1
  94. package/dist/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -1
  95. package/dist/error-overlay/remotion-overlay/ShortcutHint.d.ts +1 -1
  96. package/dist/error-overlay/remotion-overlay/ShortcutHint.js +8 -8
  97. package/dist/error-overlay/remotion-overlay/StackFrame.d.ts +1 -1
  98. package/dist/error-overlay/remotion-overlay/StackFrame.js +1 -1
  99. package/dist/error-overlay/remotion-overlay/carets.d.ts +1 -1
  100. package/dist/helpers/client-id.d.ts +2 -1
  101. package/dist/helpers/client-id.js +7 -3
  102. package/dist/helpers/colors.d.ts +1 -1
  103. package/dist/helpers/document-title.d.ts +1 -1
  104. package/dist/helpers/get-location-of-sequence.d.ts +1 -1
  105. package/dist/helpers/open-in-editor.d.ts +1 -1
  106. package/dist/helpers/presets-labels.d.ts +1 -1
  107. package/dist/helpers/url-state.d.ts +4 -0
  108. package/dist/helpers/url-state.js +33 -0
  109. package/dist/helpers/use-menu-structure.d.ts +1 -1
  110. package/dist/helpers/use-menu-structure.js +148 -113
  111. package/dist/helpers/use-studio-canvas-dimensions.d.ts +4 -4
  112. package/dist/helpers/use-studio-canvas-dimensions.js +4 -4
  113. package/dist/hot-middleware-client/process-update.js +3 -2
  114. package/dist/icons/Checkmark.d.ts +1 -2
  115. package/dist/icons/audio.d.ts +1 -1
  116. package/dist/icons/caret.d.ts +2 -2
  117. package/dist/icons/data.d.ts +1 -1
  118. package/dist/icons/frame.d.ts +1 -1
  119. package/dist/icons/gear.d.ts +1 -1
  120. package/dist/icons/gif.d.ts +1 -1
  121. package/dist/index.d.ts +2 -64
  122. package/dist/index.js +3 -25
  123. package/dist/previewEntry.d.ts +1 -1
  124. package/dist/previewEntry.js +6 -3
  125. package/package.json +23 -10
  126. package/prettierrc.js +14 -0
  127. package/tsconfig.tsbuildinfo +1 -1
  128. package/dist/ansi/ansi-diff.d.ts +0 -41
  129. package/dist/ansi/ansi-diff.js +0 -220
  130. package/dist/ansi/ansi-split.d.ts +0 -2
  131. package/dist/ansi/ansi-split.js +0 -44
  132. package/dist/better-opn/index.d.ts +0 -6
  133. package/dist/better-opn/index.js +0 -202
  134. package/dist/codemods/stringify-with-path.d.ts +0 -5
  135. package/dist/codemods/stringify-with-path.js +0 -49
  136. package/dist/codemods/update-default-props.d.ts +0 -7
  137. package/dist/codemods/update-default-props.js +0 -137
  138. package/dist/components/Studio.d.ts +0 -4
  139. package/dist/components/Studio.js +0 -16
  140. package/dist/components/render-defaults.d.ts +0 -40
  141. package/dist/components/render-defaults.js +0 -2
  142. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.d.ts +0 -7
  143. package/dist/error-overlay/react-overlay/effects/map-error-to-react-stack.js +0 -46
  144. package/dist/error-overlay/react-overlay/utils/get-file-source.d.ts +0 -1
  145. package/dist/error-overlay/react-overlay/utils/get-file-source.js +0 -22
  146. package/dist/error-overlay/react-overlay/utils/open-in-editor.d.ts +0 -16
  147. package/dist/error-overlay/react-overlay/utils/open-in-editor.js +0 -503
  148. package/dist/error-overlay/react-overlay/utils/source-map-endpoint.d.ts +0 -1
  149. package/dist/error-overlay/react-overlay/utils/source-map-endpoint.js +0 -4
  150. package/dist/error-overlay/react-overlay/utils/stack-frame.d.ts +0 -40
  151. package/dist/error-overlay/react-overlay/utils/stack-frame.js +0 -31
  152. package/dist/error-overlay/remotion-overlay/Button.d.ts +0 -11
  153. package/dist/error-overlay/remotion-overlay/Button.js +0 -35
  154. package/dist/event-source-events.d.ts +0 -31
  155. package/dist/event-source-events.js +0 -2
  156. package/dist/file-watcher.d.ts +0 -9
  157. package/dist/file-watcher.js +0 -35
  158. package/dist/get-default-out-name.d.ts +0 -5
  159. package/dist/get-default-out-name.js +0 -10
  160. package/dist/get-latest-remotion-version.d.ts +0 -1
  161. package/dist/get-latest-remotion-version.js +0 -31
  162. package/dist/get-network-address.d.ts +0 -1
  163. package/dist/get-network-address.js +0 -16
  164. package/dist/helpers/format-bytes.d.ts +0 -6
  165. package/dist/helpers/format-bytes.js +0 -103
  166. package/dist/helpers/open-directory-in-finder.d.ts +0 -1
  167. package/dist/helpers/open-directory-in-finder.js +0 -49
  168. package/dist/max-timeline-tracks.d.ts +0 -2
  169. package/dist/max-timeline-tracks.js +0 -25
  170. package/dist/preview-server/api-routes.d.ts +0 -4
  171. package/dist/preview-server/api-routes.js +0 -25
  172. package/dist/preview-server/api-types.d.ts +0 -40
  173. package/dist/preview-server/api-types.js +0 -2
  174. package/dist/preview-server/dev-middleware/compatible-api.d.ts +0 -7
  175. package/dist/preview-server/dev-middleware/compatible-api.js +0 -20
  176. package/dist/preview-server/dev-middleware/get-paths.d.ts +0 -7
  177. package/dist/preview-server/dev-middleware/get-paths.js +0 -19
  178. package/dist/preview-server/dev-middleware/index.d.ts +0 -3
  179. package/dist/preview-server/dev-middleware/index.js +0 -27
  180. package/dist/preview-server/dev-middleware/middleware.d.ts +0 -9
  181. package/dist/preview-server/dev-middleware/middleware.js +0 -222
  182. package/dist/preview-server/dev-middleware/range-parser.d.ts +0 -15
  183. package/dist/preview-server/dev-middleware/range-parser.js +0 -96
  184. package/dist/preview-server/dev-middleware/ready.d.ts +0 -3
  185. package/dist/preview-server/dev-middleware/ready.js +0 -11
  186. package/dist/preview-server/dev-middleware/setup-hooks.d.ts +0 -2
  187. package/dist/preview-server/dev-middleware/setup-hooks.js +0 -52
  188. package/dist/preview-server/dev-middleware/setup-output-filesystem.d.ts +0 -2
  189. package/dist/preview-server/dev-middleware/setup-output-filesystem.js +0 -13
  190. package/dist/preview-server/dev-middleware/types.d.ts +0 -10
  191. package/dist/preview-server/dev-middleware/types.js +0 -2
  192. package/dist/preview-server/env-supports-fs-recursive.d.ts +0 -1
  193. package/dist/preview-server/env-supports-fs-recursive.js +0 -18
  194. package/dist/preview-server/file-existence-watchers.d.ts +0 -13
  195. package/dist/preview-server/file-existence-watchers.js +0 -62
  196. package/dist/preview-server/get-absolute-public-dir.d.ts +0 -4
  197. package/dist/preview-server/get-absolute-public-dir.js +0 -14
  198. package/dist/preview-server/get-package-manager.d.ts +0 -10
  199. package/dist/preview-server/get-package-manager.js +0 -62
  200. package/dist/preview-server/handler.d.ts +0 -12
  201. package/dist/preview-server/handler.js +0 -36
  202. package/dist/preview-server/hot-middleware/client.d.ts +0 -21
  203. package/dist/preview-server/hot-middleware/client.js +0 -179
  204. package/dist/preview-server/hot-middleware/index.d.ts +0 -102
  205. package/dist/preview-server/hot-middleware/index.js +0 -149
  206. package/dist/preview-server/hot-middleware/process-update.d.ts +0 -7
  207. package/dist/preview-server/hot-middleware/process-update.js +0 -162
  208. package/dist/preview-server/hot-middleware/types.d.ts +0 -27
  209. package/dist/preview-server/hot-middleware/types.js +0 -10
  210. package/dist/preview-server/job.d.ts +0 -232
  211. package/dist/preview-server/job.js +0 -2
  212. package/dist/preview-server/live-events.d.ts +0 -10
  213. package/dist/preview-server/live-events.js +0 -76
  214. package/dist/preview-server/parse-body.d.ts +0 -2
  215. package/dist/preview-server/parse-body.js +0 -16
  216. package/dist/preview-server/project-info.d.ts +0 -5
  217. package/dist/preview-server/project-info.js +0 -32
  218. package/dist/preview-server/public-folder.d.ts +0 -12
  219. package/dist/preview-server/public-folder.js +0 -58
  220. package/dist/preview-server/retry-payload.d.ts +0 -3
  221. package/dist/preview-server/retry-payload.js +0 -142
  222. package/dist/preview-server/routes/add-render.d.ts +0 -3
  223. package/dist/preview-server/routes/add-render.js +0 -122
  224. package/dist/preview-server/routes/can-update-default-props.d.ts +0 -4
  225. package/dist/preview-server/routes/can-update-default-props.js +0 -40
  226. package/dist/preview-server/routes/cancel-render.d.ts +0 -3
  227. package/dist/preview-server/routes/cancel-render.js +0 -8
  228. package/dist/preview-server/routes/copy-still-to-clipboard-handler.d.ts +0 -3
  229. package/dist/preview-server/routes/copy-still-to-clipboard-handler.js +0 -17
  230. package/dist/preview-server/routes/open-in-file-explorer.d.ts +0 -3
  231. package/dist/preview-server/routes/open-in-file-explorer.js +0 -8
  232. package/dist/preview-server/routes/remove-render.d.ts +0 -3
  233. package/dist/preview-server/routes/remove-render.js +0 -8
  234. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +0 -3
  235. package/dist/preview-server/routes/subscribe-to-file-existence.js +0 -13
  236. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +0 -3
  237. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +0 -13
  238. package/dist/preview-server/routes/update-available.d.ts +0 -3
  239. package/dist/preview-server/routes/update-available.js +0 -9
  240. package/dist/preview-server/routes/update-default-props.d.ts +0 -3
  241. package/dist/preview-server/routes/update-default-props.js +0 -34
  242. package/dist/preview-server/serve-static.d.ts +0 -14
  243. package/dist/preview-server/serve-static.js +0 -75
  244. package/dist/preview-server/start-server.d.ts +0 -31
  245. package/dist/preview-server/start-server.js +0 -127
  246. package/dist/preview-server/update-available.d.ts +0 -3
  247. package/dist/preview-server/update-available.js +0 -47
  248. package/dist/required-chromium-options.d.ts +0 -3
  249. package/dist/required-chromium-options.js +0 -2
  250. package/dist/routes.d.ts +0 -25
  251. package/dist/routes.js +0 -242
  252. package/dist/server-ready.d.ts +0 -2
  253. package/dist/server-ready.js +0 -13
  254. package/dist/start-studio.d.ts +0 -26
  255. package/dist/start-studio.js +0 -117
  256. package/dist/watch-root-file.d.ts +0 -1
  257. package/dist/watch-root-file.js +0 -22
  258. package/out.txt +0 -1
  259. package/web/beep.wav +0 -0
  260. package/web/favicon.png +0 -0
  261. /package/{styles/styles.css → styles.css} +0 -0
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleRequest = void 0;
4
- const parse_body_1 = require("./parse-body");
5
- const handleRequest = async ({ remotionRoot, request, response, entryPoint, handler, logLevel, methods, }) => {
6
- if (request.method === 'OPTIONS') {
7
- response.statusCode = 200;
8
- response.end();
9
- return;
10
- }
11
- response.setHeader('content-type', 'application/json');
12
- response.writeHead(200);
13
- try {
14
- const body = (await (0, parse_body_1.parseRequestBody)(request));
15
- const outputData = await handler({
16
- entryPoint,
17
- remotionRoot,
18
- request,
19
- response,
20
- input: body,
21
- logLevel,
22
- methods,
23
- });
24
- response.end(JSON.stringify({
25
- success: true,
26
- data: outputData,
27
- }));
28
- }
29
- catch (err) {
30
- response.end(JSON.stringify({
31
- success: false,
32
- error: err.message,
33
- }));
34
- }
35
- };
36
- exports.handleRequest = handleRequest;
@@ -1,21 +0,0 @@
1
- /// <reference lib="dom" />
2
- /// <reference lib="dom.iterable" />
3
- import type { HotMiddlewareMessage } from './types';
4
- declare function eventSourceWrapper(): {
5
- addMessageListener(fn: (msg: MessageEvent) => void): void;
6
- };
7
- declare global {
8
- interface Window {
9
- __whmEventSourceWrapper: {
10
- [key: string]: ReturnType<typeof eventSourceWrapper>;
11
- };
12
- __webpack_hot_middleware_reporter__: Reporter;
13
- }
14
- }
15
- type Reporter = ReturnType<typeof createReporter>;
16
- declare function createReporter(): {
17
- cleanProblemsCache(): void;
18
- problems(type: 'errors' | 'warnings', obj: HotMiddlewareMessage): boolean;
19
- success: () => undefined;
20
- };
21
- export {};
@@ -1,179 +0,0 @@
1
- "use strict";
2
- /// <reference lib="dom" />
3
- /// <reference lib="dom.iterable" />
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- /* eslint-disable no-console */
6
- /**
7
- * Source code is adapted from
8
- * https://github.com/webpack-contrib/webpack-hot-middleware#readme
9
- * and rewritten in TypeScript. This file is MIT licensed
10
- */
11
- const ansi_split_1 = require("../../ansi/ansi-split");
12
- const process_update_1 = require("./process-update");
13
- const types_1 = require("./types");
14
- if (typeof window === 'undefined') {
15
- // do nothing
16
- }
17
- else if (typeof window.EventSource === 'undefined') {
18
- console.warn('Unsupported browser: You need a browser that supports EventSource ');
19
- }
20
- else {
21
- connect();
22
- }
23
- function eventSourceWrapper() {
24
- let source;
25
- let lastActivity = Date.now();
26
- const listeners = [];
27
- init();
28
- const timer = setInterval(() => {
29
- if (Date.now() - lastActivity > types_1.hotMiddlewareOptions.timeout) {
30
- handleDisconnect();
31
- }
32
- }, types_1.hotMiddlewareOptions.timeout / 2);
33
- function init() {
34
- source = new window.EventSource(types_1.hotMiddlewareOptions.path);
35
- source.onopen = handleOnline;
36
- source.onerror = handleDisconnect;
37
- source.onmessage = handleMessage;
38
- }
39
- function handleOnline() {
40
- lastActivity = Date.now();
41
- }
42
- function handleMessage(event) {
43
- lastActivity = Date.now();
44
- for (let i = 0; i < listeners.length; i++) {
45
- listeners[i](event);
46
- }
47
- }
48
- function handleDisconnect() {
49
- clearInterval(timer);
50
- source.close();
51
- setTimeout(init, 1000);
52
- }
53
- return {
54
- addMessageListener(fn) {
55
- listeners.push(fn);
56
- },
57
- };
58
- }
59
- function getEventSourceWrapper() {
60
- if (!window.__whmEventSourceWrapper) {
61
- window.__whmEventSourceWrapper = {};
62
- }
63
- if (!window.__whmEventSourceWrapper[types_1.hotMiddlewareOptions.path]) {
64
- // cache the wrapper for other entries loaded on
65
- // the same page with the same hotMiddlewareOptions.path
66
- window.__whmEventSourceWrapper[types_1.hotMiddlewareOptions.path] =
67
- eventSourceWrapper();
68
- }
69
- return window.__whmEventSourceWrapper[types_1.hotMiddlewareOptions.path];
70
- }
71
- function connect() {
72
- getEventSourceWrapper().addMessageListener(handleMessage);
73
- function handleMessage(event) {
74
- if (event.data === '\uD83D\uDC93') {
75
- return;
76
- }
77
- try {
78
- processMessage(JSON.parse(event.data));
79
- }
80
- catch (ex) {
81
- if (types_1.hotMiddlewareOptions.warn) {
82
- console.warn('Invalid HMR message: ' + event.data + '\n' + ex);
83
- }
84
- }
85
- }
86
- }
87
- // the reporter needs to be a singleton on the page
88
- // in case the client is being used by multiple bundles
89
- // we only want to report once.
90
- // all the errors will go to all clients
91
- const singletonKey = '__webpack_hot_middleware_reporter__';
92
- let reporter;
93
- if (typeof window !== 'undefined') {
94
- if (!window[singletonKey]) {
95
- window[singletonKey] = createReporter();
96
- }
97
- reporter = window[singletonKey];
98
- }
99
- function createReporter() {
100
- const styles = {
101
- errors: 'color: #ff0000;',
102
- warnings: 'color: #999933;',
103
- };
104
- let previousProblems = null;
105
- function log(type, obj) {
106
- if (obj.action === 'building') {
107
- console.log('[Fast Refresh] Building');
108
- return;
109
- }
110
- const newProblems = obj[type]
111
- .map((msg) => {
112
- return (0, ansi_split_1.stripAnsi)(msg);
113
- })
114
- .join('\n');
115
- if (previousProblems === newProblems) {
116
- return;
117
- }
118
- previousProblems = newProblems;
119
- const style = styles[type];
120
- const name = obj.name ? "'" + obj.name + "' " : '';
121
- const title = '[Fast Refresh] bundle ' + name + 'has ' + obj[type].length + ' ' + type;
122
- // NOTE: console.warn or console.error will print the stack trace
123
- // which isn't helpful here, so using console.log to escape it.
124
- if (console.group && console.groupEnd) {
125
- console.group('%c' + title, style);
126
- console.log('%c' + newProblems, style);
127
- console.groupEnd();
128
- }
129
- else {
130
- console.log('%c' + title + '\n\t%c' + newProblems.replace(/\n/g, '\n\t'), style + 'font-weight: bold;', style + 'font-weight: normal;');
131
- }
132
- }
133
- return {
134
- cleanProblemsCache() {
135
- previousProblems = null;
136
- },
137
- problems(type, obj) {
138
- if (types_1.hotMiddlewareOptions.warn) {
139
- log(type, obj);
140
- }
141
- return true;
142
- },
143
- success: () => undefined,
144
- };
145
- }
146
- function processMessage(obj) {
147
- var _a, _b;
148
- switch (obj.action) {
149
- case 'building':
150
- (_a = window.remotion_isBuilding) === null || _a === void 0 ? void 0 : _a.call(window);
151
- break;
152
- case 'sync':
153
- case 'built': {
154
- let applyUpdate = true;
155
- if (obj.errors.length > 0) {
156
- if (reporter)
157
- reporter.problems('errors', obj);
158
- applyUpdate = false;
159
- }
160
- else if (obj.warnings.length > 0) {
161
- if (reporter) {
162
- const overlayShown = reporter.problems('warnings', obj);
163
- applyUpdate = overlayShown;
164
- }
165
- }
166
- else if (reporter) {
167
- reporter.cleanProblemsCache();
168
- reporter.success();
169
- }
170
- if (applyUpdate) {
171
- (_b = window.remotion_finishedBuilding) === null || _b === void 0 ? void 0 : _b.call(window);
172
- (0, process_update_1.processUpdate)(obj.hash, obj.modules, types_1.hotMiddlewareOptions);
173
- }
174
- break;
175
- }
176
- default:
177
- break;
178
- }
179
- }
@@ -1,102 +0,0 @@
1
- /**
2
- * Source code is adapted from
3
- * https://github.com/webpack-contrib/webpack-hot-middleware#readme
4
- * and rewritten in TypeScript. This file is MIT licensed
5
- */
6
- import type { webpack } from '@remotion/bundler';
7
- import type { IncomingMessage, ServerResponse } from 'node:http';
8
- declare global {
9
- const __webpack_hash__: unknown;
10
- interface HotNotifierInfo {
11
- type: 'self-declined' | 'declined' | 'unaccepted' | 'accepted' | 'disposed' | 'accept-errored' | 'self-accept-errored' | 'self-accept-error-handler-errored';
12
- /**
13
- * The module in question.
14
- */
15
- moduleId: number;
16
- /**
17
- * For errors: the module id owning the accept handler.
18
- */
19
- dependencyId?: number | undefined;
20
- /**
21
- * For declined/accepted/unaccepted: the chain from where the update was propagated.
22
- */
23
- chain?: number[] | undefined;
24
- /**
25
- * For declined: the module id of the declining parent
26
- */
27
- parentId?: number | undefined;
28
- /**
29
- * For accepted: the modules that are outdated and will be disposed
30
- */
31
- outdatedModules?: number[] | undefined;
32
- /**
33
- * For accepted: The location of accept handlers that will handle the update
34
- */
35
- outdatedDependencies?: {
36
- [dependencyId: number]: number[];
37
- } | undefined;
38
- /**
39
- * For errors: the thrown error
40
- */
41
- error?: Error | undefined;
42
- /**
43
- * For self-accept-error-handler-errored: the error thrown by the module
44
- * before the error handler tried to handle it.
45
- */
46
- originalError?: Error | undefined;
47
- }
48
- interface AcceptOptions {
49
- /**
50
- * If true the update process continues even if some modules are not accepted (and would bubble to the entry point).
51
- */
52
- ignoreUnaccepted?: boolean | undefined;
53
- /**
54
- * Ignore changes made to declined modules.
55
- */
56
- ignoreDeclined?: boolean | undefined;
57
- /**
58
- * Ignore errors throw in accept handlers, error handlers and while reevaluating module.
59
- */
60
- ignoreErrored?: boolean | undefined;
61
- /**
62
- * Notifier for declined modules.
63
- */
64
- onDeclined?: ((info: HotNotifierInfo) => void) | undefined;
65
- /**
66
- * Notifier for unaccepted modules.
67
- */
68
- onUnaccepted?: ((info: HotNotifierInfo) => void) | undefined;
69
- /**
70
- * Notifier for accepted modules.
71
- */
72
- onAccepted?: ((info: HotNotifierInfo) => void) | undefined;
73
- /**
74
- * Notifier for disposed modules.
75
- */
76
- onDisposed?: ((info: HotNotifierInfo) => void) | undefined;
77
- /**
78
- * Notifier for errors.
79
- */
80
- onErrored?: ((info: HotNotifierInfo) => void) | undefined;
81
- /**
82
- * Indicates that apply() is automatically called by check function
83
- */
84
- autoApply?: boolean | undefined;
85
- }
86
- const __webpack_module__: {
87
- id: string;
88
- exports: unknown;
89
- hot: {
90
- accept: () => void;
91
- dispose: (onDispose: (data: Record<string, unknown>) => void) => void;
92
- invalidate: () => void;
93
- data?: Record<string, unknown>;
94
- addStatusHandler(callback: (status: string) => void): void;
95
- status(): string;
96
- apply(options?: AcceptOptions): Promise<ModuleId[]>;
97
- check(autoApply?: boolean): Promise<null | ModuleId[]>;
98
- };
99
- };
100
- type ModuleId = string | number;
101
- }
102
- export declare const webpackHotMiddleware: (compiler: webpack.Compiler) => (req: IncomingMessage, res: ServerResponse, next: () => void) => void;
@@ -1,149 +0,0 @@
1
- "use strict";
2
- /**
3
- * Source code is adapted from
4
- * https://github.com/webpack-contrib/webpack-hot-middleware#readme
5
- * and rewritten in TypeScript. This file is MIT licensed
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.webpackHotMiddleware = void 0;
9
- const renderer_1 = require("@remotion/renderer");
10
- const node_url_1 = require("node:url");
11
- const types_1 = require("./types");
12
- const pathMatch = function (url, path) {
13
- try {
14
- return (0, node_url_1.parse)(url).pathname === path;
15
- }
16
- catch (e) {
17
- return false;
18
- }
19
- };
20
- const webpackHotMiddleware = (compiler) => {
21
- const eventStream = createEventStream(types_1.hotMiddlewareOptions.heartbeat);
22
- let latestStats = null;
23
- compiler.hooks.invalid.tap('remotion', onInvalid);
24
- compiler.hooks.done.tap('remotion', onDone);
25
- function onInvalid() {
26
- latestStats = null;
27
- renderer_1.RenderInternals.Log.info('Building...');
28
- eventStream === null || eventStream === void 0 ? void 0 : eventStream.publish({
29
- action: 'building',
30
- });
31
- }
32
- function onDone(statsResult) {
33
- // Keep hold of latest stats so they can be propagated to new clients
34
- latestStats = statsResult;
35
- publishStats('built', latestStats, eventStream);
36
- }
37
- const middleware = function (req, res, next) {
38
- if (!pathMatch(req.url, types_1.hotMiddlewareOptions.path))
39
- return next();
40
- eventStream === null || eventStream === void 0 ? void 0 : eventStream.handler(req, res);
41
- if (latestStats) {
42
- publishStats('sync', latestStats, eventStream);
43
- }
44
- };
45
- return middleware;
46
- };
47
- exports.webpackHotMiddleware = webpackHotMiddleware;
48
- function createEventStream(heartbeat) {
49
- let clientId = 0;
50
- let clients = {};
51
- function everyClient(fn) {
52
- Object.keys(clients).forEach((id) => {
53
- fn(clients[id]);
54
- });
55
- }
56
- const interval = setInterval(() => {
57
- everyClient((client) => {
58
- client.write('data: \uD83D\uDC93\n\n');
59
- });
60
- }, heartbeat).unref();
61
- return {
62
- close() {
63
- clearInterval(interval);
64
- everyClient((client) => {
65
- if (!client.finished)
66
- client.end();
67
- });
68
- clients = {};
69
- },
70
- handler(req, res) {
71
- const headers = {
72
- 'Access-Control-Allow-Origin': '*',
73
- 'Content-Type': 'text/event-stream;charset=utf-8',
74
- 'Cache-Control': 'no-cache, no-transform',
75
- };
76
- const isHttp1 = !(parseInt(req.httpVersion, 10) >= 2);
77
- if (isHttp1) {
78
- req.socket.setKeepAlive(true);
79
- Object.assign(headers, {
80
- Connection: 'keep-alive',
81
- });
82
- }
83
- res.writeHead(200, headers);
84
- res.write('\n');
85
- const id = clientId++;
86
- clients[id] = res;
87
- req.on('close', () => {
88
- if (!res.finished)
89
- res.end();
90
- delete clients[id];
91
- });
92
- },
93
- publish(payload) {
94
- everyClient((client) => {
95
- client.write('data: ' + JSON.stringify(payload) + '\n\n');
96
- });
97
- },
98
- };
99
- }
100
- function publishStats(action, statsResult, eventStream) {
101
- const stats = statsResult.toJson({
102
- all: false,
103
- cached: true,
104
- children: true,
105
- modules: true,
106
- timings: true,
107
- hash: true,
108
- });
109
- // For multi-compiler, stats will be an object with a 'children' array of stats
110
- const bundles = extractBundles(stats);
111
- bundles.forEach((_stats) => {
112
- let name = _stats.name || '';
113
- // Fallback to compilation name in case of 1 bundle (if it exists)
114
- if (bundles.length === 1 && !name && statsResult.compilation) {
115
- name = statsResult.compilation.name || '';
116
- }
117
- eventStream === null || eventStream === void 0 ? void 0 : eventStream.publish({
118
- name,
119
- action,
120
- time: _stats.time,
121
- hash: _stats.hash,
122
- warnings: _stats.warnings || [],
123
- errors: _stats.errors || [],
124
- modules: buildModuleMap(_stats.modules),
125
- });
126
- });
127
- }
128
- function extractBundles(stats) {
129
- var _a;
130
- // Stats has modules, single bundle
131
- if (stats.modules)
132
- return [stats];
133
- // Stats has children, multiple bundles
134
- if ((_a = stats.children) === null || _a === void 0 ? void 0 : _a.length)
135
- return stats.children;
136
- // Not sure, assume single
137
- return [stats];
138
- }
139
- function buildModuleMap(modules) {
140
- const map = {};
141
- if (!modules) {
142
- return map;
143
- }
144
- modules.forEach((module) => {
145
- const id = module.id;
146
- map[id] = module.name;
147
- });
148
- return map;
149
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Source code is adapted from
3
- * https://github.com/webpack-contrib/webpack-hot-middleware#readme
4
- * and rewritten in TypeScript. This file is MIT licensed
5
- */
6
- import type { HotMiddlewareOptions, ModuleMap } from './types';
7
- export declare const processUpdate: (hash: string | undefined, moduleMap: ModuleMap, options: HotMiddlewareOptions) => void;
@@ -1,162 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-console */
3
- /**
4
- * Source code is adapted from
5
- * https://github.com/webpack-contrib/webpack-hot-middleware#readme
6
- * and rewritten in TypeScript. This file is MIT licensed
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.processUpdate = void 0;
10
- /**
11
- * Based heavily on https://github.com/webpack/webpack/blob/
12
- * c0afdf9c6abc1dd70707c594e473802a566f7b6e/hot/only-dev-server.js
13
- * Original copyright Tobias Koppers @sokra (MIT license)
14
- */
15
- const NotificationCenter_1 = require("../../components/Notifications/NotificationCenter");
16
- if (!__webpack_module__.hot) {
17
- throw new Error('[Fast refresh] Hot Module Replacement is disabled.');
18
- }
19
- const hmrDocsUrl = 'https://webpack.js.org/concepts/hot-module-replacement/'; // eslint-disable-line max-len
20
- let lastHash;
21
- const failureStatuses = { abort: 1, fail: 1 };
22
- const applyOptions = {
23
- ignoreUnaccepted: true,
24
- ignoreDeclined: true,
25
- ignoreErrored: true,
26
- onUnaccepted(data) {
27
- var _a;
28
- console.warn('Ignored an update to unaccepted module ' +
29
- ((_a = data.chain) !== null && _a !== void 0 ? _a : []).join(' -> '));
30
- },
31
- onDeclined(data) {
32
- var _a;
33
- console.warn('Ignored an update to declined module ' + ((_a = data.chain) !== null && _a !== void 0 ? _a : []).join(' -> '));
34
- },
35
- onErrored(data) {
36
- console.error(data.error);
37
- console.warn('Ignored an error while updating module ' +
38
- data.moduleId +
39
- ' (' +
40
- data.type +
41
- ')');
42
- },
43
- };
44
- function upToDate(hash) {
45
- if (hash)
46
- lastHash = hash;
47
- return lastHash === __webpack_hash__;
48
- }
49
- const processUpdate = function (hash, moduleMap, options) {
50
- var _a;
51
- const { reload } = options;
52
- if (!upToDate(hash) && ((_a = __webpack_module__.hot) === null || _a === void 0 ? void 0 : _a.status()) === 'idle') {
53
- check();
54
- }
55
- async function check() {
56
- var _a;
57
- const cb = function (err, updatedModules) {
58
- var _a;
59
- if (err)
60
- return handleError(err);
61
- if (!updatedModules) {
62
- if (options.warn) {
63
- console.warn('[Fast refresh] Cannot find update (Full reload needed)');
64
- console.warn('[Fast refresh] (Probably because of restarting the server)');
65
- }
66
- performReload();
67
- return null;
68
- }
69
- const applyCallback = function (applyErr, renewedModules) {
70
- if (applyErr)
71
- return handleError(applyErr);
72
- if (!upToDate()) {
73
- check();
74
- }
75
- logUpdates(updatedModules, renewedModules);
76
- };
77
- const applyResult = (_a = __webpack_module__.hot) === null || _a === void 0 ? void 0 : _a.apply(applyOptions);
78
- if (applyResult === null || applyResult === void 0 ? void 0 : applyResult.then) {
79
- // HotModuleReplacement.runtime.js refers to the result as `outdatedModules`
80
- applyResult
81
- .then((outdatedModules) => {
82
- applyCallback(null, outdatedModules);
83
- })
84
- .catch((_err) => applyCallback(_err, []));
85
- }
86
- };
87
- try {
88
- const result = await ((_a = __webpack_module__.hot) === null || _a === void 0 ? void 0 : _a.check(false));
89
- cb(null, result);
90
- }
91
- catch (err) {
92
- cb(err, []);
93
- }
94
- }
95
- function logUpdates(updatedModules, renewedModules) {
96
- var _a;
97
- const unacceptedModules = (_a = updatedModules === null || updatedModules === void 0 ? void 0 : updatedModules.filter((moduleId) => {
98
- return renewedModules && renewedModules.indexOf(moduleId) < 0;
99
- })) !== null && _a !== void 0 ? _a : [];
100
- if (unacceptedModules.length > 0) {
101
- if (options.warn) {
102
- console.warn("[Fast refresh] The following modules couldn't be hot updated: " +
103
- '(Full reload needed)\n' +
104
- 'This is usually because the modules which have changed ' +
105
- '(and their parents) do not know how to hot reload themselves. ' +
106
- 'See ' +
107
- hmrDocsUrl +
108
- ' for more details.');
109
- unacceptedModules.forEach((moduleId) => {
110
- console.warn('[Fast refresh] - ' + (moduleMap[moduleId] || moduleId));
111
- });
112
- }
113
- performReload();
114
- return;
115
- }
116
- if (!renewedModules || renewedModules.length === 0) {
117
- console.log('[Fast refresh] Nothing hot updated.');
118
- }
119
- else {
120
- renewedModules.forEach((moduleId) => {
121
- console.log(`[Fast refresh] ${moduleMap[moduleId] || moduleId} fast refreshed.`);
122
- });
123
- }
124
- }
125
- function handleError(err) {
126
- var _a, _b;
127
- if (((_b = (_a = __webpack_module__.hot) === null || _a === void 0 ? void 0 : _a.status()) !== null && _b !== void 0 ? _b : 'nope') in failureStatuses) {
128
- if (options.warn) {
129
- console.warn('[Fast refresh] Cannot check for update (Full reload needed)');
130
- console.warn('[Fast refresh] ' + (err.stack || err.message));
131
- }
132
- performReload();
133
- return;
134
- }
135
- if (options.warn) {
136
- console.warn('[Fast refresh] Update check failed: ' + (err.stack || err.message));
137
- if (!window.remotion_unsavedProps) {
138
- window.location.reload();
139
- }
140
- }
141
- }
142
- function performReload() {
143
- var _a;
144
- if (!reload) {
145
- return;
146
- }
147
- if (options.warn)
148
- console.warn('[Fast refresh] Reloading page');
149
- if (window.remotion_unsavedProps) {
150
- (_a = NotificationCenter_1.notificationCenter.current) === null || _a === void 0 ? void 0 : _a.addNotification({
151
- id: 'random',
152
- content: 'Fast refresh needs to reload the page, but you have unsaved props. Save then reload the page to apply changes.',
153
- created: new Date().getMilliseconds(),
154
- duration: 1,
155
- });
156
- }
157
- else {
158
- window.location.reload();
159
- }
160
- }
161
- };
162
- exports.processUpdate = processUpdate;
@@ -1,27 +0,0 @@
1
- import type { webpack } from '@remotion/bundler';
2
- export type HotMiddlewareMessage = {
3
- action: 'building';
4
- name?: string;
5
- } | {
6
- action: 'built' | 'sync';
7
- name: string;
8
- time: number | undefined;
9
- errors: unknown[];
10
- warnings: unknown[];
11
- hash: string | undefined;
12
- modules: {
13
- [key: string]: string;
14
- };
15
- };
16
- export declare const hotMiddlewareOptions: {
17
- path: string;
18
- timeout: number;
19
- reload: boolean;
20
- warn: boolean;
21
- heartbeat: number;
22
- };
23
- export type HotMiddlewareOptions = typeof hotMiddlewareOptions;
24
- export type WebpackStats = ReturnType<webpack.Stats['toJson']>;
25
- export type ModuleMap = {
26
- [key: string]: string;
27
- };