@remotion/cli 4.0.506 → 4.0.507

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.
@@ -1,4 +1,4 @@
1
- import type { ConfigFileChangeType } from '@remotion/studio-shared';
1
+ import { type ConfigFileChangeType } from '@remotion/studio-shared';
2
2
  export type ConfigFileFingerprints = {
3
3
  reload: string;
4
4
  restart: string;
@@ -2,101 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.classifyConfigFileChange = exports.makeConfigFileFingerprints = void 0;
4
4
  const parser_1 = require("@babel/parser");
5
+ const studio_shared_1 = require("@remotion/studio-shared");
6
+ const validateConfigMethodLifecycles = (lifecycles) => lifecycles;
5
7
  // Keep this exhaustive so every new Config method must declare its Studio lifecycle.
6
- const configMethodLifecycles = {
7
- overrideBundlerConfig: 'restart',
8
- overrideDuration: 'runtime',
9
- overrideFfmpegCommand: 'runtime',
10
- overrideFps: 'runtime',
11
- overrideHeight: 'runtime',
12
- overrideRspackConfig: 'restart',
13
- overrideWebpackConfig: 'restart',
14
- overrideWidth: 'runtime',
15
- setAllowHtmlInCanvasEnabled: 'runtime',
16
- setAskAIEnabled: 'runtime',
17
- setAudioBitrate: 'runtime',
18
- setAudioCodec: 'runtime',
19
- setAudioLatencyHint: 'reload',
20
- setBeepOnFinish: 'runtime',
21
- setBenchmarkConcurrencies: 'runtime',
22
- setBenchmarkRuns: 'runtime',
23
- setBinariesDirectory: 'restart',
24
- setBrowserExecutable: 'runtime',
25
- setBufferStateDelayInMilliseconds: 'runtime',
26
- setBundleOutDir: 'runtime',
27
- setCachingEnabled: 'runtime',
28
- setChromeMode: 'runtime',
29
- setChromiumDarkMode: 'runtime',
30
- setChromiumDisableWebSecurity: 'runtime',
31
- setChromiumHeadlessMode: 'runtime',
32
- setChromiumIgnoreCertificateErrors: 'runtime',
33
- setChromiumMultiProcessOnLinux: 'runtime',
34
- setChromiumOpenGlRenderer: 'runtime',
35
- setChromiumUserAgent: 'runtime',
36
- setCodec: 'runtime',
37
- setColorSpace: 'runtime',
38
- setConcurrency: 'runtime',
39
- setCrf: 'runtime',
40
- setDefaultCodingAgent: 'runtime',
41
- setDefaultEditor: 'runtime',
42
- setDelayRenderTimeoutInMilliseconds: 'runtime',
43
- setDeleteAfter: 'runtime',
44
- setDisallowParallelEncoding: 'runtime',
45
- setDotEnvLocation: 'restart',
46
- setEnableCrossSiteIsolation: 'restart',
47
- setEnableFolderExpiry: 'runtime',
48
- setEncodingBufferSize: 'runtime',
49
- setEncodingMaxRate: 'runtime',
50
- setEnforceAudioTrack: 'runtime',
51
- setEntryPoint: 'restart',
52
- setEveryNthFrame: 'runtime',
53
- setExperimentalRspackEnabled: 'restart',
54
- setForSeamlessAacConcatenation: 'runtime',
55
- setForceNewStudioEnabled: 'restart',
56
- setFrameRange: 'runtime',
57
- setGopSize: 'runtime',
58
- setHardwareAcceleration: 'runtime',
59
- setIPv4: 'restart',
60
- setImageFormat: 'runtime',
61
- setImageSequence: 'runtime',
62
- setImageSequencePattern: 'runtime',
63
- setInteractivityEnabled: 'runtime',
64
- setJpegQuality: 'runtime',
65
- setKeyboardShortcutsEnabled: 'runtime',
66
- setLambdaInsights: 'runtime',
67
- setLevel: 'restart',
68
- setLogLevel: 'restart',
69
- setMaxTimelineTracks: 'runtime',
70
- setMetadata: 'runtime',
71
- setMuted: 'runtime',
72
- setNumberOfGifLoops: 'runtime',
73
- setNumberOfSharedAudioTags: 'reload',
74
- setOffthreadVideoCacheSizeInBytes: 'runtime',
75
- setOutputLocation: 'runtime',
76
- setOverwriteOutput: 'runtime',
77
- setPixelFormat: 'runtime',
78
- setPort: 'restart',
79
- setPreferLosslessAudio: 'runtime',
80
- setPreviewSampleRate: 'reload',
81
- setProResProfile: 'runtime',
82
- setPublicDir: 'restart',
83
- setPublicLicenseKey: 'runtime',
84
- setPublicPath: 'runtime',
85
- setQuality: 'runtime',
86
- setRendererPort: 'restart',
87
- setRepro: 'runtime',
88
- setRspack: 'restart',
89
- setSampleRate: 'runtime',
90
- setScale: 'runtime',
91
- setShouldOpenBrowser: 'restart',
92
- setStillImageFormat: 'runtime',
93
- setStudioPort: 'restart',
94
- setTimeoutInMilliseconds: 'runtime',
95
- setVideoBitrate: 'runtime',
96
- setVideoImageFormat: 'runtime',
97
- setWebpackPollingInMilliseconds: 'restart',
98
- setX264Preset: 'runtime',
99
- };
8
+ const configMethodLifecycles = validateConfigMethodLifecycles(studio_shared_1.configMethodLifecycles);
100
9
  const getConfigMethodsWithLifecycle = (lifecycle) => {
101
10
  return new Set(Object.entries(configMethodLifecycles)
102
11
  .filter(([, value]) => value === lifecycle)
@@ -357,14 +357,14 @@ declare const benchmarkConcurrenciesOption: {
357
357
  description: () => import("react/jsx-runtime").JSX.Element;
358
358
  ssrName: null;
359
359
  docLink: string;
360
- type: "claude-code" | "codex" | "cursor" | "github-copilot" | null;
360
+ type: "claude-code" | "codex" | "copilot" | "cursor" | null;
361
361
  getValue: ({ commandLine }: {
362
362
  commandLine: Record<string, unknown>;
363
363
  }) => {
364
- value: "claude-code" | "codex" | "cursor" | "github-copilot" | null;
364
+ value: "claude-code" | "codex" | "copilot" | "cursor" | null;
365
365
  source: string;
366
366
  };
367
- setConfig(value: "claude-code" | "codex" | "cursor" | "github-copilot" | null): void;
367
+ setConfig(value: "claude-code" | "codex" | "copilot" | "cursor" | null): void;
368
368
  id: "coding-agent";
369
369
  }, defaultEditorOption: {
370
370
  name: string;
@@ -1,7 +1,7 @@
1
1
  import type { BundlerOverrideFn, RspackOverrideFn, WebpackOverrideFn } from '@remotion/bundler';
2
2
  import type { BrowserExecutable, CancelSignal, ChromiumOptions, Crf, FfmpegOverrideFn, FrameRange, NumberOfGifLoops } from '@remotion/renderer';
3
3
  import type { JobProgressCallback } from '@remotion/studio-server';
4
- export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, }: {
4
+ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }: {
5
5
  remotionRoot: string;
6
6
  fullEntryPoint: string;
7
7
  entryPointReason: string;
@@ -73,4 +73,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
73
73
  bundlerOverride: BundlerOverrideFn | null;
74
74
  rspackOverride: RspackOverrideFn | null;
75
75
  webpackOverride: WebpackOverrideFn | null;
76
+ licenseKey: string | null;
76
77
  }) => Promise<void>;
@@ -61,7 +61,7 @@ const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying
61
61
  const truthy_1 = require("../truthy");
62
62
  const user_passed_output_location_1 = require("../user-passed-output-location");
63
63
  const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
64
- const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, }) => {
64
+ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }) => {
65
65
  var _a;
66
66
  renderer_1.RenderInternals.validateConcurrency({
67
67
  value: concurrency,
@@ -533,7 +533,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
533
533
  chromeMode,
534
534
  mediaCacheSizeInBytes,
535
535
  onLog,
536
- licenseKey: null,
536
+ licenseKey,
537
537
  isProduction: null,
538
538
  sampleRate: resolvedSampleRate,
539
539
  });
@@ -1,7 +1,7 @@
1
1
  import type { BundlerOverrideFn, RspackOverrideFn, WebpackOverrideFn } from '@remotion/bundler';
2
2
  import type { BrowserExecutable, CancelSignal, ChromiumOptions } from '@remotion/renderer';
3
3
  import type { JobProgressCallback } from '@remotion/studio-server';
4
- export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, }: {
4
+ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }: {
5
5
  remotionRoot: string;
6
6
  fullEntryPoint: string;
7
7
  entryPointReason: string;
@@ -44,4 +44,5 @@ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPoin
44
44
  bundlerOverride: BundlerOverrideFn | null;
45
45
  rspackOverride: RspackOverrideFn | null;
46
46
  webpackOverride: WebpackOverrideFn | null;
47
+ licenseKey: string | null;
47
48
  }) => Promise<void>;
