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

universal-redux-boilerplate

v1.0.6

Published

Un simple boilerplate para el uso de universal js con react, redux y react-router

Downloads

15

Readme

Universal Redux Boilerplate

Un simple boilerplate con los siguientes features:

Build Status Dependencies DevDependencies

  • Javascript Universal. Renderizado y Ruteo con componentes, almacenes y rutas compartidas.

  • Manejo de estados desde Redux.

  • ES6 como estándar usando babel y webpack.

  • Express 4.x.

  • Cargado en caliente en modo desarrollador desde el server.

  • Convenciones y scripts útiles para el desarrollo.

Inicializar el Proyecto

Basé mi proyecto en el boilerplate de elliot (Referencia), haciendo este para un mejor entendimiento en la comunidad hispano-hablante

npm install
npm run webpack:dev

Abrir un terminal mas en la ruta del proyecto y correr

npm run start:dev

Ahora puedes abrir el proyecto desde http://localhost:3000/

Javascript Universal

Javascript Universal quiere decir que esta diseñado para correr un montón de código en ambos lados, cliente y servidor. Comúnmente esto incluye un montón de lógica de renderizado y dominio.

Son muchas las ventajas que obtendrás al construir aplicaciones usando este camino, pero principalmente son:

  • Cross-functional teams. Ya que todo esta escrito en Javascript, es más fácil de construir equipos que saben cómo trabajan tanto en el cliente como en el servidor de la aplicación.

  • Write once, run everywhere. Con la excepción de alguna sustitución de librerías y browser polyfills, el codigo es compartido, esto quiere decir que tu podrás escribir la mitad de lo que escribirías en una aplicación no universal

  • More productive developers. Dado que el proyecto es más consistente, no hay cambio de contexto cuando necesitas mantener el comportamiento de la aplicación en ambos lados del stack. Escribe el comportamiento una sola vez y ya. El cambio de contexto ralentiza a los de desarrolladores de manera significativa

Que tenemos dentro del proyecto?

  • src/ - Código Compartido.

  • src/App.jsx - Para el lado del Browser.

  • src/store/configureStore.dev.js - Mantengo condicionales para el desarrollo en server y client.

  • source/server - Para el lado del Server.

Index

Webpack

El webpack.server.js hace correr un server en el puerto 8888 para el bundle de webpack

Server

El bin/www basandome en express-generator este sería el archivo que ejecutaría el proyecto en el puerto 3000 por defecto, este a su vez, requiere del archivo App.jsx para servir el contenido dinámico. Los assets son servidos desde la carpeta build usando express.static

Scripts

La Mayoría de estos scripts están hecho para ser corridos en entorno unix/linux (OSX y sistemas operativos basados en linux)

El package.json tiene los siguientes scripts:

  • npm run start corre el start:prod webpack:prod al mismo tiempo, recomendado para deployments automaticos

  • npm run start:dev corre el servidor del proyecto en modo desarrollo

  • npm run start:prod corre el servidor del proyecto en modo producción

  • npm run webpack:dev corre el servidor del webpack en modo desarrollo

  • npm run webpack:prod corre el servidor del webpack en modo producción

  • npm run test verifica si las reglas de estilos y si cumple los pruebas unitarias