Middleware expresso de carregamento automático, estilo café

Gosto que cada uma das minhas funções de middleware esteja em arquivos separados e consolidados em um único diretório chamado, você adivinhou, ‘middleware’.

Em seguida, simplesmente solicito () meu carregador automático middleware.coffee, e todo o meu middleware é carregado automaticamente:

console.log ‘Exportando todo o middleware personalizado’

fs        = require 'fs'
path
= require 'path'
basename
= path.basename

exports
.middleware = {}

# Auto-load middleware with getters.
fs
.readdirSync("#{__dirname}/middleware").forEach (fileName) ->
load
= ->
require "./middleware/#{moduleName}"
return unless /.coffee$/.test(fileName)

moduleName
= basename(fileName, '.coffee')
exports
.middleware.__defineGetter__ moduleName, load
exports
.__defineGetter__ moduleName, load