react-codegen-cli

Software Development Kit for React

Usage no npm install needed!

<script type="module">
  import reactCodegenCli from 'https://cdn.skypack.dev/react-codegen-cli';
</script>

README

NPM version GitHub stars NPM total downloads NPM monthly downloads NPM license PRs Welcome


logo

React CodeGen CLI

React CodeGen is a development tool to quickly generate React components. It helps you to speed up productivity in React projects and stop copying, pasting files.

Get Started · Report Bug · Request Feature

Table of Contents

Installation

To install the latest version run the following command:

npm i react-codegen-cli --save-dev

React CodeGen lets you setup everything by simply running the following command:

npx react-codegen-cli init

Question by question, it will guide you through the whole process of setting up a configuration file, selecting stylesheet format, picking a destination of generated files, and a lot more.

Get Started

The following command can be used to generate code:

npm run react-codegen

After running the command in the terminal, you can enter the name of the component and configure the generation of the files. When creating a React component, you are given the choice to modify the component parts, such as connecting the useState, useEffect, propTypes and so on.

Demo Demo2

Configuration File

You also can set-up configuration file manually. React CodeGen uses cosmiconfig for configuration file support. This means you can configure it via:

  • A "react-codegen" key in your package.json file.
  • A .react-codegenrc file, written in JSON or YAML, with optional extensions: .json/.yaml/.yml (without extension takes precedence).
  • A .react-codegenrc.js or react-codegen.config.js file that exports an object.

react-codegen will look for a configuration file in root folder and use it if available. If no config file found it will fallback to a default configuration.

Configuration Options

Type Value Default Description
styles string scss Stylesheet format
typescript boolean false Generate typescript files
jsxExt boolean true Use jsx extension for components
newJsx boolean false Remove react from scope (use new JSX transform)
fileNameCase came,
pascal,
snake,
snakeUpper,
kebab
pascal File name case for generated files
(default: MyComponent.jsx)
path string src/components Path to generate files
wrapFolder boolean true Create a wrap folder for generated files
cssModules boolean false Generate css module
exportType default,
named
default Export type to be used for modules
arrowFunction boolean true Use arrow functions insead of regular

Example:

{
  "styles": "scss",
  "typescript": false,
  "jsxExt": true,
  "fileNameCase": "pascal",
  "path": "src/components"
}

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/amazing-feature dev)
  3. Commit your Changes (npm run commit)
  4. Push to the Branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

React CodeGen CLI is open source software licensed as MIT.