1.3.0 • Published 5 years ago

summon-files v1.3.0

Weekly downloads
147
License
ISC
Repository
github
Last release
5 years ago

summon-files

NodeJs cli application to autogenerate boilerplate files: Specify and templatye the files you need to generate in your project, e.g. when working on a react project you may want index.js, style.css and test.js files.

You can specify multiple types of generators which can use a different set of template files.

install

npm install summon-files --save or yarn add summon-files --save

usage

configuration

Create a .summon/config.jsonfile to specify your configuration and put templates in .summon/templates. You can also use a custom location for the 'config' and 'templates' which can be set via the '-c' flag

Examples: see the .summon-example directory inside the package

config.json

{
  "root": "",               // string | entry folder of your source code
  "types": [                // specify different generator types here
    {
      "type": "",           // string | type of the generator
      "desc": "",           // string | optional | description
      "src": "",            // string | optional | path for this generator inside <root>
      "defaultTags": [],    // string[] | files to generate (based on their tag value)
      "defaultVars": {},    // object | optional | additional variables usable in the template files
      "subTypes": [],       // string[] | optional | subTypes availabe for this generator
                            // entries can be either string or string[] | first value is the subType, following ones are aliases
      "files": [            // array of file/template descriptors
        {
          "tag": "",        // string | specify which tag triggers this file to be created
          "template": "",   // string | name of file in the `.summon/templates` folder
          "target": ""      // string | handlebars template | specify the path/filename for file creation
                            // accepts handlebar template strings (e.g. with {{path}}, {{name}})
                            // available variables can be found in the template section of this README.md
        }
      ]
    }
  ]
}

cli commands

basic command

yarn summon <type> <name>

type    genarator type
           (use 'yarn summon -l' to output a list of all available types)
           (use 'yarn summon <type> -i' to output more information about the choosen types)
name    will be used as file / component / class / etc. name

cli usage info

yarn summon help

cli flags

yarn summon <type> <name> [-s <subType>] [-l] [-i] [-f] [-c <configPath>]

type  genarator type
        (use 'yarn summon -l' to output a list of all available types)
        (use 'yarn summon <type> -i' to output more information about the choosen types)
name  will be used as file / component / class / etc. name

-s    defines the subType
        (use 'yarn summon <type> -i' to print available types)
-f    overwrite existing files
-l    output a list of all available generator types
-i    output information for the generator type
        (<type> must be specified)
-c    relative path to the config directory

templates

File templates and the target property in the options file use handlebars templates with handlebars-helpers available.

In the template files you have access to following variables

name: string          // name passed to the cli
type: string          // generator type
subType: string       // generator subType (can be null)
name_lower: string    // name in lowercase,
name_upper: string    // name in UPPERCASE
name_lcFirst: string  // name with lowerCase first letter
name_ucFirst: string  // name with UpperCase first letter
path: string          // relative path to the file "<root>/<src>/<target>"
tags: array           // tags used for this generator
...                   // defaultVars set in the config.json
1.3.0

5 years ago

1.2.0

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago