Skip to content
/ birla Public

birla is a CLI tool to easily create new file-structure scaffolds from template directories.

License

Notifications You must be signed in to change notification settings

itaditya/birla

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Birla

Birla is a CLI tool to easily create new file-structure scaffolds from template directories.

Why did I make this ?

I was wasting a lot of time, creating files and folders whenever I made new components in React or Angular. Now, I just create a template for the component and using birla generate new components easily. birla will take care of changing file names and their content too. This is so much better than copy paste or code snippets.

Advantages

  1. Supercharge your productivity.
  2. Maintain consistent structure of modules/components etc. across teams.
  3. Write once, use 1000 times.
  4. Focus on building features, not files.

How To Use ?

  1. Install the cli tool using npm i -g birla.
  2. In your project root, create a birla-templates folder.
  3. In this folder, you have to place your templates. Each template is a folder.
  4. In terminal run birla -n Name -t TemplateName DestinationDirectory

Example -

Brief Idea:

For each template we create a folder inside birla-templates. In a template we can use $NAME to substitute it with the name provided in CLI.

We can also force convert the case of name with _c (camel), _p (pascal), _s (snake), _h (hyphen).

Sample Directory Structure:

birla-templates
    └───simple-component
        └───$NAME_s
                $NAME_h.css
                $NAME.js
                index.js

Sample File

// /birla-templates/simple-component/$NAME_s/$NAME.js
const $NAME = () => {
  console.log('$NAME_h');
}

export default $NAME;

Sample Instruction

birla -n NewComponent -t simple-component app/components/

This will create a folder named new_component inside app/components/ which will have 3 files new-component.css, NewComponent.js, index.js. In each file $NAME will be replaced by NewComponent. $NAME_h with new-component and so on.

It means that app/components/new_component/NewComponent.js will look like -

const NewComponent = () => {
  console.log('new-component');
}

export default NewComponent;

Pitfalls

  • If the file/folder already exists, birla will fail.

Inspired from remmy

About

birla is a CLI tool to easily create new file-structure scaffolds from template directories.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published