Skip to content
This repository was archived by the owner on Jan 3, 2024. It is now read-only.

Repository files navigation

react-pwa-reference

VerifyCoverage StatusKnown VulnerabilitiesMaintenance

A project boilerplate and reference example for isomorphic universal reactiflux progressive web applications.

Summary

This project is an evolution of flux-react-example and flux-react-example-sw that adds evolved tooling and organization. It's a rather complete, performance minded reference PWA that uses data-driven routes and content from an attached service. The data service driving the app is this Github repo.

Environment Prerequisites

Just Node 14+
Some development dependencies of this project have binary installs (image manipulators), so YMMV.

Stack

  • Node
  • Express
  • React (Facebook)
  • Fluxible (Yahoo)
  • sw-toolbox, sw-precache (Google)
  • babel, gulp, webpack, eslint, mocha/chai, sass

Setup

  1. git clone https://github.com/localnerve/react-pwa-reference
  2. npm install

Run

Run Production

npm run build:server && npm start

Run Development

npm run dev

Development Tasks

All npm run development commands:

commanddescription
build:listdump the asset build task tree to console
config:devdump the development config to console
config:proddump the production config to console
devlint, build assets, start the server, verbose, NODE_ENV=development, offline NOT supported
dev:analyzeanalyze webpack stats file and dump bundle size analysis to console
dev:analyzeranalyze webpack stats file visually
dev:ccssbuild css assets, watch and recompile sass on change
dev:debuglint, build assets, start/debug server, NODE_ENV=development, wait debugger attach
dev:inspectlike dev:debug, but use node --inspect, best w/Node 7+
dev:perflint, build assets, scripts w/source maps, start server, NODE_ENV=production, offline supported
dev:prodlint, build assets, start server, NODE_ENV=production, offline supported
fixtures:devbuild test fixtures from data service, development
fixtures:prodbuild test fixtures from data service, production
lintrun linter on entire project
perfbudgetused by CI to test performance budget against service
testrun the entire test suite
test:coverrun the entire test suite, capture coverage, and report
test:debugbuild with source maps, start the test suite, wait debugger attach
test:inspectlike test:debug, but use node --inspect, best w/Node 7+
test:funcused by CI to run functional tests against selenium grid
test:contactuse to manually test the contact worker after nodemailer update

Fun Facts

  1. webpack.github.io/analyse/#modules still works on webpack stats files to visualize the module dependency graph.

About

A project boilerplate and reference example of a universal, reactiflux, progressive web application

Topics

Resources

Stars

111 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages