@remotion/cli 4.0.0-alpha6 → 4.0.0-alpha8

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 (131) hide show
  1. package/dist/benchmark.js +9 -4
  2. package/dist/chalk/index.d.ts +45 -54
  3. package/dist/chalk/index.js +2 -135
  4. package/dist/codemods/stringify-with-path.d.ts +5 -0
  5. package/dist/codemods/stringify-with-path.js +44 -0
  6. package/dist/codemods/update-default-props.d.ts +3 -1
  7. package/dist/codemods/update-default-props.js +3 -17
  8. package/dist/compositions.js +1 -0
  9. package/dist/config/log.d.ts +1 -3
  10. package/dist/config/log.js +2 -9
  11. package/dist/download-progress.d.ts +1 -1
  12. package/dist/download-progress.js +1 -5
  13. package/dist/editor/components/MenuBuildIndicator.js +20 -1
  14. package/dist/editor/components/Modals.js +1 -1
  15. package/dist/editor/components/NewComposition/ComboBox.js +2 -2
  16. package/dist/editor/components/NewComposition/MenuContent.js +1 -1
  17. package/dist/editor/components/NewComposition/RemInput.d.ts +1 -1
  18. package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +1 -1
  19. package/dist/editor/components/NewComposition/RemTextarea.d.ts +1 -1
  20. package/dist/editor/components/OpenEditorButton.d.ts +2 -0
  21. package/dist/editor/components/OpenEditorButton.js +52 -0
  22. package/dist/editor/components/RenderButton.js +5 -1
  23. package/dist/editor/components/RenderModal/CliCopyButton.js +7 -6
  24. package/dist/editor/components/RenderModal/OptionExplainer.js +1 -0
  25. package/dist/editor/components/RenderModal/RenderModal.d.ts +2 -0
  26. package/dist/editor/components/RenderModal/RenderModal.js +3 -3
  27. package/dist/editor/components/RenderModal/RenderModalData.js +55 -27
  28. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.d.ts +2 -2
  29. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +1 -1
  30. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +3 -2
  31. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +1 -1
  32. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +2 -1
  33. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +1 -1
  34. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +2 -1
  35. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +8 -8
  36. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +2 -1
  37. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +5 -5
  38. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +1 -1
  39. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.js +3 -2
  40. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +3 -2
  41. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +4 -4
  42. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +1 -1
  43. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +2 -1
  44. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +9 -6
  45. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +1 -1
  46. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +1 -1
  47. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +1 -1
  48. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +40 -7
  49. package/dist/editor/components/RenderModal/SchemaEditor/ZodStaticFileEditor.d.ts +16 -0
  50. package/dist/editor/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +73 -0
  51. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +2 -1
  52. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +5 -5
  53. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +2 -1
  54. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +4 -0
  55. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +1 -1
  56. package/dist/editor/components/RenderModal/SchemaEditor/extract-enum-json-paths.d.ts +3 -0
  57. package/dist/editor/components/RenderModal/SchemaEditor/extract-enum-json-paths.js +126 -0
  58. package/dist/editor/components/RenderModal/SchemaEditor/input-props-serialization.d.ts +14 -0
  59. package/dist/editor/components/RenderModal/SchemaEditor/input-props-serialization.js +42 -0
  60. package/dist/editor/components/RenderModal/get-render-modal-warnings.d.ts +6 -2
  61. package/dist/editor/components/RenderModal/get-render-modal-warnings.js +29 -3
  62. package/dist/editor/components/RenderQueue/actions.d.ts +2 -1
  63. package/dist/editor/components/RenderQueue/actions.js +8 -4
  64. package/dist/editor/components/SidebarRenderButton.js +2 -0
  65. package/dist/editor/components/Spinner.d.ts +4 -0
  66. package/dist/editor/components/Spinner.js +42 -0
  67. package/dist/editor/components/Timeline/TimelineSequence.js +6 -4
  68. package/dist/editor/helpers/calculate-timeline.js +1 -1
  69. package/dist/editor/state/modals.d.ts +2 -0
  70. package/dist/ffmpeg.js +6 -2
  71. package/dist/handle-common-errors.d.ts +2 -1
  72. package/dist/handle-common-errors.js +2 -2
  73. package/dist/index.d.ts +9 -5
  74. package/dist/index.js +4 -5
  75. package/dist/log.d.ts +5 -5
  76. package/dist/log.js +3 -42
  77. package/dist/parse-command-line.d.ts +1 -0
  78. package/dist/preview-server/dev-middleware/setup-hooks.js +2 -2
  79. package/dist/preview-server/render-queue/job.d.ts +2 -0
  80. package/dist/preview-server/render-queue/make-retry-payload.js +4 -0
  81. package/dist/preview-server/render-queue/queue.js +2 -1
  82. package/dist/preview-server/routes/can-update-default-props.js +1 -0
  83. package/dist/preview-server/routes/update-default-props.js +4 -3
  84. package/dist/print-error.d.ts +2 -1
  85. package/dist/print-error.js +8 -5
  86. package/dist/progress-bar.d.ts +5 -4
  87. package/dist/progress-bar.js +42 -29
  88. package/dist/render-flows/render.js +46 -19
  89. package/dist/render-flows/still.js +17 -12
  90. package/dist/setup-cache.d.ts +2 -1
  91. package/dist/setup-cache.js +8 -4
  92. package/dist/should-use-non-overlaying-logger.d.ts +4 -0
  93. package/dist/should-use-non-overlaying-logger.js +12 -0
  94. package/dist/user-passed-output-location.js +7 -2
  95. package/package.json +7 -7
  96. package/dist/ansi/ansi-regex.d.ts +0 -2
  97. package/dist/ansi/ansi-regex.js +0 -18
  98. package/dist/cloudrun-command.d.ts +0 -1
  99. package/dist/cloudrun-command.js +0 -27
  100. package/dist/config/ffmpeg-executable.d.ts +0 -5
  101. package/dist/config/ffmpeg-executable.js +0 -21
  102. package/dist/config/quality.d.ts +0 -2
  103. package/dist/config/quality.js +0 -17
  104. package/dist/editor/components/ClipboardIcon.d.ts +0 -2
  105. package/dist/editor/components/ClipboardIcon.js +0 -12
  106. package/dist/editor/components/CollapsedCompositionSelector.d.ts +0 -4
  107. package/dist/editor/components/CollapsedCompositionSelector.js +0 -39
  108. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.d.ts +0 -6
  109. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.js +0 -24
  110. package/dist/editor/components/RichTimelineToggle.d.ts +0 -2
  111. package/dist/editor/components/RichTimelineToggle.js +0 -29
  112. package/dist/editor/components/Thumbnail.d.ts +0 -8
  113. package/dist/editor/components/Thumbnail.js +0 -76
  114. package/dist/editor/helpers/use-compact-ui.d.ts +0 -1
  115. package/dist/editor/helpers/use-compact-ui.js +0 -18
  116. package/dist/editor/icons/film.d.ts +0 -3
  117. package/dist/editor/icons/film.js +0 -8
  118. package/dist/editor/icons/timeline.d.ts +0 -3
  119. package/dist/editor/icons/timeline.js +0 -9
  120. package/dist/editor/state/rich-timeline.d.ts +0 -9
  121. package/dist/editor/state/rich-timeline.js +0 -17
  122. package/dist/get-render-media-options.d.ts +0 -8
  123. package/dist/get-render-media-options.js +0 -55
  124. package/dist/install.d.ts +0 -2
  125. package/dist/install.js +0 -36
  126. package/dist/is-javascript.d.ts +0 -2
  127. package/dist/is-javascript.js +0 -9
  128. package/dist/preview-server/dev-middleware/is-color-supported.d.ts +0 -1
  129. package/dist/preview-server/dev-middleware/is-color-supported.js +0 -37
  130. package/dist/preview-server/hot-middleware/strip-ansi.d.ts +0 -1
  131. package/dist/preview-server/hot-middleware/strip-ansi.js +0 -21
