diff --git a/.changeset/add-upload-validation.md b/.changeset/add-upload-validation.md new file mode 100644 index 0000000..48c6e4d --- /dev/null +++ b/.changeset/add-upload-validation.md @@ -0,0 +1,5 @@ +--- +"firebase-storage-kit": minor +--- + +Add optional pre-upload validation via `UploadOptions.validate`. Reject files before the provider upload starts using `maxSizeBytes`, `allowedMimeTypes`, `allowedExtensions`, and optional image dimension limits (`maxImageWidth`, `maxImageHeight`). Validation failures surface as `ValidationError` with stable `validation/*` codes on `error.code` (for example `validation/file-too-large`). Export `validateUpload`, `validateUploadSync`, `validateImageDimensions`, `validateImageDimensionLimits`, `readImageDimensions`, `getFileExtension`, `VALIDATION_ERROR_CODES`, and the `ValidationErrorCode` type for standalone use.