vercel-cli 48.0.3__py3-none-any.whl → 48.1.0__py3-none-any.whl

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.

Potentially problematic release.


This version of vercel-cli might be problematic. Click here for more details.

@@ -15,9 +15,9 @@
15
15
  "license": "Apache-2.0"
16
16
  },
17
17
  "node_modules/@vercel/python": {
18
- "version": "5.0.4",
19
- "resolved": "https://registry.npmjs.org/@vercel/python/-/python-5.0.4.tgz",
20
- "integrity": "sha512-QtwyRRjW3SB5K8QvXn4yI78gQusmdLXCwWa2kXdMwx53eln5UCuVCXrNpA3TASLIgbVQ6i7VFcVwdyFKt3qKcg==",
18
+ "version": "5.0.5",
19
+ "resolved": "https://registry.npmjs.org/@vercel/python/-/python-5.0.5.tgz",
20
+ "integrity": "sha512-XLG/fDe2hflzNtSWuoASTo+N2c4hl6SbcufvBRYa7BnBQK9t4ZH1IEu+vJkq2AUoVczp5JEYLEXkIGm8KBtoeg==",
21
21
  "license": "Apache-2.0"
22
22
  }
23
23
  }
@@ -48,7 +48,7 @@ var require_windows = __commonJS({
48
48
  "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js"(exports, module2) {
49
49
  module2.exports = isexe;
50
50
  isexe.sync = sync;
51
- var fs2 = require("fs");
51
+ var fs3 = require("fs");
52
52
  function checkPathExt(path, options) {
53
53
  var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT;
54
54
  if (!pathext) {
@@ -73,12 +73,12 @@ var require_windows = __commonJS({
73
73
  return checkPathExt(path, options);
74
74
  }
75
75
  function isexe(path, options, cb) {
76
- fs2.stat(path, function(er, stat) {
76
+ fs3.stat(path, function(er, stat) {
77
77
  cb(er, er ? false : checkStat(stat, path, options));
78
78
  });
79
79
  }
80
80
  function sync(path, options) {
81
- return checkStat(fs2.statSync(path), path, options);
81
+ return checkStat(fs3.statSync(path), path, options);
82
82
  }
83
83
  }
84
84
  });
@@ -88,14 +88,14 @@ var require_mode = __commonJS({
88
88
  "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js"(exports, module2) {
89
89
  module2.exports = isexe;
90
90
  isexe.sync = sync;
91
- var fs2 = require("fs");
91
+ var fs3 = require("fs");
92
92
  function isexe(path, options, cb) {
93
- fs2.stat(path, function(er, stat) {
93
+ fs3.stat(path, function(er, stat) {
94
94
  cb(er, er ? false : checkStat(stat, options));
95
95
  });
96
96
  }
97
97
  function sync(path, options) {
98
- return checkStat(fs2.statSync(path), options);
98
+ return checkStat(fs3.statSync(path), options);
99
99
  }
100
100
  function checkStat(stat, options) {
101
101
  return stat.isFile() && checkMode(stat, options);
@@ -119,7 +119,7 @@ var require_mode = __commonJS({
119
119
  // ../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js
120
120
  var require_isexe = __commonJS({
121
121
  "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js"(exports, module2) {
122
- var fs2 = require("fs");
122
+ var fs3 = require("fs");
123
123
  var core;
124
124
  if (process.platform === "win32" || global.TESTING_WINDOWS) {
125
125
  core = require_windows();
@@ -174,8 +174,8 @@ var require_isexe = __commonJS({
174
174
  // ../../node_modules/.pnpm/which@1.3.1/node_modules/which/which.js
175
175
  var require_which = __commonJS({
176
176
  "../../node_modules/.pnpm/which@1.3.1/node_modules/which/which.js"(exports, module2) {
177
- module2.exports = which2;
178
- which2.sync = whichSync;
177
+ module2.exports = which3;
178
+ which3.sync = whichSync;
179
179
  var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
180
180
  var path = require("path");
181
181
  var COLON = isWindows ? ";" : ":";
@@ -206,7 +206,7 @@ var require_which = __commonJS({
206
206
  extExe: pathExtExe
207
207
  };
208
208
  }
209
- function which2(cmd, opt, cb) {
209
+ function which3(cmd, opt, cb) {
210
210
  if (typeof opt === "function") {
211
211
  cb = opt;
212
212
  opt = {};
@@ -307,7 +307,7 @@ var require_resolveCommand = __commonJS({
307
307
  "../../node_modules/.pnpm/cross-spawn@6.0.5/node_modules/cross-spawn/lib/util/resolveCommand.js"(exports, module2) {
308
308
  "use strict";
309
309
  var path = require("path");
310
- var which2 = require_which();
310
+ var which3 = require_which();
311
311
  var pathKey = require_path_key()();
312
312
  function resolveCommandAttempt(parsed, withoutPathExt) {
313
313
  const cwd = process.cwd();
@@ -320,7 +320,7 @@ var require_resolveCommand = __commonJS({
320
320
  }
321
321
  let resolved;
322
322
  try {
323
- resolved = which2.sync(parsed.command, {
323
+ resolved = which3.sync(parsed.command, {
324
324
  path: (parsed.options.env || process.env)[pathKey],
325
325
  pathExt: withoutPathExt ? path.delimiter : void 0
326
326
  });
@@ -395,7 +395,7 @@ var require_shebang_command = __commonJS({
395
395
  var require_readShebang = __commonJS({
396
396
  "../../node_modules/.pnpm/cross-spawn@6.0.5/node_modules/cross-spawn/lib/util/readShebang.js"(exports, module2) {
397
397
  "use strict";
398
- var fs2 = require("fs");
398
+ var fs3 = require("fs");
399
399
  var shebangCommand = require_shebang_command();
400
400
  function readShebang(command) {
401
401
  const size = 150;
@@ -408,9 +408,9 @@ var require_readShebang = __commonJS({
408
408
  }
409
409
  let fd;
410
410
  try {
411
- fd = fs2.openSync(command, "r");
412
- fs2.readSync(fd, buffer, 0, size, 0);
413
- fs2.closeSync(fd);
411
+ fd = fs3.openSync(command, "r");
412
+ fs3.readSync(fd, buffer, 0, size, 0);
413
+ fs3.closeSync(fd);
414
414
  } catch (e) {
415
415
  }
416
416
  return shebangCommand(buffer.toString());
@@ -1498,7 +1498,7 @@ var require_parse = __commonJS({
1498
1498
  var escape = require_escape();
1499
1499
  var readShebang = require_readShebang();
1500
1500
  var semver = require_semver();
1501
- var isWin = process.platform === "win32";
1501
+ var isWin2 = process.platform === "win32";
1502
1502
  var isExecutableRegExp = /\.(?:com|exe)$/i;
1503
1503
  var isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
1504
1504
  var supportsShellOption = niceTry(() => semver.satisfies(process.version, "^4.8.0 || ^5.7.0 || >= 6.0.0", true)) || false;
@@ -1513,7 +1513,7 @@ var require_parse = __commonJS({
1513
1513
  return parsed.file;
1514
1514
  }
1515
1515
  function parseNonShell(parsed) {
1516
- if (!isWin) {
1516
+ if (!isWin2) {
1517
1517
  return parsed;
1518
1518
  }
1519
1519
  const commandFile = detectShebang(parsed);
@@ -1535,7 +1535,7 @@ var require_parse = __commonJS({
1535
1535
  return parsed;
1536
1536
  }
1537
1537
  const shellCommand = [parsed.command].concat(parsed.args).join(" ");
1538
- if (isWin) {
1538
+ if (isWin2) {
1539
1539
  parsed.command = typeof parsed.options.shell === "string" ? parsed.options.shell : process.env.comspec || "cmd.exe";
1540
1540
  parsed.args = ["/d", "/s", "/c", `"${shellCommand}"`];
1541
1541
  parsed.options.windowsVerbatimArguments = true;
@@ -1578,7 +1578,7 @@ var require_parse = __commonJS({
1578
1578
  var require_enoent = __commonJS({
1579
1579
  "../../node_modules/.pnpm/cross-spawn@6.0.5/node_modules/cross-spawn/lib/enoent.js"(exports, module2) {
1580
1580
  "use strict";
1581
- var isWin = process.platform === "win32";
1581
+ var isWin2 = process.platform === "win32";
1582
1582
  function notFoundError(original, syscall) {
1583
1583
  return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
1584
1584
  code: "ENOENT",
@@ -1589,7 +1589,7 @@ var require_enoent = __commonJS({
1589
1589
  });
1590
1590
  }
1591
1591
  function hookChildProcess(cp, parsed) {
1592
- if (!isWin) {
1592
+ if (!isWin2) {
1593
1593
  return;
1594
1594
  }
1595
1595
  const originalEmit = cp.emit;
@@ -1604,13 +1604,13 @@ var require_enoent = __commonJS({
1604
1604
  };
1605
1605
  }
1606
1606
  function verifyENOENT(status, parsed) {
1607
- if (isWin && status === 1 && !parsed.file) {
1607
+ if (isWin2 && status === 1 && !parsed.file) {
1608
1608
  return notFoundError(parsed.original, "spawn");
1609
1609
  }
1610
1610
  return null;
1611
1611
  }
1612
1612
  function verifyENOENTSync(status, parsed) {
1613
- if (isWin && status === 1 && !parsed.file) {
1613
+ if (isWin2 && status === 1 && !parsed.file) {
1614
1614
  return notFoundError(parsed.original, "spawnSync");
1615
1615
  }
1616
1616
  return null;
@@ -1895,9 +1895,9 @@ var require_pump = __commonJS({
1895
1895
  "../../node_modules/.pnpm/pump@3.0.2/node_modules/pump/index.js"(exports, module2) {
1896
1896
  var once = require_once();
1897
1897
  var eos = require_end_of_stream();
1898
- var fs2;
1898
+ var fs3;
1899
1899
  try {
1900
- fs2 = require("fs");
1900
+ fs3 = require("fs");
1901
1901
  } catch (e) {
1902
1902
  }
1903
1903
  var noop = function() {
@@ -1909,9 +1909,9 @@ var require_pump = __commonJS({
1909
1909
  var isFS = function(stream) {
1910
1910
  if (!ancient)
1911
1911
  return false;
1912
- if (!fs2)
1912
+ if (!fs3)
1913
1913
  return false;
1914
- return (stream instanceof (fs2.ReadStream || noop) || stream instanceof (fs2.WriteStream || noop)) && isFn(stream.close);
1914
+ return (stream instanceof (fs3.ReadStream || noop) || stream instanceof (fs3.WriteStream || noop)) && isFn(stream.close);
1915
1915
  };
1916
1916
  var isRequest = function(stream) {
1917
1917
  return stream.setHeader && isFn(stream.abort);
@@ -2143,7 +2143,7 @@ var require_signal_exit = __commonJS({
2143
2143
  } else {
2144
2144
  assert = require("assert");
2145
2145
  signals = require_signals();
2146
- isWin = /^win/i.test(process2.platform);
2146
+ isWin2 = /^win/i.test(process2.platform);
2147
2147
  EE = require("events");
2148
2148
  if (typeof EE !== "function") {
2149
2149
  EE = EE.EventEmitter;
@@ -2215,7 +2215,7 @@ var require_signal_exit = __commonJS({
2215
2215
  unload();
2216
2216
  emit("exit", null, sig);
2217
2217
  emit("afterexit", null, sig);
2218
- if (isWin && sig === "SIGHUP") {
2218
+ if (isWin2 && sig === "SIGHUP") {
2219
2219
  sig = "SIGINT";
2220
2220
  }
2221
2221
  process2.kill(process2.pid, sig);
@@ -2272,7 +2272,7 @@ var require_signal_exit = __commonJS({
2272
2272
  }
2273
2273
  var assert;
2274
2274
  var signals;
2275
- var isWin;
2275
+ var isWin2;
2276
2276
  var EE;
2277
2277
  var emitter;
2278
2278
  var unload;
@@ -2682,7 +2682,7 @@ var require_lib = __commonJS({
2682
2682
  const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : "";
2683
2683
  return prefix + join3(pathPart, cmd);
2684
2684
  };
2685
- var which2 = async (cmd, opt = {}) => {
2685
+ var which3 = async (cmd, opt = {}) => {
2686
2686
  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
2687
2687
  const found = [];
2688
2688
  for (const envPart of pathEnv) {
@@ -2730,8 +2730,8 @@ var require_lib = __commonJS({
2730
2730
  }
2731
2731
  throw getNotFoundError(cmd);
2732
2732
  };
2733
- module2.exports = which2;
2734
- which2.sync = whichSync;
2733
+ module2.exports = which3;
2734
+ which3.sync = whichSync;
2735
2735
  }
2736
2736
  });
2737
2737
 
@@ -2746,7 +2746,7 @@ __export(src_exports, {
2746
2746
  version: () => version
2747
2747
  });
2748
2748
  module.exports = __toCommonJS(src_exports);
2749
- var import_fs = __toESM(require("fs"));
2749
+ var import_fs2 = __toESM(require("fs"));
2750
2750
  var import_execa2 = __toESM(require_execa());
2751
2751
  var import_util = require("util");
2752
2752
  var import_path2 = require("path");
@@ -2754,8 +2754,13 @@ var import_build_utils3 = require("@vercel/build-utils");
2754
2754
 
2755
2755
  // src/install.ts
2756
2756
  var import_execa = __toESM(require_execa());
2757
+ var import_fs = __toESM(require("fs"));
2758
+ var import_os = __toESM(require("os"));
2757
2759
  var import_path = require("path");
2760
+ var import_which = __toESM(require_lib());
2758
2761
  var import_build_utils = require("@vercel/build-utils");
2762
+ var isWin = process.platform === "win32";
2763
+ var uvExec = isWin ? "uv.exe" : "uv";
2759
2764
  var makeDependencyCheckCode = (dependency) => `
2760
2765
  from importlib import util
2761
2766
  dep = '${dependency}'.replace('-', '_')
@@ -2805,9 +2810,61 @@ function resolveVendorDir() {
2805
2810
  const vendorDir = process.env.VERCEL_PYTHON_VENDOR_DIR || "_vendor";
2806
2811
  return vendorDir;
2807
2812
  }
2808
- async function pipInstall(pipPath, workPath, args) {
2813
+ async function getGlobalScriptsDir(pythonPath) {
2814
+ const code = `import sysconfig; print(sysconfig.get_path('scripts'))`;
2815
+ try {
2816
+ const { stdout } = await (0, import_execa.default)(pythonPath, ["-c", code]);
2817
+ const out = stdout.trim();
2818
+ return out || null;
2819
+ } catch (err) {
2820
+ (0, import_build_utils.debug)("Failed to resolve Python global scripts directory", err);
2821
+ return null;
2822
+ }
2823
+ }
2824
+ async function getUserScriptsDir(pythonPath) {
2825
+ const code = `import sys, sysconfig; print(sysconfig.get_path('scripts', scheme=('nt_user' if sys.platform == 'win32' else 'posix_user')))`.replace(
2826
+ /\n/g,
2827
+ " "
2828
+ );
2829
+ try {
2830
+ const { stdout } = await (0, import_execa.default)(pythonPath, ["-c", code]);
2831
+ const out = stdout.trim();
2832
+ return out || null;
2833
+ } catch (err) {
2834
+ (0, import_build_utils.debug)("Failed to resolve Python user scripts directory", err);
2835
+ return null;
2836
+ }
2837
+ }
2838
+ async function pipInstall(pipPath, pythonPath, workPath, args) {
2809
2839
  const target = resolveVendorDir();
2810
2840
  process.env.PIP_USER = "0";
2841
+ let uvBin = null;
2842
+ try {
2843
+ uvBin = await getUvBinaryOrInstall(pythonPath);
2844
+ } catch (err) {
2845
+ console.log("Failed to install uv, falling back to pip");
2846
+ }
2847
+ if (uvBin) {
2848
+ const uvArgs = [
2849
+ "pip",
2850
+ "install",
2851
+ "--no-compile",
2852
+ "--no-cache-dir",
2853
+ "--target",
2854
+ target,
2855
+ ...args
2856
+ ];
2857
+ const prettyUv = `${uvBin} ${uvArgs.join(" ")}`;
2858
+ (0, import_build_utils.debug)(`Running "${prettyUv}"...`);
2859
+ try {
2860
+ await (0, import_execa.default)(uvBin, uvArgs, {
2861
+ cwd: workPath
2862
+ });
2863
+ return;
2864
+ } catch (err) {
2865
+ console.log(`Failed to run "${prettyUv}", falling back to pip`);
2866
+ }
2867
+ }
2811
2868
  const cmdArgs = [
2812
2869
  "install",
2813
2870
  "--disable-pip-version-check",
@@ -2828,6 +2885,87 @@ async function pipInstall(pipPath, workPath, args) {
2828
2885
  throw err;
2829
2886
  }
2830
2887
  }
2888
+ async function maybeFindUvBin(pythonPath) {
2889
+ const found = import_which.default.sync(uvExec, { nothrow: true });
2890
+ if (found)
2891
+ return found;
2892
+ try {
2893
+ const globalScriptsDir = await getGlobalScriptsDir(pythonPath);
2894
+ if (globalScriptsDir) {
2895
+ const uvPath = (0, import_path.join)(globalScriptsDir, uvExec);
2896
+ if (import_fs.default.existsSync(uvPath))
2897
+ return uvPath;
2898
+ }
2899
+ } catch (err) {
2900
+ (0, import_build_utils.debug)(
2901
+ "Failed to resolve uv from interpreter's global scripts directory",
2902
+ err
2903
+ );
2904
+ }
2905
+ try {
2906
+ const userScriptsDir = await getUserScriptsDir(pythonPath);
2907
+ if (userScriptsDir) {
2908
+ const uvPath = (0, import_path.join)(userScriptsDir, uvExec);
2909
+ if (import_fs.default.existsSync(uvPath))
2910
+ return uvPath;
2911
+ }
2912
+ } catch (err) {
2913
+ (0, import_build_utils.debug)(
2914
+ "Failed to resolve uv from interpreter's user scripts directory",
2915
+ err
2916
+ );
2917
+ }
2918
+ try {
2919
+ const candidates = [];
2920
+ if (!isWin) {
2921
+ candidates.push((0, import_path.join)(import_os.default.homedir(), ".local", "bin", "uv"));
2922
+ candidates.push("/usr/local/bin/uv");
2923
+ candidates.push("/opt/homebrew/bin/uv");
2924
+ } else {
2925
+ candidates.push("C:\\Users\\Public\\uv\\uv.exe");
2926
+ }
2927
+ for (const p of candidates) {
2928
+ if (import_fs.default.existsSync(p))
2929
+ return p;
2930
+ }
2931
+ } catch (err) {
2932
+ (0, import_build_utils.debug)("Failed to resolve uv fallback paths", err);
2933
+ }
2934
+ return null;
2935
+ }
2936
+ async function getUvBinaryOrInstall(pythonPath) {
2937
+ const uvBin = await maybeFindUvBin(pythonPath);
2938
+ if (uvBin) {
2939
+ console.log(`Using uv at "${uvBin}"`);
2940
+ return uvBin;
2941
+ }
2942
+ try {
2943
+ console.log("Installing uv...");
2944
+ await (0, import_execa.default)(
2945
+ pythonPath,
2946
+ [
2947
+ "-m",
2948
+ "pip",
2949
+ "install",
2950
+ "--disable-pip-version-check",
2951
+ "--no-cache-dir",
2952
+ "--user",
2953
+ "uv==0.8.18"
2954
+ ],
2955
+ { env: { ...process.env, PIP_USER: "1" } }
2956
+ );
2957
+ } catch (err) {
2958
+ throw new Error(
2959
+ `Failed to install uv via pip: ${err instanceof Error ? err.message : String(err)}`
2960
+ );
2961
+ }
2962
+ const resolvedUvBin = await maybeFindUvBin(pythonPath);
2963
+ if (!resolvedUvBin) {
2964
+ throw new Error("Unable to resolve uv binary after pip install");
2965
+ }
2966
+ console.log(`Installed uv at "${resolvedUvBin}"`);
2967
+ return resolvedUvBin;
2968
+ }
2831
2969
  async function installRequirement({
2832
2970
  pythonPath,
2833
2971
  pipPath,
@@ -2844,7 +2982,7 @@ async function installRequirement({
2844
2982
  return;
2845
2983
  }
2846
2984
  const exact = `${dependency}==${version2}`;
2847
- await pipInstall(pipPath, workPath, [exact, ...args]);
2985
+ await pipInstall(pipPath, pythonPath, workPath, [exact, ...args]);
2848
2986
  }
2849
2987
  async function installRequirementsFile({
2850
2988
  pythonPath,
@@ -2858,12 +2996,17 @@ async function installRequirementsFile({
2858
2996
  (0, import_build_utils.debug)(`Skipping requirements file installation, already installed`);
2859
2997
  return;
2860
2998
  }
2861
- await pipInstall(pipPath, workPath, ["--upgrade", "-r", filePath, ...args]);
2999
+ await pipInstall(pipPath, pythonPath, workPath, [
3000
+ "--upgrade",
3001
+ "-r",
3002
+ filePath,
3003
+ ...args
3004
+ ]);
2862
3005
  }
2863
3006
 
2864
3007
  // src/version.ts
2865
3008
  var import_build_utils2 = require("@vercel/build-utils");
2866
- var import_which = __toESM(require_lib());
3009
+ var import_which2 = __toESM(require_lib());
2867
3010
  var allOptions = [
2868
3011
  {
2869
3012
  version: "3.12",
@@ -2961,12 +3104,12 @@ function isDiscontinued({ discontinueDate }) {
2961
3104
  return discontinueDate !== void 0 && discontinueDate.getTime() <= today;
2962
3105
  }
2963
3106
  function isInstalled2({ pipPath, pythonPath }) {
2964
- return Boolean(import_which.default.sync(pipPath, { nothrow: true })) && Boolean(import_which.default.sync(pythonPath, { nothrow: true }));
3107
+ return Boolean(import_which2.default.sync(pipPath, { nothrow: true })) && Boolean(import_which2.default.sync(pythonPath, { nothrow: true }));
2965
3108
  }
2966
3109
 
2967
3110
  // src/index.ts
2968
- var readFile = (0, import_util.promisify)(import_fs.default.readFile);
2969
- var writeFile = (0, import_util.promisify)(import_fs.default.writeFile);
3111
+ var readFile = (0, import_util.promisify)(import_fs2.default.readFile);
3112
+ var writeFile = (0, import_util.promisify)(import_fs2.default.writeFile);
2970
3113
  var fastapiEntrypointFilenames = ["app", "index", "server", "main"];
2971
3114
  var fastapiEntrypointDirs = ["", "src", "app"];
2972
3115
  var fastapiContentRegex = /(from\s+fastapi\s+import\s+FastAPI|import\s+fastapi|FastAPI\s*\()/;
@@ -2978,7 +3121,7 @@ function isFastapiEntrypoint(file) {
2978
3121
  const fsPath = file.fsPath;
2979
3122
  if (!fsPath)
2980
3123
  return false;
2981
- const contents = import_fs.default.readFileSync(fsPath, "utf8");
3124
+ const contents = import_fs2.default.readFileSync(fsPath, "utf8");
2982
3125
  return fastapiContentRegex.test(contents);
2983
3126
  } catch {
2984
3127
  return false;
@@ -2992,7 +3135,7 @@ async function pipenvConvert(cmd, srcDir, env) {
2992
3135
  env
2993
3136
  });
2994
3137
  (0, import_build_utils3.debug)("Contents of requirements.txt is: " + out);
2995
- import_fs.default.writeFileSync((0, import_path2.join)(srcDir, "requirements.txt"), out);
3138
+ import_fs2.default.writeFileSync((0, import_path2.join)(srcDir, "requirements.txt"), out);
2996
3139
  } catch (err) {
2997
3140
  console.log('Failed to run "pipfile2req"');
2998
3141
  throw err;
@@ -3131,7 +3274,7 @@ var build = async ({
3131
3274
  entryDirectory
3132
3275
  );
3133
3276
  try {
3134
- await import_fs.default.promises.mkdir(vendorBaseDir, { recursive: true });
3277
+ await import_fs2.default.promises.mkdir(vendorBaseDir, { recursive: true });
3135
3278
  } catch (err) {
3136
3279
  console.log("Failed to create vendor cache directory");
3137
3280
  throw err;
@@ -3196,7 +3339,7 @@ var build = async ({
3196
3339
  const files = await (0, import_build_utils3.glob)("**", globOptions);
3197
3340
  try {
3198
3341
  const cachedVendorAbs = (0, import_path2.join)(vendorBaseDir, resolveVendorDir());
3199
- if (import_fs.default.existsSync(cachedVendorAbs)) {
3342
+ if (import_fs2.default.existsSync(cachedVendorAbs)) {
3200
3343
  const vendorFiles = await (0, import_build_utils3.glob)("**", cachedVendorAbs, resolveVendorDir());
3201
3344
  for (const [p, f] of Object.entries(vendorFiles)) {
3202
3345
  files[p] = f;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/python",
3
- "version": "5.0.4",
3
+ "version": "5.0.5",
4
4
  "main": "./dist/index.js",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/python",
@@ -6,7 +6,7 @@
6
6
  "dependencies": {
7
7
  "@vercel/build-utils": "12.1.0",
8
8
  "@vercel/detect-agent": "0.2.0",
9
- "@vercel/python": "5.0.4"
9
+ "@vercel/python": "5.0.5"
10
10
  },
11
11
  "description": "The command-line interface for Vercel",
12
12
  "engines": {
@@ -37,5 +37,5 @@
37
37
  "vitest-run": "vitest --config ./vitest.config.mts",
38
38
  "vitest-unit": "jest test/unit/ --listTests"
39
39
  },
40
- "version": "48.0.3"
40
+ "version": "48.1.0"
41
41
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vercel-cli
3
- Version: 48.0.3
3
+ Version: 48.1.0
4
4
  Summary: Vercel CLI packaged for Python (bundled Node.js, vendored npm)
5
5
  Project-URL: Homepage, https://github.com/nuage-studio/vercel-cli-python
6
6
  Project-URL: Repository, https://github.com/nuage-studio/vercel-cli-python
@@ -1,12 +1,12 @@
1
1
  vercel_cli/vendor/LICENSE,sha256=sHDXe_ssUqHdaZbeDOX2TEmgylXIibFjqWPd9csAHuI,11343
2
2
  vercel_cli/vendor/README.md,sha256=2ZrJzd7x21xlpsOZ9QKG6478zbXb8-3YN8cPyzPxZNk,1799
3
- vercel_cli/vendor/package.json,sha256=yIqMRFue6--d178JhM7cGj-IdkY7AWCuwp5fjL6cCNg,1261
3
+ vercel_cli/vendor/package.json,sha256=wC-RvBsVUAj17QxM7PyUDmYYGHn5pkNNrDkiaYMxtS0,1261
4
4
  vercel_cli/vendor/dist/VERCEL_DIR_README.txt,sha256=9dHtD1AyrhKJMfRkWbX6oa9jGfwt-z56X-VKhL-T29Y,520
5
5
  vercel_cli/vendor/dist/builder-worker.js,sha256=RgutTXJcurRisV2NtlruuPDtCBOi8eHSGCo3n4GcCIM,1969
6
6
  vercel_cli/vendor/dist/get-latest-worker.js,sha256=w7nK8nQtlYad_SKuFQGw_sg7_bb-p0uHOf1MYiwrUNs,7964
7
- vercel_cli/vendor/dist/index.js,sha256=uYO3jRffo2gQIFoRpmeDwWD-GWSWZfetkFMb1ohtaJo,8866566
7
+ vercel_cli/vendor/dist/index.js,sha256=sY3m5QSYPSoIDjDjBZ9zGMKRNY2FthNxJ_EM-VpfKlo,8878532
8
8
  vercel_cli/vendor/dist/vc.js,sha256=AAC4u6uwjpO0KfFVuLRs5YWXjW4aMCkgSj_45hR3W8k,340
9
- vercel_cli/vendor/node_modules/.package-lock.json,sha256=gfpJC3qtwTs1Lur0Dgt3ptrO4UwbX6YkqzhrKQgjY6o,1002
9
+ vercel_cli/vendor/node_modules/.package-lock.json,sha256=5XNKOzqaT9tL-wdzGEGIdOn7XUT5DGeoR5g51ApGn1I,1002
10
10
  vercel_cli/vendor/node_modules/@vercel/build-utils/CHANGELOG.md,sha256=ji-V7NgIUH1Fj-lmUh0LmIxhS6bq_0TW7xFH0e9yiF8,18051
11
11
  vercel_cli/vendor/node_modules/@vercel/build-utils/LICENSE,sha256=sHDXe_ssUqHdaZbeDOX2TEmgylXIibFjqWPd9csAHuI,11343
12
12
  vercel_cli/vendor/node_modules/@vercel/build-utils/build.mjs,sha256=UCAJgPaur_bxtLTnQxSkBwoq246SSCBvI-0w_PvbAVU,132
@@ -94,10 +94,10 @@ vercel_cli/vendor/node_modules/@vercel/detect-agent/package.json,sha256=Mt64aqQb
94
94
  vercel_cli/vendor/node_modules/@vercel/detect-agent/dist/index.d.ts,sha256=vmuS3wT5-mth54kB1N8ue-58SV_K6vMlaaZr3YPY30k,67
95
95
  vercel_cli/vendor/node_modules/@vercel/detect-agent/dist/index.js,sha256=WfZXin2E4GP1hNp0-jz3-XhHgFrbyp-wmGo-Mw0q3js,1973
96
96
  vercel_cli/vendor/node_modules/@vercel/python/LICENSE,sha256=sHDXe_ssUqHdaZbeDOX2TEmgylXIibFjqWPd9csAHuI,11343
97
- vercel_cli/vendor/node_modules/@vercel/python/package.json,sha256=7FIHqqKqng5jeEOZWZP516OdmJTyS4OM-r5Mhb8mSCo,1044
97
+ vercel_cli/vendor/node_modules/@vercel/python/package.json,sha256=rLcVtrCKoYOp00gwMR7LmyfI_H-8M01PnBZsGICTLfs,1044
98
98
  vercel_cli/vendor/node_modules/@vercel/python/vc_init.py,sha256=A7949hQi18B9yqPkTr1bepToi7nKRh_yRP7GwmsI-Ww,28201
99
- vercel_cli/vendor/node_modules/@vercel/python/dist/index.js,sha256=G5daDqyPBQM_vPQGZC-OrHdYt3aKOuVUwvPKqeETjSU,107035
100
- vercel_cli-48.0.3.dist-info/METADATA,sha256=j9pToyHLeQlOXrVhbpEOwNtSWANKDqmENb1d-N-gF_U,7085
101
- vercel_cli-48.0.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
102
- vercel_cli-48.0.3.dist-info/entry_points.txt,sha256=3iHkg20gi2BZorK1g5UlyZY3tN5E1vJX6PX5-ibn9fI,83
103
- vercel_cli-48.0.3.dist-info/RECORD,,
99
+ vercel_cli/vendor/node_modules/@vercel/python/dist/index.js,sha256=8ta98iZTEyUQPkd-t7hzMQ4PAaL9OfRMuo6yde25Ld4,111220
100
+ vercel_cli-48.1.0.dist-info/METADATA,sha256=NiviAIUvlZVJ3iFt9xf3ol49bBUsxI4LV4woDDqHi28,7085
101
+ vercel_cli-48.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
102
+ vercel_cli-48.1.0.dist-info/entry_points.txt,sha256=3iHkg20gi2BZorK1g5UlyZY3tN5E1vJX6PX5-ibn9fI,83
103
+ vercel_cli-48.1.0.dist-info/RECORD,,