@@ -36,6 +36,8 @@ export declare type RenderModalState = {
36
36
  minConcurrency: number;
37
37
  maxConcurrency: number;
38
38
  defaultProps: unknown;
39
+ inFrameMark: number | null;
40
+ outFrameMark: number | null;
39
41
  };
40
42
  export declare type ModalState = {
41
43
  type: 'new-comp';
package/dist/ffmpeg.js CHANGED
@@ -6,7 +6,9 @@ const node_child_process_1 = require("node:child_process");
6
6
  const node_fs_1 = require("node:fs");
7
7
  const ffmpegCommand = (_root, args) => {
8
8
  const binary = renderer_1.RenderInternals.getExecutablePath('ffmpeg');
9
- (0, node_fs_1.chmodSync)(binary, 0o755);
9
+ if (!process.env.READ_ONLY_FS) {
10
+ (0, node_fs_1.chmodSync)(binary, 0o755);
11
+ }
10
12
  const done = (0, node_child_process_1.spawnSync)(binary, args, {
11
13
  ...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
12
14
  stdio: 'inherit',
@@ -16,7 +18,9 @@ const ffmpegCommand = (_root, args) => {
16
18
  exports.ffmpegCommand = ffmpegCommand;
17
19
  const ffprobeCommand = (_root, args) => {
18
20
  const binary = renderer_1.RenderInternals.getExecutablePath('ffprobe');
19
- (0, node_fs_1.chmodSync)(binary, 0o755);
21
+ if (!process.env.READ_ONLY_FS) {
22
+ (0, node_fs_1.chmodSync)(binary, 0o755);
23
+ }
20
24
  const done = (0, node_child_process_1.spawnSync)(binary, args, {
21
25
  ...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
22
26
  stdio: 'inherit',
@@ -1 +1,2 @@
1
- export declare const handleCommonError: (err: Error) => Promise<void>;
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const handleCommonError: (err: Error, logLevel: LogLevel) => Promise<void>;
@@ -5,9 +5,9 @@ const chalk_1 = require("./chalk");
5
5
  const log_1 = require("./log");
6
6
  const print_error_1 = require("./print-error");
7
7
  const truthy_1 = require("./truthy");
8
- const handleCommonError = async (err) => {
8
+ const handleCommonError = async (err, logLevel) => {
9
9
  var _a;
10
- await (0, print_error_1.printError)(err);
10
+ await (0, print_error_1.printError)(err, logLevel);
11
11
  if (err.message.includes('Could not play video with')) {
12
12
  log_1.Log.info();
13
13
  log_1.Log.info('💡 Get help for this issue at https://remotion.dev/docs/media-playback-error');
package/dist/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export declare const CliInternals: {
5
5
  createOverwriteableCliOutput: (options: {
6
6
  quiet: boolean;
7
7
  cancelSignal: import("@remotion/renderer").CancelSignal | null;
8
+ updatesDontOverwrite: boolean;
9
+ indent: boolean;
8
10
  }) => import("./progress-bar").OverwriteableCliOutput;
9
11
  chalk: {
10
12
  enabled: boolean;
@@ -31,7 +33,6 @@ export declare const CliInternals: {
31
33
  yellow: (str: string) => string;
32
34
  blue: (str: string) => string;
33
35
  magenta: (str: string) => string;
34
- cyan: (str: string) => string;
35
36
  white: (str: string) => string;
36
37
  gray: (str: string) => string;
37
38
  bgBlack: (str: string) => string;
@@ -40,7 +41,6 @@ export declare const CliInternals: {
40
41
  bgYellow: (str: string) => string;
41
42
  bgBlue: (str: string) => string;
42
43
  bgMagenta: (str: string) => string;
43
- bgCyan: (str: string) => string;
44
44
  bgWhite: (str: string) => string;
45
45
  blackBright: (str: string) => string;
46
46
  redBright: (str: string) => string;
@@ -48,7 +48,6 @@ export declare const CliInternals: {
48
48
  yellowBright: (str: string) => string;
49
49
  blueBright: (str: string) => string;
50
50
  magentaBright: (str: string) => string;
51
- cyanBright: (str: string) => string;
52
51
  whiteBright: (str: string) => string;
53
52
  bgBlackBright: (str: string) => string;
54
53
  bgRedBright: (str: string) => string;
@@ -56,7 +55,6 @@ export declare const CliInternals: {
56
55
  bgYellowBright: (str: string) => string;
57
56
  bgBlueBright: (str: string) => string;
58
57
  bgMagentaBright: (str: string) => string;
59
- bgCyanBright: (str: string) => string;
60
58
  bgWhiteBright: (str: string) => string;
61
59
  };
62
60
  makeProgressBar: (percentage: number) => string;
@@ -65,6 +63,8 @@ export declare const CliInternals: {
65
63
  verboseAdvanced: (options: {
66
64
  indent: boolean;
67
65
  logLevel: "verbose" | "info" | "warn" | "error";
66
+ } & {
67
+ tag?: string | undefined;
68
68
  }, message?: any, ...optionalParams: any[]) => void;
69
69
  info: (message?: any, ...optionalParams: any[]) => void;
70
70
  infoAdvanced: (options: {
@@ -139,6 +139,7 @@ export declare const CliInternals: {
139
139
  "audio-codec": "mp3" | "aac" | "pcm-16" | "opus";
140
140
  crf: number;
141
141
  force: boolean;
142
+ output: string;
142
143
  overwrite: boolean;
143
144
  png: boolean;
144
145
  props: string;
@@ -171,7 +172,7 @@ export declare const CliInternals: {
171
172
  } & {
172
173
  _: string[];
173
174
  };
174
- handleCommonError: (err: Error) => Promise<void>;
175
+ handleCommonError: (err: Error, logLevel: "verbose" | "info" | "warn" | "error") => Promise<void>;
175
176
  formatBytes: (number: number, options?: Intl.NumberFormatOptions & {
176
177
  locale: string;
177
178
  bits?: boolean | undefined;
@@ -216,4 +217,7 @@ export declare const CliInternals: {
216
217
  reason: string;
217
218
  };
218
219
  listOfRemotionPackages: string[];
220
+ shouldUseNonOverlayingLogger: ({ logLevel, }: {
221
+ logLevel: "verbose" | "info" | "warn" | "error";
222
+ }) => boolean;
219
223
  };
package/dist/index.js CHANGED
@@ -23,8 +23,8 @@ const minimist_1 = __importDefault(require("minimist"));
23
23
  const benchmark_1 = require("./benchmark");
24
24
  const chalk_1 = require("./chalk");
25
25
  const cleanup_before_quit_1 = require("./cleanup-before-quit");
26
- const cloudrun_command_1 = require("./cloudrun-command");
27
26
  const compositions_1 = require("./compositions");
27
+ const config_1 = require("./config");
28
28
  const determine_image_format_1 = require("./determine-image-format");
29
29
  const download_progress_1 = require("./download-progress");
30
30
  const entry_point_1 = require("./entry-point");
@@ -47,6 +47,7 @@ const print_help_1 = require("./print-help");
47
47
  const progress_bar_1 = require("./progress-bar");
48
48
  const render_1 = require("./render");
49
49
  const select_composition_1 = require("./select-composition");
50
+ const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
50
51
  const still_1 = require("./still");
51
52
  const upgrade_1 = require("./upgrade");
52
53
  const versions_1 = require("./versions");
@@ -73,9 +74,6 @@ const cli = async () => {
73
74
  else if (command === 'lambda') {
74
75
  await (0, lambda_command_1.lambdaCommand)(remotionRoot, args);
75
76
  }
76
- else if (command === 'cloudrun') {
77
- await (0, cloudrun_command_1.cloudrunCommand)(remotionRoot, args);
78
- }
79
77
  else if (command === 'render') {
80
78
  await (0, render_1.render)(remotionRoot, args);
81
79
  }
@@ -111,7 +109,7 @@ const cli = async () => {
111
109
  }
112
110
  catch (err) {
113
111
  log_1.Log.info();
114
- await (0, handle_common_errors_1.handleCommonError)(err);
112
+ await (0, handle_common_errors_1.handleCommonError)(err, config_1.ConfigInternals.Logging.getLogLevel());
115
113
  (0, cleanup_before_quit_1.cleanupBeforeQuit)();
116
114
  process.exit(1);
117
115
  }
@@ -144,4 +142,5 @@ exports.CliInternals = {
144
142
  printCompositions: print_compositions_1.printCompositions,
145
143
  getFinalOutputCodec: get_final_output_codec_1.getFinalOutputCodec,
146
144
  listOfRemotionPackages: list_of_remotion_packages_1.listOfRemotionPackages,
145
+ shouldUseNonOverlayingLogger: should_use_non_overlaying_logger_1.shouldUseNonOverlayingLogger,
147
146
  };
package/dist/log.d.ts CHANGED
@@ -1,20 +1,20 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
- export declare const INDENT_TOKEN: string;
3
1
  export declare const Log: {
4
2
  verbose: (message?: any, ...optionalParams: any[]) => void;
5
3
  verboseAdvanced: (options: {
6
4
  indent: boolean;
7
- logLevel: LogLevel;
5
+ logLevel: "verbose" | "info" | "warn" | "error";
6
+ } & {
7
+ tag?: string | undefined;
8
8
  }, message?: any, ...optionalParams: any[]) => void;
9
9
  info: (message?: any, ...optionalParams: any[]) => void;
10
10
  infoAdvanced: (options: {
11
11
  indent: boolean;
12
- logLevel: LogLevel;
12
+ logLevel: "verbose" | "info" | "warn" | "error";
13
13
  }, message?: any, ...optionalParams: any[]) => void;
14
14
  warn: (message?: any, ...optionalParams: any[]) => void;
15
15
  warnAdvanced: (options: {
16
16
  indent: boolean;
17
- logLevel: LogLevel;
17
+ logLevel: "verbose" | "info" | "warn" | "error";
18
18
  }, message?: any, ...optionalParams: any[]) => void;
19
19
  error: (message?: any, ...optionalParams: any[]) => void;
20
20
  };
package/dist/log.js CHANGED
@@ -1,45 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Log = exports.INDENT_TOKEN = void 0;
3
+ exports.Log = void 0;
4
+ /* eslint-disable no-console */
4
5
  const renderer_1 = require("@remotion/renderer");
5
- const chalk_1 = require("./chalk");
6
- const config_1 = require("./config");
7
- const truthy_1 = require("./truthy");
8
- exports.INDENT_TOKEN = chalk_1.chalk.gray('│');
9
- exports.Log = {
10
- verbose: (...args) => {
11
- exports.Log.verboseAdvanced({ indent: false, logLevel: config_1.ConfigInternals.Logging.getLogLevel() }, ...args);
12
- },
13
- verboseAdvanced: (options, ...args) => {
14
- if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(options.logLevel, 'verbose')) {
15
- return console.log(...[
16
- options.indent ? exports.INDENT_TOKEN : null,
17
- ...args.map((a) => chalk_1.chalk.blueBright(a)),
18
- ].filter(truthy_1.truthy));
19
- }
20
- },
21
- info: (...args) => {
22
- exports.Log.infoAdvanced({ indent: false, logLevel: config_1.ConfigInternals.Logging.getLogLevel() }, ...args);
23
- },
24
- infoAdvanced: (options, ...args) => {
25
- if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(options.logLevel, 'info')) {
26
- return console.log(...[options.indent ? exports.INDENT_TOKEN : null, ...args].filter(truthy_1.truthy));
27
- }
28
- },
29
- warn: (...args) => {
30
- exports.Log.warnAdvanced({ indent: false, logLevel: config_1.ConfigInternals.Logging.getLogLevel() }, ...args);
31
- },
32
- warnAdvanced: (options, ...args) => {
33
- if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(options.logLevel, 'warn')) {
34
- return console.warn(...[
35
- options.indent ? chalk_1.chalk.yellow(exports.INDENT_TOKEN) : null,
36
- ...args.map((a) => chalk_1.chalk.yellow(a)),
37
- ].filter(truthy_1.truthy));
38
- }
39
- },
40
- error: (...args) => {
41
- if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'error')) {
42
- return console.error(...args.map((a) => chalk_1.chalk.red(a)));
43
- }
44
- },
45
- };
6
+ exports.Log = renderer_1.RenderInternals.Log;
@@ -21,6 +21,7 @@ declare type CommandLineOptions = {
21
21
  ['audio-codec']: AudioCodec;
22
22
  crf: number;
23
23
  force: boolean;
24
+ output: string;
24
25
  overwrite: boolean;
25
26
  png: boolean;
26
27
  props: string;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setupHooks = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
4
5
  const log_1 = require("../../log");
5
6
  const truthy_1 = require("../../truthy");
6
- const is_color_supported_1 = require("./is-color-supported");
7
7
  function setupHooks(context) {
8
8
  function invalid() {
9
9
  // We are now in invalid state
@@ -23,7 +23,7 @@ function setupHooks(context) {
23
23
  logger.log('Compilation finished');
24
24
  const statsOptions = {
25
25
  preset: 'errors-warnings',
26
- colors: is_color_supported_1.isColorSupported,
26
+ colors: renderer_1.RenderInternals.isColorSupported,
27
27
  };
28
28
  const printedStats = stats.toString(statsOptions);
29
29
  const lines = printedStats
@@ -1,4 +1,5 @@
1
1
  import type { AudioCodec, Codec, makeCancelSignal, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
+ import type { EnumPath } from '../../editor/components/RenderModal/SchemaEditor/extract-enum-json-paths';
2
3
  import type { AggregateRenderProgress } from '../../progress-types';
3
4
  import type { RequiredChromiumOptions } from '../../required-chromium-options';
4
5
  declare type BaseRenderProgress = {
@@ -125,6 +126,7 @@ export declare type UnsubscribeFromFileExistenceRequest = {
125
126
  export declare type UpdateDefaultPropsRequest = {
126
127
  compositionId: string;
127
128
  defaultProps: string;
129
+ enumPaths: EnumPath[];
128
130
  };
129
131
  export declare type CanUpdateDefaultPropsRequest = {
130
132
  compositionId: string;
@@ -45,6 +45,8 @@ const makeRetryPayload = (job) => {
45
45
  initialHeadless: job.chromiumOptions.headless,
46
46
  initialIgnoreCertificateErrors: job.chromiumOptions.ignoreCertificateErrors,
47
47
  defaultProps: job.inputProps,
48
+ inFrameMark: null,
49
+ outFrameMark: null,
48
50
  };
49
51
  }
50
52
  if (job.type === 'video') {
@@ -84,6 +86,8 @@ const makeRetryPayload = (job) => {
84
86
  initialHeadless: job.chromiumOptions.headless,
85
87
  initialIgnoreCertificateErrors: job.chromiumOptions.ignoreCertificateErrors,
86
88
  defaultProps: job.inputProps,
89
+ inFrameMark: job.startFrame,
90
+ outFrameMark: job.endFrame,
87
91
  };
88
92
  }
89
93
  throw new Error(`Job ${JSON.stringify(job)} Not implemented`);
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.cancelJob = exports.removeJob = exports.addJob = exports.getRenderQueue = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
8
  const chalk_1 = require("../../chalk");
9
+ const config_1 = require("../../config");
9
10
  const file_watcher_1 = require("../../file-watcher");
10
11
  const handle_common_errors_1 = require("../../handle-common-errors");
11
12
  const log_1 = require("../../log");
@@ -196,7 +197,7 @@ const processJobIfPossible = async ({ remotionRoot, entryPoint, }) => {
196
197
  },
197
198
  };
198
199
  });
199
- await (0, handle_common_errors_1.handleCommonError)(err);
200
+ await (0, handle_common_errors_1.handleCommonError)(err, config_1.ConfigInternals.Logging.getLogLevel());
200
201
  (0, live_events_1.waitForLiveEventsListener)().then((listener) => {
201
202
  listener.sendEventToClient({
202
203
  type: 'render-job-failed',
@@ -24,6 +24,7 @@ const canUpdateDefaultPropsHandler = async ({ input: { compositionId }, remotion
24
24
  compositionId,
25
25
  input: (0, node_fs_1.readFileSync)(projectInfo.videoFile, 'utf-8'),
26
26
  newDefaultProps: {},
27
+ enumPaths: [],
27
28
  });
28
29
  return {
29
30
  canUpdate: true,
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateDefaultPropsHandler = void 0;
4
4
  const node_fs_1 = require("node:fs");
5
5
  const update_default_props_1 = require("../../codemods/update-default-props");
6
- const date_serialization_1 = require("../../editor/components/RenderModal/SchemaEditor/date-serialization");
6
+ const input_props_serialization_1 = require("../../editor/components/RenderModal/SchemaEditor/input-props-serialization");
7
7
  const project_info_1 = require("../project-info");
8
8
  const can_update_default_props_1 = require("./can-update-default-props");
9
- const updateDefaultPropsHandler = async ({ input: { compositionId, defaultProps }, remotionRoot }) => {
9
+ const updateDefaultPropsHandler = async ({ input: { compositionId, defaultProps, enumPaths }, remotionRoot }) => {
10
10
  const projectInfo = await (0, project_info_1.getProjectInfo)(remotionRoot);
11
11
  // TODO: What happens if this error is thrown? Handle in frontend
12
12
  if (!projectInfo.videoFile) {
@@ -17,7 +17,8 @@ const updateDefaultPropsHandler = async ({ input: { compositionId, defaultProps
17
17
  const updated = await (0, update_default_props_1.updateDefaultProps)({
18
18
  compositionId,
19
19
  input: (0, node_fs_1.readFileSync)(projectInfo.videoFile, 'utf-8'),
20
- newDefaultProps: (0, date_serialization_1.deserializeJSONWithDate)(defaultProps),
20
+ newDefaultProps: (0, input_props_serialization_1.deserializeJSONWithCustomFields)(defaultProps),
21
+ enumPaths,
21
22
  });
22
23
  (0, node_fs_1.writeFileSync)(projectInfo.videoFile, updated);
23
24
  };
@@ -1 +1,2 @@
1
- export declare const printError: (err: Error) => Promise<void>;
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const printError: (err: Error, logLevel: LogLevel) => Promise<void>;
@@ -6,25 +6,28 @@ const chalk_1 = require("./chalk");
6
6
  const code_frame_1 = require("./code-frame");
7
7
  const log_1 = require("./log");
8
8
  const progress_bar_1 = require("./progress-bar");
9
- const printError = async (err) => {
9
+ const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
10
+ const printError = async (err, logLevel) => {
10
11
  if (err instanceof renderer_1.RenderInternals.SymbolicateableError) {
11
12
  const output = (0, progress_bar_1.createOverwriteableCliOutput)({
12
13
  quiet: false,
13
14
  cancelSignal: null,
15
+ updatesDontOverwrite: (0, should_use_non_overlaying_logger_1.shouldUseNonOverlayingLogger)({ logLevel }),
16
+ indent: false,
14
17
  });
15
- output.update(chalk_1.chalk.red('Symbolicating minified error message...\n' + err.message));
18
+ output.update(chalk_1.chalk.red('Symbolicating minified error message...\n' + err.message), false);
16
19
  try {
17
20
  const symbolicated = await renderer_1.RenderInternals.symbolicateError(err);
18
21
  if (symbolicated.frame === null) {
19
- output.update(chalk_1.chalk.red('An error occurred:\n'));
22
+ output.update(chalk_1.chalk.red('An error occurred:'), true);
20
23
  }
21
24
  else {
22
- output.update(chalk_1.chalk.red(`An error occurred while rendering frame ${err.frame}:\n`));
25
+ output.update(chalk_1.chalk.red(`An error occurred while rendering frame ${err.frame}:`), true);
23
26
  }
24
27
  (0, code_frame_1.printCodeFrameAndStack)(symbolicated);
25
28
  }
26
29
  catch (e) {
27
- output.update(chalk_1.chalk.red('(Error occurred symbolicating stack trace - printing minified stack trace)\n'));
30
+ output.update(chalk_1.chalk.red('(Error occurred symbolicating stack trace - printing minified stack trace)'), true);
28
31
  log_1.Log.error();
29
32
  log_1.Log.error(err.stack || err);
30
33
  }
@@ -1,11 +1,13 @@
1
1
  import type { CancelSignal } from '@remotion/renderer';
2
2
  import type { AggregateRenderProgress } from './progress-types';
3
3
  export declare type OverwriteableCliOutput = {
4
- update: (up: string) => boolean;
4
+ update: (up: string, newline: boolean) => boolean;
5
5
  };
6
6
  export declare const createOverwriteableCliOutput: (options: {
7
7
  quiet: boolean;
8
8
  cancelSignal: CancelSignal | null;
9
+ updatesDontOverwrite: boolean;
10
+ indent: boolean;
9
11
  }) => OverwriteableCliOutput;
10
12
  export declare type CopyingState = {
11
13
  bytes: number;
@@ -22,10 +24,9 @@ export declare const makeBundlingAndCopyProgress: ({ bundling, copying, symLinks
22
24
  bundling: BundlingState;
23
25
  copying: CopyingState;
24
26
  symLinks: SymbolicLinksState;
25
- }, indent: boolean, bundlingStep: number, steps: number) => string;
26
- export declare const makeRenderingAndStitchingProgress: ({ prog, indent, steps, stitchingStep, }: {
27
+ }, bundlingStep: number, steps: number) => string;
28
+ export declare const makeRenderingAndStitchingProgress: ({ prog, steps, stitchingStep, }: {
27
29
  prog: AggregateRenderProgress;
28
- indent: boolean;
29
30
  steps: number;
30
31
  stitchingStep: number;
31
32
  }) => {
@@ -5,7 +5,6 @@ const renderer_1 = require("@remotion/renderer");
5
5
  const ansi_diff_1 = require("./ansi/ansi-diff");
6
6
  const chalk_1 = require("./chalk");
7
7
  const download_progress_1 = require("./download-progress");
8
- const log_1 = require("./log");
9
8
  const make_progress_bar_1 = require("./make-progress-bar");
10
9
  const truthy_1 = require("./truthy");
11
10
  const createOverwriteableCliOutput = (options) => {
@@ -15,19 +14,46 @@ const createOverwriteableCliOutput = (options) => {
15
14
  update: () => false,
16
15
  };
17
16
  }
17
+ if (options.updatesDontOverwrite) {
18
+ return {
19
+ update: (up) => {
20
+ if (options.indent) {
21
+ process.stdout.write(up
22
+ .split('\n')
23
+ .filter((a) => a.trim())
24
+ .map((l) => {
25
+ return `${renderer_1.RenderInternals.INDENT_TOKEN} ${l}`;
26
+ })
27
+ .join('\n'));
28
+ }
29
+ else {
30
+ process.stdout.write(up + '\n');
31
+ }
32
+ return true;
33
+ },
34
+ };
35
+ }
18
36
  const diff = new ansi_diff_1.AnsiDiff();
19
37
  (_a = options.cancelSignal) === null || _a === void 0 ? void 0 : _a.call(options, () => {
20
38
  process.stdout.write(diff.finish());
21
39
  });
22
40
  return {
23
- update: (up) => process.stdout.write(diff.update(up)),
41
+ update: (up, newline) => {
42
+ if (options.indent) {
43
+ return process.stdout.write(diff.update(up
44
+ .split('\n')
45
+ .filter((a) => a.trim())
46
+ .map((l) => `${renderer_1.RenderInternals.INDENT_TOKEN} ${l}`)
47
+ .join('\n') + (newline ? '\n' : '')));
48
+ }
49
+ return process.stdout.write(diff.update(up + (newline ? '\n' : '')));
50
+ },
24
51
  };
25
52
  };
26
53
  exports.createOverwriteableCliOutput = createOverwriteableCliOutput;
27
- const makeBundlingProgress = ({ bundlingState, indent, bundlingStep, steps, }) => {
54
+ const makeBundlingProgress = ({ bundlingState, bundlingStep, steps, }) => {
28
55
  const { doneIn, progress } = bundlingState;
29
56
  return [
30
- indent ? log_1.INDENT_TOKEN : null,
31
57
  `(${bundlingStep + 1}/${steps})`,
32
58
  (0, make_progress_bar_1.makeProgressBar)(progress),
33
59
  `${doneIn ? 'Bundled' : 'Bundling'} code`,
@@ -38,13 +64,12 @@ const makeBundlingProgress = ({ bundlingState, indent, bundlingStep, steps, }) =
38
64
  .filter(truthy_1.truthy)
39
65
  .join(' ');
40
66
  };
41
- const makeCopyingProgress = (options, indent) => {
67
+ const makeCopyingProgress = (options) => {
42
68
  // Don't show copy progress lower than 200MB
43
69
  if (options.bytes < 1000 * 1000 * 200) {
44
70
  return null;
45
71
  }
46
72
  return [
47
- indent ? log_1.INDENT_TOKEN : null,
48
73
  ' +',
49
74
  options.doneIn ? (0, make_progress_bar_1.makeProgressBar)(1) : (0, download_progress_1.getFileSizeDownloadBar)(options.bytes),
50
75
  'Copying public dir',
@@ -53,7 +78,7 @@ const makeCopyingProgress = (options, indent) => {
53
78
  .filter(truthy_1.truthy)
54
79
  .join(' ');
55
80
  };
56
- const makeSymlinkProgress = (options, indent) => {
81
+ const makeSymlinkProgress = (options) => {
57
82
  if (options.symlinks.length === 0) {
58
83
  return null;
59
84
  }
@@ -62,40 +87,30 @@ const makeSymlinkProgress = (options, indent) => {
62
87
  chalk_1.chalk.gray(` Found a symbolic link in the public folder:`),
63
88
  chalk_1.chalk.gray(' ' + options.symlinks[0]),
64
89
  chalk_1.chalk.gray(' The symlink will be forwarded in to the bundle.'),
65
- ]
66
- .map((l) => {
67
- return indent ? `${log_1.INDENT_TOKEN} ${l}` : null;
68
- })
69
- .join('\n');
90
+ ].join('\n');
70
91
  }
71
92
  return [
72
93
  chalk_1.chalk.gray(` Found ${options.symlinks.length} symbolic links in the public folder.`),
73
94
  chalk_1.chalk.gray(' The symlinks will be forwarded in to the bundle.'),
74
- ]
75
- .map((l) => {
76
- return indent ? `${log_1.INDENT_TOKEN} ${l}` : null;
77
- })
78
- .join('\n');
95
+ ].join('\n');
79
96
  };
80
- const makeBundlingAndCopyProgress = ({ bundling, copying, symLinks, }, indent, bundlingStep, steps) => {
97
+ const makeBundlingAndCopyProgress = ({ bundling, copying, symLinks, }, bundlingStep, steps) => {
81
98
  return [
82
99
  makeBundlingProgress({
83
100
  bundlingState: bundling,
84
- indent,
85
101
  bundlingStep,
86
102
  steps,
87
103
  }),
88
- makeCopyingProgress(copying, indent),
89
- makeSymlinkProgress(symLinks, indent),
104
+ makeCopyingProgress(copying),
105
+ makeSymlinkProgress(symLinks),
90
106
  ]
91
107
  .filter(truthy_1.truthy)
92
108
  .join('\n');
93
109
  };
94
110
  exports.makeBundlingAndCopyProgress = makeBundlingAndCopyProgress;
95
- const makeRenderingProgress = ({ frames, totalFrames, steps, concurrency, doneIn }, indent) => {
111
+ const makeRenderingProgress = ({ frames, totalFrames, steps, concurrency, doneIn, }) => {
96
112
  const progress = frames / totalFrames;
97
113
  return [
98
- indent ? log_1.INDENT_TOKEN : null,
99
114
  `(${steps.indexOf('rendering') + 1}/${steps.length})`,
100
115
  (0, make_progress_bar_1.makeProgressBar)(progress),
101
116
  [doneIn ? 'Rendered' : 'Rendering', `frames (${concurrency}x)`]
@@ -106,7 +121,7 @@ const makeRenderingProgress = ({ frames, totalFrames, steps, concurrency, doneIn
106
121
  .filter(truthy_1.truthy)
107
122
  .join(' ');
108
123
  };
109
- const makeStitchingProgress = ({ stitchingProgress, indent, steps, stitchingStep, }) => {
124
+ const makeStitchingProgress = ({ stitchingProgress, steps, stitchingStep, }) => {
110
125
  const { frames, totalFrames, doneIn, stage, codec } = stitchingProgress;
111
126
  const progress = frames / totalFrames;
112
127
  const mediaType = codec === 'gif'
@@ -115,7 +130,6 @@ const makeStitchingProgress = ({ stitchingProgress, indent, steps, stitchingStep
115
130
  ? 'audio'
116
131
  : 'video';
117
132
  return [
118
- indent ? log_1.INDENT_TOKEN : null,
119
133
  `(${stitchingStep + 1}/${steps})`,
120
134
  (0, make_progress_bar_1.makeProgressBar)(progress),
121
135
  stage === 'muxing' && renderer_1.RenderInternals.canUseParallelEncoding(codec)
@@ -126,16 +140,15 @@ const makeStitchingProgress = ({ stitchingProgress, indent, steps, stitchingStep
126
140
  .filter(truthy_1.truthy)
127
141
  .join(' ');
128
142
  };
129
- const makeRenderingAndStitchingProgress = ({ prog, indent, steps, stitchingStep, }) => {
143
+ const makeRenderingAndStitchingProgress = ({ prog, steps, stitchingStep, }) => {
130
144
  const { rendering, stitching, downloads, bundling } = prog;
131
145
  const output = [
132
- rendering ? makeRenderingProgress(rendering, indent) : null,
133
- (0, download_progress_1.makeMultiDownloadProgress)(downloads, indent),
146
+ rendering ? makeRenderingProgress(rendering) : null,
147
+ (0, download_progress_1.makeMultiDownloadProgress)(downloads),
134
148
  stitching === null
135
149
  ? null
136
150
  : makeStitchingProgress({
137
151
  stitchingProgress: stitching,
138
- indent,
139
152
  steps,
140
153
  stitchingStep,
141
154
  }),