@wallavi/vercel-build 0.1.5 → 0.1.7
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/index.d.ts +30 -2
- package/dist/index.js +148 -150
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -985,6 +985,7 @@ declare const esquemaDeploymentPromocion: z.ZodEffects<z.ZodEffects<z.ZodObject<
|
|
|
985
985
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
986
986
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
987
987
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
988
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
988
989
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
989
990
|
id: z.ZodOptional<z.ZodString>;
|
|
990
991
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -997,6 +998,7 @@ declare const esquemaDeploymentPromocion: z.ZodEffects<z.ZodEffects<z.ZodObject<
|
|
|
997
998
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
998
999
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
999
1000
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1001
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1000
1002
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1001
1003
|
id: z.ZodOptional<z.ZodString>;
|
|
1002
1004
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1009,6 +1011,7 @@ declare const esquemaDeploymentPromocion: z.ZodEffects<z.ZodEffects<z.ZodObject<
|
|
|
1009
1011
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1010
1012
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1011
1013
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1014
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1012
1015
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1013
1016
|
id: z.ZodOptional<z.ZodString>;
|
|
1014
1017
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1021,6 +1024,7 @@ declare const esquemaDeploymentPromocion: z.ZodEffects<z.ZodEffects<z.ZodObject<
|
|
|
1021
1024
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1022
1025
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1023
1026
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1027
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1024
1028
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1025
1029
|
id: z.ZodOptional<z.ZodString>;
|
|
1026
1030
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1033,6 +1037,7 @@ declare const esquemaDeploymentPromocion: z.ZodEffects<z.ZodEffects<z.ZodObject<
|
|
|
1033
1037
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1034
1038
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1035
1039
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1040
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1036
1041
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1037
1042
|
id: z.ZodOptional<z.ZodString>;
|
|
1038
1043
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1045,6 +1050,7 @@ declare const esquemaDeploymentPromocion: z.ZodEffects<z.ZodEffects<z.ZodObject<
|
|
|
1045
1050
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1046
1051
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1047
1052
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1053
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1048
1054
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1049
1055
|
id: z.ZodOptional<z.ZodString>;
|
|
1050
1056
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1057,6 +1063,7 @@ declare const esquemaDeploymentPromocion: z.ZodEffects<z.ZodEffects<z.ZodObject<
|
|
|
1057
1063
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1058
1064
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1059
1065
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1066
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1060
1067
|
}, z.ZodTypeAny, "passthrough">>;
|
|
1061
1068
|
declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
1062
1069
|
deployments: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
@@ -1071,6 +1078,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1071
1078
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1072
1079
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1073
1080
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1081
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1074
1082
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1075
1083
|
id: z.ZodOptional<z.ZodString>;
|
|
1076
1084
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1083,6 +1091,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1083
1091
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1084
1092
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1085
1093
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1094
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1086
1095
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1087
1096
|
id: z.ZodOptional<z.ZodString>;
|
|
1088
1097
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1095,6 +1104,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1095
1104
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1096
1105
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1097
1106
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1107
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1098
1108
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1099
1109
|
id: z.ZodOptional<z.ZodString>;
|
|
1100
1110
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1107,6 +1117,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1107
1117
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1108
1118
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1109
1119
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1120
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1110
1121
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1111
1122
|
id: z.ZodOptional<z.ZodString>;
|
|
1112
1123
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1119,6 +1130,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1119
1130
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1120
1131
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1121
1132
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1133
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1122
1134
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1123
1135
|
id: z.ZodOptional<z.ZodString>;
|
|
1124
1136
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1131,6 +1143,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1131
1143
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1132
1144
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1133
1145
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1146
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1134
1147
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1135
1148
|
id: z.ZodOptional<z.ZodString>;
|
|
1136
1149
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1143,6 +1156,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1143
1156
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1144
1157
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1145
1158
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1159
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1146
1160
|
}, z.ZodTypeAny, "passthrough">>, "many">;
|
|
1147
1161
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1148
1162
|
deployments: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
@@ -1157,6 +1171,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1157
1171
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1158
1172
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1159
1173
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1174
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1160
1175
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1161
1176
|
id: z.ZodOptional<z.ZodString>;
|
|
1162
1177
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1169,6 +1184,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1169
1184
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1170
1185
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1171
1186
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1187
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1172
1188
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1173
1189
|
id: z.ZodOptional<z.ZodString>;
|
|
1174
1190
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1181,6 +1197,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1181
1197
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1182
1198
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1183
1199
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1200
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1184
1201
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1185
1202
|
id: z.ZodOptional<z.ZodString>;
|
|
1186
1203
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1193,6 +1210,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1193
1210
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1194
1211
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1195
1212
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1213
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1196
1214
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1197
1215
|
id: z.ZodOptional<z.ZodString>;
|
|
1198
1216
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1205,6 +1223,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1205
1223
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1206
1224
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1207
1225
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1226
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1208
1227
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1209
1228
|
id: z.ZodOptional<z.ZodString>;
|
|
1210
1229
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1217,6 +1236,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1217
1236
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1218
1237
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1219
1238
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1239
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1220
1240
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1221
1241
|
id: z.ZodOptional<z.ZodString>;
|
|
1222
1242
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1229,6 +1249,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1229
1249
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1230
1250
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1231
1251
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1252
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1232
1253
|
}, z.ZodTypeAny, "passthrough">>, "many">;
|
|
1233
1254
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1234
1255
|
deployments: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
@@ -1243,6 +1264,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1243
1264
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1244
1265
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1245
1266
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1267
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1246
1268
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1247
1269
|
id: z.ZodOptional<z.ZodString>;
|
|
1248
1270
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1255,6 +1277,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1255
1277
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1256
1278
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1257
1279
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1280
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1258
1281
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1259
1282
|
id: z.ZodOptional<z.ZodString>;
|
|
1260
1283
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1267,6 +1290,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1267
1290
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1268
1291
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1269
1292
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1293
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1270
1294
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1271
1295
|
id: z.ZodOptional<z.ZodString>;
|
|
1272
1296
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1279,6 +1303,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1279
1303
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1280
1304
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1281
1305
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1306
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1282
1307
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1283
1308
|
id: z.ZodOptional<z.ZodString>;
|
|
1284
1309
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1291,6 +1316,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1291
1316
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1292
1317
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1293
1318
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1319
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1294
1320
|
}, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
|
|
1295
1321
|
id: z.ZodOptional<z.ZodString>;
|
|
1296
1322
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1303,6 +1329,7 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1303
1329
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1304
1330
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1305
1331
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1332
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1306
1333
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1307
1334
|
id: z.ZodOptional<z.ZodString>;
|
|
1308
1335
|
uid: z.ZodOptional<z.ZodString>;
|
|
@@ -1315,12 +1342,13 @@ declare const esquemaListaDeploymentsPromocion: z.ZodObject<{
|
|
|
1315
1342
|
alias: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
|
|
1316
1343
|
aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1317
1344
|
meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1345
|
+
gitSource: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
1318
1346
|
}, z.ZodTypeAny, "passthrough">>, "many">;
|
|
1319
1347
|
}, z.ZodTypeAny, "passthrough">>;
|
|
1320
1348
|
type DeploymentPromocion = z.infer<typeof esquemaDeploymentPromocion>;
|
|
1321
1349
|
declare function limpiarIdOUrlDeploy(valor: string): string | null;
|
|
1322
1350
|
declare function extraerIdOUrlDeploy(salida: string, error?: string): string | null;
|
|
1323
|
-
declare function extraerAliasProduccion(
|
|
1351
|
+
declare function extraerAliasProduccion(d: DeploymentPromocion): string | null;
|
|
1324
1352
|
interface OpcionesPromover {
|
|
1325
1353
|
teamId?: string;
|
|
1326
1354
|
projectId?: string;
|
|
@@ -1351,7 +1379,7 @@ type ResultadoPromocion = {
|
|
|
1351
1379
|
codigo: 1;
|
|
1352
1380
|
motivo: string;
|
|
1353
1381
|
};
|
|
1354
|
-
declare function esperarYPromoverDeploy(
|
|
1382
|
+
declare function esperarYPromoverDeploy(opc: OpcionesPromover): ResultadoPromocion;
|
|
1355
1383
|
|
|
1356
1384
|
declare const VARIABLES_VERCEL: readonly ["VERCEL_TOKEN", "VERCEL_ORG_ID", "VERCEL_PROJECT_ID"];
|
|
1357
1385
|
declare const PASOS_VERCEL: readonly [readonly ["pull", "--yes", "--environment=production"], readonly ["build", "--prod"], readonly ["deploy", "--prebuilt", "--prod"]];
|
package/dist/index.js
CHANGED
|
@@ -772,65 +772,57 @@ var esquemaDeploymentPromocion = zod.z.object({
|
|
|
772
772
|
url: zod.z.string().min(1).optional(),
|
|
773
773
|
alias: zod.z.union([zod.z.array(zod.z.string()), zod.z.string()]).optional(),
|
|
774
774
|
aliases: zod.z.array(zod.z.string()).optional(),
|
|
775
|
-
meta: zod.z.record(zod.z.unknown()).optional()
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
775
|
+
meta: zod.z.record(zod.z.unknown()).optional(),
|
|
776
|
+
gitSource: zod.z.record(zod.z.unknown()).nullable().optional()
|
|
777
|
+
}).passthrough().refine((d) => Boolean(d.id || d.uid), "el deployment debe incluir id o uid").refine(
|
|
778
|
+
(d) => Boolean(d.state || d.readyState),
|
|
779
|
+
"el deployment debe incluir state o readyState"
|
|
780
|
+
);
|
|
781
781
|
var esquemaListaDeploymentsPromocion = zod.z.object({ deployments: zod.z.array(esquemaDeploymentPromocion) }).passthrough();
|
|
782
782
|
function limpiarIdOUrlDeploy(valor) {
|
|
783
|
-
|
|
784
|
-
const limpio = sinAnsi.replace(/^https?:\/\//i, "").replace(/[/?#].*$/, "").replace(/[.,;]+$/, "").trim();
|
|
785
|
-
return limpio || null;
|
|
783
|
+
return valor.replace(REGEX_ANSI, "").trim().replace(/^https?:\/\//i, "").replace(/[/?#].*$/, "").replace(/[.,;]+$/, "").trim() || null;
|
|
786
784
|
}
|
|
787
785
|
function extraerIdOUrlDeploy(salida, error = "") {
|
|
788
786
|
const stdout = salida.replace(REGEX_ANSI, "");
|
|
789
787
|
const texto = `${error}
|
|
790
788
|
${salida}`.replace(REGEX_ANSI, "");
|
|
791
|
-
const
|
|
792
|
-
const
|
|
793
|
-
|
|
794
|
-
)?.[1];
|
|
789
|
+
const reLinea = /^\s*(https?:\/\/[^\s\]"')>]+)/gim;
|
|
790
|
+
const urlsStdout = Array.from(stdout.matchAll(reLinea), (m) => m[1]);
|
|
791
|
+
const prod = /\bProduction\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(texto)?.[1];
|
|
795
792
|
const alias = /\bAlias(?:ed)?\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(
|
|
796
793
|
texto
|
|
797
794
|
)?.[1];
|
|
798
|
-
for (const candidata of [
|
|
795
|
+
for (const candidata of [...urlsStdout, prod, alias]) {
|
|
799
796
|
const limpio = candidata ? limpiarIdOUrlDeploy(candidata) : null;
|
|
800
797
|
if (limpio && limpio !== "vercel.com") return limpio;
|
|
801
798
|
}
|
|
802
799
|
return /\b(dpl_[a-zA-Z0-9]+)\b/.exec(texto)?.[1] ?? null;
|
|
803
800
|
}
|
|
804
|
-
function normalizarUrlHttps(
|
|
805
|
-
const
|
|
806
|
-
return /^https?:\/\//i.test(
|
|
801
|
+
function normalizarUrlHttps(u) {
|
|
802
|
+
const s = u.trim().replace(/[.,;/]+$/, "");
|
|
803
|
+
return /^https?:\/\//i.test(s) ? s : `https://${s}`;
|
|
804
|
+
}
|
|
805
|
+
function esDominioVercelApp(u) {
|
|
806
|
+
const h = (limpiarIdOUrlDeploy(u) ?? "").toLowerCase();
|
|
807
|
+
return h === "vercel.app" || h.endsWith(".vercel.app");
|
|
807
808
|
}
|
|
808
|
-
function
|
|
809
|
-
const
|
|
810
|
-
return
|
|
809
|
+
function listaAliases(d) {
|
|
810
|
+
const crudos = Array.isArray(d.alias) ? d.alias : d.alias ? [d.alias] : [];
|
|
811
|
+
return [...crudos, ...d.aliases ?? []].map((c) => c.trim()).filter(Boolean);
|
|
811
812
|
}
|
|
812
|
-
function extraerAliasProduccion(
|
|
813
|
-
const
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
if (Array.isArray(deployment.aliases)) crudos.push(...deployment.aliases);
|
|
817
|
-
const candidatos = crudos.map((c) => c.trim()).filter(Boolean);
|
|
818
|
-
if (candidatos.length === 0) {
|
|
819
|
-
return deployment.url && !esDominioVercelApp(deployment.url) ? normalizarUrlHttps(deployment.url) : null;
|
|
820
|
-
}
|
|
821
|
-
const dominioPropio = candidatos.find((c) => !esDominioVercelApp(c));
|
|
822
|
-
return normalizarUrlHttps(dominioPropio ?? candidatos[0]);
|
|
813
|
+
function extraerAliasProduccion(d) {
|
|
814
|
+
const c = listaAliases(d);
|
|
815
|
+
const u = c.find((x) => !esDominioVercelApp(x)) ?? c[0] ?? (d.url && !esDominioVercelApp(d.url) ? d.url : null);
|
|
816
|
+
return u ? normalizarUrlHttps(u) : null;
|
|
823
817
|
}
|
|
824
818
|
function obtenerShaCommit(opc, ej) {
|
|
825
819
|
const explicito = opc.sha?.trim() || opc.env?.VERCEL_GIT_COMMIT_SHA?.trim();
|
|
826
820
|
if (explicito) return explicito;
|
|
827
|
-
const
|
|
828
|
-
|
|
829
|
-
const
|
|
830
|
-
const
|
|
831
|
-
|
|
832
|
-
...opc.env ? { env: opc.env } : {}
|
|
833
|
-
});
|
|
821
|
+
for (const dir of [opc.carpeta, opc.cwd]) {
|
|
822
|
+
if (!dir) continue;
|
|
823
|
+
const cwd = ubicarEnRepo(dir, ej)?.raiz ?? dir;
|
|
824
|
+
const opcGit = { cwd, ...opc.env ? { env: opc.env } : {} };
|
|
825
|
+
const r = ej("git", ["rev-parse", "HEAD"], opcGit);
|
|
834
826
|
if (r.codigo === 0 && r.salida.trim() !== "") return r.salida.trim();
|
|
835
827
|
}
|
|
836
828
|
return null;
|
|
@@ -842,143 +834,147 @@ var fallo = (motivo) => ({
|
|
|
842
834
|
motivo
|
|
843
835
|
});
|
|
844
836
|
function llamarApiVercel(rutaQuery, ctx, metodo = "GET") {
|
|
845
|
-
let respuesta;
|
|
846
837
|
try {
|
|
847
838
|
const auth = { Authorization: `Bearer ${ctx.token}` };
|
|
848
|
-
|
|
839
|
+
const r = ctx.solicitar(`${ctx.baseUrl}${rutaQuery}`, auth, metodo);
|
|
840
|
+
return r.estado >= 200 && r.estado < 300 ? { ok: true, cuerpo: r.cuerpo } : err(`HTTP ${r.estado} en ${metodo} ${rutaQuery}`);
|
|
849
841
|
} catch (e) {
|
|
850
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
851
|
-
return err(`fallo de red en ${metodo} ${rutaQuery} (${msg})`);
|
|
852
|
-
}
|
|
853
|
-
if (respuesta.estado < 200 || respuesta.estado >= 300) {
|
|
854
|
-
return err(`HTTP ${respuesta.estado} en ${metodo} ${rutaQuery}`);
|
|
855
|
-
}
|
|
856
|
-
return { ok: true, cuerpo: respuesta.cuerpo };
|
|
857
|
-
}
|
|
858
|
-
function validarIdentidadDeployment(d, ctx) {
|
|
859
|
-
const deploymentId = d.id ?? d.uid;
|
|
860
|
-
if (d.projectId !== ctx.projectId) {
|
|
861
842
|
return err(
|
|
862
|
-
`
|
|
843
|
+
`fallo de red en ${metodo} ${rutaQuery} (${e.message ?? e})`
|
|
863
844
|
);
|
|
864
845
|
}
|
|
865
|
-
|
|
846
|
+
}
|
|
847
|
+
function obtenerShaDeployment(d) {
|
|
848
|
+
for (const c of [
|
|
849
|
+
d.meta?.githubCommitSha,
|
|
850
|
+
d.meta?.gitCommitSha,
|
|
851
|
+
d.gitSource?.sha
|
|
852
|
+
]) {
|
|
853
|
+
if (typeof c === "string" && c.trim() !== "") return c.trim();
|
|
854
|
+
}
|
|
855
|
+
return "";
|
|
856
|
+
}
|
|
857
|
+
function validarIdentidadDeployment(d, ctx, fijar = false) {
|
|
858
|
+
const id = d.id ?? d.uid;
|
|
859
|
+
if (d.projectId !== ctx.projectId)
|
|
866
860
|
return err(
|
|
867
|
-
`el deploy ${
|
|
861
|
+
`el deploy ${id} no confirma projectId=${JSON.stringify(d.projectId) ?? "ausente"} (esperado ${ctx.projectId})`
|
|
868
862
|
);
|
|
869
|
-
|
|
870
|
-
const shaMeta = typeof d.meta?.githubCommitSha === "string" ? d.meta.githubCommitSha.trim() : typeof d.meta?.gitCommitSha === "string" ? d.meta.gitCommitSha.trim() : "";
|
|
871
|
-
if (!shaMeta || shaMeta !== ctx.sha) {
|
|
863
|
+
if (d.target !== "production")
|
|
872
864
|
return err(
|
|
873
|
-
`el deploy ${
|
|
865
|
+
`el deploy ${id} no es de producci\xF3n (target=${JSON.stringify(d.target) ?? "ausente"}; esperado production)`
|
|
874
866
|
);
|
|
867
|
+
const sha = obtenerShaDeployment(d);
|
|
868
|
+
return sha && sha === ctx.sha ? { ok: true, valor: d, id, fijar } : err(
|
|
869
|
+
`el deploy ${id} corresponde al SHA ${sha || "desconocido"} y no a ${ctx.sha}`
|
|
870
|
+
);
|
|
871
|
+
}
|
|
872
|
+
function pedirDeploymentsV6(ruta, ctx) {
|
|
873
|
+
const resp = llamarApiVercel(ruta, ctx, "GET");
|
|
874
|
+
if (!resp.ok) return resp;
|
|
875
|
+
try {
|
|
876
|
+
const json = JSON.parse(resp.cuerpo);
|
|
877
|
+
const r = esquemaListaDeploymentsPromocion.safeParse(json);
|
|
878
|
+
return r.success ? { ok: true, deployments: r.data.deployments } : err(`no se encontr\xF3 deployment de producci\xF3n para el SHA ${ctx.sha}`);
|
|
879
|
+
} catch (e) {
|
|
880
|
+
return err(`JSON inv\xE1lido en GET ${ruta} (${e.message})`);
|
|
875
881
|
}
|
|
876
|
-
return { ok: true, deploymentId };
|
|
877
882
|
}
|
|
878
883
|
function consultarDeploymentV13(idOrUrl, ctx) {
|
|
879
884
|
const ruta = `/v13/deployments/${encodeURIComponent(idOrUrl)}?${ctx.qTeam}`;
|
|
880
885
|
const resp = llamarApiVercel(ruta, ctx, "GET");
|
|
881
886
|
if (!resp.ok) return resp;
|
|
882
|
-
let json;
|
|
883
887
|
try {
|
|
884
|
-
|
|
888
|
+
const r = esquemaDeploymentPromocion.safeParse(JSON.parse(resp.cuerpo));
|
|
889
|
+
return r.success ? validarIdentidadDeployment(r.data, ctx) : err(`respuesta inv\xE1lida en GET ${ruta} (${r.error.message})`);
|
|
885
890
|
} catch (e) {
|
|
886
891
|
return err(`JSON inv\xE1lido en GET ${ruta} (${e.message})`);
|
|
887
892
|
}
|
|
888
|
-
const r = esquemaDeploymentPromocion.safeParse(json);
|
|
889
|
-
if (!r.success) {
|
|
890
|
-
return err(`respuesta inv\xE1lida en GET ${ruta} (${r.error.message})`);
|
|
891
|
-
}
|
|
892
|
-
const val = validarIdentidadDeployment(r.data, ctx);
|
|
893
|
-
if (!val.ok) return val;
|
|
894
|
-
return { ok: true, valor: r.data, deploymentId: val.deploymentId };
|
|
895
893
|
}
|
|
896
|
-
function
|
|
897
|
-
const
|
|
898
|
-
const
|
|
899
|
-
|
|
900
|
-
const
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
const
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
894
|
+
function hidratarCandidatoV6(d, ctx) {
|
|
895
|
+
const base = validarIdentidadDeployment(d, ctx, true);
|
|
896
|
+
const sha = obtenerShaDeployment(d);
|
|
897
|
+
if (sha && sha !== ctx.sha) return base;
|
|
898
|
+
const enReady = (d.readyState ?? d.state) === "READY";
|
|
899
|
+
if (base.ok && (!enReady || d.readySubstate && listaAliases(d).length > 0))
|
|
900
|
+
return base;
|
|
901
|
+
const detalle = consultarDeploymentV13(d.id ?? d.uid, ctx);
|
|
902
|
+
if (detalle.ok) {
|
|
903
|
+
const v = detalle.valor;
|
|
904
|
+
const valor = { ...d, ...v, url: v.url ?? d.url };
|
|
905
|
+
valor.alias = v.alias ?? d.alias;
|
|
906
|
+
valor.aliases = v.aliases ?? d.aliases;
|
|
907
|
+
valor.readySubstate = v.readySubstate ?? d.readySubstate;
|
|
908
|
+
return { ok: true, id: detalle.id, fijar: true, valor };
|
|
909
|
+
}
|
|
910
|
+
return detalle.motivo.startsWith("el deploy ") ? detalle : base;
|
|
911
|
+
}
|
|
912
|
+
function resolverDeployment(idOrUrl, ctx) {
|
|
913
|
+
const qBase = `${ctx.qTeam}&projectId=${encodeURIComponent(ctx.projectId)}&target=production`;
|
|
914
|
+
const respaldoV6 = () => {
|
|
915
|
+
const r = pedirDeploymentsV6(`/v6/deployments?${qBase}`, ctx);
|
|
916
|
+
if (!r.ok) return r;
|
|
917
|
+
const d = r.deployments.find((x) => obtenerShaDeployment(x) === ctx.sha);
|
|
918
|
+
return d ? hidratarCandidatoV6(d, ctx) : err(`no se encontr\xF3 deployment de producci\xF3n para el SHA ${ctx.sha}`);
|
|
919
|
+
};
|
|
920
|
+
if (idOrUrl) {
|
|
921
|
+
const c = consultarDeploymentV13(idOrUrl, ctx);
|
|
922
|
+
if (c.ok || idOrUrl.startsWith("dpl_")) return c;
|
|
923
|
+
const respaldo = respaldoV6();
|
|
924
|
+
if (respaldo.ok) return respaldo;
|
|
925
|
+
return c.motivo.startsWith("el deploy ") || !respaldo.motivo.startsWith("el deploy ") ? c : respaldo;
|
|
926
|
+
}
|
|
927
|
+
const lista = pedirDeploymentsV6(
|
|
928
|
+
`/v6/deployments?${qBase}&sha=${encodeURIComponent(ctx.sha)}`,
|
|
929
|
+
ctx
|
|
930
|
+
);
|
|
931
|
+
if (!lista.ok) return lista;
|
|
932
|
+
if (lista.deployments.length === 0) return respaldoV6();
|
|
933
|
+
const actual = lista.deployments.find((d) => obtenerShaDeployment(d) === ctx.sha) ?? lista.deployments[0];
|
|
934
|
+
return hidratarCandidatoV6(actual, ctx);
|
|
935
|
+
}
|
|
936
|
+
function esperarYPromoverDeploy(opc) {
|
|
937
|
+
const ej = opc.ejecutar ?? ejecutar;
|
|
938
|
+
const solicitar = opc.solicitar ?? solicitarVercel;
|
|
939
|
+
const dormir = opc.dormir ?? dormirSincrono;
|
|
940
|
+
const intervaloMs = opc.intervaloMs ?? INTERVALO_POLL_DEPLOY_MS;
|
|
941
|
+
const timeoutMs = opc.timeoutMs ?? TIMEOUT_POLL_DEPLOY_MS;
|
|
942
|
+
const leer = (a, b) => a?.trim() || b?.trim() || "";
|
|
943
|
+
const token = leer(opc.token, opc.env?.VERCEL_TOKEN);
|
|
944
|
+
const teamId = leer(opc.teamId, opc.env?.VERCEL_ORG_ID);
|
|
945
|
+
const projectId = leer(opc.projectId, opc.env?.VERCEL_PROJECT_ID);
|
|
946
|
+
const baseUrl = leer(opc.baseUrl, opc.env?.VERCEL_API_URL) || API_VERCEL_URL;
|
|
947
|
+
if (!token || !teamId || !projectId)
|
|
908
948
|
return fallo("faltan credenciales de Vercel para promover el deploy");
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
if (!sha) {
|
|
949
|
+
const sha = obtenerShaCommit(opc, ej);
|
|
950
|
+
if (!sha)
|
|
912
951
|
return fallo(
|
|
913
952
|
"no se pudo determinar el SHA actual para verificar el deploy"
|
|
914
953
|
);
|
|
915
|
-
}
|
|
916
|
-
const ctx = {
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
token,
|
|
921
|
-
solicitar,
|
|
922
|
-
baseUrl
|
|
923
|
-
};
|
|
924
|
-
let idOrUrl = opciones.urlDeploy !== void 0 && opciones.urlDeploy !== null ? limpiarIdOUrlDeploy(opciones.urlDeploy) : extraerIdOUrlDeploy(
|
|
925
|
-
opciones.salidaDeploy ?? "",
|
|
926
|
-
opciones.errorDeploy ?? ""
|
|
927
|
-
);
|
|
928
|
-
let transcurridoMs = 0;
|
|
929
|
-
let intentos = 0;
|
|
930
|
-
let deployListo = null;
|
|
931
|
-
let deploymentId = "";
|
|
954
|
+
const qTeam = `teamId=${encodeURIComponent(teamId)}`;
|
|
955
|
+
const ctx = { qTeam, projectId, sha, token, solicitar, baseUrl };
|
|
956
|
+
let idOrUrl = opc.urlDeploy != null ? limpiarIdOUrlDeploy(opc.urlDeploy) : extraerIdOUrlDeploy(opc.salidaDeploy ?? "", opc.errorDeploy ?? "");
|
|
957
|
+
let transcurridoMs = 0, intentos = 0, deployListo = null, deploymentId = "";
|
|
958
|
+
const esperar = () => (opc.maxIntentos === void 0 || intentos < opc.maxIntentos) && transcurridoMs + intervaloMs <= timeoutMs && (dormir(intervaloMs), transcurridoMs += intervaloMs, true);
|
|
932
959
|
while (deployListo === null) {
|
|
933
960
|
intentos++;
|
|
934
|
-
|
|
935
|
-
if (
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
deploymentId = c.deploymentId;
|
|
940
|
-
} else {
|
|
941
|
-
const q = `${ctx.qTeam}&projectId=${encodeURIComponent(projectId)}&target=production&sha=${encodeURIComponent(sha)}`;
|
|
942
|
-
const ruta = `/v6/deployments?${q}`;
|
|
943
|
-
const resp = llamarApiVercel(ruta, ctx, "GET");
|
|
944
|
-
if (!resp.ok) return fallo(resp.motivo);
|
|
945
|
-
let json;
|
|
946
|
-
try {
|
|
947
|
-
json = JSON.parse(resp.cuerpo);
|
|
948
|
-
} catch (e) {
|
|
949
|
-
return fallo(`JSON inv\xE1lido en GET ${ruta} (${e.message})`);
|
|
950
|
-
}
|
|
951
|
-
const lista = esquemaListaDeploymentsPromocion.safeParse(json);
|
|
952
|
-
if (!lista.success || lista.data.deployments.length === 0) {
|
|
953
|
-
return fallo(
|
|
954
|
-
`no se encontr\xF3 deployment de producci\xF3n para el SHA ${sha}`
|
|
955
|
-
);
|
|
956
|
-
}
|
|
957
|
-
actual = lista.data.deployments[0];
|
|
958
|
-
const val = validarIdentidadDeployment(actual, ctx);
|
|
959
|
-
if (!val.ok) return fallo(val.motivo);
|
|
960
|
-
deploymentId = val.deploymentId;
|
|
961
|
-
idOrUrl = deploymentId;
|
|
962
|
-
}
|
|
961
|
+
const r = resolverDeployment(idOrUrl, ctx);
|
|
962
|
+
if (!r.ok) return fallo(r.motivo);
|
|
963
|
+
const actual = r.valor;
|
|
964
|
+
deploymentId = r.id;
|
|
965
|
+
if (r.fijar) idOrUrl = deploymentId;
|
|
963
966
|
const estado = actual.readyState ?? actual.state;
|
|
964
|
-
if (estado === "ERROR" || estado === "CANCELED")
|
|
967
|
+
if (estado === "ERROR" || estado === "CANCELED")
|
|
965
968
|
return fallo(`el deploy ${deploymentId} termin\xF3 en estado ${estado}`);
|
|
966
|
-
|
|
967
|
-
if (
|
|
968
|
-
deployListo = actual;
|
|
969
|
-
break;
|
|
970
|
-
}
|
|
971
|
-
if (maxIntentos !== void 0 && intentos >= maxIntentos || transcurridoMs + intervaloMs > timeoutMs) {
|
|
969
|
+
if (estado === "READY") deployListo = actual;
|
|
970
|
+
else if (!esperar())
|
|
972
971
|
return fallo(
|
|
973
972
|
`timeout esperando a que el deploy ${deploymentId} llegue a READY (estado: ${estado})`
|
|
974
973
|
);
|
|
975
|
-
}
|
|
976
|
-
dormir(intervaloMs);
|
|
977
|
-
transcurridoMs += intervaloMs;
|
|
978
974
|
}
|
|
979
975
|
let deployFinal = deployListo;
|
|
980
|
-
if (deployListo.readySubstate
|
|
981
|
-
const rutaPromote = `/v10/projects/${encodeURIComponent(projectId)}/promote/${encodeURIComponent(deploymentId)}?${
|
|
976
|
+
if (deployListo.readySubstate === "STAGED") {
|
|
977
|
+
const rutaPromote = `/v10/projects/${encodeURIComponent(projectId)}/promote/${encodeURIComponent(deploymentId)}?${qTeam}`;
|
|
982
978
|
const respPromote = llamarApiVercel(rutaPromote, ctx, "POST");
|
|
983
979
|
if (!respPromote.ok) return fallo(respPromote.motivo);
|
|
984
980
|
for (; ; ) {
|
|
@@ -987,22 +983,18 @@ function esperarYPromoverDeploy(opciones) {
|
|
|
987
983
|
if (!c.ok) return fallo(c.motivo);
|
|
988
984
|
const dConf = c.valor;
|
|
989
985
|
const estadoConf = dConf.readyState ?? dConf.state;
|
|
990
|
-
if (estadoConf === "ERROR" || estadoConf === "CANCELED")
|
|
986
|
+
if (estadoConf === "ERROR" || estadoConf === "CANCELED")
|
|
991
987
|
return fallo(
|
|
992
988
|
`el deploy ${deploymentId} termin\xF3 en estado ${estadoConf} durante la promoci\xF3n`
|
|
993
989
|
);
|
|
994
|
-
|
|
995
|
-
if (estadoConf === "READY" && dConf.readySubstate === "PROMOTED") {
|
|
990
|
+
if (estadoConf === "READY" && (dConf.readySubstate === "PROMOTED" || dConf.readySubstate !== "STAGED" && extraerAliasProduccion(dConf) !== null)) {
|
|
996
991
|
deployFinal = dConf;
|
|
997
992
|
break;
|
|
998
993
|
}
|
|
999
|
-
if (
|
|
994
|
+
if (!esperar())
|
|
1000
995
|
return fallo(
|
|
1001
996
|
`timeout esperando que el deploy ${deploymentId} quede PROMOTED (subestado: ${dConf.readySubstate ?? "sin subestado"})`
|
|
1002
997
|
);
|
|
1003
|
-
}
|
|
1004
|
-
dormir(intervaloMs);
|
|
1005
|
-
transcurridoMs += intervaloMs;
|
|
1006
998
|
}
|
|
1007
999
|
}
|
|
1008
1000
|
const alias = extraerAliasProduccion(deployFinal) ?? extraerAliasProduccion(deployListo);
|
|
@@ -1057,7 +1049,13 @@ ${salida}`.replace(REGEX_ANSI2, "");
|
|
|
1057
1049
|
const alias = /\bAlias(?:ed)?\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(
|
|
1058
1050
|
texto
|
|
1059
1051
|
)?.[1];
|
|
1060
|
-
const urlStdout =
|
|
1052
|
+
const urlStdout = Array.from(
|
|
1053
|
+
stdout.matchAll(/^\s*(https?:\/\/[^\s\]"')>]+)/gim),
|
|
1054
|
+
(m) => m[1]
|
|
1055
|
+
).find((u) => {
|
|
1056
|
+
const host = limpiarIdOUrlDeploy(u);
|
|
1057
|
+
return Boolean(host && host !== "vercel.com");
|
|
1058
|
+
});
|
|
1061
1059
|
const produccion = /\bProduction\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(
|
|
1062
1060
|
texto
|
|
1063
1061
|
)?.[1];
|
|
@@ -1219,7 +1217,7 @@ function ejecutarDesplegar(opciones) {
|
|
|
1219
1217
|
urlDeployPromovido = promocion.url;
|
|
1220
1218
|
deploymentId = promocion.deploymentId;
|
|
1221
1219
|
}
|
|
1222
|
-
const urlSalud = opciones.urlSalud?.trim() || opciones.env.VERCEL_HEALTHCHECK_URL?.trim() || aliasPromovido || extraerUrlSalud(ultimoDeploy.salida, ultimoDeploy.error)
|
|
1220
|
+
const urlSalud = opciones.urlSalud?.trim() || opciones.env.VERCEL_HEALTHCHECK_URL?.trim() || aliasPromovido || urlDeployPromovido || extraerUrlSalud(ultimoDeploy.salida, ultimoDeploy.error);
|
|
1223
1221
|
if (!urlSalud) {
|
|
1224
1222
|
opciones.error(
|
|
1225
1223
|
redactarCredenciales(
|