@wallavi/vercel-build 0.1.5 → 0.1.6
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 +131 -127
- 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,7 +772,8 @@ 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()
|
|
775
|
+
meta: zod.z.record(zod.z.unknown()).optional(),
|
|
776
|
+
gitSource: zod.z.record(zod.z.unknown()).nullable().optional()
|
|
776
777
|
}).passthrough().refine((d) => d.id !== void 0 || d.uid !== void 0, {
|
|
777
778
|
message: "el deployment debe incluir id o uid"
|
|
778
779
|
}).refine((d) => d.state !== void 0 || d.readyState !== void 0, {
|
|
@@ -780,55 +781,54 @@ var esquemaDeploymentPromocion = zod.z.object({
|
|
|
780
781
|
});
|
|
781
782
|
var esquemaListaDeploymentsPromocion = zod.z.object({ deployments: zod.z.array(esquemaDeploymentPromocion) }).passthrough();
|
|
782
783
|
function limpiarIdOUrlDeploy(valor) {
|
|
783
|
-
const
|
|
784
|
-
|
|
785
|
-
return limpio || null;
|
|
784
|
+
const s = valor.replace(REGEX_ANSI, "").trim().replace(/^https?:\/\//i, "").replace(/[/?#].*$/, "").replace(/[.,;]+$/, "").trim();
|
|
785
|
+
return s || null;
|
|
786
786
|
}
|
|
787
787
|
function extraerIdOUrlDeploy(salida, error = "") {
|
|
788
788
|
const stdout = salida.replace(REGEX_ANSI, "");
|
|
789
789
|
const texto = `${error}
|
|
790
790
|
${salida}`.replace(REGEX_ANSI, "");
|
|
791
|
-
const
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
)
|
|
791
|
+
const urlsStdout = Array.from(
|
|
792
|
+
stdout.matchAll(/^\s*(https?:\/\/[^\s\]"')>]+)/gim),
|
|
793
|
+
(m) => m[1]
|
|
794
|
+
);
|
|
795
|
+
const prod = /\bProduction\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(texto)?.[1];
|
|
795
796
|
const alias = /\bAlias(?:ed)?\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(
|
|
796
797
|
texto
|
|
797
798
|
)?.[1];
|
|
798
|
-
for (const candidata of [
|
|
799
|
+
for (const candidata of [...urlsStdout, prod, alias]) {
|
|
799
800
|
const limpio = candidata ? limpiarIdOUrlDeploy(candidata) : null;
|
|
800
801
|
if (limpio && limpio !== "vercel.com") return limpio;
|
|
801
802
|
}
|
|
802
803
|
return /\b(dpl_[a-zA-Z0-9]+)\b/.exec(texto)?.[1] ?? null;
|
|
803
804
|
}
|
|
804
|
-
function normalizarUrlHttps(
|
|
805
|
-
const
|
|
806
|
-
return /^https?:\/\//i.test(
|
|
805
|
+
function normalizarUrlHttps(u) {
|
|
806
|
+
const s = u.trim().replace(/[.,;]+$/, "").replace(/\/+$/, "");
|
|
807
|
+
return /^https?:\/\//i.test(s) ? s : `https://${s}`;
|
|
807
808
|
}
|
|
808
|
-
function esDominioVercelApp(
|
|
809
|
-
const
|
|
810
|
-
return
|
|
809
|
+
function esDominioVercelApp(u) {
|
|
810
|
+
const h = (limpiarIdOUrlDeploy(u) ?? "").toLowerCase();
|
|
811
|
+
return h === "vercel.app" || h.endsWith(".vercel.app");
|
|
811
812
|
}
|
|
812
|
-
function extraerAliasProduccion(
|
|
813
|
-
const crudos = [
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
return normalizarUrlHttps(dominioPropio ?? candidatos[0]);
|
|
813
|
+
function extraerAliasProduccion(d) {
|
|
814
|
+
const crudos = [
|
|
815
|
+
...Array.isArray(d.alias) ? d.alias : d.alias ? [d.alias] : [],
|
|
816
|
+
...d.aliases ?? []
|
|
817
|
+
].map((c) => c.trim()).filter(Boolean);
|
|
818
|
+
if (crudos.length === 0)
|
|
819
|
+
return d.url && !esDominioVercelApp(d.url) ? normalizarUrlHttps(d.url) : null;
|
|
820
|
+
return normalizarUrlHttps(
|
|
821
|
+
crudos.find((c) => !esDominioVercelApp(c)) ?? crudos[0]
|
|
822
|
+
);
|
|
823
823
|
}
|
|
824
824
|
function obtenerShaCommit(opc, ej) {
|
|
825
825
|
const explicito = opc.sha?.trim() || opc.env?.VERCEL_GIT_COMMIT_SHA?.trim();
|
|
826
826
|
if (explicito) return explicito;
|
|
827
|
-
const
|
|
828
|
-
|
|
829
|
-
const
|
|
827
|
+
for (const dir of [opc.carpeta, opc.cwd]) {
|
|
828
|
+
if (!dir) continue;
|
|
829
|
+
const cwd = ubicarEnRepo(dir, ej)?.raiz ?? dir;
|
|
830
830
|
const r = ej("git", ["rev-parse", "HEAD"], {
|
|
831
|
-
cwd
|
|
831
|
+
cwd,
|
|
832
832
|
...opc.env ? { env: opc.env } : {}
|
|
833
833
|
});
|
|
834
834
|
if (r.codigo === 0 && r.salida.trim() !== "") return r.salida.trim();
|
|
@@ -842,143 +842,145 @@ var fallo = (motivo) => ({
|
|
|
842
842
|
motivo
|
|
843
843
|
});
|
|
844
844
|
function llamarApiVercel(rutaQuery, ctx, metodo = "GET") {
|
|
845
|
-
let respuesta;
|
|
846
845
|
try {
|
|
847
846
|
const auth = { Authorization: `Bearer ${ctx.token}` };
|
|
848
|
-
|
|
847
|
+
const r = ctx.solicitar(`${ctx.baseUrl}${rutaQuery}`, auth, metodo);
|
|
848
|
+
return r.estado >= 200 && r.estado < 300 ? { ok: true, cuerpo: r.cuerpo } : err(`HTTP ${r.estado} en ${metodo} ${rutaQuery}`);
|
|
849
849
|
} catch (e) {
|
|
850
850
|
const msg = e instanceof Error ? e.message : String(e);
|
|
851
851
|
return err(`fallo de red en ${metodo} ${rutaQuery} (${msg})`);
|
|
852
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
853
|
}
|
|
858
|
-
function
|
|
859
|
-
const
|
|
854
|
+
function obtenerShaDeployment(d) {
|
|
855
|
+
for (const c of [
|
|
856
|
+
d.meta?.githubCommitSha,
|
|
857
|
+
d.meta?.gitCommitSha,
|
|
858
|
+
d.gitSource?.sha
|
|
859
|
+
]) {
|
|
860
|
+
if (typeof c === "string" && c.trim() !== "") return c.trim();
|
|
861
|
+
}
|
|
862
|
+
return "";
|
|
863
|
+
}
|
|
864
|
+
function validarIdentidadDeployment(d, ctx, fijar = false) {
|
|
865
|
+
const id = d.id ?? d.uid;
|
|
860
866
|
if (d.projectId !== ctx.projectId) {
|
|
861
867
|
return err(
|
|
862
|
-
`el deploy ${
|
|
868
|
+
`el deploy ${id} no confirma projectId=${JSON.stringify(d.projectId) ?? "ausente"} (esperado ${ctx.projectId})`
|
|
863
869
|
);
|
|
864
870
|
}
|
|
865
871
|
if (d.target !== "production") {
|
|
866
872
|
return err(
|
|
867
|
-
`el deploy ${
|
|
873
|
+
`el deploy ${id} no es de producci\xF3n (target=${JSON.stringify(d.target) ?? "ausente"}; esperado production)`
|
|
868
874
|
);
|
|
869
875
|
}
|
|
870
|
-
const
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
876
|
+
const sha = obtenerShaDeployment(d);
|
|
877
|
+
return sha && sha === ctx.sha ? { ok: true, valor: d, id, fijar } : err(
|
|
878
|
+
`el deploy ${id} corresponde al SHA ${sha || "desconocido"} y no a ${ctx.sha}`
|
|
879
|
+
);
|
|
880
|
+
}
|
|
881
|
+
function pedirDeploymentsV6(ruta, ctx) {
|
|
882
|
+
const resp = llamarApiVercel(ruta, ctx, "GET");
|
|
883
|
+
if (!resp.ok) return resp;
|
|
884
|
+
try {
|
|
885
|
+
const r = esquemaListaDeploymentsPromocion.safeParse(
|
|
886
|
+
JSON.parse(resp.cuerpo)
|
|
874
887
|
);
|
|
888
|
+
return r.success ? { ok: true, deployments: r.data.deployments } : err(`no se encontr\xF3 deployment de producci\xF3n para el SHA ${ctx.sha}`);
|
|
889
|
+
} catch (e) {
|
|
890
|
+
return err(`JSON inv\xE1lido en GET ${ruta} (${e.message})`);
|
|
875
891
|
}
|
|
876
|
-
return { ok: true, deploymentId };
|
|
877
892
|
}
|
|
878
893
|
function consultarDeploymentV13(idOrUrl, ctx) {
|
|
879
894
|
const ruta = `/v13/deployments/${encodeURIComponent(idOrUrl)}?${ctx.qTeam}`;
|
|
880
895
|
const resp = llamarApiVercel(ruta, ctx, "GET");
|
|
881
896
|
if (!resp.ok) return resp;
|
|
882
|
-
let json;
|
|
883
897
|
try {
|
|
884
|
-
|
|
898
|
+
const r = esquemaDeploymentPromocion.safeParse(JSON.parse(resp.cuerpo));
|
|
899
|
+
return r.success ? validarIdentidadDeployment(r.data, ctx) : err(`respuesta inv\xE1lida en GET ${ruta} (${r.error.message})`);
|
|
885
900
|
} catch (e) {
|
|
886
901
|
return err(`JSON inv\xE1lido en GET ${ruta} (${e.message})`);
|
|
887
902
|
}
|
|
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
903
|
}
|
|
896
|
-
function
|
|
897
|
-
const
|
|
898
|
-
const
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
904
|
+
function resolverDeployment(idOrUrl, ctx) {
|
|
905
|
+
const qBase = `${ctx.qTeam}&projectId=${encodeURIComponent(ctx.projectId)}&target=production`;
|
|
906
|
+
const respaldoV6 = () => {
|
|
907
|
+
const r = pedirDeploymentsV6(`/v6/deployments?${qBase}`, ctx);
|
|
908
|
+
if (!r.ok) return r;
|
|
909
|
+
const d = r.deployments.find((x) => obtenerShaDeployment(x) === ctx.sha);
|
|
910
|
+
return d ? validarIdentidadDeployment(d, ctx, true) : err(`no se encontr\xF3 deployment de producci\xF3n para el SHA ${ctx.sha}`);
|
|
911
|
+
};
|
|
912
|
+
if (idOrUrl) {
|
|
913
|
+
const c = consultarDeploymentV13(idOrUrl, ctx);
|
|
914
|
+
if (c.ok || idOrUrl.startsWith("dpl_") || !c.motivo.includes("corresponde al SHA"))
|
|
915
|
+
return c;
|
|
916
|
+
const respaldo = respaldoV6();
|
|
917
|
+
return respaldo.ok ? respaldo : c;
|
|
918
|
+
}
|
|
919
|
+
const lista = pedirDeploymentsV6(
|
|
920
|
+
`/v6/deployments?${qBase}&sha=${encodeURIComponent(ctx.sha)}`,
|
|
921
|
+
ctx
|
|
922
|
+
);
|
|
923
|
+
if (!lista.ok) return lista;
|
|
924
|
+
if (lista.deployments.length === 0) return respaldoV6();
|
|
925
|
+
const actual = lista.deployments.find((d) => obtenerShaDeployment(d) === ctx.sha) ?? lista.deployments[0];
|
|
926
|
+
return validarIdentidadDeployment(actual, ctx, true);
|
|
927
|
+
}
|
|
928
|
+
function esperarYPromoverDeploy(opc) {
|
|
929
|
+
const {
|
|
930
|
+
ejecutar: ej = ejecutar,
|
|
931
|
+
solicitar = solicitarVercel,
|
|
932
|
+
dormir = dormirSincrono,
|
|
933
|
+
intervaloMs = INTERVALO_POLL_DEPLOY_MS,
|
|
934
|
+
timeoutMs = TIMEOUT_POLL_DEPLOY_MS,
|
|
935
|
+
maxIntentos
|
|
936
|
+
} = opc;
|
|
937
|
+
const token = opc.token?.trim() || opc.env?.VERCEL_TOKEN?.trim() || "";
|
|
938
|
+
const teamId = opc.teamId?.trim() || opc.env?.VERCEL_ORG_ID?.trim() || "";
|
|
939
|
+
const projectId = opc.projectId?.trim() || opc.env?.VERCEL_PROJECT_ID?.trim() || "";
|
|
940
|
+
const baseUrl = (opc.baseUrl ?? opc.env?.VERCEL_API_URL)?.trim() || API_VERCEL_URL;
|
|
941
|
+
if (!token || !teamId || !projectId)
|
|
908
942
|
return fallo("faltan credenciales de Vercel para promover el deploy");
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
if (!sha) {
|
|
943
|
+
const sha = obtenerShaCommit(opc, ej);
|
|
944
|
+
if (!sha)
|
|
912
945
|
return fallo(
|
|
913
946
|
"no se pudo determinar el SHA actual para verificar el deploy"
|
|
914
947
|
);
|
|
915
|
-
}
|
|
916
|
-
const ctx = {
|
|
917
|
-
|
|
918
|
-
projectId,
|
|
919
|
-
sha,
|
|
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
|
-
);
|
|
948
|
+
const qTeam = `teamId=${encodeURIComponent(teamId)}`;
|
|
949
|
+
const ctx = { qTeam, projectId, sha, token, solicitar, baseUrl };
|
|
950
|
+
let idOrUrl = opc.urlDeploy != null ? limpiarIdOUrlDeploy(opc.urlDeploy) : extraerIdOUrlDeploy(opc.salidaDeploy ?? "", opc.errorDeploy ?? "");
|
|
928
951
|
let transcurridoMs = 0;
|
|
929
952
|
let intentos = 0;
|
|
930
953
|
let deployListo = null;
|
|
931
954
|
let deploymentId = "";
|
|
955
|
+
const esperar = () => {
|
|
956
|
+
if (maxIntentos !== void 0 && intentos >= maxIntentos || transcurridoMs + intervaloMs > timeoutMs)
|
|
957
|
+
return false;
|
|
958
|
+
dormir(intervaloMs);
|
|
959
|
+
transcurridoMs += intervaloMs;
|
|
960
|
+
return true;
|
|
961
|
+
};
|
|
932
962
|
while (deployListo === null) {
|
|
933
963
|
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
|
-
}
|
|
964
|
+
const r = resolverDeployment(idOrUrl, ctx);
|
|
965
|
+
if (!r.ok) return fallo(r.motivo);
|
|
966
|
+
const actual = r.valor;
|
|
967
|
+
deploymentId = r.id;
|
|
968
|
+
if (r.fijar) idOrUrl = deploymentId;
|
|
963
969
|
const estado = actual.readyState ?? actual.state;
|
|
964
|
-
if (estado === "ERROR" || estado === "CANCELED")
|
|
970
|
+
if (estado === "ERROR" || estado === "CANCELED")
|
|
965
971
|
return fallo(`el deploy ${deploymentId} termin\xF3 en estado ${estado}`);
|
|
966
|
-
}
|
|
967
972
|
if (estado === "READY") {
|
|
968
973
|
deployListo = actual;
|
|
969
974
|
break;
|
|
970
975
|
}
|
|
971
|
-
if (
|
|
976
|
+
if (!esperar())
|
|
972
977
|
return fallo(
|
|
973
978
|
`timeout esperando a que el deploy ${deploymentId} llegue a READY (estado: ${estado})`
|
|
974
979
|
);
|
|
975
|
-
}
|
|
976
|
-
dormir(intervaloMs);
|
|
977
|
-
transcurridoMs += intervaloMs;
|
|
978
980
|
}
|
|
979
981
|
let deployFinal = deployListo;
|
|
980
|
-
if (deployListo.readySubstate
|
|
981
|
-
const rutaPromote = `/v10/projects/${encodeURIComponent(projectId)}/promote/${encodeURIComponent(deploymentId)}?${
|
|
982
|
+
if (deployListo.readySubstate === "STAGED") {
|
|
983
|
+
const rutaPromote = `/v10/projects/${encodeURIComponent(projectId)}/promote/${encodeURIComponent(deploymentId)}?${qTeam}`;
|
|
982
984
|
const respPromote = llamarApiVercel(rutaPromote, ctx, "POST");
|
|
983
985
|
if (!respPromote.ok) return fallo(respPromote.motivo);
|
|
984
986
|
for (; ; ) {
|
|
@@ -987,22 +989,18 @@ function esperarYPromoverDeploy(opciones) {
|
|
|
987
989
|
if (!c.ok) return fallo(c.motivo);
|
|
988
990
|
const dConf = c.valor;
|
|
989
991
|
const estadoConf = dConf.readyState ?? dConf.state;
|
|
990
|
-
if (estadoConf === "ERROR" || estadoConf === "CANCELED")
|
|
992
|
+
if (estadoConf === "ERROR" || estadoConf === "CANCELED")
|
|
991
993
|
return fallo(
|
|
992
994
|
`el deploy ${deploymentId} termin\xF3 en estado ${estadoConf} durante la promoci\xF3n`
|
|
993
995
|
);
|
|
994
|
-
|
|
995
|
-
if (estadoConf === "READY" && dConf.readySubstate === "PROMOTED") {
|
|
996
|
+
if (estadoConf === "READY" && (dConf.readySubstate === "PROMOTED" || dConf.readySubstate !== "STAGED" && extraerAliasProduccion(dConf) !== null)) {
|
|
996
997
|
deployFinal = dConf;
|
|
997
998
|
break;
|
|
998
999
|
}
|
|
999
|
-
if (
|
|
1000
|
+
if (!esperar())
|
|
1000
1001
|
return fallo(
|
|
1001
1002
|
`timeout esperando que el deploy ${deploymentId} quede PROMOTED (subestado: ${dConf.readySubstate ?? "sin subestado"})`
|
|
1002
1003
|
);
|
|
1003
|
-
}
|
|
1004
|
-
dormir(intervaloMs);
|
|
1005
|
-
transcurridoMs += intervaloMs;
|
|
1006
1004
|
}
|
|
1007
1005
|
}
|
|
1008
1006
|
const alias = extraerAliasProduccion(deployFinal) ?? extraerAliasProduccion(deployListo);
|
|
@@ -1057,7 +1055,13 @@ ${salida}`.replace(REGEX_ANSI2, "");
|
|
|
1057
1055
|
const alias = /\bAlias(?:ed)?\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(
|
|
1058
1056
|
texto
|
|
1059
1057
|
)?.[1];
|
|
1060
|
-
const urlStdout =
|
|
1058
|
+
const urlStdout = Array.from(
|
|
1059
|
+
stdout.matchAll(/^\s*(https?:\/\/[^\s\]"')>]+)/gim),
|
|
1060
|
+
(m) => m[1]
|
|
1061
|
+
).find((u) => {
|
|
1062
|
+
const host = limpiarIdOUrlDeploy(u);
|
|
1063
|
+
return Boolean(host && host !== "vercel.com");
|
|
1064
|
+
});
|
|
1061
1065
|
const produccion = /\bProduction\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(
|
|
1062
1066
|
texto
|
|
1063
1067
|
)?.[1];
|