0.10.0 • Published 1 year ago

baldrick-whisker v0.10.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Baldrick-whisker

npm Build
status npm bundle size

npm type definitions node-current NPM

Code generator for Elm and Typescript using templates

Usage

Options

Usage: baldrick-whisker [options] [command]

CLI to generate code using templates

Options:
- V, --version                                       output the version
number
- h, --help                                          display help for
command

Commands:
object <destination> <sources...>                   Convert source files to
JSON or YAML
render [options] <source> <template> <destination>  Render a template
help [command]                                      display help for command

Convert source files to JSON or YAML

Usage: baldrick-whisker object [options] <destination> <sources...>

Convert source files to JSON or YAML

Arguments:
destination  the path to the JSON or YAML destination file
sources      the path to the input filenames (JSON, YAML, Elm)

Options:
- h, --help   display help for command

Render a template

Usage: baldrick-whisker render [options] <source> <template> <destination>

Render a template

Arguments:
source                   the path to source file in JSON or YAML
template                 the path to the Handlebars template
destination              the path to the destination file (elm, ...)

Options:
- -diff                   Only display the difference in the console
- cfg, --config <config>  Configuration as a JSON line
- h, --help               display help for command

Please note that a filename can also be github filename such as github:flarebyte:baldrick-whisker:package.json. You can check the script/cli-test.sh shell script for some examples.

Template

ifSatisfy

Check if a condition is satisfied before executing the block

{{#ifSatisfy "equals" keywords "mustache"}}
  Will display if the word mustache is in the list of keywords
{{/ifSatisfy}}
{{#ifSatisfy "not equals" keywords "mustache"}}
  Will display if the word mustache is not in the list of keywords
{{/ifSatisfy}}
{{#ifSatisfy "contains" description "Elm"}}
  Will display if the word Elm is in the description
{{/ifSatisfy}}
{{#ifSatisfy "contains ignore-case" description "Elm OR Python"}}
  Will display if the words Elm or Python is in the description ignoring the
  case
{{/ifSatisfy}}
{{#ifSatisfy "starts-with ignore-space" description "Code generator"}}
  Will display if the description starts with Code generator ignoring any spaces
{{/ifSatisfy}}
{{#ifSatisfy "not ends-with" description "templates"}}
  Will display if the description does not ends with templates
{{/ifSatisfy}}
{{#ifSatisfy "contains ignore-punctuation" description "Code&generator"}}
  Will display if the description contains "Code generator" ignoring any
  punctuation
{{/ifSatisfy}}

listJoin

Join a list with a separator

|{{#listJoin "|" keywords}} {{this}} {{/listJoin}}|
{{#listJoin ', newline' params}}
* {{paramName}} ==> {{paramType}} ==> {{upperCamelCase
paramType}}{{/listJoin}}
{{/each}}

String transformers

Functioninputoutput
{{upperFirstChar value}}baldrickBaldrick
{{lowerFirstChar value}}Baldrickbaldrick
{{upperCamelCase value}}great ideaGreatIdea
{{lowerCamelCase value}}great ideagreatIdea
{{toTitle value}}GreatIdeaGreat idea
{{dasherize value}}GreatIdeagreat-idea

Documentation and links

Installation

This package is ESM only.

yarn global add baldrick-whisker
baldrick-whisker --help

Or alternatively run it:

npx baldrick-whisker --help

If you want to tun the latest version from github. Mostly useful for dev:

git clone git@github.com:flarebyte/baldrick-whisker.git
yarn global add `pwd`
0.10.0

1 year ago

0.9.0

1 year ago

0.8.0

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago