vercel 59.6.2 → 59.9.1

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 (89) hide show
  1. package/dist/chunks/{add-HJSEM4YJ.js → add-6YKY5LGR.js} +2 -2
  2. package/dist/chunks/{add-4GQZ22ZN.js → add-DGK2A56E.js} +2 -2
  3. package/dist/chunks/{add-SIGUSM3Y.js → add-QZ5FW7LT.js} +5 -5
  4. package/dist/chunks/{build-XOMJDX4M.js → build-YFUXHSMU.js} +2 -2
  5. package/dist/chunks/{chunk-GISTGGBO.js → chunk-22GK226I.js} +3 -3
  6. package/dist/chunks/{chunk-WZ2S3A2A.js → chunk-2TXLG52H.js} +19 -3
  7. package/dist/chunks/{chunk-PRH6KRUT.js → chunk-3E62ATUY.js} +1 -1
  8. package/dist/chunks/{chunk-LXZVOR6F.js → chunk-52P3DIMH.js} +1 -1
  9. package/dist/chunks/{chunk-FRZULOVH.js → chunk-62XYUSRS.js} +1 -1
  10. package/dist/chunks/{chunk-V3MDDR2X.js → chunk-7PMXNOZH.js} +1 -1
  11. package/dist/chunks/{chunk-YJKZQEHS.js → chunk-DSBOE2OV.js} +1 -1
  12. package/dist/chunks/{chunk-R5PULMHT.js → chunk-FEQJSISH.js} +1 -1
  13. package/dist/chunks/{chunk-ZNMTDLYH.js → chunk-FME4CIZL.js} +2 -2
  14. package/dist/chunks/{chunk-SF3AYAIF.js → chunk-H43VTKRO.js} +4 -4
  15. package/dist/chunks/{chunk-3F5EGINT.js → chunk-HK2IYHVR.js} +1 -1
  16. package/dist/chunks/{chunk-2YRAWYGE.js → chunk-I526H4AS.js} +17 -0
  17. package/dist/chunks/{chunk-JH4WQRIU.js → chunk-I7ZVTKXM.js} +1 -1
  18. package/dist/chunks/{chunk-SWI6F4X3.js → chunk-IWNFDR3C.js} +5 -1
  19. package/dist/chunks/{chunk-YJUO3EKH.js → chunk-KJBZ5ZST.js} +0 -1
  20. package/dist/chunks/{chunk-37V5P4VO.js → chunk-LD3Q3MUI.js} +6 -6
  21. package/dist/chunks/{chunk-7HE63HCR.js → chunk-LDZFKXIR.js} +5 -1
  22. package/dist/chunks/{chunk-VJ5NAOWB.js → chunk-OHQJEOP7.js} +312 -192
  23. package/dist/chunks/{chunk-NGNN6WF2.js → chunk-PGTGT7AU.js} +3 -3
  24. package/dist/chunks/{chunk-GZQQNLF5.js → chunk-PIFTX5CY.js} +2 -2
  25. package/dist/chunks/{chunk-7R6M3BHM.js → chunk-QWOCOZMS.js} +1 -1
  26. package/dist/chunks/{chunk-6M2KZUED.js → chunk-T3MRP74K.js} +1 -1
  27. package/dist/chunks/{chunk-DE7MBNHQ.js → chunk-XN75ARAD.js} +1 -1
  28. package/dist/chunks/{chunk-2O5J3KMT.js → chunk-ZCAFRSCD.js} +1 -1
  29. package/dist/chunks/{clear-BWT2FJY4.js → clear-LHNLYPZB.js} +2 -2
  30. package/dist/chunks/{compile-vercel-config-DGM4NISW.js → compile-vercel-config-6KPIBWNU.js} +1 -1
  31. package/dist/chunks/{config-RSE6Z4LB.js → config-CNP7P3VD.js} +5 -5
  32. package/dist/chunks/{config-NJAN3RMU.js → config-UETLVP5G.js} +2 -2
  33. package/dist/chunks/config-validator.mjs +1 -1
  34. package/dist/chunks/{delete-SSL2PK2F.js → delete-BYCZJBHH.js} +2 -2
  35. package/dist/chunks/{delete-LROBRBAH.js → delete-MB7H2LWR.js} +2 -2
  36. package/dist/chunks/{disable-ASG5JDZR.js → disable-OCDW6U2Q.js} +2 -2
  37. package/dist/chunks/{discard-PV47B6IL.js → discard-DWPG5UX5.js} +2 -2
  38. package/dist/chunks/{edit-REI7HXGG.js → edit-ATX4K4OL.js} +2 -2
  39. package/dist/chunks/{edit-5ATYIOLX.js → edit-NOZXPAV3.js} +3 -3
  40. package/dist/chunks/{enable-LZXL7XAG.js → enable-BO5DALIP.js} +2 -2
  41. package/dist/chunks/{export-ZAZFQU2E.js → export-RS6X5DZW.js} +2 -2
  42. package/dist/chunks/{image-QPHN5V7L.js → image-QCNVSQFC.js} +3 -3
  43. package/dist/chunks/{import-builders-W3YE2V6A.js → import-builders-H4VASUQQ.js} +2 -2
  44. package/dist/chunks/{inspect-BFGK72WY.js → inspect-BOLFZZBM.js} +3 -3
  45. package/dist/chunks/{inspect-SJEZVGPK.js → inspect-GPLZZEW2.js} +2 -2
  46. package/dist/chunks/{inspect-SSOM3FXS.js → inspect-HHXFMDN2.js} +2 -2
  47. package/dist/chunks/{inspect-RDMC2Z3Q.js → inspect-LZUSSUNE.js} +2 -2
  48. package/dist/chunks/{inspect-FRXJRM6T.js → inspect-XXHIV73A.js} +2 -2
  49. package/dist/chunks/{list-PHDUZVMR.js → list-H7ED7LCU.js} +1 -1
  50. package/dist/chunks/{list-2HTR7Q3J.js → list-THFMP23I.js} +2 -2
  51. package/dist/chunks/{list-W33GXKDA.js → list-XDRILJOZ.js} +3 -3
  52. package/dist/chunks/{login-JWAFHVDG.js → login-6KR5DCYM.js} +2 -2
  53. package/dist/chunks/{ls-3MH2OCP3.js → ls-5QFIXKF3.js} +2 -2
  54. package/dist/chunks/{ls-KX2VBOGV.js → ls-5RGCKNYB.js} +3 -3
  55. package/dist/chunks/{ls-KDFU224B.js → ls-CBFHIORN.js} +2 -2
  56. package/dist/chunks/{ls-D2POUHI7.js → ls-GRY6G2OR.js} +2 -2
  57. package/dist/chunks/{ls-3AN2DZHN.js → ls-LXVF34KZ.js} +2 -2
  58. package/dist/chunks/{ls-RWKNJQNT.js → ls-PKN53PLB.js} +2 -2
  59. package/dist/chunks/{open-IEYRB6RL.js → open-Q7GEQR5J.js} +2 -2
  60. package/dist/chunks/{permissions-ZWZUMEHR.js → permissions-6SA56V2A.js} +4 -4
  61. package/dist/chunks/{publish-UWZYBDHK.js → publish-TYGP2WTZ.js} +2 -2
  62. package/dist/chunks/{push-IAEQ3FBF.js → push-5KTXEM2H.js} +2 -2
  63. package/dist/chunks/{query-NNOZYSED.js → query-DSYDUL7N.js} +1 -1
  64. package/dist/chunks/{reorder-TKBM244W.js → reorder-BEQAMXC3.js} +2 -2
  65. package/dist/chunks/{reply-FLBSBMTW.js → reply-GSQ5PVE4.js} +2 -2
  66. package/dist/chunks/{resolve-GJYPMWUE.js → resolve-AG4SS62T.js} +2 -2
  67. package/dist/chunks/{restore-PNI3TM3U.js → restore-LARYR55K.js} +2 -2
  68. package/dist/chunks/{rm-FN7LTIIL.js → rm-F5SIKHU2.js} +2 -2
  69. package/dist/chunks/{rm-PGJ4KR6U.js → rm-FG63ON57.js} +2 -2
  70. package/dist/chunks/{rm-76CSSSSV.js → rm-FPAFEN2E.js} +2 -2
  71. package/dist/chunks/{rm-FTE33UHE.js → rm-GPHZ3GID.js} +3 -3
  72. package/dist/chunks/{rm-FXA5DLXQ.js → rm-ZKG56ZEW.js} +3 -3
  73. package/dist/chunks/{rule-inspect-LJIGPTWS.js → rule-inspect-JS4BK6GZ.js} +3 -3
  74. package/dist/chunks/{rules-6BMNO6M5.js → rules-SMIGLNUR.js} +6 -6
  75. package/dist/chunks/{schema-HATXEQDP.js → schema-FRSEAOYM.js} +1 -1
  76. package/dist/chunks/{set-C3UQUQ42.js → set-E46SNNNI.js} +3 -3
  77. package/dist/chunks/{tags-BTVDROFG.js → tags-CMBXR3FL.js} +2 -2
  78. package/dist/chunks/{update-B6PSOHUW.js → update-M5WXFGQ4.js} +5 -5
  79. package/dist/commands/build/index.js +115 -7
  80. package/dist/commands/deploy/index.js +8 -8
  81. package/dist/commands/dev/index.js +335 -46
  82. package/dist/commands/env/index.js +4 -4
  83. package/dist/commands/link/index.js +3 -3
  84. package/dist/commands/list/index.js +3 -3
  85. package/dist/commands-bulk.js +92 -65
  86. package/dist/help.js +1 -1
  87. package/dist/index.js +9 -9
  88. package/dist/version.mjs +1 -1
  89. package/package.json +50 -50
