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 🙏

© 2026 – Pkg Stats / Ryan Hefner

cra-template-crustlab

v1.0.0

Published

The base CrustLab template for Create React App.

Readme

cra-template-crustlab

The official CrustLab template for Create React App based on cra-template-typescript

Usage

npx create-react-app my-app --template crustlab

Description

This package is a template that let's you generate an example boilerplate app with bunch of included libraries. The app take care of the following features:

| Feature | Library | | -------------------- |:-----------------:| | Global Store | Redux (Toolkit) | | Routing | React Router | | Styling | Styled Components | | Design System | ANT Design | | Forms | ANT Design | | HTTP | Axios | | Internationalization | React-Intl |

Remember that the main idea of the boilerplate app is to deliver the easiest to understand example.

Internationalization

The app is adjusted to multiple language versions thanks to React-Intl.

Extracting and compiling messages

In order to extract messages from the code use below command:

yarn messages:extract

Above command creates lang/en.json file with english messages. Compare newly generated file with the content of lang/pl.json file (in case of any differences remove/add missing translations to lang/pl.json file).

Transform messages into AST to improve app performance:

yarn messages:compile

How can I add support for more languages?

  1. Create a new file e.g. fr.json in lang directory.
  2. Modify package.json file and add the script responsible for building AST based on newly created json file ("scripts" section):

formatjs compile src/lang/fr.json --ast --out-file src/compiled-lang/fr.json

  1. Modify package.json file and extend the "compile:messages" script. ("scripts" section)
  2. Import new compile language file in App.tsx.

Contribution

Feel free to add some value to the template either by sending an issue or creating a PR (the second option is prefered).

How can I test my solution locally?

  1. Clone a repository with the template.
  2. Modify something in the template.
  3. Create an app based on previously modified template:
npx create-react-app my-app --template file:../path/to/template/cra-template-crustlab

Pro Tip: In most cases you can first create a new app based on current version of the template, modify something and paste the final code (from src directory) to the template directory inside template project. If you decide to add a new dependency do not forget to update template.json file.

For more information, please refer to: