@remotion/cli 3.3.25 → 3.3.27

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 (130) hide show
  1. package/dist/config/log.d.ts +1 -1
  2. package/dist/editor/components/NewComposition/RemInput.d.ts +3 -1
  3. package/dist/editor/helpers/colors.d.ts +1 -1
  4. package/dist/event-source-events.d.ts +4 -0
  5. package/dist/event-source.js +3 -0
  6. package/dist/get-cli-options.d.ts +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/preview-server/dev-middleware/range-parser.d.ts +1 -1
  9. package/dist/preview-server/public-folder.d.ts +8 -3
  10. package/dist/preview-server/public-folder.js +26 -10
  11. package/dist/preview-server/routes.d.ts +2 -2
  12. package/dist/preview-server/routes.js +6 -5
  13. package/dist/preview-server/start-server.d.ts +6 -1
  14. package/dist/preview-server/start-server.js +6 -9
  15. package/dist/preview.js +29 -2
  16. package/package.json +9 -9
  17. package/dist/convert-entry-point-to-serve-url.d.ts +0 -1
  18. package/dist/convert-entry-point-to-serve-url.js +0 -15
  19. package/dist/editor/components/CollapsableOptions.d.ts +0 -6
  20. package/dist/editor/components/CollapsableOptions.js +0 -35
  21. package/dist/editor/components/InlineAction.d.ts +0 -5
  22. package/dist/editor/components/InlineAction.js +0 -34
  23. package/dist/editor/components/RenderButton.d.ts +0 -6
  24. package/dist/editor/components/RenderButton.js +0 -43
  25. package/dist/editor/components/RenderModal/RenderErrorModal.d.ts +0 -5
  26. package/dist/editor/components/RenderModal/RenderErrorModal.js +0 -64
  27. package/dist/editor/components/RenderModal/RenderModal.d.ts +0 -11
  28. package/dist/editor/components/RenderModal/RenderModal.js +0 -262
  29. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +0 -5
  30. package/dist/editor/components/RenderQueue/CircularProgress.js +0 -18
  31. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +0 -5
  32. package/dist/editor/components/RenderQueue/RenderQueueError.js +0 -26
  33. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +0 -5
  34. package/dist/editor/components/RenderQueue/RenderQueueItem.js +0 -38
  35. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +0 -5
  36. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +0 -27
  37. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +0 -5
  38. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +0 -30
  39. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +0 -5
  40. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +0 -27
  41. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +0 -5
  42. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +0 -22
  43. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +0 -5
  44. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +0 -22
  45. package/dist/editor/components/RenderQueue/actions.d.ts +0 -32
  46. package/dist/editor/components/RenderQueue/actions.js +0 -75
  47. package/dist/editor/components/RenderQueue/context.d.ts +0 -19
  48. package/dist/editor/components/RenderQueue/context.js +0 -54
  49. package/dist/editor/components/RenderQueue/index.d.ts +0 -2
  50. package/dist/editor/components/RenderQueue/index.js +0 -18
  51. package/dist/editor/components/RenderQueue/item-style.d.ts +0 -2
  52. package/dist/editor/components/RenderQueue/item-style.js +0 -21
  53. package/dist/editor/components/RenderToolbarIcon.d.ts +0 -2
  54. package/dist/editor/components/RenderToolbarIcon.js +0 -47
  55. package/dist/editor/components/RendersTab.d.ts +0 -6
  56. package/dist/editor/components/RendersTab.js +0 -44
  57. package/dist/editor/components/SegmentedControl.d.ts +0 -15
  58. package/dist/editor/components/SegmentedControl.js +0 -46
  59. package/dist/editor/components/SidebarContent.d.ts +0 -5
  60. package/dist/editor/components/SidebarContent.js +0 -51
  61. package/dist/editor/components/Tabs/index.d.ts +0 -11
  62. package/dist/editor/components/Tabs/index.js +0 -51
  63. package/dist/editor/helpers/use-file-existence.d.ts +0 -1
  64. package/dist/editor/helpers/use-file-existence.js +0 -57
  65. package/dist/editor/icons/RenderStillIcon.d.ts +0 -3
  66. package/dist/editor/icons/RenderStillIcon.js +0 -8
  67. package/dist/editor/icons/render.d.ts +0 -5
  68. package/dist/editor/icons/render.js +0 -8
  69. package/dist/editor/icons/video.d.ts +0 -5
  70. package/dist/editor/icons/video.js +0 -8
  71. package/dist/file-watcher.d.ts +0 -9
  72. package/dist/file-watcher.js +0 -35
  73. package/dist/find-closest-package-json.d.ts +0 -2
  74. package/dist/find-closest-package-json.js +0 -35
  75. package/dist/get-default-out-name.d.ts +0 -4
  76. package/dist/get-default-out-name.js +0 -8
  77. package/dist/preview-server/actions.d.ts +0 -0
  78. package/dist/preview-server/actions.js +0 -1
  79. package/dist/preview-server/api-routes.d.ts +0 -4
  80. package/dist/preview-server/api-routes.js +0 -15
  81. package/dist/preview-server/api-types.d.ts +0 -26
  82. package/dist/preview-server/api-types.js +0 -2
  83. package/dist/preview-server/file-existence-watchers.d.ts +0 -10
  84. package/dist/preview-server/file-existence-watchers.js +0 -46
  85. package/dist/preview-server/get-file-existence.d.ts +0 -2
  86. package/dist/preview-server/get-file-existence.js +0 -36
  87. package/dist/preview-server/get-files-in-public-folder.d.ts +0 -2
  88. package/dist/preview-server/get-files-in-public-folder.js +0 -7
  89. package/dist/preview-server/handler.d.ts +0 -9
  90. package/dist/preview-server/handler.js +0 -34
  91. package/dist/preview-server/live-event-listener.d.ts +0 -0
  92. package/dist/preview-server/live-event-listener.js +0 -1
  93. package/dist/preview-server/parse-body.d.ts +0 -2
  94. package/dist/preview-server/parse-body.js +0 -16
  95. package/dist/preview-server/render-queue/add-render.d.ts +0 -3
  96. package/dist/preview-server/render-queue/add-render.js +0 -34
  97. package/dist/preview-server/render-queue/index.d.ts +0 -18
  98. package/dist/preview-server/render-queue/index.js +0 -146
  99. package/dist/preview-server/render-queue/job.d.ts +0 -79
  100. package/dist/preview-server/render-queue/job.js +0 -2
  101. package/dist/preview-server/render-queue/make-retry-payload.d.ts +0 -3
  102. package/dist/preview-server/render-queue/make-retry-payload.js +0 -32
  103. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +0 -1
  104. package/dist/preview-server/render-queue/open-directory-in-finder.js +0 -34
  105. package/dist/preview-server/render-queue/open-in-file-explorer.d.ts +0 -2
  106. package/dist/preview-server/render-queue/open-in-file-explorer.js +0 -31
  107. package/dist/preview-server/render-queue/process-still.d.ts +0 -8
  108. package/dist/preview-server/render-queue/process-still.js +0 -50
  109. package/dist/preview-server/render-queue/process-video.d.ts +0 -8
  110. package/dist/preview-server/render-queue/process-video.js +0 -57
  111. package/dist/preview-server/render-queue/queue.d.ts +0 -20
  112. package/dist/preview-server/render-queue/queue.js +0 -169
  113. package/dist/preview-server/render-queue/remove-render.d.ts +0 -2
  114. package/dist/preview-server/render-queue/remove-render.js +0 -29
  115. package/dist/preview-server/routes/add-render.d.ts +0 -3
  116. package/dist/preview-server/routes/add-render.js +0 -52
  117. package/dist/preview-server/routes/open-in-file-explorer.d.ts +0 -3
  118. package/dist/preview-server/routes/open-in-file-explorer.js +0 -14
  119. package/dist/preview-server/routes/remove-render.d.ts +0 -3
  120. package/dist/preview-server/routes/remove-render.js +0 -9
  121. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +0 -3
  122. package/dist/preview-server/routes/subscribe-to-file-existence.js +0 -13
  123. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +0 -3
  124. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +0 -9
  125. package/dist/preview-server/write-files-definition-file.d.ts +0 -2
  126. package/dist/preview-server/write-files-definition-file.js +0 -37
  127. package/dist/render-flows/render.d.ts +0 -35
  128. package/dist/render-flows/render.js +0 -245
  129. package/dist/render-flows/still.d.ts +0 -31
  130. package/dist/render-flows/still.js +0 -168