@@ -28,7 +28,7 @@ const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying
28
28
  const truthy_1 = require("../truthy");
29
29
  const user_passed_output_location_1 = require("../user-passed-output-location");
30
30
  const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
31
- const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, }) => {
31
+ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }) => {
32
32
  const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
33
33
  log_1.Log.verbose({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
34
34
  const aggregate = (0, progress_types_1.initialAggregateRenderProgress)();
@@ -284,7 +284,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
284
284
  printToConsole: true,
285
285
  });
286
286
  },
287
- licenseKey: null,
287
+ licenseKey,
288
288
  isProduction: null,
289
289
  });
290
290
  aggregate.rendering = {
@@ -64,6 +64,7 @@ const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addClea
64
64
  bundlerOverride: fixedConfig.bundlerOverride,
65
65
  rspackOverride: fixedConfig.rspackOverride,
66
66
  webpackOverride: fixedConfig.webpackOverride,
67
+ licenseKey: job.licenseKey,
67
68
  });
68
69
  };
69
70
  exports.processStill = processStill;
@@ -103,6 +103,7 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
103
103
  bundlerOverride: fixedConfig.bundlerOverride,
104
104
  rspackOverride: fixedConfig.rspackOverride,
105
105
  webpackOverride: fixedConfig.webpackOverride,
