@remotion/studio-server 4.0.425 → 4.0.426

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.
package/dist/index.d.ts CHANGED
@@ -2,11 +2,11 @@ export { ApiRoutes, CopyStillToClipboardRequest, getDefaultOutLocation, OpenInFi
2
2
  export type { AggregateRenderProgress, BundlingState, CopyingState, DownloadProgress, HotMiddlewareOptions, JobProgressCallback, ModuleMap, PackageManager, ProjectInfo, RenderingProgressInput, RenderJob, RenderJobWithCleanup, RequiredChromiumOptions, StitchingProgressInput, UiOpenGlOptions, } from '@remotion/studio-shared';
3
3
  import { AnsiDiff } from './ansi-diff';
4
4
  export declare const StudioServerInternals: {
5
- startStudio: ({ browserArgs, browserFlag, configValueShouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, maxTimelineTracks, remotionRoot, keyboardShortcutsEnabled, experimentalClientSideRenderingEnabled, relativePublicDir, webpackOverride, poll, getRenderDefaults, getRenderQueue, numberOfAudioTags, queueMethods, parsedCliOpen, previewEntry, gitSource, bufferStateDelayInMilliseconds, binariesDirectory, forceIPv4, audioLatencyHint, enableCrossSiteIsolation, askAIEnabled, forceNew, }: {
5
+ startStudio: ({ browserArgs, browserFlag, shouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, maxTimelineTracks, remotionRoot, keyboardShortcutsEnabled, experimentalClientSideRenderingEnabled, relativePublicDir, webpackOverride, poll, getRenderDefaults, getRenderQueue, numberOfAudioTags, queueMethods, previewEntry, gitSource, bufferStateDelayInMilliseconds, binariesDirectory, forceIPv4, audioLatencyHint, enableCrossSiteIsolation, askAIEnabled, forceNew, rspack, }: {
6
6
  browserArgs: string;
7
7
  browserFlag: string;
8
8
  logLevel: "error" | "info" | "trace" | "verbose" | "warn";
9
- configValueShouldOpenBrowser: boolean;
9
+ shouldOpenBrowser: boolean;
10
10
  fullEntryPath: string;
11
11
  getCurrentInputProps: () => object;
12
12
  getEnvVariables: () => Record<string, string>;
@@ -25,13 +25,13 @@ export declare const StudioServerInternals: {
25
25
  audioLatencyHint: AudioContextLatencyCategory | null;
26
26
  enableCrossSiteIsolation: boolean;
27
27
  queueMethods: import("./preview-server/api-types").QueueMethods;
28
- parsedCliOpen: boolean;
29
28
  previewEntry: string;
30
29
  gitSource: import("@remotion/studio-shared").GitSource | null;
31
30
  binariesDirectory: string | null;
32
31
  forceIPv4: boolean;
33
32
  askAIEnabled: boolean;
34
33
  forceNew: boolean;
34
+ rspack: boolean;
35
35
  }) => Promise<import("./start-studio").StartStudioResult>;
36
36
  getRemotionVersion: () => any;
37
37
  waitForLiveEventsListener: () => Promise<import("./preview-server/live-events").LiveEventsServer>;
@@ -1,8 +1,7 @@
1
- export declare const maybeOpenBrowser: ({ browserArgs, browserFlag, configValueShouldOpenBrowser, parsedCliOpen, url, logLevel, }: {
1
+ export declare const maybeOpenBrowser: ({ browserArgs, browserFlag, shouldOpenBrowser, url, logLevel, }: {
2
2
  browserArgs: string;
3
3
  browserFlag: string;
4
- configValueShouldOpenBrowser: boolean;
5
- parsedCliOpen: boolean;
4
+ shouldOpenBrowser: boolean;
6
5
  url: string;
7
6
  logLevel: "error" | "info" | "trace" | "verbose" | "warn";
8
7
  }) => Promise<{
@@ -3,30 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.maybeOpenBrowser = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const better_opn_1 = require("./better-opn");
6
- const getShouldOpenBrowser = ({ configValueShouldOpenBrowser, parsedCliOpen, }) => {
6
+ const maybeOpenBrowser = async ({ browserArgs, browserFlag, shouldOpenBrowser, url, logLevel, }) => {
7
7
  var _a;
8
- if (parsedCliOpen === false) {
9
- return {
10
- shouldOpenBrowser: false,
11
- reasonForBrowserDecision: '--no-open specified',
12
- };
13
- }
14
8
  if (((_a = process.env.BROWSER) !== null && _a !== void 0 ? _a : '').toLowerCase() === 'none') {
15
- return {
16
- shouldOpenBrowser: false,
17
- reasonForBrowserDecision: 'env BROWSER=none was set',
18
- };
19
- }
20
- if (configValueShouldOpenBrowser === false) {
21
- return { shouldOpenBrowser: false, reasonForBrowserDecision: 'Config file' };
9
+ renderer_1.RenderInternals.Log.verbose({ indent: false, logLevel }, 'Not opening browser, reason: env BROWSER=none was set');
10
+ return { didOpenBrowser: false };
22
11
  }
23
- return { shouldOpenBrowser: true, reasonForBrowserDecision: 'default' };
24
- };
25
- const maybeOpenBrowser = async ({ browserArgs, browserFlag, configValueShouldOpenBrowser, parsedCliOpen, url, logLevel, }) => {
26
- const { reasonForBrowserDecision, shouldOpenBrowser } = getShouldOpenBrowser({
27
- configValueShouldOpenBrowser,
28
- parsedCliOpen,
29
- });
30
12
  if (shouldOpenBrowser) {
31
13
  await (0, better_opn_1.openBrowser)({
32
14
  url,
@@ -35,7 +17,7 @@ const maybeOpenBrowser = async ({ browserArgs, browserFlag, configValueShouldOpe
35
17
  });
36
18
  }
37
19
  else {
38
- renderer_1.RenderInternals.Log.verbose({ indent: false, logLevel }, `Not opening browser, reason: ${reasonForBrowserDecision}`);
20
+ renderer_1.RenderInternals.Log.verbose({ indent: false, logLevel }, 'Not opening browser, reason: --no-open specified or config file');
39
21
  }
40
22
  return { didOpenBrowser: shouldOpenBrowser };
41
23
  };
@@ -30,7 +30,8 @@ function setupHooks(context, logLevel) {
30
30
  .map((a) => a.trimEnd())
31
31
  .filter(no_react_1.NoReactInternals.truthy)
32
32
  .map((a) => {
33
- if (a.startsWith('webpack compiled')) {
33
+ if (a.startsWith('webpack compiled') ||
34
+ a.startsWith('Rspack compiled')) {
34
35
  return `Built in ${stats.endTime - stats.startTime}ms`;
35
36
  }
36
37
  return a;
@@ -41,4 +41,5 @@ export declare const startServer: (options: {
41
41
  enableCrossSiteIsolation: boolean;
42
42
  askAIEnabled: boolean;
43
43
  forceNew: boolean;
44
+ rspack: boolean;
44
45
  }) => Promise<StartServerResult>;
@@ -26,7 +26,7 @@ const startServer = async (options) => {
26
26
  });
27
27
  return detection.type === 'match' ? 'stop' : 'continue';
28
28
  };
29
- const [, config] = await bundler_1.BundlerInternals.webpackConfig({
29
+ const configArgs = {
30
30
  entry: options.entry,
31
31
  userDefinedComponent: options.userDefinedComponent,
32
32
  outDir: null,
@@ -39,8 +39,16 @@ const startServer = async (options) => {
39
39
  poll: options.poll,
40
40
  bufferStateDelayInMilliseconds: options.bufferStateDelayInMilliseconds,
41
41
  askAIEnabled: options.askAIEnabled,
42
- });
43
- const compiler = (0, bundler_1.webpack)(config);
42
+ };
43
+ let compiler;
44
+ if (options.rspack) {
45
+ const [, rspackConf] = await bundler_1.BundlerInternals.rspackConfig(configArgs);
46
+ compiler = bundler_1.BundlerInternals.createRspackCompiler(rspackConf);
47
+ }
48
+ else {
49
+ const [, webpackConf] = await bundler_1.BundlerInternals.webpackConfig(configArgs);
50
+ compiler = (0, bundler_1.webpack)(webpackConf);
51
+ }
44
52
  const wdmMiddleware = (0, dev_middleware_1.wdm)(compiler, options.logLevel);
45
53
  const whm = (0, hot_middleware_1.webpackHotMiddleware)(compiler, options.logLevel);
46
54
  const liveEventsServer = (0, live_events_1.makeLiveEventsRouter)(options.logLevel);
@@ -6,11 +6,11 @@ export type StartStudioResult = {
6
6
  } | {
7
7
  type: 'already-running';
8
8
  };
9
- export declare const startStudio: ({ browserArgs, browserFlag, configValueShouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, maxTimelineTracks, remotionRoot, keyboardShortcutsEnabled, experimentalClientSideRenderingEnabled, relativePublicDir, webpackOverride, poll, getRenderDefaults, getRenderQueue, numberOfAudioTags, queueMethods, parsedCliOpen, previewEntry, gitSource, bufferStateDelayInMilliseconds, binariesDirectory, forceIPv4, audioLatencyHint, enableCrossSiteIsolation, askAIEnabled, forceNew, }: {
9
+ export declare const startStudio: ({ browserArgs, browserFlag, shouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, maxTimelineTracks, remotionRoot, keyboardShortcutsEnabled, experimentalClientSideRenderingEnabled, relativePublicDir, webpackOverride, poll, getRenderDefaults, getRenderQueue, numberOfAudioTags, queueMethods, previewEntry, gitSource, bufferStateDelayInMilliseconds, binariesDirectory, forceIPv4, audioLatencyHint, enableCrossSiteIsolation, askAIEnabled, forceNew, rspack, }: {
10
10
  browserArgs: string;
11
11
  browserFlag: string;
12
12
  logLevel: "error" | "info" | "trace" | "verbose" | "warn";
13
- configValueShouldOpenBrowser: boolean;
13
+ shouldOpenBrowser: boolean;
14
14
  fullEntryPath: string;
15
15
  getCurrentInputProps: () => object;
16
16
  getEnvVariables: () => Record<string, string>;
@@ -29,11 +29,11 @@ export declare const startStudio: ({ browserArgs, browserFlag, configValueShould
29
29
  audioLatencyHint: AudioContextLatencyCategory | null;
30
30
  enableCrossSiteIsolation: boolean;
31
31
  queueMethods: QueueMethods;
32
- parsedCliOpen: boolean;
33
32
  previewEntry: string;
34
33
  gitSource: GitSource | null;
35
34
  binariesDirectory: string | null;
36
35
  forceIPv4: boolean;
37
36
  askAIEnabled: boolean;
38
37
  forceNew: boolean;
38
+ rspack: boolean;
39
39
  }) => Promise<StartStudioResult>;
@@ -17,7 +17,7 @@ const public_folder_1 = require("./preview-server/public-folder");
17
17
  const start_server_1 = require("./preview-server/start-server");
18
18
  const server_ready_1 = require("./server-ready");
19
19
  const watch_root_file_1 = require("./watch-root-file");
20
- const startStudio = async ({ browserArgs, browserFlag, configValueShouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, maxTimelineTracks, remotionRoot, keyboardShortcutsEnabled, experimentalClientSideRenderingEnabled, relativePublicDir, webpackOverride, poll, getRenderDefaults, getRenderQueue, numberOfAudioTags, queueMethods, parsedCliOpen, previewEntry, gitSource, bufferStateDelayInMilliseconds, binariesDirectory, forceIPv4, audioLatencyHint, enableCrossSiteIsolation, askAIEnabled, forceNew, }) => {
20
+ const startStudio = async ({ browserArgs, browserFlag, shouldOpenBrowser, fullEntryPath, logLevel, getCurrentInputProps, getEnvVariables, desiredPort, maxTimelineTracks, remotionRoot, keyboardShortcutsEnabled, experimentalClientSideRenderingEnabled, relativePublicDir, webpackOverride, poll, getRenderDefaults, getRenderQueue, numberOfAudioTags, queueMethods, previewEntry, gitSource, bufferStateDelayInMilliseconds, binariesDirectory, forceIPv4, audioLatencyHint, enableCrossSiteIsolation, askAIEnabled, forceNew, rspack, }) => {
21
21
  try {
22
22
  if (typeof Bun === 'undefined') {
23
23
  process.title = 'node (npx remotion studio)';
@@ -89,14 +89,14 @@ const startStudio = async ({ browserArgs, browserFlag, configValueShouldOpenBrow
89
89
  enableCrossSiteIsolation,
90
90
  askAIEnabled,
91
91
  forceNew,
92
+ rspack,
92
93
  });
93
94
  if (result.type === 'already-running') {
94
95
  renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, `Already running on port ${result.port}.`);
95
96
  const res = await (0, maybe_open_browser_1.maybeOpenBrowser)({
96
97
  browserArgs,
97
98
  browserFlag,
98
- configValueShouldOpenBrowser,
99
- parsedCliOpen,
99
+ shouldOpenBrowser,
100
100
  url: `http://localhost:${result.port}`,
101
101
  logLevel,
102
102
  });
@@ -119,8 +119,7 @@ const startStudio = async ({ browserArgs, browserFlag, configValueShouldOpenBrow
119
119
  await (0, maybe_open_browser_1.maybeOpenBrowser)({
120
120
  browserArgs,
121
121
  browserFlag,
122
- configValueShouldOpenBrowser,
123
- parsedCliOpen,
122
+ shouldOpenBrowser,
124
123
  url: `http://localhost:${port}`,
125
124
  logLevel,
126
125
  });
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio-server"
4
4
  },
5
5
  "name": "@remotion/studio-server",
6
- "version": "4.0.425",
6
+ "version": "4.0.426",
7
7
  "description": "Run a Remotion Studio with a server backend",
8
8
  "main": "dist",
9
9
  "sideEffects": false,
@@ -25,11 +25,11 @@
25
25
  "dependencies": {
26
26
  "@babel/parser": "7.24.1",
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.425",
28
+ "remotion": "4.0.426",
29
29
  "recast": "0.23.11",
30
- "@remotion/bundler": "4.0.425",
31
- "@remotion/renderer": "4.0.425",
32
- "@remotion/studio-shared": "4.0.425",
30
+ "@remotion/bundler": "4.0.426",
31
+ "@remotion/renderer": "4.0.426",
32
+ "@remotion/studio-shared": "4.0.426",
33
33
  "memfs": "3.4.3",
34
34
  "source-map": "0.7.3",
35
35
  "open": "^8.4.2"
@@ -39,7 +39,7 @@
39
39
  "react": "19.2.3",
40
40
  "@babel/types": "7.24.0",
41
41
  "@types/semver": "^7.3.4",
42
- "@remotion/eslint-config-internal": "4.0.425",
42
+ "@remotion/eslint-config-internal": "4.0.426",
43
43
  "eslint": "9.19.0",
44
44
  "@types/node": "20.12.14",
45
45
  "@typescript/native-preview": "7.0.0-dev.20260217.1"