0.4.1 • Published 9 months ago

@quick-gen/react v0.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

@quick-gen/react

npm version License: MIT

A powerful tool that automatically generates comprehensive JSDoc documentation for React components. Part of the @quick-gen toolkit.

🌟 Features

  • 🔍 Intelligent Component Detection:
    • Automatically detects React components in your codebase
    • Supports function declarations, arrow functions, and memo/forwardRef components
    • Skips components that already have JSDoc comments
    • Handles default exports and named exports
  • 📝 Smart Props Analysis:
    • Detects props from object destructuring patterns
    • Identifies props usage throughout component body
    • Recognizes spread props usage (...props, ...rest)
    • Handles nested component structures
  • 🎯 Component Support:
    • Function declarations (function Button() {})
    • Arrow function components (const Button = () => {})
    • Memo wrapped components (memo(Button))
    • ForwardRef components (forwardRef((props, ref) => {}))
    • Multiple components in a single file
  • 🚀 Non-Intrusive:
    • Preserves existing JSDoc comments
    • Only adds documentation where needed
    • Maintains code formatting and indentation
    • Provides detailed console output during generation

📦 Installation

# Using npm
npm install @quick-gen/react --save-dev

# Using yarn
yarn add -D @quick-gen/react

# Using pnpm
pnpm add -D @quick-gen/react

🚀 Usage

Command Line Interface

# Basic usage - scans src directory by default
npx quick-gen-react

# Specify custom directory
npx quick-gen-react -d src/components

# Get help
npx quick-gen-react --help

Integration with package.json

Add a script to your package.json:

{
  "scripts": {
  "generate-docs": "quick-gen-react -d src/components",
  "update-docs": "quick-gen-react -d src/components --update"
  }
}

CLI Options

OptionAliasDescriptionDefault
--dir-dDirectory to scan for React components"src"
--update-uUpdate existing @generated JSDoc (only modifies AutoGen props)false
--help-hShow help-

📝 Examples

Basic Function Component

Input:

const Button = ({ onClick, children, disabled }) => {
  return (
    <button onClick={onClick} disabled={disabled}>
      {children}
    </button>
  );
};

Output:

/** 
 * @generated 1700000000000
 * @typedef {any} AutoGen
 * 
 * @typedef {{
 *   onClick: AutoGen,
 *   children: AutoGen,
 *   disabled: AutoGen
 * }} ButtonProps
 */

/** @type {(props: ButtonProps) => JSX.Element} */
const Button = ({ onClick, children, disabled }) => {
  // ... component implementation
};

🛠️ Requirements

  • Node.js >= 14
  • React project with .js or .jsx files

📦 Related Packages

🔗 Links

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b feature/my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin feature/my-new-feature)
  5. Create new Pull Request
0.4.1

9 months ago

0.4.0

9 months ago

0.3.4

9 months ago

0.3.3

9 months ago

0.3.2

9 months ago

0.3.1

9 months ago

0.2.6

9 months ago

0.2.5

9 months ago

0.2.3

9 months ago

0.2.2

9 months ago

0.2.1

9 months ago

0.2.0

9 months ago

0.1.14

9 months ago

0.1.13

10 months ago

0.1.12

10 months ago

0.1.11

10 months ago

0.1.10

10 months ago

0.1.8

11 months ago

0.1.7

11 months ago

0.1.6

11 months ago

0.1.5

11 months ago

0.1.4

11 months ago

0.1.3

11 months ago

0.1.2

11 months ago