106
+ licenseKey: job.type === 'video' ? job.licenseKey : null,
106
107
  });
107
108
  };
108
109
  exports.processVideoJob = processVideoJob;
package/dist/render.js CHANGED
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
11
11
  const log_1 = require("./log");
12
12
  const parsed_cli_1 = require("./parsed-cli");
13
13
  const render_1 = require("./render-flows/render");
14
- const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, gopSizeOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, everyNthFrameOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, sampleRateOption, stillFrameOption, } = client_1.BrowserSafeApis.options;
14
+ const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, gopSizeOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, everyNthFrameOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, sampleRateOption, stillFrameOption, publicLicenseKeyOption, } = client_1.BrowserSafeApis.options;
15
15
  const render = async (remotionRoot, args, logLevel) => {
16
16
  const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
17
17
  if (!file) {
@@ -238,6 +238,7 @@ const render = async (remotionRoot, args, logLevel) => {
238
238
  bundlerOverride: null,
239
239
  rspackOverride: null,
240
240
  webpackOverride: null,
241
+ licenseKey: publicLicenseKeyOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value,
241
242
  });
242
243
  };
243
244
  exports.render = render;
package/dist/still.js CHANGED
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
11
11
  const log_1 = require("./log");
12
12
  const parsed_cli_1 = require("./parsed-cli");
13
13
  const still_1 = require("./render-flows/still");
14
- const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, framesOption, } = client_1.BrowserSafeApis.options;
14
+ const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, framesOption, publicLicenseKeyOption, } = client_1.BrowserSafeApis.options;
15
15
  const still = async (remotionRoot, args, logLevel) => {
16
16
  const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
17
17
  if (!file) {
@@ -158,6 +158,7 @@ const still = async (remotionRoot, args, logLevel) => {
158
158
  bundlerOverride: null,
159
159
  rspackOverride: null,
160
160
  webpackOverride: null,
161
+ licenseKey: publicLicenseKeyOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value,
161
162
  });
162
163
  };
163
164
  exports.still = still;
package/dist/studio.js CHANGED
@@ -17,7 +17,7 @@ const get_render_defaults_1 = require("./get-render-defaults");
17
17
  const log_1 = require("./log");
18
18
  const parsed_cli_1 = require("./parsed-cli");
19
19
  const queue_1 = require("./render-queue/queue");
