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

react-universal-starter

v1.0.0

Published

Starter kit for Universal (isomorphic) React Application

Readme

React Universal Starter

Fully annotated code for quick starting an Universal (isomorphic) React App. Thanks to Rick Wong!

Universal starterkit with server-side React rendering using npm, piping, webpack, webpack-dev-server, hapi.js, babel.js, react.js, react-router, react-hot-loader, react-transmit, react-inline-css

Features

  • Fully automated with npm run scripts
  • Server hot reloads with piping and Hapi.js
  • Webpack for watch + production builds
  • React.js + Router on the client and server
  • React Hot Loader for instant client updates
  • Babel.js automatically compiles ES6 + ES7
  • React Transmit to preload on server to client
  • InlineCss-component for styling components
  • Accessibility hints from react-a11y

It just works out-of-the-box.

Installation

	git clone https://github.com/vasanthk/react-universal-starter.git
	cd react-universal-starter
	
	npm install
	npm run watch     # Yes, ONE command for server AND client development!
	
	# production build and run
	NODE_ENV=production npm run build
	NODE_ENV=production npm run start  

Go To http://localhost:8000/

Usage

Run npm run watch in your terminal and play with views/Main.js to get a feel of the server-side rendering and client-side hot updates.

More info

Dependencies:

babel: Turns ES6 code into readable vanilla ES5 with source maps

babel-plugin-typecheck: Transforms flow (JavaScript static type checker) type annotations into runtime type checks.

hapi: hapi is a simple to use configuration-centric node.j framework with built-in support for input validation, caching, authentication, and other essential facilities for building web and services applications.

isomorphic-fetch: Fetch API (window.fetch) for node. This adds fetch as a global so that its API is consistent between client and server. The Fetch API provides an interface for fetching resources (e.g. across the network). It will seem familiar to anyone who has used XMLHttpRequest, but the new API provides a more powerful and flexible feature set.

piping: Piping adds "hot reloading" functionality to node, watching all your project files and reloading when anything changes, without requiring a "wrapper" binary.

react: A JavaScript library for building User interfaces.

react-inline-css: Allows you to write traditional CSS stylesheets in your components, automatically namespacing them for you.

react-router: RAllows you to define routes in your React application in a declarative manner, directly as a part of your component hierarchy. It painlessly synchronizes the components of your application with the URL, with first-class support for nesting, transitions, and server side rendering.

react-transmit: Relay-inspired library based on Promises instead of GraphQL.

Dev Dependencies:

babel-core: Same as babel, but without the commandline interface.

babel-loader: Babel module loader for webpack.

babel-runtime: Runtime support for output of Babel transpiler. Babel has a polyfill, which provides most of the non-finalised features of ES6, including Object.assign. Feeding Babel the optional: [“runtime”] engages these features.

concurrently: Run multiple commands concurrently. The usual way to run multiple commands concurrently is npm run watch-js & npm run watch-css. That's fine but it's hard to keep on track of different outputs. Also if one process fails, others still keep running and you won't even notice the difference.

json-loader: json loader module for webpack. Don't forget to polyfill require if you want to use it in node.

react-hot-loader: Tweak React components in real time.

webpack: Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jade, coffee, css, less, ... and your custom stuff.

webpack-dev-server: A live reloading server for webpack.