@@ -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,10 +0,0 @@
1
- export declare const subscribeToFileExistenceWatchers: ({ file: relativeFile, remotionRoot, }: {
2
- file: string;
3
- remotionRoot: string;
4
- }) => {
5
- exists: boolean;
6
- };
7
- export declare const unsubscribeFromFileExistenceWatchers: ({ file, remotionRoot, }: {
8
- file: string;
9
- remotionRoot: string;
10
- }) => void;
@@ -1,46 +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.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, }) => {
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
- fileExistenceWatchers[file] = unwatch;
37
- return { exists };
38
- };
39
- exports.subscribeToFileExistenceWatchers = subscribeToFileExistenceWatchers;
40
- const unsubscribeFromFileExistenceWatchers = ({ file, remotionRoot, }) => {
41
- var _a;
42
- const actualPath = path_1.default.resolve(remotionRoot, file);
43
- (_a = fileExistenceWatchers[actualPath]) === null || _a === void 0 ? void 0 : _a.call(fileExistenceWatchers);
44
- delete fileExistenceWatchers[actualPath];
45
- };
46
- exports.unsubscribeFromFileExistenceWatchers = unsubscribeFromFileExistenceWatchers;
@@ -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;
@@ -1,79 +0,0 @@
1
- import type { Codec, StillImageFormat } from '@remotion/renderer';
2
- declare type RenderJobDynamicStatus = {
3
- status: 'done';
4
- } | {
5
- status: 'running';
6
- progress: number;
7
- message: string;
8
- } | {
9
- status: 'idle';
10
- } | {
11
- status: 'failed';
12
- error: {
13
- message: string;
14
- stack: string | undefined;
15
- };
16
- };
17
- export declare type JobProgressCallback = (options: {
18
- progress: number;
19
- message: string;
20
- }) => void;
21
- declare type RenderJobDynamicFields = {
22
- type: 'still';
23
- imageFormat: StillImageFormat;
24
- quality: number | null;
25
- frame: number;
26
- scale: number;
27
- } | {
28
- type: 'video';
29
- imageFormat: StillImageFormat;
30
- quality: number | null;
31
- scale: number;
32
- codec: Codec;
33
- };
34
- export declare type RenderJob = {
35
- startedAt: number;
36
- compositionId: string;
37
- id: string;
38
- outName: string;
39
- deletedOutputLocation: boolean;
40
- verbose: boolean;
41
- } & RenderJobDynamicStatus & RenderJobDynamicFields;
42
- export declare type RenderJobWithCleanup = RenderJob & {
43
- cleanup: (() => void)[];
44
- };
45
- declare type AddRenderRequestDynamicFields = {
46
- type: 'still';
47
- imageFormat: StillImageFormat;
48
- quality: number | null;
49
- frame: number;
50
- scale: number;
51
- verbose: boolean;
52
- } | {
53
- type: 'video';
54
- codec: Codec;
55
- imageFormat: StillImageFormat;
56
- quality: number | null;
57
- scale: number;
58
- verbose: boolean;
59
- };
60
- export declare type AddRenderRequest = {
61
- compositionId: string;
62
- outName: string;
63
- } & AddRenderRequestDynamicFields;
64
- export declare type RemoveRenderRequest = {
65
- jobId: string;
66
- };
67
- export declare type OpenInFileExplorerRequest = {
68
- directory: string;
69
- };
70
- export declare type SubscribeToFileExistenceRequest = {
71
- file: string;
72
- };
73
- export declare type SubscribeToFileExistenceResponse = {
74
- exists: boolean;
75
- };
76
- export declare type UnsubscribeFromFileExistenceRequest = {
77
- file: string;
78
- };
79
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +0,0 @@
1
- import type { RenderModalState } from '../../editor/state/modals';
2
- import type { RenderJob } from './job';
3
- export declare const makeRetryPayload: (job: RenderJob) => RenderModalState;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeRetryPayload = void 0;
4
- const makeRetryPayload = (job) => {
5
- if (job.type === 'still') {
6
- return {
7
- type: 'render',
8
- compositionId: job.compositionId,
9
- initialFrame: job.frame,
10
- initialImageFormat: job.imageFormat,
11
- initialQuality: job.quality,
12
- initialOutName: job.outName,
13
- initialScale: job.scale,
14
- initialVerbose: job.verbose,
15
- };
16
- }
17
- if (job.type === 'video') {
18
- // TODO: Implement correct retry mechanism for video
19
- return {
20
- type: 'render',
21
- compositionId: job.compositionId,
22
- initialImageFormat: job.imageFormat,
23
- initialQuality: job.quality,
24
- initialOutName: job.outName,
25
- initialScale: job.scale,
26
- initialVerbose: job.verbose,
27
- initialFrame: 0,
28
- };
29
- }
30
- throw new Error(`Job ${JSON.stringify(job)} Not implemented`);
31
- };
32
- exports.makeRetryPayload = makeRetryPayload;
@@ -1 +0,0 @@
1
- export declare const openDirectoryInFinder: (dirToOpen: string) => Promise<void>;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openDirectoryInFinder = void 0;
4
- const child_process_1 = require("child_process");
5
- const os_1 = require("os");
6
- const truthy_1 = require("../../truthy");
7
- const openDirectoryInFinder = (dirToOpen) => {
8
- const command = (0, os_1.platform)() === 'darwin'
9
- ? 'open'
10
- : (0, os_1.platform)() === 'linux'
11
- ? 'xdg-open'
12
- : 'start';
13
- const p = (0, child_process_1.spawn)(command, [(0, os_1.platform)() === 'darwin' ? '-R' : null, dirToOpen].filter(truthy_1.truthy));
14
- const stderrChunks = [];
15
- p.stderr.on('data', (d) => stderrChunks.push(d));
16
- return new Promise((resolve, reject) => {
17
- p.on('exit', (code) => {
18
- if (code === 0) {
19
- resolve();
20
- }
21
- else {
22
- const message = Buffer.concat(stderrChunks).toString('utf-8');
23
- reject(new Error(message));
24
- }
25
- });
26
- p.on('error', (err) => {
27
- p.kill();
28
- if (err) {
29
- reject(err);
30
- }
31
- });
32
- });
33
- };
34
- exports.openDirectoryInFinder = openDirectoryInFinder;