vercel 59.3.0 → 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.
- package/dist/chunks/{add-4L46WVRT.js → add-73X2SKBH.js} +3 -3
- package/dist/chunks/{add-BBWVXE2R.js → add-FQMB3XPM.js} +3 -3
- package/dist/chunks/{add-KOD24LEM.js → add-QJ3WT4FW.js} +6 -6
- package/dist/chunks/{build-2SX3XIRI.js → build-YUYCLCXD.js} +3 -3
- package/dist/chunks/{chunk-YPPWGI3F.js → chunk-2PX6N4FE.js} +3 -3
- package/dist/chunks/{chunk-G55RLNFE.js → chunk-BLYBHFIE.js} +4 -4
- package/dist/chunks/{chunk-Q6QCRFTC.js → chunk-CHEZBD7H.js} +2 -2
- package/dist/chunks/{chunk-DAA5RXUK.js → chunk-DDIZGOCK.js} +1 -1
- package/dist/chunks/{chunk-NN2W7WFC.js → chunk-EB5NBVTV.js} +2 -2
- package/dist/chunks/{chunk-ANIKVXGZ.js → chunk-EB7NJKPL.js} +1 -1
- package/dist/chunks/{chunk-P3BFTZXW.js → chunk-HJVTLJHO.js} +2 -2
- package/dist/chunks/{chunk-KDL2L4KL.js → chunk-HMJVUXE6.js} +13577 -13772
- package/dist/chunks/{chunk-7GE2K2WR.js → chunk-HURL5EBN.js} +312 -23
- package/dist/chunks/{chunk-VTP6WIQA.js → chunk-J5Y2QGGU.js} +257 -4
- package/dist/chunks/{chunk-ZHRZMQGN.js → chunk-KSZ4MNHO.js} +1 -1
- package/dist/chunks/{chunk-WNS53IOA.js → chunk-LKTQR5JE.js} +1 -1
- package/dist/chunks/{chunk-D35JUCTC.js → chunk-NP6BQPCN.js} +3 -3
- package/dist/chunks/{chunk-WODLA275.js → chunk-O5DLWLT7.js} +1 -1
- package/dist/chunks/{chunk-QKO2DGWR.js → chunk-PD4DYNSB.js} +3 -3
- package/dist/chunks/{chunk-AAMJ4ZU4.js → chunk-RI7KKKII.js} +1 -1
- package/dist/chunks/{chunk-J5ZEHLFM.js → chunk-TH2XUVDP.js} +10 -1
- package/dist/chunks/{chunk-OISTYQGR.js → chunk-UV2ZMFVG.js} +1 -1
- package/dist/chunks/{chunk-6GWLC2IP.js → chunk-VCE6QKFE.js} +2 -2
- package/dist/chunks/{chunk-KBUCAAG6.js → chunk-X6O6XJEA.js} +5 -5
- package/dist/chunks/{chunk-7PEQVFHI.js → chunk-Y3J4VU2H.js} +1 -1
- package/dist/chunks/{chunk-CURHMEJX.js → chunk-Y42SPI2H.js} +2 -2
- package/dist/chunks/{chunk-Z2G6SO5B.js → chunk-ZFWNMVNR.js} +2 -2
- package/dist/chunks/{clear-2DMDKLWZ.js → clear-USQM5VW5.js} +3 -3
- package/dist/chunks/{compile-vercel-config-7HZ4UN6R.js → compile-vercel-config-2JNYMI6W.js} +2 -2
- package/dist/chunks/{config-CVZ25C54.js → config-VTRIDLY4.js} +3 -3
- package/dist/chunks/{delete-4LQKP5DG.js → delete-ILLSBCVQ.js} +3 -3
- package/dist/chunks/{delete-QNAGJM6C.js → delete-VTPHK3EB.js} +3 -3
- package/dist/chunks/{disable-2RBFIZUB.js → disable-VTOMO64V.js} +3 -3
- package/dist/chunks/{discard-UCOSPSUU.js → discard-ZIOZ34ZI.js} +3 -3
- package/dist/chunks/{edit-JX73BG3V.js → edit-E3AMR4KM.js} +4 -4
- package/dist/chunks/{edit-QSAO74S4.js → edit-JMZ5XWVW.js} +3 -3
- package/dist/chunks/{enable-NDSB4T26.js → enable-A4PMZ7QZ.js} +3 -3
- package/dist/chunks/{export-DB6BIYQJ.js → export-Y6AJ3WRZ.js} +3 -3
- package/dist/chunks/{image-MKB6II6L.js → image-26BKPAUB.js} +4 -4
- package/dist/chunks/{import-builders-FIQ7QTVG.js → import-builders-3H7J2SEK.js} +3 -3
- package/dist/chunks/{inspect-QWTWAYLS.js → inspect-7DGKYHKW.js} +4 -4
- package/dist/chunks/{inspect-NY6QRX5W.js → inspect-GJFVAZIJ.js} +3 -3
- package/dist/chunks/{inspect-IYRKEWTM.js → inspect-N3E2PO6K.js} +3 -3
- package/dist/chunks/{inspect-XS2TC7TC.js → inspect-OEY4DJRI.js} +3 -3
- package/dist/chunks/{inspect-REJXLWLL.js → inspect-ZW5N6O5P.js} +3 -3
- package/dist/chunks/{list-CDCITV4K.js → list-2VTCNQEB.js} +2 -2
- package/dist/chunks/{list-PXKVKXHG.js → list-DTJBW7OQ.js} +4 -4
- package/dist/chunks/{list-VQHBVY3Q.js → list-MIQ5D6PM.js} +3 -3
- package/dist/chunks/{login-PE4JK7A2.js → login-L34UHAU5.js} +3 -3
- package/dist/chunks/{ls-3GRHYFDM.js → ls-NCPQY4FV.js} +3 -3
- package/dist/chunks/{ls-SKOQOPK4.js → ls-OBUDC4SB.js} +3 -3
- package/dist/chunks/{ls-DL2POAY2.js → ls-OKO4IHWB.js} +4 -4
- package/dist/chunks/{ls-YHS5IEBJ.js → ls-SXJFBLUT.js} +3 -3
- package/dist/chunks/{ls-S67TNMEG.js → ls-VDYUFSSC.js} +3 -3
- package/dist/chunks/{open-DUN3BTDH.js → open-V5JDGXUP.js} +3 -3
- package/dist/chunks/{permissions-VLIZYINB.js → permissions-6CPRPPBY.js} +5 -5
- package/dist/chunks/{publish-36BIJPLN.js → publish-R27DPHFO.js} +3 -3
- package/dist/chunks/{push-5NTQV3EC.js → push-VLVTBS42.js} +3 -3
- package/dist/chunks/{query-ONR2W7HS.js → query-IVVRYMJN.js} +2 -2
- package/dist/chunks/{reorder-YKAT4XG3.js → reorder-LJ2RBZM2.js} +3 -3
- package/dist/chunks/{reply-DH4ZPEXT.js → reply-USAISZYC.js} +3 -3
- package/dist/chunks/{resolve-446IVH6V.js → resolve-CRCJYVS5.js} +3 -3
- package/dist/chunks/{restore-HA6TSOOE.js → restore-6PBPEAMU.js} +3 -3
- package/dist/chunks/{rm-EG35766L.js → rm-EOD7RDSO.js} +3 -3
- package/dist/chunks/{rm-BCPJUK2C.js → rm-HHELZB7R.js} +3 -3
- package/dist/chunks/{rm-COV73VE4.js → rm-KGOEOWVK.js} +4 -4
- package/dist/chunks/{rm-IKYJI7MP.js → rm-TWU3JR6Z.js} +3 -3
- package/dist/chunks/{rule-inspect-FQ2635LY.js → rule-inspect-WFTVRK6B.js} +4 -4
- package/dist/chunks/{rules-PBOQISWV.js → rules-AQYTFJI6.js} +7 -7
- package/dist/chunks/{schema-4CDJVH7T.js → schema-ZCDCJC7E.js} +2 -2
- package/dist/chunks/{tags-HNOL4JXL.js → tags-RCNRFX7U.js} +3 -3
- package/dist/chunks/{update-ZIGVLUYG.js → update-I7QGAOYF.js} +6 -6
- package/dist/commands/build/index.js +21 -17
- package/dist/commands/deploy/index.js +9 -9
- package/dist/commands/dev/index.js +70 -31
- package/dist/commands/env/index.js +146 -223
- package/dist/commands/link/index.js +4 -4
- package/dist/commands/list/index.js +3 -3
- package/dist/commands-bulk.js +3873 -1925
- package/dist/index.js +9 -9
- package/dist/version.mjs +1 -1
- package/package.json +49 -48
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "../../chunks/chunk-2HSQ7YUK.js";
|
|
10
10
|
import {
|
|
11
11
|
getUpdateCommand
|
|
12
|
-
} from "../../chunks/chunk-
|
|
12
|
+
} from "../../chunks/chunk-EB7NJKPL.js";
|
|
13
13
|
import {
|
|
14
14
|
getGlobalPathConfig,
|
|
15
15
|
highlight
|
|
@@ -22,18 +22,19 @@ import {
|
|
|
22
22
|
} from "../../chunks/chunk-7QVJTI5H.js";
|
|
23
23
|
import {
|
|
24
24
|
import_write_build_result,
|
|
25
|
+
require_detect_builders_with_services,
|
|
25
26
|
require_get_files,
|
|
26
27
|
require_mime_types,
|
|
27
28
|
require_service_schedules
|
|
28
|
-
} from "../../chunks/chunk-
|
|
29
|
+
} from "../../chunks/chunk-J5Y2QGGU.js";
|
|
29
30
|
import {
|
|
30
31
|
importBuilders,
|
|
31
32
|
require_npa
|
|
32
|
-
} from "../../chunks/chunk-
|
|
33
|
+
} from "../../chunks/chunk-NP6BQPCN.js";
|
|
33
34
|
import "../../chunks/chunk-IB5L4LKZ.js";
|
|
34
35
|
import {
|
|
35
36
|
pickOverrides
|
|
36
|
-
} from "../../chunks/chunk-
|
|
37
|
+
} from "../../chunks/chunk-KSZ4MNHO.js";
|
|
37
38
|
import "../../chunks/chunk-R6IGDGX3.js";
|
|
38
39
|
import {
|
|
39
40
|
help
|
|
@@ -68,14 +69,14 @@ import {
|
|
|
68
69
|
setupAndLink,
|
|
69
70
|
tryDetectServices,
|
|
70
71
|
validateConfig
|
|
71
|
-
} from "../../chunks/chunk-
|
|
72
|
+
} from "../../chunks/chunk-HMJVUXE6.js";
|
|
72
73
|
import {
|
|
73
74
|
TelemetryClient
|
|
74
75
|
} from "../../chunks/chunk-CYNB6LL4.js";
|
|
75
76
|
import {
|
|
76
77
|
buildCommandWithYes,
|
|
77
78
|
outputActionRequired
|
|
78
|
-
} from "../../chunks/chunk-
|
|
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(
|
|
16816
|
-
var
|
|
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
|
|
@@ -16847,7 +16853,7 @@ function isURL(str) {
|
|
|
16847
16853
|
}
|
|
16848
16854
|
|
|
16849
16855
|
// src/util/dev/router.ts
|
|
16850
|
-
var import_routing_utils = __toESM(
|
|
16856
|
+
var import_routing_utils = __toESM(require_dist4(), 1);
|
|
16851
16857
|
|
|
16852
16858
|
// src/util/dev/parse-query-string.ts
|
|
16853
16859
|
function parseQueryString(querystring) {
|
|
@@ -17450,7 +17456,7 @@ function getMimeType(fileName) {
|
|
|
17450
17456
|
// src/util/dev/builder.ts
|
|
17451
17457
|
var import_ms = __toESM(require_ms(), 1);
|
|
17452
17458
|
var import_bytes = __toESM(require_bytes(), 1);
|
|
17453
|
-
var import_fs_detectors = __toESM(
|
|
17459
|
+
var import_fs_detectors = __toESM(require_dist3(), 1);
|
|
17454
17460
|
var import_pluralize = __toESM(require_pluralize(), 1);
|
|
17455
17461
|
var import_minimatch = __toESM(require_minimatch(), 1);
|
|
17456
17462
|
import { readFileSync, unlinkSync } from "fs";
|
|
@@ -17480,7 +17486,7 @@ function treeKill(pid, signal = "SIGTERM") {
|
|
|
17480
17486
|
}
|
|
17481
17487
|
|
|
17482
17488
|
// src/util/dev/builder.ts
|
|
17483
|
-
var import_routing_utils2 = __toESM(
|
|
17489
|
+
var import_routing_utils2 = __toESM(require_dist4(), 1);
|
|
17484
17490
|
async function deserializeOutput(obj) {
|
|
17485
17491
|
switch (obj.type) {
|
|
17486
17492
|
case "FileFsRef": {
|
|
@@ -18046,7 +18052,6 @@ function redirect(it) {
|
|
|
18046
18052
|
var import_ms2 = __toESM(require_ms(), 1);
|
|
18047
18053
|
var import_get_port = __toESM(require_get_port(), 1);
|
|
18048
18054
|
var import_chalk = __toESM(require_source(), 1);
|
|
18049
|
-
var import_fs_detectors2 = __toESM(require_dist4(), 1);
|
|
18050
18055
|
var import_frameworks = __toESM(require_frameworks(), 1);
|
|
18051
18056
|
import path2 from "path";
|
|
18052
18057
|
import { Transform, Writable } from "stream";
|
|
@@ -18161,6 +18166,10 @@ function getNextCronDelay(expression, now = /* @__PURE__ */ new Date()) {
|
|
|
18161
18166
|
|
|
18162
18167
|
// src/util/dev/services-orchestrator.ts
|
|
18163
18168
|
import {
|
|
18169
|
+
getInternalServiceCronPath,
|
|
18170
|
+
getInternalServiceCronPathPrefix,
|
|
18171
|
+
getInternalServiceWorkerPathPrefix,
|
|
18172
|
+
isExperimentalServiceV2,
|
|
18164
18173
|
isExperimentalService,
|
|
18165
18174
|
isQueueBackedService,
|
|
18166
18175
|
isQueueTriggeredService,
|
|
@@ -18368,10 +18377,10 @@ function createServiceLogger(serviceName, colorIndex, maxNameLength) {
|
|
|
18368
18377
|
}
|
|
18369
18378
|
function getServiceRoutePrefixes(service) {
|
|
18370
18379
|
if (isQueueTriggeredService(service) || isWorkflowTriggeredService(service)) {
|
|
18371
|
-
return [
|
|
18380
|
+
return [getInternalServiceWorkerPathPrefix(service.name)];
|
|
18372
18381
|
}
|
|
18373
18382
|
if (isScheduleTriggeredService(service)) {
|
|
18374
|
-
return [
|
|
18383
|
+
return [getInternalServiceCronPathPrefix(service.name)];
|
|
18375
18384
|
}
|
|
18376
18385
|
if (service.type === "web") {
|
|
18377
18386
|
return [service.routePrefix || "/"];
|
|
@@ -18457,7 +18466,7 @@ var ServicesOrchestrator = class {
|
|
|
18457
18466
|
const pythonWorkspaces = options.services.filter((service) => service.runtime === "python").map(
|
|
18458
18467
|
(service) => path2.resolve(
|
|
18459
18468
|
this.cwd,
|
|
18460
|
-
|
|
18469
|
+
isExperimentalServiceV2(service) ? service.root || "." : service.workspace || "."
|
|
18461
18470
|
)
|
|
18462
18471
|
);
|
|
18463
18472
|
this.pythonServiceCount = new Set(pythonWorkspaces).size;
|
|
@@ -18666,7 +18675,7 @@ var ServicesOrchestrator = class {
|
|
|
18666
18675
|
colorIndex,
|
|
18667
18676
|
this.maxNameLength
|
|
18668
18677
|
);
|
|
18669
|
-
const spec =
|
|
18678
|
+
const spec = isExperimentalServiceV2(service) ? this.getV2StartSpec(service) : this.getV1StartSpec(service);
|
|
18670
18679
|
const port = this.servicePorts.get(service.name);
|
|
18671
18680
|
if (port !== void 0) {
|
|
18672
18681
|
spec.env.VERCEL_DEV_PORT = String(port);
|
|
@@ -19073,7 +19082,7 @@ var ServicesOrchestrator = class {
|
|
|
19073
19082
|
for (const [name, managed] of this.managedServices) {
|
|
19074
19083
|
const service = this.services.find((candidate) => candidate.name === name);
|
|
19075
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) => ({
|
|
19076
|
-
path:
|
|
19085
|
+
path: getInternalServiceCronPath(
|
|
19077
19086
|
name,
|
|
19078
19087
|
service.entrypoint || service.builder.src || "index",
|
|
19079
19088
|
service.handlerFunction || "cron"
|
|
@@ -19764,10 +19773,10 @@ function isApiDirBuild(build) {
|
|
|
19764
19773
|
return typeof src === "string" && src.startsWith("api/");
|
|
19765
19774
|
}
|
|
19766
19775
|
function sortBuilders(buildA, buildB) {
|
|
19767
|
-
if (buildA && buildA.use && (0,
|
|
19776
|
+
if (buildA && buildA.use && (0, import_fs_detectors2.isOfficialRuntime)("static-build", buildA.use)) {
|
|
19768
19777
|
return 1;
|
|
19769
19778
|
}
|
|
19770
|
-
if (buildB && buildB.use && (0,
|
|
19779
|
+
if (buildB && buildB.use && (0, import_fs_detectors2.isOfficialRuntime)("static-build", buildB.use)) {
|
|
19771
19780
|
return -1;
|
|
19772
19781
|
}
|
|
19773
19782
|
return 0;
|
|
@@ -21109,7 +21118,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21109
21118
|
return void 0;
|
|
21110
21119
|
}
|
|
21111
21120
|
async _getVercelConfig() {
|
|
21112
|
-
const { compileVercelConfig } = await import("../../chunks/compile-vercel-config-
|
|
21121
|
+
const { compileVercelConfig } = await import("../../chunks/compile-vercel-config-2JNYMI6W.js");
|
|
21113
21122
|
await compileVercelConfig(this.cwd);
|
|
21114
21123
|
const configPath = getLocalPathConfig(this.cwd);
|
|
21115
21124
|
const [
|
|
@@ -21140,7 +21149,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21140
21149
|
const files = (await staticFiles(this.cwd, {})).map(
|
|
21141
21150
|
(f) => relative2(this.cwd, f)
|
|
21142
21151
|
);
|
|
21143
|
-
const detectedBuilders = await (0,
|
|
21152
|
+
const detectedBuilders = await (0, import_detect_builders_with_services.detectBuildersWithServices)(files, pkg, {
|
|
21144
21153
|
tag: "latest",
|
|
21145
21154
|
bunVersion: vercelConfig.bunVersion,
|
|
21146
21155
|
functions: vercelConfig.functions,
|
|
@@ -21211,11 +21220,11 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21211
21220
|
}
|
|
21212
21221
|
vercelConfig.builds = vercelConfig.builds || [];
|
|
21213
21222
|
vercelConfig.builds.push(
|
|
21214
|
-
(0,
|
|
21223
|
+
(0, import_fs_detectors2.getProxyBuilder)(vercelConfig.proxy, "latest", vercelConfig.functions)
|
|
21215
21224
|
);
|
|
21216
21225
|
}
|
|
21217
21226
|
if (this.sidecars === void 0) {
|
|
21218
|
-
const services = (this.services ?? []).filter(
|
|
21227
|
+
const services = (this.services ?? []).filter(isExperimentalServiceV22);
|
|
21219
21228
|
this.sidecars = await collectBuilderDevSidecars({
|
|
21220
21229
|
builds: this.shouldUseServicesOrchestrator() ? services.map((service) => service.builder) : vercelConfig.builds ?? [],
|
|
21221
21230
|
workPath: this.cwd,
|
|
@@ -21241,8 +21250,8 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21241
21250
|
return true;
|
|
21242
21251
|
});
|
|
21243
21252
|
this.caseSensitive = hasNewRoutingProperties(vercelConfig);
|
|
21244
|
-
this.apiDir = (0,
|
|
21245
|
-
this.apiExtensions = (0,
|
|
21253
|
+
this.apiDir = (0, import_fs_detectors2.detectApiDirectory)(vercelConfig.builds || []);
|
|
21254
|
+
this.apiExtensions = (0, import_fs_detectors2.detectApiExtensions)(vercelConfig.builds || []);
|
|
21246
21255
|
let [runEnv, buildEnv] = await Promise.all([
|
|
21247
21256
|
this.getLocalEnv(".env", vercelConfig.env),
|
|
21248
21257
|
this.getLocalEnv(".env.build", vercelConfig.build?.env)
|
|
@@ -21380,6 +21389,18 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21380
21389
|
resolveBuildFiles(files) {
|
|
21381
21390
|
return Object.keys(files).filter(this.filter);
|
|
21382
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
|
+
}
|
|
21383
21404
|
start(...listenSpec) {
|
|
21384
21405
|
if (!this.startPromise) {
|
|
21385
21406
|
this.startPromise = this._start(...listenSpec).catch((err) => {
|
|
@@ -21458,7 +21479,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21458
21479
|
});
|
|
21459
21480
|
devCommandPromise = this.orchestrator.startAll();
|
|
21460
21481
|
this.devProcessOrigin = void 0;
|
|
21461
|
-
const queueServices = orchestratorServices.filter(
|
|
21482
|
+
const queueServices = orchestratorServices.filter(isExperimentalService2).filter(isQueueBackedService3);
|
|
21462
21483
|
if (queueServices.length > 0) {
|
|
21463
21484
|
this.queueBroker = new QueueBroker(
|
|
21464
21485
|
queueServices,
|
|
@@ -21471,7 +21492,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21471
21492
|
}
|
|
21472
21493
|
output_manager_default.print(`${import_chalk2.default.cyan(">")} Available at:
|
|
21473
21494
|
`);
|
|
21474
|
-
const v1WebServices = (this.services || []).filter(
|
|
21495
|
+
const v1WebServices = (this.services || []).filter(isExperimentalService2).filter((service) => service.type === "web");
|
|
21475
21496
|
if (v1WebServices.length > 0) {
|
|
21476
21497
|
for (const service of v1WebServices) {
|
|
21477
21498
|
const servicePath = service.routePrefix || "/";
|
|
@@ -21514,7 +21535,7 @@ Please ensure that ${cmd(err.path)} is properly installed`;
|
|
|
21514
21535
|
}
|
|
21515
21536
|
await import_fs_extra.default.mkdirp(this.devCacheDir);
|
|
21516
21537
|
this.watcher = watch(this.cwd, {
|
|
21517
|
-
ignored: (
|
|
21538
|
+
ignored: (fsPath) => this.isWatcherIgnored(fsPath),
|
|
21518
21539
|
ignoreInitial: true,
|
|
21519
21540
|
usePolling: false,
|
|
21520
21541
|
persistent: true
|
|
@@ -21835,7 +21856,7 @@ ${error_code}
|
|
|
21835
21856
|
if (!this.serviceRoutesTable) {
|
|
21836
21857
|
this.serviceRoutesTable = /* @__PURE__ */ new Map();
|
|
21837
21858
|
for (const service of this.services || []) {
|
|
21838
|
-
if (!(
|
|
21859
|
+
if (!isExperimentalServiceV22(service))
|
|
21839
21860
|
continue;
|
|
21840
21861
|
const { routes, error: error2 } = (0, import_routing_utils3.getTransformedRoutes)({
|
|
21841
21862
|
routes: service.routes,
|
|
@@ -22564,7 +22585,7 @@ function releaseDevLock(projectRoot) {
|
|
|
22564
22585
|
}
|
|
22565
22586
|
|
|
22566
22587
|
// src/commands/dev/dev.ts
|
|
22567
|
-
async function dev(client, opts, args2, telemetry) {
|
|
22588
|
+
async function dev(client, opts, args2, telemetry, localConfig) {
|
|
22568
22589
|
const [dir = "."] = args2;
|
|
22569
22590
|
let cwd = resolve(dir);
|
|
22570
22591
|
const listen2 = parseListen(opts["--listen"] || "3000");
|
|
@@ -22666,6 +22687,24 @@ To link your project, run ${getCommandName("dev")} without \`-L\` or \`--local\`
|
|
|
22666
22687
|
displayDetectedServices(services);
|
|
22667
22688
|
useImplicitServicesEnvInjection = servicesResult.useImplicitEnvInjection;
|
|
22668
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
|
+
}
|
|
22669
22708
|
let lockAcquired = false;
|
|
22670
22709
|
if (foundServices) {
|
|
22671
22710
|
const port = typeof listen2[0] === "number" ? listen2[0] : 0;
|
|
@@ -22927,7 +22966,7 @@ async function main(client) {
|
|
|
22927
22966
|
return 1;
|
|
22928
22967
|
}
|
|
22929
22968
|
try {
|
|
22930
|
-
return await dev(client, parsedArgs.flags, args2, telemetry);
|
|
22969
|
+
return await dev(client, parsedArgs.flags, args2, telemetry, vercelConfig);
|
|
22931
22970
|
} catch (err) {
|
|
22932
22971
|
if (err instanceof DevCommandExitError || err instanceof ServiceStartError) {
|
|
22933
22972
|
output_manager_default.error(err.message);
|