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 🙏

© 2024 – Pkg Stats / Ryan Hefner

boiler-room-runner

v3.0.0-1

Published

[![Build status](https://badge.buildkite.com/35edf858022bf6c8ec20dc8a3433348f4a268d772991e2c913.svg)](https://buildkite.com/everyday-hero/boiler-room-runner-tests)

Downloads

103

Readme

Runner

Build status

Redux for state management, Redial for data-fetching for multiple components and React Router for responding to history state changes.

npm install boiler-room-runner --save

In your client.js file

const { render } = require('react-dom')
const { createClient } = require('boiler-room-runner')

const routes = require('./my-routes')
const store = require('./my-store')

const App = createClient({
  store,
  routes
})

// Now you have a component which you can render to the DOM

render(<App />, document.getElementById('app'))

In your server.js file

const { createServer } = require('boiler-room-runner')

const routes = require('./my-routes')
const store = require('./my-store')

const app = createServer({
  store,
  routes
})

// Now you have a function which takes a route and returns a Promise
// resolving to the rendered HTML for that route.

app('/foos/123').then(({ result }) => result)

Required params

The only property needed to init both the server and client apps is a React Router routes configuration. You can provide this in any form that react Router accpets.

Optional Params

Server

renderDocument

A function which will take the result of calling renderToString on your app, along with the store, and return the final markup.

createStore

A function which will take the initialState option as it's only arg and return a redux store. You must leave the store option (see below) blank for this to be used.

Use this option if you want a new instance of your redux store per server request (this is very likely what you want).

initialState

To be used with createStore, this will be passed to createStore to initialize your redux store.

Client

createHistory

A function which returns a history object to be used by React Router. Default is the createHistory function exported by the history module.

onRouteError(error)

A function called in the event that React Router errored in trying to revolve a route transition.

onRouteRedirect(redirectLocation)

A function called in the event that React Router was redirected in the process of revolving a route transition.

Both

store

A Redux store which will be passed to a <Provider />.

basepath

A path that will be prepended to all route-matching and href generation. If your app is not hosted at / you'll need to use this option to tell your app where all paths start from. Default is /.

createLocals({ params, query, store })

A function which takes the params object from React Router, the query from the parsed location, the store instance, and returns a locals object to be used by Redial.