Skip to content
/ komp Public
forked from FrancisVega/komp

Create files with boilerplate content

Notifications You must be signed in to change notification settings

steviant/komp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Komp

Create files with boilerplate content

Options

$komp --help

Usage: komp [options]

Options:
  -T, --template <name> File base template
  -v, --verbose         Verbose mode
  -h, --help            output usage information
  -V, --version         output the version number
  

Commands:
  new|n <name>  Create new boilerplate folder/files
  init|i        Create config file and template folder  

Install

npm -g install komp

Config defaults

The scripts creates a configuration file (.komp) and a directory (comp-templates) with template(s) at project root folder (same as package.json) called .komp to set defaults values. If you want to create new templates you have to put inside [root]comp-templates folder. Notice how the base template is created at [root]/comp-templates/base

###.komp

Is a JSON format config file with:

  • baseName. This name will be replaced by the name the user enter in the command.
  • basePath: A default directory where the component folder will be created.
  • template. This is the name of the folder with the boilerplate files. This name also will replaced by the name user enter int the command.
{
    "baseName": "component",
    "basePath": ""
    "template": "base",
}

With this content in .komp file the komp command will search for this structure:    

comp-templates (komp will create this folder)
└─ base
    ├─ component.html
    ├─ component.twig
    ├─ component.js
    ├─ component.json
    ├─ component.yaml
    ├─ component.md
    ├─ component.css
    └─ component.scss

Komp ignore the files that finally don't exist in your HD.

You can have more than one "template" in your HD, for example.

comp-templates (komp will create this folder)
├─ base
│  ├─ component.html
│  ├─ component.js
│  ├─ component.json
│  ├─ component.yaml
│  ├─ README.md
│  ├─ component.css
│  └─ component.scss
│
├─ @fractal
│  ├─ component.njk
│  ├─ config.yaml
│  └─ component.css
│
└─ @simple
   └─ component.njk

To create a new component using a differente template use --template flag

komp new button --template fractal

This will create a folder and files in your HD like this:

Note that komp will respect the EXTRA character you put in the template folders and files. If you call to the fractal template, komp will looking for a folder that containt fractal in the name, and then let the extra char ( in this case the @ ). This way you can boilerplate the names too.

button
└─ @button
   ├─ button.njk
   ├─ config.yaml
   └─ button.scss

Examples

# Create .komp config file
komp init
# Create button component with default template
komp new button
# Create myCard component using the card template
komp new myCard --template card

About

Create files with boilerplate content

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.7%
  • HTML 2.4%
  • CSS 0.9%