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-cli-rt

v3.1.0

Published

A CLI tool for React app creation with vite.

Downloads

264

Readme

React CLI RT

rt_image

React CLI RT is a simple and easy-to-use command-line tool designed to streamline the creation of React components and interfaces. It provides a set of commands to generate components and interfaces quickly and efficiently, offering both full command names and abbreviations for convenience.

All you have to do is download it once globally, and you'll have built-in commands for both React and Vite apps.

Installation

To install the React CLI RT globally on your system, use the following command:

npm install -g react-cli-rt

Generate commands

Generate Component

Create a new React component with the specified name.

  • Full Command: rt generate component <componentName>

  • Abbreviated Command: rt g c <componentName>

example:

rt generate component card

This command creates a folder named card with the component files inside it (tsx or jsx file, a style ile and and a test file - based on your configuration in rt.json.).

Generate Class

Create a new React component with the specified name.

  • Full Command: rt generate class <className>

  • Abbreviated Command: rt g cl <className>

example:

rt generate class car

This command creates a class file named car.js or car.class.js based on your configuration in rt.json.

Generate Interface

Create a new React component with the specified name.

  • Full Command: rt generate interface <interfaceName>

  • Abbreviated Command: rt g i <interfaceName>

example:

rt generate interface user

This command creates an interface file named user.ts or user.interface.ts based on your configuration in rt.json.

Generate Enum

Create a new React component with the specified name.

  • Full Command: rt generate enum <enumName>

  • Abbreviated Command: rt g e <enumName>

example:

rt generate enum direction

This command creates a enum file named direction.ts or direction.enum.ts based on your configuration in rt.json.

Generate Hook

Create a new React hook with the specified name.

  • Full Command: rt generate hook <hookName>

  • Abbreviated Command: rt g h <hookName>

example:

rt generate hook useFetch

This command creates a hook file named useFetch.js or useFetch.hook.js based on your configuration in rt.json.

Generate Context

Create a new React context with the specified name.

  • Full Command: rt generate context <contextName>

  • Abbreviated Command: rt g co <contextName>

example:

rt generate context theme

This command creates a context file named theme.js or theme.context.js based on your configuration in rt.json.

Generate Route

Create a new react-router-dom route with the specified name.

  • Full Command: rt generate route <routeName>

  • Abbreviated Command: rt g r <routeName>

example:

rt generate route appRoute

This command creates a context file named appRoute.js or appRoute.route.js based on your configuration in rt.json.

Initialize Configuration

Initialize a configuration file (rt.json) in the current directory to set default options.

Command

rt init

This command prompts you to confirm the creation of a new rt.json file if one already exists.

Create New App

Create a new React application using Vite, and automatic change of the type of style in the files, based on your configuration in rt.json.

Command

rt new <appName>

Example

rt new my-app

Update

Update the react-cli-rt to the latest version from npm.

Command

rt update

or

rt u

Version

Display the current version of the CLI tool with a stylized header.

Command

rt version

or

rt v

Vite Commands

Dev

Run the development server using the npm run dev script.

Command:

rt dev

Build

Build the project for production using the npm run build script.

Command:

rt build

Lint

Lint the project using the npm run lint script.

Command:

rt lint

Preview

Preview the production build using the npm run preview script.

Command:

rt preview

Configuration (rt.json)

The rt.json file allows you to customize default behavior:

  • language : Choose between js or ts for JavaScript or TypeScript.
  • style: Choose between css, scss, or other styling languages.
  • useModuleStyle: Boolean to determine if style files should be module-based.
  • componentFileFormat: Choose between function or const.
  • componentFileName: Default name for component files (e.g., index), If the field is null, the file name will be determined by the component name.
  • styleFileName: Default name for style files (e.g., style), If the field is null, the file name will be determined by the component name.
  • testLibrary: Specify the testing library to use. Choose between testing-library or cypress If the field is null, no test file will be created when creating the component.
  • useSuffix: Boolean to add .modelName to the model file name (e.g., .interface to interfaces file).

Example Configuration:

Here is an example rt.json configuration:

{
  "language": "js",
  "style": "css",
  "useModuleStyle": false,
  "componentFileFormat": "function",
  "componentFileName": null,
  "styleFileName": null,
  "testLibrary": null,
  "useSuffix": false
}

Installing Customized Packages by Topic

With the rt install command, you can easily add packages to your React project tailored to specific needs. This command presents a menu organized by topic, allowing you to select from a curated list of packages. Whether you're looking to enhance your UI, manage state, handle forms, or add routing and animations, you can choose packages relevant to your project.

command:

rt install

or

rt i

Template files

For those who like full control, there are two template files that can be edited:

component-rt.template: content of the component file

command to create:

rt template component

or

rt t c

style-rt.template: content of the style file

command to create:

rt template style

or

rt t s

The detailed content of the template files will be created according to the settings in the rt.json file

There are three variables to be aware of when editing such files:

  • {{styleFileName}} - the name of the style file
  • {{functionName}} - the name of the component with a capital letter at the beginning
  • {{componentName}} - the name of the component

The variables in the template file are identified by double curly brackets

By editing the template files you can define a custom template for the component file and for the style file

Examples

1. Generate a TypeScript Component with SCSS Modules:

This can be achieved in two ways:

A. With rt.json set to keep the default configuration:

Configure rt.json:

{
  "language": "ts",
  "style": "scss",
  "useModuleStyle": true
}

Then run:

rt generate component myComponent

B. With a command that will change the component configuration once:

run:

rt generate component myComponent --ts --style scss --useModuleStyle

2. Generate a Component inside a new or existing folder:

run:

rt generate component components/myComponent

If the components folder does not exist, the program will create it. If it does exist, the program will insert the component into it. In either case, the component will be inserted into the folder.

3. Editing template files using variables:

In component-rt.template file add in the p tag a className of the component name:

import './{{styleFileName}}.css';



export default function  {{functionName}} ({}) {
  return (
    <p className='{{componentName}}'> {{componentName}} works!</p>
  )
};

In style-rt.template file add a class of the component name - with a font size of 20 pixels:

.{{componentName}}{
    font-size: 20px;
}

Now create a new component:

rt generate component myComponent

In the component files you can see that a className named myComponent was added to the p tag, and in the style file you can see that a class called myComponent has been added.


With React CLI RT, you can efficiently generate and manage your React components and interfaces, supporting both traditional React and modern Vite applications.