Skip to content

yeupanhmaj/jsx-gen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Component Generator

A CLI tool written in Rust to quickly generate React component boilerplate code.

Features

  • 🚀 Fast component generation
  • 📝 TypeScript and JavaScript support
  • 🎨 Pre-configured component templates
  • 🪝 Custom hook templates (coming soon)
  • ⚡ Built with Rust for performance

Installation

Prerequisites

Build from Source

git clone <repository-url>
cd basic-rust
cargo build --release

The compiled binary will be in target/release/

Usage

Generate a TypeScript Component

cargo run -- MyComponent

Creates ./src/components/MyComponent.tsx:

import React from 'react';

interface MyComponentProps {
    children?: React.ReactNode;
}

export const MyComponent: React.FC<MyComponentProps> = ({ children }) => {
    return (
        <div className="MyComponent">
            {children}
        </div>
    );
};

Generate a JavaScript Component

cargo run -- MyComponent --js

Creates ./src/components/MyComponent.jsx

Command Line Options

Option Short Description
component - Name of the component to generate (required)
--js -j Generate JavaScript instead of TypeScript

Examples

# TypeScript component
cargo run -- Button

# JavaScript component
cargo run -- Header --js
cargo run -- Footer -j

Project Structure

basic-rust/
├── src/
│   ├── main.rs          # CLI application
│   └── components/      # Generated components output here
├── Cargo.toml
└── README.md

Dependencies

  • clap - Command line argument parsing

Roadmap

  • Basic component generation
  • TypeScript/JavaScript support
  • Custom hook generation
  • Multiple component templates
  • Custom output directory option
  • Unit tests

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

License

MIT

Author

Built with ❤️ using Rust

About

Simple JSX file generate

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages