Socket
Socket
Sign inDemoInstall

banker-asl

Package Overview
Dependencies
212
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    banker-asl

A full-featured asset serving layer for single-page apps


Version published
Maintainers
1
Install size
9.93 MB
Created

Readme

Source

Banker

Build Status Code Climate Test Coverage Dependency Status devDependency Status

Deploy

Banker is an asset serving layer built for single-page apps. It's built around the same conventions as ember-cli-deploy, meaning that it expects to find various index.html files available in a Redis server.

KeyValue
myapp:currentmyapp:7fa8d0
myapp:7fa8d0c<html>...</html>
myapp:48180ab<html>...</html>
myapp:857f81a<html>...</html>

The general idea is that you have an app that manages the data in Redis (via developer deploys, CI pipeline, etc...) and this little server keeps running, eventually making your new static assets available with zero downtime.

Requirements
  • Node.js >= 5.0.0
  • Somewhere to deploy this app (i.e., Heroku)
  • A Redis server (i.e., Heroku free Redis)

Basic Configuration

The one simple way of configuring banker is by environment variables

General Configuration

VariableRequiredDefaultDescription
APP_NAMEyesApp name to use when looking for versions in Redis
PORTno3000Port to serve assets on

Redis configuration

VariableRequiredDefaultDescription
REDIS_URLyesRedis url

Advanced Configuration

Banker can be consumed as a library in your own simple node.js app. You can then specify URL patterns to map to "apps" using regular expressions.


const BankerServer = require('banker-asl/server');
const RedisDataSource = require('banker-asl/datasource/redis');

let server = new BankerServer({
  datasource: new RedisDataSource({
    url: 'redis://username:password@my.redis.url:12345',
    apps: {
      myapp: {
        forceHttps: true, // Incoming http requests will be redirected to https
        respondTo: [/^myapp.herokuapps.com/, /^myapp-old.herokuapps.com/]
      },
      myotherapp: {
        respondTo: [/^www.myotherapp.com/]
      },
      noappfound: {
        respondTo: [/^.*/]
      }
    }
  }),
});

server.listen(3000);

Keywords

FAQs

Last updated on 04 Dec 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