@remotion/cli 3.3.31 → 3.3.32

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 (127) hide show
  1. package/dist/config/log.d.ts +1 -1
  2. package/dist/editor/components/PlayPause.js +1 -1
  3. package/dist/get-cli-options.d.ts +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/list-of-remotion-packages.js +1 -0
  6. package/dist/preview-server/error-overlay/react-overlay/utils/get-stack-frames.js +1 -3
  7. package/dist/preview-server/error-overlay/remotion-overlay/get-help-link.js +6 -0
  8. package/dist/preview.js +11 -1
  9. package/package.json +7 -7
  10. package/.prettierrc.js +0 -14
  11. package/dist/convert-entry-point-to-serve-url.d.ts +0 -1
  12. package/dist/convert-entry-point-to-serve-url.js +0 -15
  13. package/dist/editor/components/CollapsableOptions.d.ts +0 -6
  14. package/dist/editor/components/CollapsableOptions.js +0 -35
  15. package/dist/editor/components/InlineAction.d.ts +0 -5
  16. package/dist/editor/components/InlineAction.js +0 -34
  17. package/dist/editor/components/RenderButton.d.ts +0 -6
  18. package/dist/editor/components/RenderButton.js +0 -43
  19. package/dist/editor/components/RenderModal/RenderErrorModal.d.ts +0 -5
  20. package/dist/editor/components/RenderModal/RenderErrorModal.js +0 -64
  21. package/dist/editor/components/RenderModal/RenderModal.d.ts +0 -11
  22. package/dist/editor/components/RenderModal/RenderModal.js +0 -330
  23. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +0 -5
  24. package/dist/editor/components/RenderQueue/CircularProgress.js +0 -18
  25. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +0 -5
  26. package/dist/editor/components/RenderQueue/RenderQueueError.js +0 -26
  27. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +0 -5
  28. package/dist/editor/components/RenderQueue/RenderQueueItem.js +0 -38
  29. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +0 -5
  30. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +0 -27
  31. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +0 -5
  32. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +0 -30
  33. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +0 -5
  34. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +0 -27
  35. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +0 -5
  36. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +0 -22
  37. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +0 -5
  38. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +0 -22
  39. package/dist/editor/components/RenderQueue/actions.d.ts +0 -34
  40. package/dist/editor/components/RenderQueue/actions.js +0 -78
  41. package/dist/editor/components/RenderQueue/context.d.ts +0 -19
  42. package/dist/editor/components/RenderQueue/context.js +0 -54
  43. package/dist/editor/components/RenderQueue/index.d.ts +0 -2
  44. package/dist/editor/components/RenderQueue/index.js +0 -18
  45. package/dist/editor/components/RenderQueue/item-style.d.ts +0 -2
  46. package/dist/editor/components/RenderQueue/item-style.js +0 -21
  47. package/dist/editor/components/RenderToolbarIcon.d.ts +0 -2
  48. package/dist/editor/components/RenderToolbarIcon.js +0 -47
  49. package/dist/editor/components/RendersTab.d.ts +0 -6
  50. package/dist/editor/components/RendersTab.js +0 -44
  51. package/dist/editor/components/SegmentedControl.d.ts +0 -15
  52. package/dist/editor/components/SegmentedControl.js +0 -46
  53. package/dist/editor/components/SidebarContent.d.ts +0 -5
  54. package/dist/editor/components/SidebarContent.js +0 -51
  55. package/dist/editor/components/Tabs/index.d.ts +0 -11
  56. package/dist/editor/components/Tabs/index.js +0 -51
  57. package/dist/editor/helpers/client-id.d.ts +0 -17
  58. package/dist/editor/helpers/client-id.js +0 -46
  59. package/dist/editor/helpers/use-file-existence.d.ts +0 -1
  60. package/dist/editor/helpers/use-file-existence.js +0 -66
  61. package/dist/editor/icons/RenderStillIcon.d.ts +0 -3
  62. package/dist/editor/icons/RenderStillIcon.js +0 -8
  63. package/dist/editor/icons/render.d.ts +0 -5
  64. package/dist/editor/icons/render.js +0 -8
  65. package/dist/editor/icons/video.d.ts +0 -5
  66. package/dist/editor/icons/video.js +0 -8
  67. package/dist/file-watcher.d.ts +0 -9
  68. package/dist/file-watcher.js +0 -35
  69. package/dist/find-closest-package-json.d.ts +0 -2
  70. package/dist/find-closest-package-json.js +0 -35
  71. package/dist/get-default-out-name.d.ts +0 -4
  72. package/dist/get-default-out-name.js +0 -8
  73. package/dist/preview-server/actions.d.ts +0 -0
  74. package/dist/preview-server/actions.js +0 -1
  75. package/dist/preview-server/api-routes.d.ts +0 -4
  76. package/dist/preview-server/api-routes.js +0 -15
  77. package/dist/preview-server/api-types.d.ts +0 -26
  78. package/dist/preview-server/api-types.js +0 -2
  79. package/dist/preview-server/file-existence-watchers.d.ts +0 -13
  80. package/dist/preview-server/file-existence-watchers.js +0 -62
  81. package/dist/preview-server/get-file-existence.d.ts +0 -2
  82. package/dist/preview-server/get-file-existence.js +0 -36
  83. package/dist/preview-server/get-files-in-public-folder.d.ts +0 -2
  84. package/dist/preview-server/get-files-in-public-folder.js +0 -7
  85. package/dist/preview-server/handler.d.ts +0 -9
  86. package/dist/preview-server/handler.js +0 -34
  87. package/dist/preview-server/live-event-listener.d.ts +0 -0
  88. package/dist/preview-server/live-event-listener.js +0 -1
  89. package/dist/preview-server/parse-body.d.ts +0 -2
  90. package/dist/preview-server/parse-body.js +0 -16
  91. package/dist/preview-server/render-queue/add-render.d.ts +0 -3
  92. package/dist/preview-server/render-queue/add-render.js +0 -34
  93. package/dist/preview-server/render-queue/index.d.ts +0 -18
  94. package/dist/preview-server/render-queue/index.js +0 -146
  95. package/dist/preview-server/render-queue/job.d.ts +0 -81
  96. package/dist/preview-server/render-queue/job.js +0 -2
  97. package/dist/preview-server/render-queue/make-retry-payload.d.ts +0 -3
  98. package/dist/preview-server/render-queue/make-retry-payload.js +0 -32
  99. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +0 -1
  100. package/dist/preview-server/render-queue/open-directory-in-finder.js +0 -34
  101. package/dist/preview-server/render-queue/open-in-file-explorer.d.ts +0 -2
  102. package/dist/preview-server/render-queue/open-in-file-explorer.js +0 -31
  103. package/dist/preview-server/render-queue/process-still.d.ts +0 -8
  104. package/dist/preview-server/render-queue/process-still.js +0 -50
  105. package/dist/preview-server/render-queue/process-video.d.ts +0 -8
  106. package/dist/preview-server/render-queue/process-video.js +0 -59
  107. package/dist/preview-server/render-queue/queue.d.ts +0 -20
  108. package/dist/preview-server/render-queue/queue.js +0 -169
  109. package/dist/preview-server/render-queue/remove-render.d.ts +0 -2
  110. package/dist/preview-server/render-queue/remove-render.js +0 -29
  111. package/dist/preview-server/routes/add-render.d.ts +0 -3
  112. package/dist/preview-server/routes/add-render.js +0 -51
  113. package/dist/preview-server/routes/open-in-file-explorer.d.ts +0 -3
  114. package/dist/preview-server/routes/open-in-file-explorer.js +0 -14
  115. package/dist/preview-server/routes/remove-render.d.ts +0 -3
  116. package/dist/preview-server/routes/remove-render.js +0 -9
  117. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +0 -3
  118. package/dist/preview-server/routes/subscribe-to-file-existence.js +0 -13
  119. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +0 -3
  120. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +0 -13
  121. package/dist/preview-server/write-files-definition-file.d.ts +0 -2
  122. package/dist/preview-server/write-files-definition-file.js +0 -37
  123. package/dist/render-flows/render.d.ts +0 -37
  124. package/dist/render-flows/render.js +0 -254
  125. package/dist/render-flows/still.d.ts +0 -31
  126. package/dist/render-flows/still.js +0 -168
  127. package/tsconfig.json +0 -17
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RenderIcon = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const RenderIcon = (props) => {
6
- return ((0, jsx_runtime_1.jsx)("svg", { ...props.svgProps, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: 'currentColor', d: "M408 143.1C408 166.1 390.1 183.1 368 183.1C345.9 183.1 328 166.1 328 143.1C328 121.9 345.9 103.1 368 103.1C390.1 103.1 408 121.9 408 143.1zM384 312.1V394.2C384 419.7 370.6 443.2 348.7 456.2L260.2 508.6C252.8 513 243.6 513.1 236.1 508.9C228.6 504.6 224 496.6 224 488V373.3C224 350.6 215 328.1 199 312.1C183 296.1 161.4 288 138.7 288H24C15.38 288 7.414 283.4 3.146 275.9C-1.123 268.4-1.042 259.2 3.357 251.8L55.83 163.3C68.79 141.4 92.33 127.1 117.8 127.1H199.9C281.7-3.798 408.8-8.546 483.9 5.272C495.6 7.411 504.6 16.45 506.7 28.07C520.5 103.2 515.8 230.3 384 312.1V312.1zM197.9 253.9C210.8 260.2 222.6 268.7 232.1 279C243.3 289.4 251.8 301.2 258.1 314.1C363.9 284.1 414.8 234.5 439.7 188C464.7 141.3 466.1 90.47 461.7 50.33C421.5 45.02 370.7 47.34 323.1 72.33C277.5 97.16 227.9 148.1 197.9 253.9H197.9zM41.98 345.5C76.37 311.1 132.1 311.1 166.5 345.5C200.9 379.9 200.9 435.6 166.5 470C117 519.5 .4765 511.5 .4765 511.5C.4765 511.5-7.516 394.1 41.98 345.5V345.5zM64.58 447.4C64.58 447.4 103.3 450.1 119.8 433.6C131.2 422.2 131.2 403.6 119.8 392.2C108.3 380.8 89.81 380.8 78.38 392.2C61.92 408.7 64.58 447.4 64.58 447.4z" }) }));
7
- };
8
- exports.RenderIcon = RenderIcon;
@@ -1,5 +0,0 @@
1
- import type { SVGProps } from 'react';
2
- import React from 'react';
3
- export declare const FilmIcon: React.FC<SVGProps<SVGSVGElement> & {
4
- color: string;
5
- }>;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilmIcon = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const FilmIcon = ({ color, ...props }) => {
6
- return ((0, jsx_runtime_1.jsx)("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: (0, jsx_runtime_1.jsx)("path", { fill: color, d: "M448 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V96C512 60.65 483.3 32 448 32zM384 64v176H128V64H384zM32 96c0-17.64 14.36-32 32-32h32v80H32V96zM32 176h64v64H32V176zM32 272h64v64H32V272zM64 448c-17.64 0-32-14.36-32-32v-48h64V448H64zM128 448V272h256V448H128zM480 416c0 17.64-14.36 32-32 32h-32v-80h64V416zM480 336h-64v-64h64V336zM480 240h-64v-64h64V240zM480 144h-64V64h32c17.64 0 32 14.36 32 32V144z" }) }));
7
- };
8
- exports.FilmIcon = FilmIcon;
@@ -1,9 +0,0 @@
1
- declare type FileChangeType = 'created' | 'deleted' | 'changed';
2
- export declare const installFileWatcher: ({ file, onChange, }: {
3
- file: string;
4
- onChange: (type: FileChangeType) => void;
5
- }) => {
6
- exists: boolean;
7
- unwatch: () => void;
8
- };
9
- export {};
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.installFileWatcher = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const installFileWatcher = ({ file, onChange, }) => {
9
- const existedAtBeginning = fs_1.default.existsSync(file);
10
- let existedBefore = existedAtBeginning;
11
- const listener = () => {
12
- const existsNow = fs_1.default.existsSync(file);
13
- if (!existedBefore && existsNow) {
14
- onChange('created');
15
- existedBefore = true;
16
- return;
17
- }
18
- if (existedBefore && !existsNow) {
19
- onChange('deleted');
20
- existedBefore = false;
21
- return;
22
- }
23
- if (existsNow) {
24
- onChange('changed');
25
- }
26
- };
27
- fs_1.default.watchFile(file, { interval: 100 }, listener);
28
- return {
29
- exists: existedAtBeginning,
30
- unwatch: () => {
31
- fs_1.default.unwatchFile(file, listener);
32
- },
33
- };
34
- };
35
- exports.installFileWatcher = installFileWatcher;
@@ -1,2 +0,0 @@
1
- export declare const findClosestPackageJson: () => string | null;
2
- export declare const findRemotionRoot: () => string;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.findRemotionRoot = exports.findClosestPackageJson = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const log_1 = require("./log");
10
- const recursionLimit = 5;
11
- const findClosestPackageJson = () => {
12
- let currentDir = process.cwd();
13
- let possiblePackageJson = '';
14
- for (let i = 0; i < recursionLimit; i++) {
15
- possiblePackageJson = path_1.default.join(currentDir, 'package.json');
16
- const exists = fs_1.default.existsSync(possiblePackageJson);
17
- if (exists) {
18
- return possiblePackageJson;
19
- }
20
- currentDir = path_1.default.dirname(currentDir);
21
- }
22
- return null;
23
- };
24
- exports.findClosestPackageJson = findClosestPackageJson;
25
- const findRemotionRoot = () => {
26
- const closestPackageJson = (0, exports.findClosestPackageJson)();
27
- if (closestPackageJson === null) {
28
- log_1.Log.error('Could not find a package.json in the current directory or any of the ' +
29
- recursionLimit +
30
- ' parent directories. Is this a Remotion project?');
31
- process.exit(1);
32
- }
33
- return path_1.default.dirname(closestPackageJson);
34
- };
35
- exports.findRemotionRoot = findRemotionRoot;
@@ -1,4 +0,0 @@
1
- export declare const getDefaultOutLocation: ({ compositionName, defaultExtension, }: {
2
- compositionName: string;
3
- defaultExtension: string;
4
- }) => string;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultOutLocation = void 0;
4
- const getDefaultOutLocation = ({ compositionName, defaultExtension, }) => {
5
- const defaultName = `out/${compositionName}.${defaultExtension}`;
6
- return defaultName;
7
- };
8
- exports.getDefaultOutLocation = getDefaultOutLocation;
File without changes
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,4 +0,0 @@
1
- import type { ApiHandler, ApiRoutes } from './api-types';
2
- export declare const allApiRoutes: {
3
- [key in keyof ApiRoutes]: ApiHandler<ApiRoutes[key]['Request'], ApiRoutes[key]['Response']>;
4
- };
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allApiRoutes = void 0;
4
- const add_render_1 = require("./routes/add-render");
5
- const open_in_file_explorer_1 = require("./routes/open-in-file-explorer");
6
- const remove_render_1 = require("./routes/remove-render");
7
- const subscribe_to_file_existence_1 = require("./routes/subscribe-to-file-existence");
8
- const unsubscribe_from_file_existence_1 = require("./routes/unsubscribe-from-file-existence");
9
- exports.allApiRoutes = {
10
- '/api/render': add_render_1.handleAddRender,
11
- '/api/unsubscribe-from-file-existence': unsubscribe_from_file_existence_1.unsubscribeFromFileExistence,
12
- '/api/subscribe-to-file-existence': subscribe_to_file_existence_1.subscribeToFileExistence,
13
- '/api/remove-render': remove_render_1.handleRemoveRender,
14
- '/api/open-in-file-explorer': open_in_file_explorer_1.handleOpenInFileExplorer,
15
- };
@@ -1,26 +0,0 @@
1
- /// <reference types="node" />
2
- import type { IncomingMessage, ServerResponse } from 'http';
3
- import type { AddRenderRequest, OpenInFileExplorerRequest, RemoveRenderRequest, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, UnsubscribeFromFileExistenceRequest } from './render-queue/job';
4
- export declare type ApiHandler<ReqData, ResData> = (params: {
5
- input: ReqData;
6
- entryPoint: string;
7
- remotionRoot: string;
8
- request: IncomingMessage;
9
- response: ServerResponse;
10
- }) => Promise<ResData>;
11
- export declare type ApiRoute<ReqData, ResData> = {
12
- handler: ApiHandler<ReqData, ResData>;
13
- endpoint: string;
14
- };
15
- declare type ReqAndRes<A, B> = {
16
- Request: A;
17
- Response: B;
18
- };
19
- export declare type ApiRoutes = {
20
- '/api/render': ReqAndRes<AddRenderRequest, undefined>;
21
- '/api/unsubscribe-from-file-existence': ReqAndRes<UnsubscribeFromFileExistenceRequest, undefined>;
22
- '/api/subscribe-to-file-existence': ReqAndRes<SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse>;
23
- '/api/remove-render': ReqAndRes<RemoveRenderRequest, undefined>;
24
- '/api/open-in-file-explorer': ReqAndRes<OpenInFileExplorerRequest, void>;
25
- };
26
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +0,0 @@
1
- export declare const subscribeToFileExistenceWatchers: ({ file: relativeFile, remotionRoot, clientId, }: {
2
- file: string;
3
- remotionRoot: string;
4
- clientId: string;
5
- }) => {
6
- exists: boolean;
7
- };
8
- export declare const unsubscribeFromFileExistenceWatchers: ({ file, remotionRoot, clientId, }: {
9
- file: string;
10
- remotionRoot: string;
11
- clientId: string;
12
- }) => void;
13
- export declare const unsubscribeClientFileExistenceWatchers: (clientId: string) => void;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.unsubscribeClientFileExistenceWatchers = exports.unsubscribeFromFileExistenceWatchers = exports.subscribeToFileExistenceWatchers = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const file_watcher_1 = require("../file-watcher");
9
- const live_events_1 = require("./live-events");
10
- const fileExistenceWatchers = {};
11
- const subscribeToFileExistenceWatchers = ({ file: relativeFile, remotionRoot, clientId, }) => {
12
- const file = path_1.default.resolve(remotionRoot, relativeFile);
13
- const { unwatch, exists } = (0, file_watcher_1.installFileWatcher)({
14
- file,
15
- onChange: (type) => {
16
- if (type === 'created') {
17
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
18
- listener.sendEventToClient({
19
- type: 'watched-file-undeleted',
20
- // Must be relative file because that's what the client expects
21
- file: relativeFile,
22
- });
23
- });
24
- }
25
- if (type === 'deleted') {
26
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
27
- listener.sendEventToClient({
28
- type: 'watched-file-deleted',
29
- // Must be relative file because that's what the client expects
30
- file: relativeFile,
31
- });
32
- });
33
- }
34
- },
35
- });
36
- if (!fileExistenceWatchers[clientId]) {
37
- fileExistenceWatchers[clientId] = {};
38
- }
39
- fileExistenceWatchers[clientId][file] = unwatch;
40
- return { exists };
41
- };
42
- exports.subscribeToFileExistenceWatchers = subscribeToFileExistenceWatchers;
43
- const unsubscribeFromFileExistenceWatchers = ({ file, remotionRoot, clientId, }) => {
44
- var _a, _b;
45
- const actualPath = path_1.default.resolve(remotionRoot, file);
46
- if (!fileExistenceWatchers[clientId]) {
47
- return;
48
- }
49
- (_b = (_a = fileExistenceWatchers[clientId])[actualPath]) === null || _b === void 0 ? void 0 : _b.call(_a);
50
- delete fileExistenceWatchers[clientId][actualPath];
51
- };
52
- exports.unsubscribeFromFileExistenceWatchers = unsubscribeFromFileExistenceWatchers;
53
- const unsubscribeClientFileExistenceWatchers = (clientId) => {
54
- if (!fileExistenceWatchers[clientId]) {
55
- return;
56
- }
57
- Object.values(fileExistenceWatchers[clientId]).forEach((unwatch) => {
58
- unwatch();
59
- });
60
- delete fileExistenceWatchers[clientId];
61
- };
62
- exports.unsubscribeClientFileExistenceWatchers = unsubscribeClientFileExistenceWatchers;
@@ -1,2 +0,0 @@
1
- export declare const subscribeToFileExistenceWatchers: (file: string) => void;
2
- export declare const unsubscribeToFileExistenceWatchers: (file: string) => void;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unsubscribeToFileExistenceWatchers = exports.subscribeToFileExistenceWatchers = void 0;
4
- const file_watcher_1 = require("../file-watcher");
5
- const live_events_1 = require("./live-events");
6
- const fileExistenceWatchers = {};
7
- const subscribeToFileExistenceWatchers = (file) => {
8
- fileExistenceWatchers[file] = (0, file_watcher_1.installFileWatcher)({
9
- file,
10
- onChange: (type) => {
11
- if (type === 'created') {
12
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
13
- listener.sendEventToClient({
14
- type: 'watched-file-undeleted',
15
- file,
16
- });
17
- });
18
- }
19
- if (type === 'deleted') {
20
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
21
- listener.sendEventToClient({
22
- type: 'watched-file-deleted',
23
- file,
24
- });
25
- });
26
- }
27
- },
28
- });
29
- };
30
- exports.subscribeToFileExistenceWatchers = subscribeToFileExistenceWatchers;
31
- const unsubscribeToFileExistenceWatchers = (file) => {
32
- var _a;
33
- (_a = fileExistenceWatchers[file]) === null || _a === void 0 ? void 0 : _a.call(fileExistenceWatchers);
34
- delete fileExistenceWatchers[file];
35
- };
36
- exports.unsubscribeToFileExistenceWatchers = unsubscribeToFileExistenceWatchers;
@@ -1,2 +0,0 @@
1
- import type { StaticFile } from 'remotion';
2
- export declare const getFilesInPublicFolder: (publicFolder: string) => StaticFile[];
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFilesInPublicFolder = void 0;
4
- const getFilesInPublicFolder = (publicFolder) => {
5
- return readRecursively({ folder: '.', startPath: publicFolder });
6
- };
7
- exports.getFilesInPublicFolder = getFilesInPublicFolder;
@@ -1,9 +0,0 @@
1
- import type { IncomingMessage, ServerResponse } from 'http';
2
- import type { ApiHandler } from './api-types';
3
- export declare const handleRequest: <Req, Res>({ remotionRoot, request, response, entryPoint, handler, }: {
4
- remotionRoot: string;
5
- request: IncomingMessage;
6
- response: ServerResponse;
7
- entryPoint: string;
8
- handler: ApiHandler<Req, Res>;
9
- }) => Promise<void>;
@@ -1,34 +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, }) => {
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
- });
22
- response.end(JSON.stringify({
23
- success: true,
24
- data: outputData,
25
- }));
26
- }
27
- catch (err) {
28
- response.end(JSON.stringify({
29
- success: false,
30
- error: err.message,
31
- }));
32
- }
33
- };
34
- exports.handleRequest = handleRequest;
File without changes
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,2 +0,0 @@
1
- import type { IncomingMessage } from 'http';
2
- export declare const parseRequestBody: (req: IncomingMessage) => Promise<unknown>;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseRequestBody = void 0;
4
- const parseRequestBody = async (req) => {
5
- const body = await new Promise((_resolve) => {
6
- let data = '';
7
- req.on('data', (chunk) => {
8
- data += chunk;
9
- });
10
- req.on('end', () => {
11
- _resolve(data.toString());
12
- });
13
- });
14
- return JSON.parse(body);
15
- };
16
- exports.parseRequestBody = parseRequestBody;
@@ -1,3 +0,0 @@
1
- import type { ApiHandler } from '../api-types';
2
- import type { AddRenderRequest } from './job';
3
- export declare const handleAddRender: ApiHandler<AddRenderRequest, undefined>;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.handleAddRender = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const queue_1 = require("./queue");
9
- const handleAddRender = ({ input, entryPoint, remotionRoot, }) => {
10
- if (input.type !== 'still') {
11
- // TODO support composition rendering
12
- throw new Error('Only still images are supported for now');
13
- }
14
- (0, queue_1.addJob)({
15
- job: {
16
- compositionId: input.compositionId,
17
- id: String(Math.random()).replace('0.', ''),
18
- startedAt: Date.now(),
19
- type: 'still',
20
- outputLocation: path_1.default.resolve(remotionRoot, input.outName),
21
- status: 'idle',
22
- imageFormat: input.imageFormat,
23
- quality: input.quality,
24
- frame: input.frame,
25
- scale: input.scale,
26
- cleanup: [],
27
- deletedOutputLocation: false,
28
- },
29
- entryPoint,
30
- remotionRoot,
31
- });
32
- return Promise.resolve(undefined);
33
- };
34
- exports.handleAddRender = handleAddRender;
@@ -1,18 +0,0 @@
1
- import type { RenderJob } from './job';
2
- export declare const getRenderQueue: () => RenderJob[];
3
- export declare const notifyClientsOfJobUpdate: () => void;
4
- export declare const processJob: ({ job, remotionRoot, entryPoint, }: {
5
- job: RenderJob;
6
- remotionRoot: string;
7
- entryPoint: string;
8
- }) => Promise<never>;
9
- export declare const addJob: ({ job, entryPoint, remotionRoot, }: {
10
- job: RenderJob;
11
- entryPoint: string;
12
- remotionRoot: string;
13
- }) => void;
14
- export declare const removeJob: (jobId: string) => void;
15
- export declare const processJobIfPossible: ({ remotionRoot, entryPoint, }: {
16
- remotionRoot: string;
17
- entryPoint: string;
18
- }) => Promise<void>;
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processJobIfPossible = exports.removeJob = exports.addJob = exports.processJob = exports.notifyClientsOfJobUpdate = exports.getRenderQueue = void 0;
4
- const renderer_1 = require("@remotion/renderer");
5
- const config_1 = require("../../config");
6
- const get_cli_options_1 = require("../../get-cli-options");
7
- const setup_cache_1 = require("../../setup-cache");
8
- const live_events_1 = require("../live-events");
9
- let jobQueue = [];
10
- const updateJob = (id, updater) => {
11
- jobQueue = jobQueue.map((j) => {
12
- if (id === j.id) {
13
- return updater(j);
14
- }
15
- return j;
16
- });
17
- (0, exports.notifyClientsOfJobUpdate)();
18
- };
19
- const getRenderQueue = () => {
20
- return jobQueue;
21
- };
22
- exports.getRenderQueue = getRenderQueue;
23
- const notifyClientsOfJobUpdate = () => {
24
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
25
- listener.sendEventToClient({
26
- type: 'render-queue-updated',
27
- queue: jobQueue,
28
- });
29
- });
30
- };
31
- exports.notifyClientsOfJobUpdate = notifyClientsOfJobUpdate;
32
- const processJob = async ({ job, remotionRoot, entryPoint, }) => {
33
- if (job.type === 'still') {
34
- const { publicDir, browserExecutable, ffmpegExecutable, ffprobeExecutable, chromiumOptions, envVariables, inputProps, port, scale, browser, puppeteerTimeout, } = await (0, get_cli_options_1.getCliOptions)({
35
- isLambda: false,
36
- type: 'get-compositions',
37
- remotionRoot,
38
- });
39
- const browserInstance = (0, renderer_1.openBrowser)(browser, {
40
- browserExecutable,
41
- chromiumOptions,
42
- shouldDumpIo: renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'verbose'),
43
- forceDeviceScaleFactor: scale,
44
- });
45
- const serveUrl = await (0, setup_cache_1.bundleOnCli)({
46
- fullPath: entryPoint,
47
- publicDir,
48
- remotionRoot,
49
- steps: ['bundling'],
50
- });
51
- const compositions = await (0, renderer_1.getCompositions)(serveUrl, {
52
- browserExecutable,
53
- chromiumOptions,
54
- envVariables,
55
- ffmpegExecutable,
56
- ffprobeExecutable,
57
- inputProps,
58
- port,
59
- puppeteerInstance: await browserInstance,
60
- timeoutInMilliseconds: puppeteerTimeout,
61
- });
62
- const composition = compositions.find((c) => {
63
- return c.id === job.compositionId;
64
- });
65
- if (!composition) {
66
- throw new TypeError(`Composition ${job.compositionId} not found`);
67
- }
68
- await (0, renderer_1.renderStill)({
69
- composition,
70
- output: job.outputLocation,
71
- serveUrl,
72
- browserExecutable,
73
- chromiumOptions,
74
- envVariables,
75
- ffmpegExecutable,
76
- ffprobeExecutable,
77
- scale,
78
- timeoutInMilliseconds: puppeteerTimeout,
79
- // TODO: Write download progress to CLI
80
- overwrite: false,
81
- // TODO: Allow user to overwrite file
82
- port,
83
- inputProps,
84
- puppeteerInstance: await browserInstance,
85
- // TODO: Allow to specify quality
86
- // TODO: Allow to customize image format
87
- imageFormat: 'png',
88
- // TODO: Allow specific frame
89
- // TODO: Allow cancel signal
90
- // TODO: Accept CLI options
91
- });
92
- }
93
- throw new TypeError(`Could not process job of type ${job.type}`);
94
- };
95
- exports.processJob = processJob;
96
- const addJob = ({ job, entryPoint, remotionRoot, }) => {
97
- jobQueue.push(job);
98
- (0, exports.processJobIfPossible)({ entryPoint, remotionRoot });
99
- (0, exports.notifyClientsOfJobUpdate)();
100
- };
101
- exports.addJob = addJob;
102
- const removeJob = (jobId) => {
103
- jobQueue = jobQueue.filter((job) => job.id !== jobId);
104
- (0, exports.notifyClientsOfJobUpdate)();
105
- };
106
- exports.removeJob = removeJob;
107
- const processJobIfPossible = async ({ remotionRoot, entryPoint, }) => {
108
- const nextJob = jobQueue.find((q) => {
109
- return q.status === 'idle';
110
- });
111
- if (!nextJob) {
112
- return;
113
- }
114
- try {
115
- updateJob(nextJob.id, (job) => {
116
- return {
117
- ...job,
118
- status: 'running',
119
- };
120
- });
121
- await (0, exports.processJob)({ job: nextJob, entryPoint, remotionRoot });
122
- updateJob(nextJob.id, (job) => {
123
- return {
124
- ...job,
125
- status: 'done',
126
- };
127
- });
128
- }
129
- catch (err) {
130
- updateJob(nextJob.id, (job) => {
131
- return {
132
- ...job,
133
- status: 'failed',
134
- error: err,
135
- };
136
- });
137
- (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
138
- listener.sendEventToClient({
139
- type: 'render-job-failed',
140
- compositionId: nextJob.compositionId,
141
- error: err,
142
- });
143
- });
144
- }
145
- };
146
- exports.processJobIfPossible = processJobIfPossible;