Registry / storage / multer-firebase-storage

multer-firebase-storage

JSON →
library4.1.2jsnpmunverified

Multer storage engine for Firebase Cloud Storage. Current stable version 4.1.2, updated monthly. Provides a seamless way to upload files directly to Firebase Storage using Multer in Express.js apps. Supports unique filenames, public URLs, custom directory paths, name prefixes/suffixes, and lifecycle hooks. Ships TypeScript definitions. Only supports CommonJS require; no ESM exports.

npm install multer-firebase-storage
INSTALL
IMPORT
SIG · MULTER-FIREBASE-ST
M
multer-firebase-storage
storagejavascriptv4.1.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

multer-firebase-storage
const FirebaseStorage = require('multer-firebase-storage')
import FirebaseStorage from 'multer-firebase-storage'
This package does not support ESM imports; must use CommonJS require.
Multer
const Multer = require('multer')
const multer = require('multer')
Multer is a separate package, not included. Import as Multer (capital M) to call new Multer().
Express
const Express = require('express')
import Express from 'express'
Express is used alongside, but not part of this package. CommonJS require shown in docs.

Sets up an Express.js POST route that accepts a single file upload and stores it in Firebase Cloud Storage using Multer.

const Express = require('express'); const Multer = require('multer'); const FirebaseStorage = require('multer-firebase-storage'); const app = new Express(); const multer = Multer({ storage: FirebaseStorage({ bucketName: 'your-bucket', credentials: { clientEmail: process.env.FIREBASE_CLIENT_EMAIL ?? '', privateKey: process.env.FIREBASE_PRIVATE_KEY ?? '', projectId: process.env.FIREBASE_PROJECT_ID ?? '' } }) }); app.post('/upload', multer.single('file'), (req, res) => { res.status(201).json({ file: req.file }); }); app.listen(3000);
Debug
Known issues
breakingESM import not supported
fix
Use CommonJS require(): const FirebaseStorage = require('multer-firebase-storage')
affects: >=1.0.0 <5.0.0
deprecatedCredentials as refresh token string deprecated, use Firebase credentials object
fix
Provide credentials as object with clientEmail, privateKey, projectId.
affects: >=3.0.0 <5.0.0
gotchaprivateKey must match Firebase JSON format exactly (including escaped newlines)
fix
Use environment variable with proper escaping, e.g., process.env.FIREBASE_PRIVATE_KEY.replace(/\\n/g, '\n')
affects: >=1.0.0
breakingUnique filename hash format may change without notice
fix
Rely only on unique: true for uniqueness, not on hash format.
affects: >=1.0.0
gotchafirebase-admin must be installed as a peer dependency
fix
Run npm install firebase-admin alongside this package.
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'multer-firebase-storage'
Package not installed
fix
npm install multer-firebase-storage
TypeError: Cannot destructure property 'bucketName' of 'undefined'
FirebaseStorage() called with no arguments or invalid object
fix
Ensure FirebaseStorage({ bucketName: '...', credentials: {...} }) is called with correct config object.
Error: FirebaseApp instance for firebase-admin already exists with different options
Duplicate Firebase Admin initialization
fix
Pass appName option to FirebaseStorage() to use a separate app instance.
Upgrade
Version history
4.1.2latest on npm
Audit
Dependencies
firebase-adminrequiredFirebase Admin SDK for authentication and storage operations
Agent activity
27 hits · last 30 days
node
26
Amazon
1
Resources
multer-firebase-storage — npm install multer-firebase-storage · libregistry