@shipstatic/drop 1.0.1 → 1.0.3

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.js CHANGED
@@ -10069,6 +10069,26 @@ function useDrop(options) {
10069
10069
  needsBuild: false
10070
10070
  });
10071
10071
  let detectedSourceName = "";
10072
+ const setErrorState = (params) => {
10073
+ const { title, details, errors, files = [], needsBuild = false } = params;
10074
+ setState({
10075
+ value: "error",
10076
+ files,
10077
+ sourceName: detectedSourceName,
10078
+ needsBuild,
10079
+ status: {
10080
+ title,
10081
+ details,
10082
+ ...errors?.length && { errors }
10083
+ }
10084
+ });
10085
+ onValidationError?.({
10086
+ error: title,
10087
+ details,
10088
+ errors: errors ?? [],
10089
+ isClientError: true
10090
+ });
10091
+ };
10072
10092
  try {
10073
10093
  if (newFiles.length === 1 && isZipFile(newFiles[0])) {
10074
10094
  detectedSourceName = newFiles[0].name.replace(/\.zip$/i, "");
@@ -10125,22 +10145,11 @@ function useDrop(options) {
10125
10145
  status: FILE_STATUSES.VALIDATION_FAILED,
10126
10146
  statusMessage: message
10127
10147
  }));
10128
- setState({
10129
- value: "error",
10130
- files: filesWithStatus2,
10131
- sourceName: detectedSourceName,
10132
- needsBuild,
10133
- status: {
10134
- title: "Validation Failed",
10135
- details: message,
10136
- errors: [message]
10137
- }
10138
- });
10139
- onValidationError?.({
10140
- error: "Validation Failed",
10148
+ setErrorState({
10149
+ title: "Validation Failed",
10141
10150
  details: message,
10142
- errors: [message],
10143
- isClientError: true
10151
+ files: filesWithStatus2,
10152
+ needsBuild
10144
10153
  });
10145
10154
  return;
10146
10155
  }
@@ -10170,25 +10179,11 @@ function useDrop(options) {
10170
10179
  statusMessage: validation.files[idx]?.statusMessage || processedFile.statusMessage
10171
10180
  }));
10172
10181
  if (!validation.canDeploy) {
10173
- const errorMessages = validation.errors.map(
10174
- (err2) => `${err2.file}: ${err2.message}`
10175
- );
10176
- setState({
10177
- value: "error",
10178
- files: filesWithStatus,
10179
- sourceName: detectedSourceName,
10180
- needsBuild: false,
10181
- status: {
10182
- title: "Validation Failed",
10183
- details: `${pluralize(validation.errors.length, "file", "files", true)} failed validation`,
10184
- errors: errorMessages
10185
- }
10186
- });
10187
- onValidationError?.({
10188
- error: "Validation Failed",
10189
- details: pluralize(validation.errors.length, "error", "errors", true),
10190
- errors: errorMessages,
10191
- isClientError: true
10182
+ setErrorState({
10183
+ title: "Validation Failed",
10184
+ details: `${pluralize(validation.errors.length, "file", "files", true)} failed validation`,
10185
+ errors: validation.errors.map((err2) => `${err2.file}: ${err2.message}`),
10186
+ files: filesWithStatus
10192
10187
  });
10193
10188
  } else if (validation.validFiles.length > 0) {
10194
10189
  let details = `${pluralize(validation.validFiles.length, "file", "files", true)} ready`;
@@ -10224,42 +10219,20 @@ function useDrop(options) {
10224
10219
  }
10225
10220
  });
10226
10221
  } else {
10227
- const noValidError = {
10228
- error: "No Valid Files",
10222
+ setErrorState({
10223
+ title: "No Valid Files",
10229
10224
  details: "None of the provided files could be processed.",
10230
- errors: [],
10231
- isClientError: true
10232
- };
10233
- setState({
10234
- value: "error",
10235
- files: filesWithStatus,
10236
- sourceName: detectedSourceName,
10237
- needsBuild: false,
10238
- status: { title: noValidError.error, details: noValidError.details }
10225
+ files: filesWithStatus
10239
10226
  });
10240
- onValidationError?.(noValidError);
10241
10227
  }
10242
10228
  }
10243
10229
  } catch (error) {
10244
10230
  const message = error instanceof Error ? error.message : String(error);
10245
10231
  const isValidation = isShipError(error);
10246
- const clientError = {
10247
- error: isValidation ? "Validation Failed" : "Processing Failed",
10248
- details: isValidation ? message : `Failed to process files: ${message}`,
10249
- errors: [],
10250
- isClientError: true
10251
- };
10252
- setState({
10253
- value: "error",
10254
- files: [],
10255
- sourceName: detectedSourceName,
10256
- needsBuild: false,
10257
- status: {
10258
- title: clientError.error,
10259
- details: clientError.details
10260
- }
10232
+ setErrorState({
10233
+ title: isValidation ? "Validation Failed" : "Processing Failed",
10234
+ details: isValidation ? message : `Failed to process files: ${message}`
10261
10235
  });
10262
- onValidationError?.(clientError);
10263
10236
  } finally {
10264
10237
  isProcessingRef.current = false;
10265
10238
  }