@@ -13,7 +13,7 @@ import {
13
13
  requireVcrRepository,
14
14
  resolveVcrScope,
15
15
  validateVcrJsonOutput
16
- } from "./chunk-6M2KZUED.js";
16
+ } from "./chunk-T3MRP74K.js";
17
17
  import "./chunk-WNAKOXGK.js";
18
18
  import "./chunk-3T7WSWZH.js";
19
19
  import "./chunk-KXDWXXJH.js";
@@ -24,7 +24,7 @@ import "./chunk-EZKW5YJ2.js";
24
24
  import "./chunk-NFU4XJIR.js";
25
25
  import "./chunk-3HZLXCVL.js";
26
26
  import "./chunk-5XECIWME.js";
27
- import "./chunk-VJ5NAOWB.js";
27
+ import "./chunk-OHQJEOP7.js";
28
28
  import "./chunk-FXD67VN5.js";
29
29
  import "./chunk-XNFHNTS2.js";
30
30
  import {
@@ -17,7 +17,7 @@ import {
17
17
  emitVcrArgParseError,
18
18
  resolveVcrScope,
19
19
  validateVcrJsonOutput
20
- } from "./chunk-6M2KZUED.js";
20
+ } from "./chunk-T3MRP74K.js";
21
21
  import "./chunk-WNAKOXGK.js";
