Skip to content

nooqta/react-kodyfire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to react-kodyfire 👋

Version Documentation License: MIT Twitter: anis_marrouchi

Generate react components based on HTML templates using Kodyfire. react-kodyfire demo

Requirements

react-kodyfire requires the kodyfire-cli to be installed

npm install -g kodyfire-cli

Install

npm install react-kodyfire

Usage

Method 1: As a generator

In order to generate your artifacts, run the generate command. The syntax is kody generate|g [kody] [concept]. If you ommit kody and concept the assistant will prompt you to select them. As an example, run the following command from your terminal:

kody generate react component

Method 2: As a kody project

Refer to the kodyfire generate your artifact section. Once your project is initialized and ready for kody, generate your React concept using the kody ride command or manually. As an example, A declaration for a react component concept might look like the following:

{
    "name": "About",
    "template": "functional.js.template",
    "extension": "tsx",
    "isFolder": true,
    "cssModule": true,
    "outputDir": "src/components"
}

After adding your concept(s) definitions, run the following command to generate your assets.

kody run -s kody-react.json

Available concepts

component

Generates a react class

Params
  • name string - Component name. Default filename
  • template enum - template name to use. Only one by default.
  • extension enum - file extension. Possible values: js, ts, jsx, tsx
  • isFolder boolean - If the component will be placed in a folder. This will add an index file for imports.
  • ccsModule boolean - if a css module file should be created.
  • outputDir string - The output directory

class

Generates a typescript class

Params
  • name string - class name. Default filename
  • template enum - template name to use. Only one by default.
  • implements string - Interface(s) to implement
  • extends string - class(es) to extend.
  • properties Property[] - list of properties
  • methods Method[] - list of methods
  • hasConstructor boolean - if class should have a constructor
  • args {name: string, type: string} - List of argument to pass to the constructor. hasConstructor must be true.
  • outputDir string - The output directory

interface

Generates a typescript interface

Params
  • name string - class name. Default filename
  • template enum - template name to use. Only one by default.
  • extends string - class(es) to extend.
  • properties Property[] - list of properties
  • outputDir string - The output directory

tsconfig

Generates a tsconfig file

Params
  • name enum - The tsconfig configuration name
  • outputDir string - The output directory
Tsconfigs

Refer to this reference for a list of available tsconfig templates

Property
  • name string - property name
  • type string - property type
  • optional boolean - if the property is optional when constructing an object
Method
  • name string - method name
  • params {name: string, type: string} - list of method arguments. Leave empty if none
  • returnType string - Return type (example: string, number, void)

📅 Future Features

  • Generate test
  • Generate story
  • Community feedback

Run tests

TODO

Author

👤 Anis Marrouchi

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Show your support

Give a ⭐️ if this project helped you!

Credits

📝 License

Copyright © 2022 Anis Marrouchi.

This project is MIT licensed.


This README was generated with ❤️ by readme-kodyfire

About

Generate React components using Kodyfire CLI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published