vercel 59.1.4 → 59.4.0

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 (96) hide show
  1. package/dist/chunks/{add-PP3PJPJV.js → add-73X2SKBH.js} +5 -5
  2. package/dist/chunks/{add-CUGPQYFW.js → add-FQMB3XPM.js} +5 -5
  3. package/dist/chunks/{add-PRG4KKYH.js → add-QJ3WT4FW.js} +8 -8
  4. package/dist/chunks/{build-T22GMLY6.js → build-YUYCLCXD.js} +5 -5
  5. package/dist/chunks/{chunk-LNVZ3T7X.js → chunk-2PX6N4FE.js} +5 -5
  6. package/dist/chunks/{chunk-BCZFZETZ.js → chunk-BLYBHFIE.js} +5 -5
  7. package/dist/chunks/{chunk-57G6HBJ4.js → chunk-CHEZBD7H.js} +3 -3
  8. package/dist/chunks/{chunk-NM43FFV6.js → chunk-CV4S27SS.js} +0 -1
  9. package/dist/chunks/{chunk-ECCWJHC6.js → chunk-CYNB6LL4.js} +43 -36
  10. package/dist/chunks/{chunk-5DVMXOFT.js → chunk-DDIZGOCK.js} +32 -30
  11. package/dist/chunks/{chunk-4JKZ7SRX.js → chunk-EB5NBVTV.js} +4 -4
  12. package/dist/chunks/{chunk-M34ZRNDQ.js → chunk-EB7NJKPL.js} +2 -2
  13. package/dist/chunks/{chunk-CSJBZKC5.js → chunk-EG5BSAXD.js} +69 -57
  14. package/dist/chunks/{chunk-ZUVJISHS.js → chunk-HJVTLJHO.js} +2 -2
  15. package/dist/chunks/{chunk-VE545BR3.js → chunk-HMJVUXE6.js} +13555 -13747
  16. package/dist/chunks/{chunk-SOKQBFF7.js → chunk-HURL5EBN.js} +549 -62
  17. package/dist/chunks/{chunk-43DD2KNM.js → chunk-J5Y2QGGU.js} +1362 -938
  18. package/dist/chunks/{chunk-QCVKGY2A.js → chunk-KAYSW4CJ.js} +35 -12
  19. package/dist/chunks/{chunk-P65EEFTR.js → chunk-KQRVZWJU.js} +1 -0
  20. package/dist/chunks/{chunk-4HI7G6KG.js → chunk-KSZ4MNHO.js} +1 -1
  21. package/dist/chunks/{chunk-DOAYLTBJ.js → chunk-LKTQR5JE.js} +1 -1
  22. package/dist/chunks/{chunk-JYEO6OJS.js → chunk-MWYQ24FO.js} +4 -3
  23. package/dist/chunks/{chunk-SQGMTRZD.js → chunk-NP6BQPCN.js} +642 -462
  24. package/dist/chunks/{chunk-DAWJOQF6.js → chunk-O5DLWLT7.js} +2 -2
  25. package/dist/chunks/{chunk-IKKUCZE7.js → chunk-PD4DYNSB.js} +3 -3
  26. package/dist/chunks/{chunk-3BU2UCGV.js → chunk-PIMIKY4X.js} +1 -1
  27. package/dist/chunks/{chunk-QD5NX7RG.js → chunk-RI7KKKII.js} +1 -1
  28. package/dist/chunks/{chunk-QQ6PH4RY.js → chunk-STPH4Y62.js} +10 -0
  29. package/dist/chunks/{chunk-TJLBCLEX.js → chunk-TH2XUVDP.js} +11 -1
  30. package/dist/chunks/{chunk-P2QZZ6MR.js → chunk-TVXCXIRO.js} +1 -1
  31. package/dist/chunks/{chunk-KTLFN5FV.js → chunk-UV2ZMFVG.js} +1 -1
  32. package/dist/chunks/{chunk-XZLI27ES.js → chunk-VCE6QKFE.js} +3 -3
  33. package/dist/chunks/{chunk-DOMLWKKZ.js → chunk-X6O6XJEA.js} +17 -20
  34. package/dist/chunks/{chunk-SJQEGGH7.js → chunk-XI6NJLI4.js} +1 -1
  35. package/dist/chunks/{chunk-7NQLRE5V.js → chunk-Y3J4VU2H.js} +1 -1
  36. package/dist/chunks/{chunk-DEB45ND4.js → chunk-Y42SPI2H.js} +2 -2
  37. package/dist/chunks/{chunk-TM3F7PLR.js → chunk-ZFWNMVNR.js} +3 -3
  38. package/dist/chunks/{clear-Z4IKUIN7.js → clear-USQM5VW5.js} +5 -5
  39. package/dist/chunks/{compile-vercel-config-PSVXFAZW.js → compile-vercel-config-2JNYMI6W.js} +3 -3
  40. package/dist/chunks/{config-M5GMZ2X5.js → config-VTRIDLY4.js} +5 -5
  41. package/dist/chunks/{delete-P4XIBY7T.js → delete-ILLSBCVQ.js} +5 -5
  42. package/dist/chunks/{delete-5GRRDJSF.js → delete-VTPHK3EB.js} +4 -4
  43. package/dist/chunks/{disable-NT5NYVO7.js → disable-VTOMO64V.js} +4 -4
  44. package/dist/chunks/{discard-TBNIEAJZ.js → discard-ZIOZ34ZI.js} +4 -4
  45. package/dist/chunks/{edit-DJ6MT6HA.js → edit-E3AMR4KM.js} +6 -6
  46. package/dist/chunks/{edit-UF3D2CCH.js → edit-JMZ5XWVW.js} +6 -6
  47. package/dist/chunks/{enable-JTQBQMBO.js → enable-A4PMZ7QZ.js} +4 -4
  48. package/dist/chunks/{export-OKMRGRVM.js → export-Y6AJ3WRZ.js} +4 -4
  49. package/dist/chunks/{image-ARUJH4H5.js → image-26BKPAUB.js} +4 -4
  50. package/dist/chunks/{import-builders-3NTMZM64.js → import-builders-3H7J2SEK.js} +10 -9
  51. package/dist/chunks/{inspect-RI4K77NG.js → inspect-7DGKYHKW.js} +6 -6
  52. package/dist/chunks/{inspect-PTXIBSYW.js → inspect-GJFVAZIJ.js} +5 -5
  53. package/dist/chunks/{inspect-CHFKZKKP.js → inspect-N3E2PO6K.js} +5 -5
  54. package/dist/chunks/{inspect-5NETOGAI.js → inspect-OEY4DJRI.js} +5 -5
  55. package/dist/chunks/{inspect-UXP2HDES.js → inspect-ZW5N6O5P.js} +5 -5
  56. package/dist/chunks/{list-DYCZA2VX.js → list-2VTCNQEB.js} +4 -4
  57. package/dist/chunks/{list-G7LGVDAJ.js → list-DTJBW7OQ.js} +6 -6
  58. package/dist/chunks/{list-ADI55WKW.js → list-MIQ5D6PM.js} +5 -5
  59. package/dist/chunks/{login-YCSIQG6B.js → login-L34UHAU5.js} +5 -5
  60. package/dist/chunks/{ls-VIOMDUGW.js → ls-NCPQY4FV.js} +5 -5
  61. package/dist/chunks/{ls-2TKUIUK4.js → ls-OBUDC4SB.js} +5 -5
  62. package/dist/chunks/{ls-PQFDGOJL.js → ls-OKO4IHWB.js} +6 -6
  63. package/dist/chunks/{ls-RZVTIP5U.js → ls-SXJFBLUT.js} +5 -5
  64. package/dist/chunks/{ls-EOMIQLRH.js → ls-VDYUFSSC.js} +5 -5
  65. package/dist/chunks/{open-JYPWOXQD.js → open-V5JDGXUP.js} +5 -5
  66. package/dist/chunks/{permissions-SGJWGEVD.js → permissions-6CPRPPBY.js} +5 -5
  67. package/dist/chunks/{publish-ZUQHJAXL.js → publish-R27DPHFO.js} +4 -4
  68. package/dist/chunks/{push-XMVKG5A5.js → push-VLVTBS42.js} +5 -5
  69. package/dist/chunks/{query-ZLJZEGZB.js → query-IVVRYMJN.js} +218 -81
  70. package/dist/chunks/{reorder-NVHDWMRU.js → reorder-LJ2RBZM2.js} +4 -4
  71. package/dist/chunks/{reply-PUUPUQ3V.js → reply-USAISZYC.js} +6 -6
  72. package/dist/chunks/{resolve-5U2LJVE6.js → resolve-CRCJYVS5.js} +5 -5
  73. package/dist/chunks/{restore-OXIUY2UI.js → restore-6PBPEAMU.js} +4 -4
  74. package/dist/chunks/{rm-Z2KYJ7XT.js → rm-EOD7RDSO.js} +5 -5
  75. package/dist/chunks/{rm-BZNKJRXU.js → rm-HHELZB7R.js} +5 -5
  76. package/dist/chunks/{rm-3IOCBNPE.js → rm-KGOEOWVK.js} +6 -6
  77. package/dist/chunks/{rm-OUI4ZB5R.js → rm-TWU3JR6Z.js} +5 -5
  78. package/dist/chunks/{routes-JP2CNQ5J.js → routes-SZI2G4SE.js} +2 -2
  79. package/dist/chunks/{rule-inspect-ZBJJCDQV.js → rule-inspect-WFTVRK6B.js} +6 -6
  80. package/dist/chunks/{rules-HEGAXXUN.js → rules-AQYTFJI6.js} +8 -8
  81. package/dist/chunks/{schema-ZYIJYA2E.js → schema-LUVFYPWN.js} +1 -1
  82. package/dist/chunks/{schema-7GVL3BNP.js → schema-ZCDCJC7E.js} +22 -12
  83. package/dist/chunks/{tags-3SCWCMNQ.js → tags-RCNRFX7U.js} +3 -3
  84. package/dist/chunks/{update-YR2GCCJN.js → update-I7QGAOYF.js} +8 -8
  85. package/dist/commands/build/index.js +3099 -2519
  86. package/dist/commands/deploy/index.js +12 -12
  87. package/dist/commands/dev/index.js +85 -39
  88. package/dist/commands/env/index.js +149 -226
  89. package/dist/commands/link/index.js +7 -7
  90. package/dist/commands/list/index.js +5 -5
  91. package/dist/commands-bulk.js +4904 -2237
  92. package/dist/help.js +1 -1
  93. package/dist/index.js +27 -15
  94. package/dist/runtime-assets/node-preloads/next-dev-websocket.cjs +5 -1
  95. package/dist/version.mjs +1 -1
  96. package/package.json +54 -51
