From fa2e0b17f2142f27b19a0c0034dff036156c37cc Mon Sep 17 00:00:00 2001 From: marknesh Date: Sun, 5 Jul 2026 17:58:31 +0300 Subject: [PATCH 1/3] update readme examples --- packages/firebase-storage-kit/README.md | 37 ++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/packages/firebase-storage-kit/README.md b/packages/firebase-storage-kit/README.md index 9bc5b44..3507fa2 100644 --- a/packages/firebase-storage-kit/README.md +++ b/packages/firebase-storage-kit/README.md @@ -1,6 +1,6 @@ # firebase-storage-kit -[![Socket Badge](https://socket.dev/api/badge/npm/package/firebase-storage-kit)](https://socket.dev/npm/package/firebase-storage-kit) +[Socket Badge](https://socket.dev/npm/package/firebase-storage-kit) Upload files to Firebase Storage with automatic retries, batch uploads, and pre-upload validation. @@ -23,15 +23,35 @@ import { StorageManager } from "firebase-storage-kit"; const storage = getStorage(app); const manager = new StorageManager(storage); -const handle = manager.uploadFile(file, { path: `uploads/${file.name}` }); +const handle = manager.uploadFile(file, { + path: `uploads/${file.name}`, + validate: { + maxSizeBytes: 10 * 1024 * 1024, + allowedMimeTypes: ["image/jpeg", "image/png", "image/webp"], + allowedExtensions: [".jpg", ".jpeg", ".png", ".webp"], + }, + retry: { maxRetries: 3 }, +}); handle.on("progress", (upload) => { console.log(upload.progress); }); +handle.on("retry", ({ attempt, maxAttempts, delayMs }) => { + console.log(`Retry ${attempt}/${maxAttempts} in ${delayMs}ms`); +}); + handle.on("success", (upload) => { console.log(upload.downloadURL); }); + +handle.on("error", (upload) => { + if (upload.error?.name === "ValidationError") { + console.error("Invalid file:", upload.error.message); + return; + } + console.error("Upload failed:", upload.error?.message); +}); ``` ### React @@ -40,7 +60,15 @@ handle.on("success", (upload) => { import { useStorageManager, useUpload } from "firebase-storage-kit/react"; const manager = useStorageManager(storage); -const handle = manager.uploadFile(file, { path: `uploads/${file.name}` }); +const handle = manager.uploadFile(file, { + path: `uploads/${file.name}`, + validate: { + maxSizeBytes: 10 * 1024 * 1024, + allowedMimeTypes: ["image/jpeg", "image/png", "image/webp"], + allowedExtensions: [".jpg", ".jpeg", ".png", ".webp"], + }, + retry: { maxRetries: 3 }, +}); const upload = useUpload(handle); ``` @@ -49,10 +77,11 @@ See [React hooks](https://firebase-storage-kit.vercel.app/docs/guides/react-hook ## Learn more - [Single upload](https://firebase-storage-kit.vercel.app/docs/getting-started/single-upload) +- [Retries](https://firebase-storage-kit.vercel.app/docs/guides/retries) - [Batch uploads](https://firebase-storage-kit.vercel.app/docs/guides/batch-uploads) - [API reference](https://firebase-storage-kit.vercel.app/docs/api/storage-manager) - [Troubleshooting](https://firebase-storage-kit.vercel.app/docs/troubleshooting) ## License -MIT +MIT \ No newline at end of file From 80d70765eaecc2fa19aa124d23e58d710b5dfd6e Mon Sep 17 00:00:00 2001 From: marknesh Date: Sun, 5 Jul 2026 18:25:03 +0300 Subject: [PATCH 2/3] fix badge --- packages/firebase-storage-kit/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase-storage-kit/README.md b/packages/firebase-storage-kit/README.md index 3507fa2..dcd90ae 100644 --- a/packages/firebase-storage-kit/README.md +++ b/packages/firebase-storage-kit/README.md @@ -1,6 +1,6 @@ # firebase-storage-kit -[Socket Badge](https://socket.dev/npm/package/firebase-storage-kit) +[![Socket Badge](https://socket.dev/api/badge/npm/package/firebase-storage-kit)](https://socket.dev/npm/package/firebase-storage-kit) Upload files to Firebase Storage with automatic retries, batch uploads, and pre-upload validation. From a39e755c5fb62c67b102e802082403cbcb6a7d35 Mon Sep 17 00:00:00 2001 From: marknesh Date: Sun, 5 Jul 2026 18:35:02 +0300 Subject: [PATCH 3/3] update lint-staged configuration to include markdown file types --- package.json | 2 +- packages/firebase-storage-kit/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bc69f79..c28b3eb 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ }, "lint-staged": { "*.{js,jsx,ts,tsx}": "ultracite fix --type-aware", - "*.{json,jsonc,css}": "oxfmt" + "*.{json,jsonc,css,md,mdx}": "oxfmt" }, "engines": { "node": ">=24.16.0" diff --git a/packages/firebase-storage-kit/README.md b/packages/firebase-storage-kit/README.md index dcd90ae..16bf188 100644 --- a/packages/firebase-storage-kit/README.md +++ b/packages/firebase-storage-kit/README.md @@ -84,4 +84,4 @@ See [React hooks](https://firebase-storage-kit.vercel.app/docs/guides/react-hook ## License -MIT \ No newline at end of file +MIT