20
- const { binariesDirectoryOption, publicDirOption, disableGitSourceOption, enableCrossSiteIsolationOption, askAIOption, interactivityOption, keyboardShortcutsOption, forceNewStudioOption, numberOfSharedAudioTagsOption, audioLatencyHintOption, ipv4Option, rspackOption, webpackPollOption, noOpenOption, portOption, browserOption, previewSampleRateOption, defaultCodingAgentOption, defaultEditorOption, } = client_1.BrowserSafeApis.options;
20
+ const { binariesDirectoryOption, publicDirOption, disableGitSourceOption, enableCrossSiteIsolationOption, askAIOption, interactivityOption, keyboardShortcutsOption, forceNewStudioOption, numberOfSharedAudioTagsOption, audioLatencyHintOption, ipv4Option, rspackOption, webpackPollOption, noOpenOption, portOption, browserOption, previewSampleRateOption, defaultCodingAgentOption, defaultEditorOption, publicLicenseKeyOption, } = client_1.BrowserSafeApis.options;
21
21
  const studioCommand = async (remotionRoot, args, logLevel) => {
22
22
  var _a, _b, _c;
23
23
  const { file, reason } = (0, entry_point_1.findEntryPoint)({
@@ -74,19 +74,31 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
74
74
  const rspackOverride = config_1.ConfigInternals.getRspackOverrideFn();
75
75
  const webpackOverride = config_1.ConfigInternals.getWebpackOverrideFn();
76
76
  log_1.Log.verbose({ indent: false, logLevel }, `Using ${useRspack ? 'Rspack' : 'Webpack'} bundler.`);
77
- const getStudioRuntimeConfig = () => ({
78
- maxTimelineTracks: config_1.ConfigInternals.getMaxTimelineTracks(),
79
- askAIEnabled: askAIOption.getValue({
77
+ const getStudioRuntimeConfig = () => {
78
+ const configuredEditor = defaultEditorOption.getValue({
80
79
  commandLine: parsed_cli_1.parsedCli,
81
- }).value,
82
- interactivityEnabled: interactivityOption.getValue({
83
- commandLine: parsed_cli_1.parsedCli,
84
- }).value,
85
- keyboardShortcutsEnabled: keyboardShortcutsOption.getValue({
86
- commandLine: parsed_cli_1.parsedCli,
87
- }).value,
88
- bufferStateDelayInMilliseconds: config_1.ConfigInternals.getBufferStateDelayInMilliseconds(),
89
- });
80
+ }).value;
81
+ return {
82
+ maxTimelineTracks: config_1.ConfigInternals.getMaxTimelineTracks(),
83
+ askAIEnabled: askAIOption.getValue({
84
+ commandLine: parsed_cli_1.parsedCli,
85
+ }).value,
86
+ interactivityEnabled: interactivityOption.getValue({
87
+ commandLine: parsed_cli_1.parsedCli,
88
+ }).value,
89
+ keyboardShortcutsEnabled: keyboardShortcutsOption.getValue({
90
+ commandLine: parsed_cli_1.parsedCli,
91
+ }).value,
92
+ bufferStateDelayInMilliseconds: config_1.ConfigInternals.getBufferStateDelayInMilliseconds(),
93
+ defaultCodingAgent: defaultCodingAgentOption.getValue({
94
+ commandLine: parsed_cli_1.parsedCli,
95
+ }).value,
96
+ defaultEditor: typeof configuredEditor === 'object' ? 'custom' : configuredEditor,
97
+ publicLicenseKey: publicLicenseKeyOption.getValue({
98
+ commandLine: parsed_cli_1.parsedCli,
99
+ }).value,
100
+ };
101
+ };
90
102
  const getNumberOfAudioTags = () => numberOfSharedAudioTagsOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
91
103
  const getAudioLatencyHint = () => audioLatencyHintOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
92
104
  const getPreviewSampleRate = () => previewSampleRateOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
@@ -107,7 +119,7 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
107
119
  studio_server_1.StudioServerInternals.installFileWatcher({
108
120
  file: configFile,
109
121
  existenceOnly: false,
110
- onChange: async () => {
122
+ onChange: async (event) => {
111
123
  if (isReloadingConfig) {
112
124
  return;
113
125
  }
@@ -143,9 +155,13 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
143
155
  const message = (0, studio_shared_1.getConfigFileChangeMessage)(changeType);
144
156
  log_1.Log.info({ indent: false, logLevel }, chalk_1.chalk.blue(message));
145
157
  studio_server_1.StudioServerInternals.waitForLiveEventsListener().then((listener) => {
158
+ var _a;
146
159
  listener.sendEventToClient({
147
160
  type: 'config-file-changed',
148
161
  changeType,
162
+ originatorClientId: event.type === 'deleted'
163
+ ? null
164
+ : ((_a = event.originatorClientId) !== null && _a !== void 0 ? _a : null),
149
165
  renderDefaults,
150
166
  studioRuntimeConfig,
151
167
  editorName,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/cli"
4
4
  },
5
5
  "name": "@remotion/cli",
6
- "version": "4.0.506",
6
+ "version": "4.0.507",
7
7
  "description": "Control Remotion features using the `npx remotion` command",
8
8
  "main": "dist/index.js",
9
9
  "bin": {
@@ -37,18 +37,18 @@
37
37
  "license": "SEE LICENSE IN LICENSE.md",
38
38
  "dependencies": {
39
39
  "@babel/parser": "7.24.1",
40
- "@remotion/bundler": "4.0.506",
41
- "@remotion/media-utils": "4.0.506",
42
- "@remotion/player": "4.0.506",
43
- "@remotion/renderer": "4.0.506",
44
- "@remotion/studio-shared": "4.0.506",
45
- "@remotion/studio-server": "4.0.506",
46
- "@remotion/studio": "4.0.506",
40
+ "@remotion/bundler": "4.0.507",
41
+ "@remotion/media-utils": "4.0.507",
42
+ "@remotion/player": "4.0.507",
43
+ "@remotion/renderer": "4.0.507",
44
+ "@remotion/studio-shared": "4.0.507",
45
+ "@remotion/studio-server": "4.0.507",
46
+ "@remotion/studio": "4.0.507",
47
47
  "dotenv": "17.3.1",
48
48
  "minimist": "1.2.6",
49
49
  "prompts": "2.4.2",
50
50
  "semver": "7.5.3",
51
- "remotion": "4.0.506"
51
+ "remotion": "4.0.507"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": ">=16.8.0",
@@ -60,14 +60,14 @@
60
60
  "@types/prettier": "2.7.2",
61
61
  "@types/semver": "7.5.3",
62
62
  "@types/node": "20.12.14",
63
- "@remotion/zod-types": "4.0.506",
64
- "@remotion/tailwind-v4": "4.0.506",
65
- "@remotion/enable-scss": "4.0.506",
66
- "@remotion/skia": "4.0.506",
63
+ "@remotion/zod-types": "4.0.507",
64
+ "@remotion/tailwind-v4": "4.0.507",
65
+ "@remotion/enable-scss": "4.0.507",
66
+ "@remotion/skia": "4.0.507",
67
67
  "react": "19.2.3",
68
68
  "react-dom": "19.2.3",
69
69
  "zod": "4.4.3",
70
- "@remotion/eslint-config-internal": "4.0.506",
70
+ "@remotion/eslint-config-internal": "4.0.507",
71
71
  "eslint": "9.19.0",
72
72
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
73
73
  },
@@ -1,4 +0,0 @@
1
- export declare const getVideoImageFormat: ({ codec, uiImageFormat, }: {
2
- codec: import("@remotion/renderer").CodecOrUndefined;
3
- uiImageFormat: "jpeg" | "none" | "png" | null;
4
- }) => "jpeg" | "none" | "png";
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVideoImageFormat = void 0;
4
- const client_1 = require("@remotion/renderer/client");
5
- const pure_1 = require("@remotion/renderer/pure");
6
- const parsed_cli_1 = require("./parsed-cli");
7
- const getVideoImageFormat = ({ codec, uiImageFormat, }) => {
8
- if (uiImageFormat !== null) {
9
- return uiImageFormat;
10
- }
11
- const configured = client_1.BrowserSafeApis.options.videoImageFormatOption.getValue({
12
- commandLine: parsed_cli_1.parsedCli,
13
- }).value;
14
- if (configured !== null) {
15
- return configured;
16
- }
17
- if (pure_1.NoReactAPIs.isAudioCodec(codec)) {
18
- return 'none';
19
- }
20
- if (codec === 'h264' ||
21
- codec === 'h264-mkv' ||
22
- codec === 'h264-ts' ||
23
- codec === 'h265' ||
24
- codec === 'av1' ||
25
- codec === 'vp8' ||
26
- codec === 'vp9' ||
27
- codec === 'prores' ||
28
- codec === 'gif') {
29
- return 'jpeg';
30
- }
31
- if (codec === undefined) {
32
- return 'png';
33
- }
34
- throw new Error('Unrecognized codec ' + codec);
35
- };
36
- exports.getVideoImageFormat = getVideoImageFormat;