npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

cf-runtime

v0.0.1

Published

Cloud Foundry API module

Downloads

3

Readme

cf-runtime

cf-runtime is a Node.js module that provides API to Cloud Foundry platform. It provides easy access to Cloud Foundry application properties and services.

Installation

npm install cf-runtime

If cloned from github install dependencies:

npm install -d

Tests

Run basic tests:

npm test

To run integration tests copy services.conf.template to services.conf with specified services connection properties and run:

TESTS=integration npm test

Usage

var cf = require('cf-runtime')
var app = cf.CloudApp

// Check if application is running on Cloud Foundry

app.runningInCloud

// Get application properties

app.host
app.port

// Get the list of application service names

app.serviceNames

// Obtain connection properties for single service of type Redis

app.serviceProps.redis

// Obtain connection properties for service named 'redis-service-name'

app.serviceProps['redis-service-name']

// Obtain the list of service names of specific type

app.serviceNamesOfType.redis

// Check if service of the given type is available

cf.RedisClient !== undefined

// Connect to a single service of type Redis

var redisClient = cf.RedisClient.create()

// Connect to mysql service named 'redis-service-name'

var redisClient = cf.RedisClient.createFromSvc('redis-service-name')

Service properties

  • name
  • label (service type)
  • version
  • host
  • port
  • username
  • password

Additional properties

Rabbitmq:

  • url
  • vhost

MongoDB:

  • db
  • url

Postgresql, Mysql, Redis:

  • database

Service clients

This is the list of Node.js modules that are used to provide connection to Cloud Foundry services:

AMQP client

Node module: amqp

Functions:

  • cf.AMQPClient.create([implOptions]) - creates and returns an amqp client instance connected to a single rabbitmq service
  • cf.AMQPClient.createFromSvc(name, [implOptions]) - creates and returns an amqp client instance connected to a rabbitmq service with the specified name

Parameters:

implOptions - optional {object} non-connection related implementation options

Returns: AMQP client instance

Mongodb client

Node module: mongodb

Functions:

  • cf.MongoClient.create([options], callback) - creates a mongodb client instance connected to a single mongodb service and executes provided callback
  • cf.MongoClient.createFromSvc(name, [options], callback) - creates a mongodb client instance connected to a mongodb service with the specified name and executes provided callback

Parameters:

options - optional {object} non-connection related options callback - {function} connection callback

Returns: null

Mysql client

Node module: mysql

Functions:

  • cf.MysqlClient.create([options]) - creates and returns a mysql client instance connected to a single mysql service
  • cf.MysqlClient.createFromSvc(name, [options]) - creates and returns a mysql client instance connected to a mysql service with the specified name

Parameters:

options - optional {object} non-connection related options

Returns: Mysql client instance

Postgresql client

Node module: pg

Functions:

  • cf.PGClient.create(callback) - creates a postgresql client instance connected to a single postgresql service and executes provided callback
  • cf.PGClient.createFromSvc(name, callback) - creates a postgresql client instance connected to a postgresql service with the specified name and executes provided callback

Parameters:

callback - {function} connection callback

Returns: {boolean}

Redis client

Node module: redis

Functions:

  • cf.RedisClient.create([options]) - creates and returns a redis client instance connected to a single redis service
  • cf.RedisClient.createFromSvc(name, [options]) - creates and returns a redis client instance connected to a redis service with the specified name

Parameters:

options - optional {object} non-connection related options

Returns: Redis client instance