@@ -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-DEB45ND4.js";
9
+ } from "../../chunks/chunk-Y42SPI2H.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-BCZFZETZ.js";
19
+ } from "../../chunks/chunk-BLYBHFIE.js";
20
20
  import "../../chunks/chunk-PRWJUY5U.js";
21
21
  import {
22
22
  login,
23
23
  require_ci_info
24
- } from "../../chunks/chunk-4JKZ7SRX.js";
24
+ } from "../../chunks/chunk-EB5NBVTV.js";
25
25
  import {
26
26
  readLocalConfig
27
- } from "../../chunks/chunk-DAWJOQF6.js";
27
+ } from "../../chunks/chunk-O5DLWLT7.js";
28
28
  import {
29
29
  highlight
30
30
  } from "../../chunks/chunk-JKQWQA2T.js";
@@ -44,12 +44,12 @@ import {
44
44
  deprecatedArchiveSplitTgz,
45
45
  getCommandAliases,
46
46
  initSubcommand
47
- } from "../../chunks/chunk-SOKQBFF7.js";
47
+ } from "../../chunks/chunk-HURL5EBN.js";
48
48
  import "../../chunks/chunk-2MF3ZAVW.js";
49
49
  import "../../chunks/chunk-WC7IINFV.js";
50
50
  import "../../chunks/chunk-RIB4S2IB.js";
