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

cra-template-typescript-21

v1.1.0

Published

A CRA React Typescript template. Using the some opinionated must-have libraries.

Downloads

74

Readme

React Typescript Template

An opinionated Typescript Create React App (CRA) template. This template was designed to have a good starting point for web app development in Typescript with React.

Component generation

Components can be created quickly with the relevant files for testing, styles and exports using the generate-react-cli commands. npx generate-react-cli component NewPage --type=page npx generate-react-cli component Box

Redux Toolkit

Redux toolkit is the choice for state management, although never required. Redux Toolkit includes wrappers for boilerplate redux code and benefits like redux thunk and immer. Redux-logger is added as middleware example. Defined type hooks are pre-created Defined Type Hooks. Instead of using useDispatch and useSelector you can use useAppDispatch and useAppSelector which will save from copying RootState everywhere.

React Router

React router is added as the primary routing for the template. It is standalone and the route information is not sync'd with Redux as it is not necassary.

Our recommendation is not to keep your routes in your Redux store at all. More information

Styled Components

Styled components is added for all the css generation following the CSS-in-JS approach. An example styled theme is added with the necassary types.

Eslint and prettier

Used for formatting and linting code. Rules can be updated as required.

Jest & React Testing library

Jest is installed and configured with relevant transformers and jest-styled-components for snapshot generation. React Testing library is configured for all unit testing.

Framer Motion

Added for animation.

Additional Helpers

classnames: Useful for conditional classname information in react.

var btnClass = classNames({
  btn: true,
  'btn-pressed': this.state.isPressed,
  'btn-over': !this.state.isPressed && this.state.isHovered,
});

react-helmet: adjusting html/head objects, for example setting page titles husky: build hooks

Additional Notes

These packages are not included both worth noting. No library is used for end to end testing, although this could be configured with puppeteer if required. cra-bundle-analyzer could be used for analyzing bundle size. source-map-explorer useful for debugging code bloat.