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

react-component-genie

v1.0.3

Published

CLI tool for generating themed React components with ease

Downloads

88

Readme

🧞‍♂️ React Component Genie

A magical CLI tool that generates themed React components with consistent structure and best practices. Stop writing boilerplate code and let the Genie do the work for you!

✨ Features

  • 🚀 Quick component generation
  • 📦 Consistent file structure
  • 🎨 Customizable templates
  • 🔧 Zero dependencies
  • 💡 Smart defaults
  • 🎯 TypeScript/JavaScript support
  • 🌀 Works with any JS Frameworks like React,Next,Vue

🛠️ Installation

# Install globally
npm install -g react-component-genie

# With pnpm
pnpm install -g react-component-genie

# Or use with npx
npx react-component-genie

📖 Usage

General

# Generate a new component
rcg

# Generate a new component
rcg --help  
rcg -h

# View current version
rcg --version
rcg -v

# Initialize genie -> This creates a rcg.config.json file in your root of project.
rcg init

Generating Components

# This will ask for component name in PascalCase and create a folder and file based on the template provided 
# (uses rcg.config.json by default )
rcg

## Overwrite the template folder path in rcg.config.json
rcg -t <TEMPLATE_PATH>

## Overwrite the output folder path in rcg.config.json
rcg -o <OUTPUT_PATH>
 
## Overwrite the includeTypeFile property in rcg.config.json
rcg -it
rcg -it 0 # do not include type file
 

Config File Options

| Property | Description | | --- | --- | | outputPath | The folder that genie writes files in to | | templatePath | The folder that the template file resides | | includeTypeFile | This creates a type file along with component file (component.type.ts) |

Variables in Template File

We also support variables in template files.Variables can be wrapped around {{}} like {{componentName}} Currently we only support these variables

  • componentName This will be replace with the name given while generating component using rcg cmd

Example:

  import React, { useEffect, useState } from 'react';
  import alwaysUse from '../../alwaysUse';

  /**
  * {{componentName}}
  **/
  const {{componentName}} = () => {
  
  //===== states =======//

  //===== functions =======//

  //===== effects =======//

  return (
    <div> </div>
  )

  }
  export default {{componentName}}
 

It is also possible to use variable in template file names. for example , if we create a template file like

{{componentName}}.component.js

this will be generated like Input.component.js for a component name Input

📫 Contact

Mohammed Ashik KP - GitHub

Project Link: https://github.com/Mohammed-Ashik-KP/react-component-genie