51
51
  import "../../chunks/chunk-GFCTRJI5.js";
52
- import "../../chunks/chunk-CSJBZKC5.js";
52
+ import "../../chunks/chunk-EG5BSAXD.js";
53
53
  import "../../chunks/chunk-M22O6CYY.js";
54
54
  import "../../chunks/chunk-GMWRTZVZ.js";
55
55
  import "../../chunks/chunk-3KNPVXJ3.js";
@@ -59,16 +59,16 @@ import "../../chunks/chunk-7QVJTI5H.js";
59
59
  import "../../chunks/chunk-O5GNPPTU.js";
60
60
  import {
61
61
  pickOverrides
62
- } from "../../chunks/chunk-4HI7G6KG.js";
62
+ } from "../../chunks/chunk-KSZ4MNHO.js";
63
63
  import "../../chunks/chunk-HT2XWSAJ.js";
64
64
  import {
65
65
  stamp_default
66
66
  } from "../../chunks/chunk-64IF634X.js";
67
67
  import "../../chunks/chunk-VXYGCOKL.js";
68
- import "../../chunks/chunk-7NQLRE5V.js";
68
+ import "../../chunks/chunk-Y3J4VU2H.js";
69
69
  import {
70
70
  help
71
- } from "../../chunks/chunk-SJQEGGH7.js";
71
+ } from "../../chunks/chunk-XI6NJLI4.js";
72
72
  import {
73
73
  VERCEL_DIR,
74
74
  VERCEL_DIR_PROJECT,
@@ -93,15 +93,15 @@ import {
93
93
  require_lib,
94
94
  validatePaths,
95
95
  validateRootDirectory
96
- } from "../../chunks/chunk-VE545BR3.js";
96
+ } from "../../chunks/chunk-HMJVUXE6.js";
97
97
  import {
98
98
  TelemetryClient
99
- } from "../../chunks/chunk-ECCWJHC6.js";
99
+ } from "../../chunks/chunk-CYNB6LL4.js";
100
100
  import {
101
101
  AGENT_STATUS,
102
102
  outputAgentError,
103
103
  withGlobalFlags
104
- } from "../../chunks/chunk-TJLBCLEX.js";
104
+ } from "../../chunks/chunk-TH2XUVDP.js";
105
105
  import {
106
106
  require_ms
107
107
  } from "../../chunks/chunk-GGP5R3FU.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "../../chunks/chunk-2HSQ7YUK.js";
10
10
  import {
11
11
  getUpdateCommand
12
- } from "../../chunks/chunk-M34ZRNDQ.js";
12
+ } from "../../chunks/chunk-EB7NJKPL.js";
13
13
  import {
14
14
  getGlobalPathConfig,
15
15
  highlight
@@ -21,23 +21,24 @@ import {
21
21
  devCommand
22
22
  } from "../../chunks/chunk-7QVJTI5H.js";
23
23
  import {
24
- OUTPUT_DIR,
25
- getStaticServiceSchedules,
24
+ import_write_build_result,
25
+ require_detect_builders_with_services,
26
+ require_get_files,
26
27
  require_mime_types,
27
- staticFiles
28
- } from "../../chunks/chunk-43DD2KNM.js";
28
+ require_service_schedules
29
+ } from "../../chunks/chunk-J5Y2QGGU.js";
29
30
  import {
30
31
  importBuilders,
31
32
  require_npa
32
- } from "../../chunks/chunk-SQGMTRZD.js";
33
+ } from "../../chunks/chunk-NP6BQPCN.js";
33
34
  import "../../chunks/chunk-IB5L4LKZ.js";
34
35
  import {
35
36
  pickOverrides
36
- } from "../../chunks/chunk-4HI7G6KG.js";
37
+ } from "../../chunks/chunk-KSZ4MNHO.js";
37
38
  import "../../chunks/chunk-R6IGDGX3.js";
38
39
  import {
39
40
  help
40
- } from "../../chunks/chunk-SJQEGGH7.js";
41
+ } from "../../chunks/chunk-XI6NJLI4.js";
41
42
  import {
42
43
  VERCEL_DIR,
43
44
  VERCEL_OIDC_TOKEN,
@@ -68,14 +69,14 @@ import {
68
69
  setupAndLink,
69
70
  tryDetectServices,
70
71
  validateConfig
71
- } from "../../chunks/chunk-VE545BR3.js";
72
+ } from "../../chunks/chunk-HMJVUXE6.js";
72
73
  import {
73
74
  TelemetryClient
74
- } from "../../chunks/chunk-ECCWJHC6.js";
75
+ } from "../../chunks/chunk-CYNB6LL4.js";
75
76
  import {
76
77
  buildCommandWithYes,
77
78
  outputActionRequired
78
- } from "../../chunks/chunk-TJLBCLEX.js";
79
+ } from "../../chunks/chunk-TH2XUVDP.js";
79
80
  import {
80
81
  require_ms
81
82
  } from "../../chunks/chunk-GGP5R3FU.js";
@@ -16755,6 +16756,8 @@ import path5 from "path";
16755
16756
  var import_chalk3 = __toESM(require_source(), 1);
16756
16757
  var import_ms6 = __toESM(require_ms(), 1);
16757
16758
  var import_fs_extra2 = __toESM(require_lib(), 1);
16759
+ var import_fs_detectors3 = __toESM(require_dist3(), 1);
16760
+ var import_frameworks3 = __toESM(require_frameworks(), 1);
16758
16761
  import { resolve, join as join5 } from "path";
16759
16762
 
16760
16763
  // src/util/dev/server.ts
@@ -16812,13 +16815,16 @@ async function checkForPort(port, timeout) {
16812
16815
  var import_npm_package_arg = __toESM(require_npa(), 1);
16813
16816
  var import_json_parse_better_errors = __toESM(require_json_parse_better_errors(), 1);
16814
16817
  var import_client = __toESM(require_dist2(), 1);
16815
- var import_routing_utils3 = __toESM(require_dist3(), 1);
16816
- var import_fs_detectors3 = __toESM(require_dist4(), 1);
16818
+ var import_routing_utils3 = __toESM(require_dist4(), 1);
16819
+ var import_fs_detectors2 = __toESM(require_dist3(), 1);
16820
+ var import_detect_builders_with_services = __toESM(require_detect_builders_with_services(), 1);
16817
16821
  var import_frameworks2 = __toESM(require_frameworks(), 1);
16818
16822
  import {
16819
16823
  cloneEnv as cloneEnv2,
16820
16824
  getNodeBinPaths as getNodeBinPaths2,
16821
16825
  isQueueBackedService as isQueueBackedService3,
16826
+ isExperimentalService as isExperimentalService2,
16827
+ isExperimentalServiceV2 as isExperimentalServiceV22,
16822
16828
  FileFsRef as FileFsRef2,
16823
16829
  spawnCommand as spawnCommand2,
16824
16830
  shouldUseExperimentalBackends
@@ -16831,6 +16837,12 @@ function relative2(a, b) {
16831
16837
  return normalizePath(nativeRelative(a, b));
16832
16838
  }
16833
16839
 
16840
+ // src/util/get-files.ts
16841
+ var import_get_files = __toESM(require_get_files(), 1);
16842
+ function staticFiles(path6, options) {
16843
+ return (0, import_get_files.staticFiles)(path6, options, output_manager_default);
16844
+ }
16845
+
16834
16846
  // src/util/dev/router.ts
16835
16847
  var import_pcre_to_regexp = __toESM(require_dist6(), 1);
16836
16848
  import url2 from "url";
@@ -16841,7 +16853,7 @@ function isURL(str) {
16841
16853
  }
16842
16854
 
16843
16855
  // src/util/dev/router.ts
16844
- var import_routing_utils = __toESM(require_dist3(), 1);
16856
+ var import_routing_utils = __toESM(require_dist4(), 1);
16845
16857
 
16846
16858
  // src/util/dev/parse-query-string.ts
16847
16859
  function parseQueryString(querystring) {
@@ -17444,7 +17456,7 @@ function getMimeType(fileName) {
17444
17456
  // src/util/dev/builder.ts
17445
17457
  var import_ms = __toESM(require_ms(), 1);
17446
17458
  var import_bytes = __toESM(require_bytes(), 1);
17447
- var import_fs_detectors = __toESM(require_dist4(), 1);
17459
+ var import_fs_detectors = __toESM(require_dist3(), 1);
17448
17460
  var import_pluralize = __toESM(require_pluralize(), 1);
17449
17461
  var import_minimatch = __toESM(require_minimatch(), 1);
17450
17462
  import { readFileSync, unlinkSync } from "fs";
@@ -17474,7 +17486,7 @@ function treeKill(pid, signal = "SIGTERM") {
17474
17486
  }
17475
17487
 
17476
17488
  // src/util/dev/builder.ts
17477
- var import_routing_utils2 = __toESM(require_dist3(), 1);
17489
+ var import_routing_utils2 = __toESM(require_dist4(), 1);
17478
17490
  async function deserializeOutput(obj) {
17479
17491
  switch (obj.type) {
17480
17492
  case "FileFsRef": {
@@ -18040,7 +18052,6 @@ function redirect(it) {
18040
18052
  var import_ms2 = __toESM(require_ms(), 1);
18041
18053
  var import_get_port = __toESM(require_get_port(), 1);
18042
18054
  var import_chalk = __toESM(require_source(), 1);
18043
- var import_fs_detectors2 = __toESM(require_dist4(), 1);
18044
18055
  var import_frameworks = __toESM(require_frameworks(), 1);
18045
18056
  import path2 from "path";
18046
18057
  import { Transform, Writable } from "stream";
@@ -18155,6 +18166,10 @@ function getNextCronDelay(expression, now = /* @__PURE__ */ new Date()) {
18155
18166
 
18156
18167
  // src/util/dev/services-orchestrator.ts
18157
18168
  import {
18169
+ getInternalServiceCronPath,
18170
+ getInternalServiceCronPathPrefix,
18171
+ getInternalServiceWorkerPathPrefix,
18172
+ isExperimentalServiceV2,
18158
18173
  isExperimentalService,
18159
18174
  isQueueBackedService,
18160
18175
  isQueueTriggeredService,
@@ -18168,6 +18183,7 @@ import {
18168
18183
  getServiceUrlEnvVars,
18169
18184
  getExperimentalServiceUrlEnvVars
18170
18185
  } from "@vercel/build-utils";
18186
+ var import_service_schedules = __toESM(require_service_schedules(), 1);
18171
18187
 
18172
18188
  // src/util/runtime-assets.ts
18173
18189
  import {
@@ -18361,10 +18377,10 @@ function createServiceLogger(serviceName, colorIndex, maxNameLength) {
18361
18377
  }
18362
18378
  function getServiceRoutePrefixes(service) {
18363
18379
  if (isQueueTriggeredService(service) || isWorkflowTriggeredService(service)) {
18364
- return [(0, import_fs_detectors2.getInternalServiceWorkerPathPrefix)(service.name)];
18380
+ return [getInternalServiceWorkerPathPrefix(service.name)];
18365
18381
  }
18366
18382
  if (isScheduleTriggeredService(service)) {
18367
- return [(0, import_fs_detectors2.getInternalServiceCronPathPrefix)(service.name)];
18383
+ return [getInternalServiceCronPathPrefix(service.name)];
18368
18384
  }
18369
18385
  if (service.type === "web") {
18370
18386
  return [service.routePrefix || "/"];
@@ -18450,7 +18466,7 @@ var ServicesOrchestrator = class {
18450
18466
  const pythonWorkspaces = options.services.filter((service) => service.runtime === "python").map(
18451
18467
  (service) => path2.resolve(
18452
18468
  this.cwd,
18453
- (0, import_fs_detectors2.isExperimentalServiceV2)(service) ? service.root || "." : service.workspace || "."
18469
+ isExperimentalServiceV2(service) ? service.root || "." : service.workspace || "."
18454
18470
  )
18455
18471
  );
18456
18472
  this.pythonServiceCount = new Set(pythonWorkspaces).size;
@@ -18659,7 +18675,7 @@ var ServicesOrchestrator = class {
18659
18675
  colorIndex,
18660
18676
  this.maxNameLength
18661
18677
  );
18662
- const spec = (0, import_fs_detectors2.isExperimentalServiceV2)(service) ? this.getV2StartSpec(service) : this.getV1StartSpec(service);
18678
+ const spec = isExperimentalServiceV2(service) ? this.getV2StartSpec(service) : this.getV1StartSpec(service);
18663
18679
  const port = this.servicePorts.get(service.name);
18664
18680
  if (port !== void 0) {
18665
18681
  spec.env.VERCEL_DEV_PORT = String(port);
@@ -19065,8 +19081,8 @@ var ServicesOrchestrator = class {
19065
19081
  startCronSchedulers() {
19066
19082
  for (const [name, managed] of this.managedServices) {
19067
19083
  const service = this.services.find((candidate) => candidate.name === name);
19068
- const crons = managed.crons && managed.crons.length > 0 ? managed.crons : service && isExperimentalService(service) && isScheduleTriggeredService(service) && service.schedule ? getStaticServiceSchedules(service.schedule).map((schedule) => ({
19069
- path: (0, import_fs_detectors2.getInternalServiceCronPath)(
19084
+ const crons = managed.crons && managed.crons.length > 0 ? managed.crons : service && isExperimentalService(service) && isScheduleTriggeredService(service) && service.schedule ? (0, import_service_schedules.getStaticServiceSchedules)(service.schedule).map((schedule) => ({
19085
+ path: getInternalServiceCronPath(
19070
19086
  name,
19071
19087
  service.entrypoint || service.builder.src || "index",
19072
19088
  service.handlerFunction || "cron"
@@ -19757,10 +19773,10 @@ function isApiDirBuild(build) {
19757
19773
  return typeof src === "string" && src.startsWith("api/");
19758
19774
  }
19759
19775
  function sortBuilders(buildA, buildB) {
19760
- if (buildA && buildA.use && (0, import_fs_detectors3.isOfficialRuntime)("static-build", buildA.use)) {
19776
+ if (buildA && buildA.use && (0, import_fs_detectors2.isOfficialRuntime)("static-build", buildA.use)) {
19761
19777
  return 1;
19762
19778
  }
19763
- if (buildB && buildB.use && (0, import_fs_detectors3.isOfficialRuntime)("static-build", buildB.use)) {
19779
+ if (buildB && buildB.use && (0, import_fs_detectors2.isOfficialRuntime)("static-build", buildB.use)) {
19764
19780
  return -1;
19765
19781
  }
19766
19782
  return 0;
@@ -21102,7 +21118,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21102
21118
  return void 0;
21103
21119
  }
21104
21120
  async _getVercelConfig() {
21105
- const { compileVercelConfig } = await import("../../chunks/compile-vercel-config-PSVXFAZW.js");
21121
+ const { compileVercelConfig } = await import("../../chunks/compile-vercel-config-2JNYMI6W.js");
21106
21122
  await compileVercelConfig(this.cwd);
21107
21123
  const configPath = getLocalPathConfig(this.cwd);
21108
21124
  const [
@@ -21133,7 +21149,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21133
21149
  const files = (await staticFiles(this.cwd, {})).map(
21134
21150
  (f) => relative2(this.cwd, f)
21135
21151
  );
21136
- const detectedBuilders = await (0, import_fs_detectors3.detectBuilders)(files, pkg, {
21152
+ const detectedBuilders = await (0, import_detect_builders_with_services.detectBuildersWithServices)(files, pkg, {
21137
21153
  tag: "latest",
21138
21154
  bunVersion: vercelConfig.bunVersion,
21139
21155
  functions: vercelConfig.functions,
@@ -21204,11 +21220,11 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21204
21220
  }
21205
21221
  vercelConfig.builds = vercelConfig.builds || [];
21206
21222
  vercelConfig.builds.push(
21207
- (0, import_fs_detectors3.getProxyBuilder)(vercelConfig.proxy, "latest", vercelConfig.functions)
21223
+ (0, import_fs_detectors2.getProxyBuilder)(vercelConfig.proxy, "latest", vercelConfig.functions)
21208
21224
  );
21209
21225
  }
21210
21226
  if (this.sidecars === void 0) {
21211
- const services = (this.services ?? []).filter(import_fs_detectors3.isExperimentalServiceV2);
21227
+ const services = (this.services ?? []).filter(isExperimentalServiceV22);
21212
21228
  this.sidecars = await collectBuilderDevSidecars({
21213
21229
  builds: this.shouldUseServicesOrchestrator() ? services.map((service) => service.builder) : vercelConfig.builds ?? [],
21214
21230
  workPath: this.cwd,
@@ -21234,8 +21250,8 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21234
21250
  return true;
21235
21251
  });
21236
21252
  this.caseSensitive = hasNewRoutingProperties(vercelConfig);
21237
- this.apiDir = (0, import_fs_detectors3.detectApiDirectory)(vercelConfig.builds || []);
21238
- this.apiExtensions = (0, import_fs_detectors3.detectApiExtensions)(vercelConfig.builds || []);
21253
+ this.apiDir = (0, import_fs_detectors2.detectApiDirectory)(vercelConfig.builds || []);
21254
+ this.apiExtensions = (0, import_fs_detectors2.detectApiExtensions)(vercelConfig.builds || []);
21239
21255
  let [runEnv, buildEnv] = await Promise.all([
21240
21256
  this.getLocalEnv(".env", vercelConfig.env),
21241
21257
  this.getLocalEnv(".env.build", vercelConfig.build?.env)
@@ -21373,6 +21389,18 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21373
21389
  resolveBuildFiles(files) {
21374
21390
  return Object.keys(files).filter(this.filter);
21375
21391
  }
21392
+ /**
21393
+ * `this.filter` expects gitignore-style relative paths but chokidar reports
21394
+ * absolute ones, so without relativizing, anchored patterns never match —
21395
+ * including the default `/target` rule for Cargo projects.
21396
+ */
21397
+ isWatcherIgnored(fsPath) {
21398
+ const relativePath = relative2(this.cwd, fsPath);
21399
+ if (relativePath === "") {
21400
+ return false;
21401
+ }
21402
+ return !this.filter(relativePath);
21403
+ }
21376
21404
  start(...listenSpec) {
21377
21405
  if (!this.startPromise) {
21378
21406
  this.startPromise = this._start(...listenSpec).catch((err) => {
@@ -21451,7 +21479,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21451
21479
  });
21452
21480
  devCommandPromise = this.orchestrator.startAll();
21453
21481
  this.devProcessOrigin = void 0;
21454
- const queueServices = orchestratorServices.filter(import_fs_detectors3.isExperimentalService).filter(isQueueBackedService3);
21482
+ const queueServices = orchestratorServices.filter(isExperimentalService2).filter(isQueueBackedService3);
21455
21483
  if (queueServices.length > 0) {
21456
21484
  this.queueBroker = new QueueBroker(
21457
21485
  queueServices,
@@ -21464,7 +21492,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21464
21492
  }
21465
21493
  output_manager_default.print(`${import_chalk2.default.cyan(">")} Available at:
21466
21494
  `);
21467
- const v1WebServices = (this.services || []).filter(import_fs_detectors3.isExperimentalService).filter((service) => service.type === "web");
21495
+ const v1WebServices = (this.services || []).filter(isExperimentalService2).filter((service) => service.type === "web");
21468
21496
  if (v1WebServices.length > 0) {
21469
21497
  for (const service of v1WebServices) {
21470
21498
  const servicePath = service.routePrefix || "/";
@@ -21507,7 +21535,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
21507
21535
  }
21508
21536
  await import_fs_extra.default.mkdirp(this.devCacheDir);
21509
21537
  this.watcher = watch(this.cwd, {
21510
- ignored: (path6) => !this.filter(path6),
21538
+ ignored: (fsPath) => this.isWatcherIgnored(fsPath),
21511
21539
  ignoreInitial: true,
21512
21540
  usePolling: false,
21513
21541
  persistent: true
@@ -21828,7 +21856,7 @@ ${error_code}
21828
21856
  if (!this.serviceRoutesTable) {
21829
21857
  this.serviceRoutesTable = /* @__PURE__ */ new Map();
21830
21858
  for (const service of this.services || []) {
21831
- if (!(0, import_fs_detectors3.isExperimentalServiceV2)(service))
21859
+ if (!isExperimentalServiceV22(service))
21832
21860
  continue;
21833
21861
  const { routes, error: error2 } = (0, import_routing_utils3.getTransformedRoutes)({
21834
21862
  routes: service.routes,
@@ -22557,7 +22585,7 @@ function releaseDevLock(projectRoot) {
22557
22585
  }
22558
22586
 
22559
22587
  // src/commands/dev/dev.ts
22560
- async function dev(client, opts, args2, telemetry) {
22588
+ async function dev(client, opts, args2, telemetry, localConfig) {
22561
22589
  const [dir = "."] = args2;
22562
22590
  let cwd = resolve(dir);
22563
22591
  const listen2 = parseListen(opts["--listen"] || "3000");
@@ -22659,6 +22687,24 @@ To link your project, run ${getCommandName("dev")} without \`-L\` or \`--local\`
22659
22687
  displayDetectedServices(services);
22660
22688
  useImplicitServicesEnvInjection = servicesResult.useImplicitEnvInjection;
22661
22689
  }
22690
+ const hasExplicitBuilds = Boolean(localConfig?.builds?.length);
22691
+ const hasExplicitFramework = localConfig?.framework !== void 0;
22692
+ const hasServicesConfig = Boolean(
22693
+ localConfig?.services ?? localConfig?.experimentalServicesV2 ?? localConfig?.experimentalServices
22694
+ );
22695
+ const shouldDetectFramework = link.status === "not_linked" && Boolean(opts["--local"]) && !foundServices && !hasServicesConfig && !hasExplicitBuilds && !hasExplicitFramework;
22696
+ if (shouldDetectFramework) {
22697
+ const detectedFramework = await (0, import_fs_detectors3.detectFramework)({
22698
+ fs: new import_fs_detectors3.LocalFileSystemDetector(cwd),
22699
+ frameworkList: import_frameworks3.frameworkList
22700
+ });
22701
+ if (detectedFramework) {
22702
+ output_manager_default.debug(
22703
+ `Detected framework ${detectedFramework} for unlinked local dev`
22704
+ );
22705
+ projectSettings = { framework: detectedFramework };
22706
+ }
22707
+ }
22662
22708
  let lockAcquired = false;
22663
22709
  if (foundServices) {
22664
22710
  const port = typeof listen2[0] === "number" ? listen2[0] : 0;
@@ -22764,9 +22810,9 @@ To link your project, run ${getCommandName("dev")} without \`-L\` or \`--local\`
22764
22810
  process.on("SIGINT", async () => await cleanup("SIGINT"));
22765
22811
  process.on("SIGHUP", async () => await cleanup("SIGHUP"));
22766
22812
  if (!devServer.devCommand) {
22767
- const outputDir = join5(cwd, OUTPUT_DIR);
22813
+ const outputDir = join5(cwd, import_write_build_result.OUTPUT_DIR);
22768
22814
  if (await import_fs_extra2.default.pathExists(outputDir)) {
22769
- output_manager_default.log(`Removing ${OUTPUT_DIR}`);
22815
+ output_manager_default.log(`Removing ${import_write_build_result.OUTPUT_DIR}`);
22770
22816
  await import_fs_extra2.default.remove(outputDir);
22771
22817
  }
22772
22818
  }
@@ -22920,7 +22966,7 @@ async function main(client) {
22920
22966
  return 1;
22921
22967
  }
22922
22968
  try {
22923
- return await dev(client, parsedArgs.flags, args2, telemetry);
22969
+ return await dev(client, parsedArgs.flags, args2, telemetry, vercelConfig);
22924
22970
  } catch (err) {
22925
22971
  if (err instanceof DevCommandExitError || err instanceof ServiceStartError) {
22926
22972
  output_manager_default.error(err.message);