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 🙏

© 2025 – Pkg Stats / Ryan Hefner

reactscaf

v1.1.4

Published

A module generator for react app specific folder structure, an ng cli tool equivalent

Downloads

612

Readme

reactscaf CLI

A CLI tool for scaffolding React modules, components, hooks, and more. This tool simplifies and standardizes the process of creating structured React modules in your project.

Features

  1. Create Modules:

    • Scaffolds a new module with a predefined folder structure:
      • pages/: React components with routes.
      • components/: Reusable components.
      • hooks/: Custom React hooks.
      • DTOs/: API interface with mapping logic.
      • domains/: Domain object interfaces.
      • services/: API service logic.
      • constants/: Module-specific constants like types, interfaces, static values, mock data, ...etc.
      • utils/: Utility functions.
      • routes.tsx: React Router routes for the module.
  2. Create Pages:

    • Generates a new page component.
    • Adds the page route to the module’s routes.tsx.
    • Supports specifying a custom route path.
  3. Create Components:

    • Generates a reusable component with boilerplate code.
  4. Create Hooks:

    • Generates a custom React hook with boilerplate code.
  5. Create Services:

    • Generates an API service with boilerplate code.

Installation

Prerequisites

  • Node.js v14+ installed.
  • A React project.

Install Globally

To use the CLI globally:

npm install -g reactscaf

Usage

Run the CLI tool using the command:

reactscaf <command>

Commands

1. Create Module

Scaffolds a new module with a predefined folder structure:

reactscaf create-module <module-name> --base <base-path>

Example:

reactscaf create-module UserManagement --base src/modules

This will create a UserManagement folder in a relative path src/modules with the following structure:

UserManagement/
├── pages/
├── components/
├── hooks/
├── DTOs/
├── domains/
├── services/
├── constants/
├── utils/
└── routes.tsx

If you didn't specify the --base option, the module will be created in a src/Feature directory of your project.

2. Create Page

Generates a new page inside an existing module:

reactscaf create-page <page-name> --module <module-name> --route <route-path>

Example:

reactscaf create-page LoginPage --module UserManagement --route /login

This creates a LoginPage component in the pages/ folder of UserManagement and adds the route to routes.tsx.

Please note that the --route & --module options are required.

3. Create Component

Generates a reusable component:

reactscaf create-component <component-name> --module <module-name>

Please note that the --module option is required.

Example:

reactscaf create-component UserCard --module UserManagement

This creates a UserCard component in the components/ folder of UserManagement.

4. Create Hook

Generates a custom hook:

reactscaf create-hook <hook-name> --module <module-name>

Please note that the --module option is required.

Example:

reactscaf create-hook useFetchUsers --module UserManagement

This creates a useFetchUsers hook in the hooks/ folder of UserManagement.

5. Create Service

Generates a custom service:

reactscaf create-service <service-name> --module <module-name>

Please note that the --module option is required.

Example:

reactscaf create-service fetchUsers --module UserManagement

This creates a fetchUsers hook in the services/ folder of UserManagement.

Contributing

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Submit a pull request.