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