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

react-app-starterkit

v4.0.0

Published

Starterkit for React - frostney edition

Downloads

10

Readme

react-app-starterkit

Dependency Status devDependency Status

My personal (opiniated) template for React projects. This is very much geared towards what I need in my React project, so it may not fit your use case.

Btw: I really love red rectangles.

This is not universal/isomorphic.

This based on the Yeoman React Webpack generator, but uses Ryan Florence's guide for component structure with a focus on a flat structure and does not include any Flux-relevant stubs.

Includes:

  • Webpack (with webpack-dev-server and several loaders)
  • React
  • React-Router
  • CSS Modules

Getting started

Prerequisite: Node.js needs to be installed.

  1. Clone this repository
  2. Navigate into this repository and do npm install.
  3. npm start starts the development server (with hot module reloading and those kind of things...)
  4. npm run build does a minified build of everything.

Deployment

Deployment for Github Pages and Gitlab Pages is integrated.

  • Github Pages: Type npm deploy to deploy to Github Pages.
  • Gitlab Pages: Gitlab CI will automatically pick up the .gitlab-ci.yml file and deploy once it creates a successful build

Caveats with Gitlab Pages: For some reason, some node modules won't install with Gitlab CI, particularly husky and phantomjs-prebuilt.

Conventions

Filenames

Export name = Filename

Component structure
  • Folder name like
  • index.js as the entry point to the component which combines the component itself with the styles
  • MyComponent.js is the component itself and should export the React component
  • styles.less that contains the stylesheets for the component

Tests

Tests are using AVA + Enzyme, Coverage through NYC

Loader naming

babel instead of babel-loader

Decisions

  • No req.keys for dynamically loading files. It's too Webpack-specific and relies on the fact that everything will be transformed into CommonJS modules. It won't work with Webpack 2's tree shaking and while manually taking care of the dependencies feels like a hassle, it's safer (and can be internally optimized by bundlers) in the long run.

Where I want to improve

  • Use react-proxy or something similar to enable code splitting for React component and/or screens

License

MIT