@stz184/connect-flash
v1.0.2
Published
Flash message middleware for Connect.
Readme
connect-flash
The flash is a special area of the session used for storing messages. Messages are written to the flash and cleared after being displayed to the user. The flash is typically used in combination with redirects, ensuring that the message is available to the next page that is to be rendered.
This middleware was extracted from Express 2.x, after Express 3.x removed direct support for the flash. connect-flash brings this functionality back to Express 3.x, as well as any other middleware-compatible framework or application. +1 for radical reusability.
Node.js Version Support
This package requires Node.js 18.x or higher. It has been tested and is compatible with:
- Node.js 18.x (LTS)
- Node.js 20.x (LTS)
- Node.js 22.x (Current)
Install
$ npm install connect-flashUsage
Modern Express (4.x+)
Flash messages are stored in the session. First, set up sessions using express-session, then use the flash middleware provided by connect-flash.
const express = require('express');
const session = require('express-session');
const flash = require('connect-flash');
const app = express();
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie: { maxAge: 60000 }
}));
app.use(flash());With the flash middleware in place, all requests will have a req.flash() function
that can be used for flash messages.
app.get('/flash', function(req, res){
// Set a flash message by passing the key, followed by the value, to req.flash().
req.flash('info', 'Flash is back!');
res.redirect('/');
});
app.get('/', function(req, res){
// Get an array of flash messages by passing the key to req.flash()
res.render('index', { messages: req.flash('info') });
});Express 3.x (Legacy)
For Express 3.x applications (deprecated):
var flash = require('connect-flash');
var app = express();
app.configure(function() {
app.use(express.cookieParser('keyboard cat'));
app.use(express.session({ cookie: { maxAge: 60000 }}));
app.use(flash());
});Examples
For an example using connect-flash in an Express 3.x app, refer to the express3 example.
Tests
$ npm install
$ npm testOr using make:
$ make testDevelopment
Run linter:
$ npm run lintRun tests with coverage:
$ npm run test:coverageCredits
License
Copyright (c) 2012-2013 Jared Hanson <https://www.jaredhanson.me/> 2025 Vladimir Ivanov <https://Vladimir-ivanov>