22
22
  import {
23
23
  outputError
@@ -27,7 +27,7 @@ import {
27
27
  permissionsRmSubcommand
28
28
  } from "./chunk-EZKW5YJ2.js";
29
29
  import "./chunk-5XECIWME.js";
30
- import "./chunk-VJ5NAOWB.js";
30
+ import "./chunk-OHQJEOP7.js";
31
31
  import "./chunk-FXD67VN5.js";
32
32
  import "./chunk-XNFHNTS2.js";
33
33
  import {
@@ -9,8 +9,8 @@ import {
9
9
  handleRulesApiError,
10
10
  parseRulesFlagsAndScope,
11
11
  rulesItemPath
12
- } from "./chunk-R5PULMHT.js";
13
- import "./chunk-2O5J3KMT.js";
12
+ } from "./chunk-FEQJSISH.js";
13
+ import "./chunk-ZCAFRSCD.js";
14
14
  import "./chunk-3T7WSWZH.js";
15
15
  import {
16
16
  validateJsonOutput
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  rulesRmSubcommand
20
20
  } from "./chunk-XM3LOQIX.js";
21
- import "./chunk-VJ5NAOWB.js";
21
+ import "./chunk-OHQJEOP7.js";
22
22
  import "./chunk-FXD67VN5.js";
23
23
  import "./chunk-XNFHNTS2.js";
24
24
  import {
@@ -20,7 +20,7 @@ import {
20
20
  subcommandArguments,
21
21
  writeConfigJson,
22
22
  writeSamplingRules
23
- } from "./chunk-V3MDDR2X.js";
23
+ } from "./chunk-7PMXNOZH.js";
24
24
  import "./chunk-5GGUB4EO.js";
25
25
  import {
26
26
  validateJsonOutput
@@ -33,8 +33,8 @@ import {
33
33
  } from "./chunk-GY5I4AYD.js";
34
34
  import {
35
35
  help
36
- } from "./chunk-2YRAWYGE.js";
37
- import "./chunk-VJ5NAOWB.js";
36
+ } from "./chunk-I526H4AS.js";
37
+ import "./chunk-OHQJEOP7.js";
38
38
  import "./chunk-FXD67VN5.js";
39
39
  import {
40
40
  TelemetryClient
@@ -9,7 +9,7 @@ import {
9
9
  handleRulesApiError,
10
10
  parseRulesFlagsAndScope,
11
11
  rulesItemPath
12
- } from "./chunk-R5PULMHT.js";
12
+ } from "./chunk-FEQJSISH.js";
13
13
  import {
14
14
  formatCustomAlertMetric,
15
15
  formatCustomAlertTrigger,
@@ -19,7 +19,7 @@ import {
19
19
  parseCustomAlertQuery,
20
20
  renderAlertTable
21
21
  } from "./chunk-26XDDLXM.js";
22
- import "./chunk-2O5J3KMT.js";
22
+ import "./chunk-ZCAFRSCD.js";
23
23
  import {
24
24
  formatDate
25
25
  } from "./chunk-GZLPFESR.js";
@@ -39,7 +39,7 @@ import {
39
39
  import {
40
40
  rulesInspectSubcommand
41
41
  } from "./chunk-XM3LOQIX.js";
42
- import "./chunk-VJ5NAOWB.js";
42
+ import "./chunk-OHQJEOP7.js";
43
43
  import "./chunk-FXD67VN5.js";
44
44
  import "./chunk-XNFHNTS2.js";
45
45
  import {
@@ -32,7 +32,7 @@ var RULES_CONFIG = {
32
32
  };
33
33
  async function rules(client, argv) {
34
34
  if (argv.length === 0 || argv[0]?.startsWith("-")) {
35
- const lsFn = (await import("./ls-KX2VBOGV.js")).default;
35
+ const lsFn = (await import("./ls-5RGCKNYB.js")).default;
36
36
  return lsFn(client, argv);
37
37
  }
38
38
  const { subcommand, args, subcommandOriginal } = getSubcommand(
@@ -65,17 +65,17 @@ async function rules(client, argv) {
65
65
  }
66
66
  switch (subcommand) {
67
67
  case "ls":
68
- return (await import("./ls-KX2VBOGV.js")).default(client, args);
68
+ return (await import("./ls-5RGCKNYB.js")).default(client, args);
69
69
  case "schema":
70
70
  return (await import("./schema-45SJNY5L.js")).default(client, args);
71
71
  case "add":
72
- return (await import("./add-SIGUSM3Y.js")).default(client, args);
72
+ return (await import("./add-QZ5FW7LT.js")).default(client, args);
73
73
  case "inspect":
74
- return (await import("./rule-inspect-LJIGPTWS.js")).default(client, args);
74
+ return (await import("./rule-inspect-JS4BK6GZ.js")).default(client, args);
75
75
  case "rm":
76
- return (await import("./rm-FTE33UHE.js")).default(client, args);
76
+ return (await import("./rm-GPHZ3GID.js")).default(client, args);
77
77
  case "update":
78
- return (await import("./update-B6PSOHUW.js")).default(client, args);
78
+ return (await import("./update-M5WXFGQ4.js")).default(client, args);
79
79
  default:
80
80
  output_manager_default.error(`Unhandled rules subcommand: ${String(subcommandOriginal)}`);
81
81
  return 1;
@@ -29,7 +29,7 @@ import {
29
29
  import {
30
30
  getScope,
31
31
  require_pluralize
32
- } from "./chunk-VJ5NAOWB.js";
32
+ } from "./chunk-OHQJEOP7.js";
33
33
  import "./chunk-FXD67VN5.js";
34
34
  import "./chunk-XNFHNTS2.js";
35
35
  import "./chunk-NGGLYKNU.js";
@@ -23,7 +23,7 @@ import {
23
23
  toRule,
24
24
  writeConfigJson,
25
25
  writeSamplingRules
26
- } from "./chunk-V3MDDR2X.js";
26
+ } from "./chunk-7PMXNOZH.js";
27
27
  import "./chunk-5GGUB4EO.js";
28
28
  import {
29
29
  validateJsonOutput
@@ -36,8 +36,8 @@ import {
36
36
  } from "./chunk-GY5I4AYD.js";
37
37
  import {
38
38
  help
39
- } from "./chunk-2YRAWYGE.js";
40
- import "./chunk-VJ5NAOWB.js";
39
+ } from "./chunk-I526H4AS.js";
40
+ import "./chunk-OHQJEOP7.js";
41
41
  import "./chunk-FXD67VN5.js";
42
42
  import {
43
43
  TelemetryClient
@@ -53,9 +53,9 @@ async function tags(client, argv, telemetry) {
53
53
  }
54
54
  switch (subcommand) {
55
55
  case "ls":
56
- return (await import("./ls-3MH2OCP3.js")).default(client, args, telemetry);
56
+ return (await import("./ls-5QFIXKF3.js")).default(client, args, telemetry);
57
57
  case "inspect":
58
- return (await import("./inspect-RDMC2Z3Q.js")).default(client, args, telemetry);
58
+ return (await import("./inspect-LZUSSUNE.js")).default(client, args, telemetry);
59
59
  default:
60
60
  output_manager_default.error(`Unhandled tags subcommand: ${subcommand}`);
61
61
  return 1;
@@ -8,16 +8,16 @@ import {
8
8
  parseCustomAlertQueryBody,
9
9
  resolveCustomAlertProjectName,
10
10
  setMissingCustomAlertProjectScope
11
- } from "./chunk-GZQQNLF5.js";
11
+ } from "./chunk-PIFTX5CY.js";
12
12
  import {
13
13
  emitRulesArgParseError,
14
14
  handleRulesApiError,
15
15
  parseRulesFlagsAndScope,
16
16
  rulesItemPath
17
- } from "./chunk-R5PULMHT.js";
18
- import "./chunk-2O5J3KMT.js";
17
+ } from "./chunk-FEQJSISH.js";
18
+ import "./chunk-ZCAFRSCD.js";
19
19
  import "./chunk-3T7WSWZH.js";
20
- import "./chunk-LXZVOR6F.js";
20
+ import "./chunk-52P3DIMH.js";
21
21
  import "./chunk-AINIBIP4.js";
22
22
  import {
23
23
  validateJsonOutput
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  rulesUpdateSubcommand
27
27
  } from "./chunk-XM3LOQIX.js";
28
- import "./chunk-VJ5NAOWB.js";
28
+ import "./chunk-OHQJEOP7.js";
29
29
  import "./chunk-FXD67VN5.js";
30
30
  import "./chunk-XNFHNTS2.js";
31
31
  import {
@@ -11,21 +11,21 @@ import {
11
11
  require_service_schedules,
12
12
  require_write_build_result,
13
13
  writeBuildResult
14
- } from "../../chunks/chunk-SWI6F4X3.js";
14
+ } from "../../chunks/chunk-IWNFDR3C.js";
15
15
  import {
16
16
  importBuilders,
17
17
  import_import_builders
18
- } from "../../chunks/chunk-WZ2S3A2A.js";
18
+ } from "../../chunks/chunk-2TXLG52H.js";
19
19
  import {
20
20
  js_yaml_default,
21
21
  pullCommandLogic
22
- } from "../../chunks/chunk-NGNN6WF2.js";
22
+ } from "../../chunks/chunk-PGTGT7AU.js";
23
23
  import {
24
24
  require_semver
25
25
  } from "../../chunks/chunk-IB5L4LKZ.js";
26
26
  import {
27
27
  readProjectSettings
28
- } from "../../chunks/chunk-JH4WQRIU.js";
28
+ } from "../../chunks/chunk-I7ZVTKXM.js";
29
29
  import "../../chunks/chunk-7AEEQOD4.js";
30
30
  import "../../chunks/chunk-5XECIWME.js";
31
31
  import {
@@ -37,7 +37,7 @@ import {
37
37
  } from "../../chunks/chunk-FWKSJYDV.js";
38
38
  import {
39
39
  help
40
- } from "../../chunks/chunk-2YRAWYGE.js";
40
+ } from "../../chunks/chunk-I526H4AS.js";
41
41
  import {
42
42
  DEFAULT_VERCEL_CONFIG_FILENAME,
43
43
  VERCEL_DIR,
@@ -60,10 +60,11 @@ import {
60
60
  require_lib,
61
61
  require_main,
62
62
  require_minimatch,
63
+ require_runtime,
63
64
  resolveProjectCwd,
64
65
  ua_default,
65
66
  validateConfig
66
- } from "../../chunks/chunk-VJ5NAOWB.js";
67
+ } from "../../chunks/chunk-OHQJEOP7.js";
67
68
  import "../../chunks/chunk-FXD67VN5.js";
68
69
  import {
69
70
  TelemetryClient
@@ -1082,12 +1083,15 @@ var require_monorepo = __commonJS({
1082
1083
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1083
1084
  var monorepo_exports = {};
1084
1085
  __export(monorepo_exports, {
1086
+ applyServicesMonorepoDefaults: () => applyServicesMonorepoDefaults,
1085
1087
  setMonorepoDefaultSettings: () => setMonorepoDefaultSettings
1086
1088
  });
1087
1089
  module.exports = __toCommonJS(monorepo_exports);
1088
1090
  var import_path2 = __require("path");
1089
1091
  var import_fs_detectors = require_dist2();
1092
+ var import_runtime = require_runtime();
1090
1093
  var import_title = __toESM2(require_lib2());
1094
+ var import_fs_extra2 = __toESM2(require_lib());
1091
1095
  var import_build_utils3 = __require("@vercel/build-utils");
1092
1096
  async function setMonorepoDefaultSettings(cwd, workPath, projectSettings, output) {
1093
1097
  const localFileSystem = new import_fs_detectors.LocalFileSystemDetector(cwd);
@@ -1137,6 +1141,98 @@ var require_monorepo = __commonJS({
1137
1141
  throw error;
1138
1142
  }
1139
1143
  }
1144
+ async function hasVercelBuildScript(serviceRoot) {
1145
+ try {
1146
+ const pkg = await import_fs_extra2.default.readJSON(
1147
+ (0, import_path2.join)(serviceRoot, "package.json")
1148
+ );
1149
+ return pkg?.scripts?.["vercel-build"] !== void 0;
1150
+ } catch {
1151
+ return false;
1152
+ }
1153
+ }
1154
+ async function applyServicesMonorepoDefaults(cwd, workPath, services, projectSettings, output) {
1155
+ const localFileSystem = new import_fs_detectors.LocalFileSystemDetector(cwd);
1156
+ let result;
1157
+ let announced = false;
1158
+ for (const [name, config] of Object.entries(services)) {
1159
+ if (config.buildCommand) {
1160
+ (0, import_build_utils3.debug)(
1161
+ `Skipping auto-assignment of buildCommand for service "${name}" as it is already set in the services configuration.`
1162
+ );
1163
+ continue;
1164
+ }
1165
+ const runtime = (0, import_runtime.inferRuntime)({
1166
+ runtime: config.runtime,
1167
+ framework: config.framework,
1168
+ entrypoint: config.entrypoint
1169
+ });
1170
+ if (runtime !== void 0 && runtime !== "node") {
1171
+ (0, import_build_utils3.debug)(
1172
+ `Skipping monorepo defaults for service "${name}": runtime "${runtime}" does not build via the monorepo task graph.`
1173
+ );
1174
+ continue;
1175
+ }
1176
+ const serviceRoot = (0, import_path2.resolve)(workPath, config.root ?? ".");
1177
+ const projectPath = (0, import_path2.relative)(cwd, serviceRoot);
1178
+ if ((0, import_path2.isAbsolute)(projectPath) || projectPath === ".." || projectPath.startsWith(`..${import_path2.sep}`)) {
1179
+ (0, import_build_utils3.debug)(
1180
+ `Skipping monorepo defaults for service "${name}": root "${config.root}" is outside "${cwd}".`
1181
+ );
1182
+ continue;
1183
+ }
1184
+ if (await hasVercelBuildScript(serviceRoot)) {
1185
+ (0, import_build_utils3.debug)(
1186
+ `Skipping monorepo defaults for service "${name}": a \`vercel-build\` script is defined in its root package.json.`
1187
+ );
1188
+ continue;
1189
+ }
1190
+ const posixProjectPath = (0, import_build_utils3.normalizePath)(projectPath);
1191
+ const posixRelativeToRoot = (0, import_build_utils3.normalizePath)((0, import_path2.relative)(serviceRoot, cwd));
1192
+ let settings;
1193
+ try {
1194
+ settings = await (0, import_fs_detectors.getMonorepoDefaultSettings)(
1195
+ (0, import_path2.basename)(serviceRoot),
1196
+ // `getMonorepoDefaultSettings()` expects `/` (not `''`) to mean "the
1197
+ // monorepo root", which is a valid service root.
1198
+ posixProjectPath || "/",
1199
+ posixRelativeToRoot,
1200
+ localFileSystem
1201
+ );
1202
+ } catch (error) {
1203
+ if (error instanceof import_fs_detectors.MissingBuildPipeline) {
1204
+ output.warn(`${error.message} Skipping automatic setting assignment.`);
1205
+ break;
1206
+ }
1207
+ if (error instanceof import_fs_detectors.MissingBuildTarget) {
1208
+ output.warn(
1209
+ `Service "${name}": ${error.message} Skipping automatic setting assignment.`
1210
+ );
1211
+ continue;
1212
+ }
1213
+ throw error;
1214
+ }
1215
+ if (settings === null) {
1216
+ break;
1217
+ }
1218
+ projectSettings.monorepoManager = settings.monorepoManager;
1219
+ if (!settings.buildCommand) {
1220
+ continue;
1221
+ }
1222
+ if (!announced) {
1223
+ output.log(
1224
+ `Detected ${(0, import_title.default)(settings.monorepoManager)}. Adjusting default settings...`
1225
+ );
1226
+ announced = true;
1227
+ }
1228
+ (0, import_build_utils3.debug)(
1229
+ `Assigning buildCommand "${settings.buildCommand}" to service "${name}".`
1230
+ );
1231
+ result ??= { ...services };
1232
+ result[name] = { ...config, buildCommand: settings.buildCommand };
1233
+ }
1234
+ return result ?? services;
1235
+ }
1140
1236
  }
1141
1237
  });
1142
1238
 
@@ -1550,11 +1646,23 @@ var require_do_build = __commonJS({
1550
1646
  builds = builds.flatMap((b) => expandBuild(files, b));
1551
1647
  } else {
1552
1648
  isZeroConfig = true;
1649
+ let servicesForDetection = configuredExperimentalServicesV2;
1650
+ if (process.env.VERCEL_BUILD_MONOREPO_SUPPORT === "1" && configuredExperimentalServicesV2) {
1651
+ servicesForDetection = await span.child("vc.applyServicesMonorepoDefaults").trace(
1652
+ () => (0, import_monorepo.applyServicesMonorepoDefaults)(
1653
+ cwd,
1654
+ workPath,
1655
+ configuredExperimentalServicesV2,
1656
+ projectSettings,
1657
+ output
1658
+ )
1659
+ );
1660
+ }
1553
1661
  const detectedBuilders = await span.child("vc.detectBuilders").trace(
1554
1662
  () => (0, import_detect_builders_with_services.detectBuildersWithServices)(files, pkg, {
1555
1663
  ...localConfig,
1556
1664
  services: void 0,
1557
- experimentalServicesV2: configuredExperimentalServicesV2,
1665
+ experimentalServicesV2: servicesForDetection,
1558
1666
  projectSettings,
1559
1667
  ignoreBuildScript: true,
1560
1668
  featHandleMiss: true,
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __dirname_(__filename);
7
7
  import {
8
8
  promptMissingCredentials
9
- } from "../../chunks/chunk-ZNMTDLYH.js";
9
+ } from "../../chunks/chunk-FME4CIZL.js";
10
10
  import {
11
11
  Now,
12
12
  UploadErrorMissingArchive,
@@ -16,15 +16,15 @@ import {
16
16
  purchaseDomainIfAvailable,
17
17
  require_cjs,
18
18
  setupDomain
19
- } from "../../chunks/chunk-SF3AYAIF.js";
19
+ } from "../../chunks/chunk-H43VTKRO.js";
20
20
  import "../../chunks/chunk-PRWJUY5U.js";
21
21
  import {
22
22
  login,
23
23
  require_ci_info
24
- } from "../../chunks/chunk-GISTGGBO.js";
24
+ } from "../../chunks/chunk-22GK226I.js";
25
25
  import {
26
26
  readLocalConfig
27
- } from "../../chunks/chunk-LXZVOR6F.js";
27
+ } from "../../chunks/chunk-52P3DIMH.js";
28
28
  import {
29
29
  highlight
30
30
  } from "../../chunks/chunk-AINIBIP4.js";
@@ -46,7 +46,7 @@ import {
46
46
  deprecatedArchiveSplitTgz,
47
47
  getCommandAliases,
48
48
  initSubcommand
49
- } from "../../chunks/chunk-7HE63HCR.js";
49
+ } from "../../chunks/chunk-LDZFKXIR.js";
50
50
  import "../../chunks/chunk-7Q45OKWR.js";
51
51
  import "../../chunks/chunk-GY5I4AYD.js";
52
52
  import "../../chunks/chunk-CJV7J7B5.js";
@@ -63,7 +63,7 @@ import "../../chunks/chunk-XDGOOW3K.js";
63
63
  import "../../chunks/chunk-VP5Y3SZG.js";
64
64
  import {
65
65
  pickOverrides
66
- } from "../../chunks/chunk-JH4WQRIU.js";
66
+ } from "../../chunks/chunk-I7ZVTKXM.js";
67
67
  import {
68
68
  stamp_default
69
69
  } from "../../chunks/chunk-64IF634X.js";
@@ -71,7 +71,7 @@ import "../../chunks/chunk-VXYGCOKL.js";
71
71
  import "../../chunks/chunk-FWKSJYDV.js";
72
72
  import {
73
73
  help
74
- } from "../../chunks/chunk-2YRAWYGE.js";
74
+ } from "../../chunks/chunk-I526H4AS.js";
75
75
  import {
76
76
  VERCEL_DIR,
77
77
  VERCEL_DIR_PROJECT,
@@ -100,7 +100,7 @@ import {
100
100
  require_lib,
101
101
  validatePaths,
102
102
  validateRootDirectory
103
- } from "../../chunks/chunk-VJ5NAOWB.js";
103
+ } from "../../chunks/chunk-OHQJEOP7.js";
104
104
  import "../../chunks/chunk-FXD67VN5.js";
105
105
  import {
106
106
  TelemetryClient