@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 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(deployment: DeploymentPromocion): string | null;
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(opciones: OpcionesPromover): ResultadoPromocion;
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 sinAnsi = valor.replace(REGEX_ANSI, "").trim();
784
- const limpio = sinAnsi.replace(/^https?:\/\//i, "").replace(/[/?#].*$/, "").replace(/[.,;]+$/, "").trim();
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 urlStdout = /^\s*(https?:\/\/[^\s\]"')>]+)/im.exec(stdout)?.[1];
792
- const produccion = /\bProduction\s*:\s*(https?:\/\/[^\s\]"')>]+)/i.exec(
793
- texto
794
- )?.[1];
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 [urlStdout, produccion, alias]) {
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(dominioOUrl) {
805
- const limpio = dominioOUrl.trim().replace(/[.,;]+$/, "").replace(/\/+$/, "");
806
- return /^https?:\/\//i.test(limpio) ? limpio : `https://${limpio}`;
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(dominioOUrl) {
809
- const host = dominioOUrl.trim().replace(/^https?:\/\//i, "").split("/")[0]?.toLowerCase() ?? "";
810
- return host === "vercel.app" || host.endsWith(".vercel.app");
809
+ function esDominioVercelApp(u) {
810
+ const h = (limpiarIdOUrlDeploy(u) ?? "").toLowerCase();
811
+ return h === "vercel.app" || h.endsWith(".vercel.app");
811
812
  }
812
- function extraerAliasProduccion(deployment) {
813
- const crudos = [];
814
- if (Array.isArray(deployment.alias)) crudos.push(...deployment.alias);
815
- else if (typeof deployment.alias === "string") crudos.push(deployment.alias);
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 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 dirs = [opc.carpeta, opc.cwd].filter((d) => Boolean(d));
828
- for (const dir of dirs) {
829
- const raiz = ubicarEnRepo(dir, ej)?.raiz ?? dir;
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: raiz,
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
- respuesta = ctx.solicitar(`${ctx.baseUrl}${rutaQuery}`, auth, metodo);
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 validarIdentidadDeployment(d, ctx) {
859
- const deploymentId = d.id ?? d.uid;
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 ${deploymentId} no confirma projectId=${JSON.stringify(d.projectId) ?? "ausente"} (esperado ${ctx.projectId})`
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 ${deploymentId} no es de producci\xF3n (target=${JSON.stringify(d.target) ?? "ausente"}; esperado production)`
873
+ `el deploy ${id} no es de producci\xF3n (target=${JSON.stringify(d.target) ?? "ausente"}; esperado production)`
868
874
  );
869
875
  }
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) {
872
- return err(
873
- `el deploy ${deploymentId} corresponde al SHA ${shaMeta || "desconocido"} y no a ${ctx.sha}`
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
- json = JSON.parse(resp.cuerpo);
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 esperarYPromoverDeploy(opciones) {
897
- const ej = opciones.ejecutar ?? ejecutar;
898
- const solicitar = opciones.solicitar ?? solicitarVercel;
899
- const dormir = opciones.dormir ?? dormirSincrono;
900
- const intervaloMs = opciones.intervaloMs ?? INTERVALO_POLL_DEPLOY_MS;
901
- const timeoutMs = opciones.timeoutMs ?? TIMEOUT_POLL_DEPLOY_MS;
902
- const maxIntentos = opciones.maxIntentos;
903
- const token = opciones.token?.trim() || opciones.env?.VERCEL_TOKEN?.trim() || "";
904
- const teamId = opciones.teamId?.trim() || opciones.env?.VERCEL_ORG_ID?.trim() || "";
905
- const projectId = opciones.projectId?.trim() || opciones.env?.VERCEL_PROJECT_ID?.trim() || "";
906
- const baseUrl = (opciones.baseUrl ?? opciones.env?.VERCEL_API_URL)?.trim() || API_VERCEL_URL;
907
- if (!token || !teamId || !projectId) {
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
- const sha = obtenerShaCommit(opciones, ej);
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
- qTeam: `teamId=${encodeURIComponent(teamId)}`,
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
- let actual;
935
- if (idOrUrl) {
936
- const c = consultarDeploymentV13(idOrUrl, ctx);
937
- if (!c.ok) return fallo(c.motivo);
938
- actual = c.valor;
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 (maxIntentos !== void 0 && intentos >= maxIntentos || transcurridoMs + intervaloMs > timeoutMs) {
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 !== "PROMOTED") {
981
- const rutaPromote = `/v10/projects/${encodeURIComponent(projectId)}/promote/${encodeURIComponent(deploymentId)}?${ctx.qTeam}`;
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 (maxIntentos !== void 0 && intentos >= maxIntentos || transcurridoMs + intervaloMs > timeoutMs) {
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 = /^\s*(https?:\/\/[^\s\]"')>]+)/im.exec(stdout)?.[1];
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];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wallavi/vercel-build",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "private": false,
5
5
  "description": "Detección de cambios y despliegue compartidos para los proyectos de Vercel del monorepo",
6
6
  "license": "MIT",