@remotion/studio-server 4.0.423 → 4.0.424

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/ansi-diff.js CHANGED
@@ -5,10 +5,15 @@ const studio_shared_1 = require("@remotion/studio-shared");
5
5
  const CLEAR_LINE = Buffer.from([0x1b, 0x5b, 0x30, 0x4b]);
6
6
  const NEWLINE = Buffer.from('\n');
7
7
  class AnsiDiff {
8
+ x;
9
+ y;
10
+ width;
11
+ height;
12
+ _buffer;
13
+ _out;
14
+ _lines;
15
+ finished;
8
16
  constructor(opts) {
9
- this._push = (buf) => {
10
- this._out.push(buf);
11
- };
12
17
  this.x = 0;
13
18
  this.y = 0;
14
19
  this.width = (opts === null || opts === void 0 ? void 0 : opts.width) || Infinity;
@@ -128,6 +133,9 @@ class AnsiDiff {
128
133
  this.x = x;
129
134
  this.y = y;
130
135
  }
136
+ _push = (buf) => {
137
+ this._out.push(buf);
138
+ };
131
139
  }
132
140
  exports.AnsiDiff = AnsiDiff;
133
141
  function same(a, b) {
@@ -140,6 +148,14 @@ function top(list) {
140
148
  return list.length ? list[list.length - 1] : null;
141
149
  }
142
150
  class Line {
151
+ y;
152
+ width;
153
+ parts;
154
+ height;
155
+ remainder;
156
+ raw;
157
+ length;
158
+ newline;
143
159
  constructor(str, y, nl, term) {
144
160
  this.y = y;
145
161
  this.width = term.width;
@@ -6,14 +6,14 @@
6
6
  */
7
7
  import type { LogLevel } from '@remotion/renderer';
8
8
  declare const editorNames: readonly ["atom", "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta", "brackets", "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl", "code", "code-insiders", "vscodium", "/Applications/AppCode.app/Contents/MacOS/appcode", "/Applications/CLion.app/Contents/MacOS/clion", "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea", "/Applications/PhpStorm.app/Contents/MacOS/phpstorm", "/Applications/PyCharm.app/Contents/MacOS/pycharm", "/Applications/PyCharm CE.app/Contents/MacOS/pycharm", "/Applications/RubyMine.app/Contents/MacOS/rubymine", "/Applications/WebStorm.app/Contents/MacOS/webstorm", "/Applications/GoLand.app/Contents/MacOS/goland", "/Applications/Rider.app/Contents/MacOS/rider", "mvim", "emacs", "gvim", "idea", "phpstorm", "pycharm", "rubymine", "subl", "sublime_text", "vim", "webstorm", "goland", "rider", "Brackets.exe", "Code.exe", "Code - Insiders.exe", "VSCodium.exe", "atom.exe", "sublime_text.exe", "notepad++.exe", "clion.exe", "clion64.exe", "idea.exe", "idea64.exe", "phpstorm.exe", "phpstorm64.exe", "pycharm.exe", "pycharm64.exe", "rubymine.exe", "rubymine64.exe", "webstorm.exe", "webstorm64.exe", "goland.exe", "goland64.exe", "rider.exe", "rider64.exe", "nano", "cursor", "/Applications/Cursor.app/Contents/MacOS/Cursor", "Cursor.exe", "windsurf", "/Applications/Windsurf.app/Contents/MacOS/Windsurf", "Windsurf.exe", "zed"];
9
- export declare const getDisplayNameForEditor: (editor: Editor | null) => string | null;
9
+ export declare const getDisplayNameForEditor: (editor: "/Applications/AppCode.app/Contents/MacOS/appcode" | "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta" | "/Applications/CLion.app/Contents/MacOS/clion" | "/Applications/Cursor.app/Contents/MacOS/Cursor" | "/Applications/GoLand.app/Contents/MacOS/goland" | "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea" | "/Applications/PhpStorm.app/Contents/MacOS/phpstorm" | "/Applications/PyCharm CE.app/Contents/MacOS/pycharm" | "/Applications/PyCharm.app/Contents/MacOS/pycharm" | "/Applications/Rider.app/Contents/MacOS/rider" | "/Applications/RubyMine.app/Contents/MacOS/rubymine" | "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" | "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl" | "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" | "/Applications/WebStorm.app/Contents/MacOS/webstorm" | "/Applications/Windsurf.app/Contents/MacOS/Windsurf" | "Brackets.exe" | "Code - Insiders.exe" | "Code.exe" | "Cursor.exe" | "VSCodium.exe" | "Windsurf.exe" | "atom" | "atom.exe" | "brackets" | "clion.exe" | "clion64.exe" | "code" | "code-insiders" | "cursor" | "emacs" | "goland" | "goland.exe" | "goland64.exe" | "gvim" | "idea" | "idea.exe" | "idea64.exe" | "mvim" | "nano" | "notepad++.exe" | "phpstorm" | "phpstorm.exe" | "phpstorm64.exe" | "pycharm" | "pycharm.exe" | "pycharm64.exe" | "rider" | "rider.exe" | "rider64.exe" | "rubymine" | "rubymine.exe" | "rubymine64.exe" | "subl" | "sublime_text" | "sublime_text.exe" | "vim" | "vscodium" | "webstorm" | "webstorm.exe" | "webstorm64.exe" | "windsurf" | "zed" | null) => string | null;
10
10
  type Editor = (typeof editorNames)[number];
11
11
  type ProcessAndCommand = {
12
12
  process: string;
13
13
  command: Editor;
14
14
  };
15
15
  export declare function guessEditor(): Promise<ProcessAndCommand[]>;
16
- export declare function launchEditor({ colNumber, editor, fileName, lineNumber, vsCodeNewWindow, logLevel, }: {
16
+ export declare function launchEditor({ colNumber, editor, fileName, lineNumber, vsCodeNewWindow, logLevel }: {
17
17
  fileName: string;
18
18
  lineNumber: number;
19
19
  colNumber: number;
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare const StudioServerInternals: {
5
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, }: {
6
6
  browserArgs: string;
7
7
  browserFlag: string;
8
- logLevel: import("@remotion/renderer").LogLevel;
8
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
9
9
  configValueShouldOpenBrowser: boolean;
10
10
  fullEntryPath: string;
11
11
  getCurrentInputProps: () => object;
@@ -45,30 +45,30 @@ export declare const StudioServerInternals: {
45
45
  remotionRoot: string;
46
46
  packageManager: string | undefined;
47
47
  dirUp: number;
48
- logLevel: import("@remotion/renderer").LogLevel;
49
- }) => {
48
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
49
+ }) => "unknown" | {
50
50
  manager: import("@remotion/studio-shared").PackageManager;
51
51
  path: string;
52
52
  installCommand: string;
53
53
  startCommand: string;
54
- } | "unknown";
54
+ };
55
55
  getMaxTimelineTracks: () => number;
56
56
  setMaxTimelineTracks: (maxTracks: number) => void;
57
57
  getLatestRemotionVersion: () => Promise<any>;
58
58
  installFileWatcher: ({ file, onChange, }: {
59
59
  file: string;
60
- onChange: (type: "created" | "deleted" | "changed") => void;
60
+ onChange: (type: "changed" | "created" | "deleted") => void;
61
61
  }) => {
62
62
  exists: boolean;
63
63
  unwatch: () => void;
64
64
  };
65
65
  AnsiDiff: typeof AnsiDiff;
66
- formatBytes: (number: number, options?: Intl.NumberFormatOptions & {
66
+ formatBytes: (number: number, options?: (Intl.NumberFormatOptions & {
67
67
  locale: string;
68
- bits?: boolean;
69
- binary?: boolean;
68
+ bits?: boolean | undefined;
69
+ binary?: boolean | undefined;
70
70
  signed: boolean;
71
- }) => string;
71
+ }) | undefined) => string;
72
72
  parseAndApplyCodemod: ({ input, codeMod, }: {
73
73
  input: string;
74
74
  codeMod: import("@remotion/studio-shared").RecastCodemod;
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StudioServerInternals = exports.getDefaultOutLocation = void 0;
4
4
  const studio_shared_1 = require("@remotion/studio-shared");
5
- var studio_shared_2 = require("@remotion/studio-shared");
5
+ const studio_shared_2 = require("@remotion/studio-shared");
6
6
  Object.defineProperty(exports, "getDefaultOutLocation", { enumerable: true, get: function () { return studio_shared_2.getDefaultOutLocation; } });
7
7
  const ansi_diff_1 = require("./ansi-diff");
8
8
  const client_render_queue_1 = require("./client-render-queue");
@@ -1,11 +1,10 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const maybeOpenBrowser: ({ browserArgs, browserFlag, configValueShouldOpenBrowser, parsedCliOpen, url, logLevel, }: {
3
2
  browserArgs: string;
4
3
  browserFlag: string;
5
4
  configValueShouldOpenBrowser: boolean;
6
5
  parsedCliOpen: boolean;
7
6
  url: string;
8
- logLevel: LogLevel;
7
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
9
8
  }) => Promise<{
10
9
  didOpenBrowser: boolean;
11
10
  }>;
@@ -4,7 +4,7 @@ import type { IncomingMessage, ServerResponse } from 'node:http';
4
4
  export type QueueMethods = {
5
5
  removeJob: (jobId: string) => void;
6
6
  cancelJob: (jobId: string) => void;
7
- addJob: ({ job, entryPoint, remotionRoot, logLevel, }: {
7
+ addJob: ({ job, entryPoint, remotionRoot, logLevel }: {
8
8
  job: RenderJobWithCleanup;
9
9
  entryPoint: string;
10
10
  remotionRoot: string;
@@ -1,4 +1,3 @@
1
1
  import type { webpack } from '@remotion/bundler';
2
- import type { LogLevel } from '@remotion/renderer';
3
2
  import type { MiddleWare } from './middleware';
4
- export declare const wdm: (compiler: webpack.Compiler, logLevel: LogLevel) => MiddleWare;
3
+ export declare const wdm: (compiler: webpack.Compiler, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => MiddleWare;
@@ -5,4 +5,4 @@ export declare function getValueContentRangeHeader(type: string, size: number, r
5
5
  end: number;
6
6
  }): string;
7
7
  export type MiddleWare = (req: IncomingMessage, res: ServerResponse, next: () => void) => void;
8
- export declare function middleware(context: DevMiddlewareContext): (req: IncomingMessage, res: ServerResponse, next: () => void) => void;
8
+ export declare function middleware(context: DevMiddlewareContext): (req: IncomingMessage, res: ServerResponse<IncomingMessage>, next: () => void) => void;
@@ -11,5 +11,5 @@ type Range = {
11
11
  type Ranges = Range[] & {
12
12
  type?: string;
13
13
  };
14
- export declare function parseRange(size: number, str: string | string[]): -1 | Ranges | -2;
14
+ export declare function parseRange(size: number, str: string | string[]): -2 | -1 | Ranges;
15
15
  export {};
@@ -1,4 +1,3 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  import type { PackageManager } from '@remotion/studio-shared';
3
2
  type LockfilePath = {
4
3
  manager: PackageManager;
@@ -11,6 +10,6 @@ export declare const getPackageManager: ({ remotionRoot, packageManager, dirUp,
11
10
  remotionRoot: string;
12
11
  packageManager: string | undefined;
13
12
  dirUp: number;
14
- logLevel: LogLevel;
15
- }) => LockfilePath | "unknown";
13
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
14
+ }) => "unknown" | LockfilePath;
16
15
  export {};
@@ -1,14 +1,13 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  import type { IncomingMessage, ServerResponse } from 'node:http';
3
2
  import type { ApiHandler, QueueMethods } from './api-types';
4
3
  export declare const handleRequest: <Req, Res>({ remotionRoot, request, response, entryPoint, handler, logLevel, methods, binariesDirectory, publicDir, }: {
5
4
  remotionRoot: string;
6
5
  publicDir: string;
7
6
  request: IncomingMessage;
8
- response: ServerResponse;
7
+ response: ServerResponse<IncomingMessage>;
9
8
  entryPoint: string;
10
9
  binariesDirectory: string | null;
11
10
  handler: ApiHandler<Req, Res>;
12
- logLevel: LogLevel;
11
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
13
12
  methods: QueueMethods;
14
13
  }) => Promise<void>;
@@ -4,7 +4,6 @@
4
4
  * and rewritten in TypeScript. This file is MIT licensed
5
5
  */
6
6
  import type { webpack } from '@remotion/bundler';
7
- import type { LogLevel } from '@remotion/renderer';
8
7
  import type { IncomingMessage, ServerResponse } from 'node:http';
9
8
  declare global {
10
9
  const __webpack_hash__: unknown;
@@ -100,4 +99,4 @@ declare global {
100
99
  };
101
100
  type ModuleId = string | number;
102
101
  }
103
- export declare const webpackHotMiddleware: (compiler: webpack.Compiler, logLevel: LogLevel) => (req: IncomingMessage, res: ServerResponse, next: () => void) => void;
102
+ export declare const webpackHotMiddleware: (compiler: webpack.Compiler, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => (req: IncomingMessage, res: ServerResponse<IncomingMessage>, next: () => void) => void;
@@ -1,4 +1,3 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  import type { EventSourceEvent } from '@remotion/studio-shared';
3
2
  import type { IncomingMessage, ServerResponse } from 'node:http';
4
3
  export type LiveEventsServer = {
@@ -6,6 +5,6 @@ export type LiveEventsServer = {
6
5
  router: (request: IncomingMessage, response: ServerResponse) => Promise<void>;
7
6
  closeConnections: () => Promise<void>;
8
7
  };
9
- export declare const makeLiveEventsRouter: (logLevel: LogLevel) => LiveEventsServer;
8
+ export declare const makeLiveEventsRouter: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => LiveEventsServer;
10
9
  export declare const waitForLiveEventsListener: () => Promise<LiveEventsServer>;
11
10
  export declare const setLiveEventsListener: (listener: LiveEventsServer) => () => void;
@@ -10,6 +10,6 @@ export declare const serveStatic: ({ root, path, req, res, allowOutsidePublicFol
10
10
  root: string;
11
11
  path: string;
12
12
  req: IncomingMessage;
13
- res: ServerResponse;
13
+ res: ServerResponse<IncomingMessage>;
14
14
  allowOutsidePublicFolder: boolean;
15
15
  }) => Promise<void>;
@@ -1,5 +1,4 @@
1
1
  import type { WebpackOverrideFn } from '@remotion/bundler';
2
- import type { LogLevel } from '@remotion/renderer';
3
2
  import type { GitSource, RenderDefaults, RenderJob } from '@remotion/studio-shared';
4
3
  import type { QueueMethods } from './api-types';
5
4
  import type { LiveEventsServer } from './live-events';
@@ -30,7 +29,7 @@ export declare const startServer: (options: {
30
29
  staticHashPrefix: string;
31
30
  outputHash: string;
32
31
  outputHashPrefix: string;
33
- logLevel: LogLevel;
32
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
34
33
  getRenderQueue: () => RenderJob[];
35
34
  getRenderDefaults: () => RenderDefaults;
36
35
  numberOfAudioTags: number;
@@ -1,4 +1,3 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  import type { UpdateAvailableResponse } from '@remotion/studio-shared';
3
2
  export declare const getRemotionVersion: () => any;
4
- export declare const isUpdateAvailableWithTimeout: (remotionRoot: string, logLevel: LogLevel) => Promise<UpdateAvailableResponse>;
3
+ export declare const isUpdateAvailableWithTimeout: (remotionRoot: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => Promise<UpdateAvailableResponse>;
package/dist/routes.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  import type { GitSource, RenderDefaults, RenderJob } from '@remotion/studio-shared';
3
2
  import type { IncomingMessage, ServerResponse } from 'node:http';
4
3
  import type { QueueMethods } from './preview-server/api-types';
@@ -9,14 +8,14 @@ export declare const handleRoutes: ({ staticHash, staticHashPrefix, outputHash,
9
8
  outputHash: string;
10
9
  outputHashPrefix: string;
11
10
  request: IncomingMessage;
12
- response: ServerResponse;
11
+ response: ServerResponse<IncomingMessage>;
13
12
  liveEventsServer: LiveEventsServer;
14
13
  getCurrentInputProps: () => object;
15
14
  getEnvVariables: () => Record<string, string>;
16
15
  remotionRoot: string;
17
16
  entryPoint: string;
18
17
  publicDir: string;
19
- logLevel: LogLevel;
18
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
20
19
  getRenderQueue: () => RenderJob[];
21
20
  getRenderDefaults: () => RenderDefaults;
22
21
  numberOfAudioTags: number;
@@ -1,3 +1,2 @@
1
- import type { LogLevel } from '@remotion/renderer';
2
1
  export declare const setServerReadyComment: (newMessage: string) => void;
3
- export declare const printServerReadyComment: (prefix: string, logLevel: LogLevel) => void;
2
+ export declare const printServerReadyComment: (prefix: string, logLevel: "error" | "info" | "trace" | "verbose" | "warn") => void;
@@ -1,5 +1,4 @@
1
1
  import type { WebpackOverrideFn } from '@remotion/bundler';
2
- import type { LogLevel } from '@remotion/renderer';
3
2
  import type { GitSource, RenderDefaults, RenderJob } from '@remotion/studio-shared';
4
3
  import type { QueueMethods } from './preview-server/api-types';
5
4
  export type StartStudioResult = {
@@ -10,7 +9,7 @@ export type StartStudioResult = {
10
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, }: {
11
10
  browserArgs: string;
12
11
  browserFlag: string;
13
- logLevel: LogLevel;
12
+ logLevel: "error" | "info" | "trace" | "verbose" | "warn";
14
13
  configValueShouldOpenBrowser: boolean;
15
14
  fullEntryPath: string;
16
15
  getCurrentInputProps: () => object;
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.423",
6
+ "version": "4.0.424",
7
7
  "description": "Run a Remotion Studio with a server backend",
8
8
  "main": "dist",
9
9
  "sideEffects": false,
@@ -11,7 +11,7 @@
11
11
  "lint": "eslint src",
12
12
  "test": "bun test src",
13
13
  "formatting": "prettier --experimental-cli src --check",
14
- "make": "tsc -d"
14
+ "make": "tsgo -d"
15
15
  },
16
16
  "author": "Jonny Burger <jonny@remotion.dev>",
17
17
  "contributors": [],
@@ -25,11 +25,11 @@
25
25
  "dependencies": {
26
26
  "@babel/parser": "7.24.1",
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.423",
28
+ "remotion": "4.0.424",
29
29
  "recast": "0.23.11",
30
- "@remotion/bundler": "4.0.423",
31
- "@remotion/renderer": "4.0.423",
32
- "@remotion/studio-shared": "4.0.423",
30
+ "@remotion/bundler": "4.0.424",
31
+ "@remotion/renderer": "4.0.424",
32
+ "@remotion/studio-shared": "4.0.424",
33
33
  "memfs": "3.4.3",
34
34
  "source-map": "0.7.3",
35
35
  "open": "^8.4.2"
@@ -39,9 +39,10 @@
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.423",
42
+ "@remotion/eslint-config-internal": "4.0.424",
43
43
  "eslint": "9.19.0",
44
- "@types/node": "20.12.14"
44
+ "@types/node": "20.12.14",
45
+ "@typescript/native-preview": "7.0.0-dev.20260217.1"
45
46
  },
46
47
  "exports": {
47
48
  ".": "./dist/index.js",
@@ -1,37 +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
- const bun_test_1 = require("bun:test");
7
- const node_fs_1 = __importDefault(require("node:fs"));
8
- const node_os_1 = __importDefault(require("node:os"));
9
- const node_path_1 = __importDefault(require("node:path"));
10
- const get_package_manager_1 = require("../get-package-manager");
11
- (0, bun_test_1.describe)('getPackageManager multiple lockfiles', () => {
12
- let tempDir;
13
- (0, bun_test_1.beforeEach)(() => {
14
- tempDir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'remotion-test-'));
15
- });
16
- (0, bun_test_1.afterEach)(() => {
17
- node_fs_1.default.rmSync(tempDir, { recursive: true, force: true });
18
- });
19
- (0, bun_test_1.test)('should not throw error when multiple lockfiles are detected', () => {
20
- node_fs_1.default.writeFileSync(node_path_1.default.join(tempDir, 'package-lock.json'), '{}');
21
- node_fs_1.default.writeFileSync(node_path_1.default.join(tempDir, 'bun.lock'), '');
22
- // Should not throw
23
- const manager = (0, get_package_manager_1.getPackageManager)(tempDir, undefined, 0);
24
- // Should return one of them (usually the first one in the list, which is npm)
25
- (0, bun_test_1.expect)(manager).not.toBe('unknown');
26
- if (typeof manager !== 'string') {
27
- (0, bun_test_1.expect)(['npm', 'bun']).toContain(manager.manager);
28
- }
29
- });
30
- (0, bun_test_1.test)('should return npm if only package-lock.json exists', () => {
31
- node_fs_1.default.writeFileSync(node_path_1.default.join(tempDir, 'package-lock.json'), '{}');
32
- const manager = (0, get_package_manager_1.getPackageManager)(tempDir, undefined, 0);
33
- if (typeof manager !== 'string') {
34
- (0, bun_test_1.expect)(manager.manager).toBe('npm');
35
- }
36
- });
37
- });