Socket
Socket
Sign inDemoInstall

bomb

Package Overview
Dependencies
22
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    bomb

A frontend cache-busting static middleware for express


Version published
Maintainers
1
Install size
5.26 MB
Created

Readme

Source

bomb

A frontend cache-busting static middleware for express.

  • Acts as a static middleware
  • Serves on a hashed filename route too

###Install

npm install --save bomb

###Example

Let's say we want to serve all the css, js and HTML files in our public directory:

├── index.js
    └── public
        ├── example.css
        ├── example.js
        ├── other.txt
        ├── example.png
        └── other
            └── index.html
            

We can create a new bomb box and use it as a middleware:

var Express = require('express');
var Bomb = require('bomb');
var Path = require('path');

var app = Express();

var box = new Bomb.Box({
    url: '/public',                           // use this as the URL root
    path: Path.join(__dirname, 'public'),     // look in this directory for files
    regex: /\.(css|js|html)/                  // only serve files that match regex
    sendOptions: {}                           // options for the `send` module
});

app.use(box);

app.listen(4000);

We can now request the files on the natural or hashed URLS:

  • /public/example.css
  • /public/example-4591dd5c9fd5aab8f5d7df6ac939441c.css
  • /public/example.js
  • /public/example-00e062122c3306198fdbe5d3ddd01fe0.js
  • /public/other/index.html
  • /public/other/index-33c805c6162941684b6fc618d0e42ab8.html

To get the hashed URL from a natural one, just call box.getHashedUrl(url):

box.getHashedUrl('/public/example.css') === '/public/example-4591dd5c9fd5aab8f5d7df6ac939441c.css'

To get the natural URL from a hashed one, just call box.getNaturalUrl(url):

box.getNaturalUrl('/public/example-4591dd5c9fd5aab8f5d7df6ac939441c.css') === '/public/example.css'

FAQs

Last updated on 19 Mar 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc