DEV Community

Cover image for Introducing JATAYU !
Anunirva
Anunirva

Posted on

Introducing JATAYU !

JATAYU 🦅

Jatayu is a command line interface (CLI) tool which helps to generate production ready hand-made React templates for the App (web-app) or Library (components) development. 🚀

See npm package details here here

See Repo here here

What is the purpose of JATAYU ? 💁

Did you ever tried setting up your own react environment without create-react-app ? Then you know the pain behind it. Adding testing support | webpack | typescript | docker will just increases that pain. 😪

JATAYU is that pain killer 💊. If you want to have custom template setup for your react web app or component library without the need of CRA or it's alternatives, JATAYU to the rescue. 🥳

We provide you the skeleton template structure and sky is the limit for it's tuning.

At its very core JATAYU offers below described templates with both Typescript & Javascript support as template supporting languages and Docker setup (for web apps).

  1.React Component Library
  2.React Web App
  3.React Web App with Redux
  4.React Web App with Redux Toolkit
  5.React Web App with Context
Enter fullscreen mode Exit fullscreen mode

When you choose any one of the above projects, we provide you the ready-made template structure.

Features

Template Type/Support Webpack Testing (@testing-library) Storybook Typescript State Management Lint Build Docker
React Component Library No No
React Web App No
React Web App with Redux No
React Web App with Redux Toolkit No
React Web App with Context API No

Installation 🔨

Use the package manager npm to install jatayu globally.

npm install -g jatayu
Enter fullscreen mode Exit fullscreen mode

Usage ⚠️ ✅

After installation, create an empty directory anywhere you want and type jatayu in the terminal of the newly created folder. Voila! you will be prompted to answer two basic questions go ahead and answer them !

  1. Please enter directory name where your react template will reside

  2. Please select template type  (Use arrow keys)

    React Component Library  
    React Web App  
    React Web App with Redux 
    React Web App with Redux Toolkit
    React Web App with Context  

  3. Please select template support 

     Javascript(JS)
     Typescript(TS) 

  4. Do you want to add docker to the Template ? (if you select app template)

      Yes
      No
Enter fullscreen mode Exit fullscreen mode

Enter the directory name where you want to setup react app and select the type of project you want.

Steps after installing the project 📌

If you select Web App or Library template without Docker support:

Now cd to the newly created folder by jatayu and do npm install. It's good to update your newly created node_modules by npm outdated you will get list of outdated node_modules, update them by npm update.

Start the template by npm run start (if you have chosen webapp template) or npm run storybook (if it is library template)

cd `your-newly-created-folder`

npm install

run -> npm run start (if you have chosen webapp template)

       or

       npm run storybook (if it is library template)
Enter fullscreen mode Exit fullscreen mode

If you chose to add Docker to the App template

cd `your-newly-created-folder`

dev-run -> docker compose up --build (starts dev server, please navigate to http:localhost:5200 to see your App up and rolling!)

build -> docker compose -f docker-compose.prod.yml up --build (to build and run on dist folder, please navigate to http:localhost:1337 to see your App up and rolling!)
Enter fullscreen mode Exit fullscreen mode

What's next in the store?

We have plans to make JATAYU library/framework independent. So that JATAYU can offer custom templates to Angular, Vue, Svelte etc.

Upcoming templates:

  React with GraphQL

  Full stack MERN combo (MongoDB+Express+React+Node)
Enter fullscreen mode Exit fullscreen mode

Screenshots 💣

Screenshots of the flow

image

Enter directory name

image

Select template type

image

Select template supporting language type

image

Need docker support?

image

Successful template creation without docker

image

Successful template creation with docker

image

Enough with the theory, let's see Jatayu in action 💣

I want to setup React Web App with Redux, let's find out how Jatayu helps us!

I will chose my directory as hello select React Web App with Redux template with Typescript support.

Project Templates:

image

Expannded view:

image

Install all the dependencies by npm install command in the terminal and then

without docker support

Run the template by npm run start

(broswer open with localhost:5203)

image

image

with docker support

Run the template by docker compose up -d --build

(Open broswer with localhost:5200)

Always make sure the ports defined in the docker-compose.yml file and npm start script file are always same.

image

image

License 🦔

MIT

Feedback 📣

If you have any feedback, please reach out to us at manoj.gangavarapuu@gmail.com

Discussion (0)