
Research
/Security News
OpenAPI React Query Codegen Compromised in Mini Shai-Hulud npm Supply Chain Attack
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.
firebase-storage-kit
Advanced tools
Storage manager for Firebase Storage with uploads, progress tracking, batch uploads, and file query helpers.
Upload files to Firebase Storage with automatic retries, batch uploads, and pre-upload validation.
Full documentation: firebase-storage-kit.vercel.app/docs
npm install firebase firebase-storage-kit
Also works with Yarn, pnpm, or Bun. See Installation for all package managers.
import { getStorage } from "firebase/storage";
import { StorageManager } from "firebase-storage-kit";
const storage = getStorage(app);
const manager = new StorageManager(storage);
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);
});
const { stream } = await manager.downloadStream("videos/launch-demo.mp4", {
onProgress: (loaded, total) => {
console.log(`${Math.round((loaded / total) * 100)}%`);
},
});
await stream.pipeTo(writable);
The object is delivered as a ReadableStream, so it can be piped without buffering the full file in memory.
import { useStorageManager, useUpload } from "firebase-storage-kit/react";
const manager = useStorageManager(storage);
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);
See React hooks.
MIT
FAQs
Storage manager for Firebase Storage with uploads, progress tracking, batch uploads, and file query helpers.
The npm package firebase-storage-kit receives a total of 302 weekly downloads. As such, firebase-storage-kit popularity was classified as not popular.
We found that firebase-storage-kit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Research
/Security News
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.

Security News
Socket joins more than 100 technology, cybersecurity, and financial organizations calling for a global surge in cyber defense.

Product
Enterprise security teams can now detect malware, credential theft, suspicious network activity, and risky updates across Microsoft Edge extensions.