baldrick-whisker
v0.10.0
Published
Code generator for Elm and Typescript using templates
Downloads
5
Maintainers
Readme
Baldrick-whisker
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
| Function | input | output |
| -------------------------- | ---------- | ---------- |
| {{upperFirstChar value}}
| baldrick | Baldrick |
| {{lowerFirstChar value}}
| Baldrick | baldrick |
| {{upperCamelCase value}}
| great idea | GreatIdea |
| {{lowerCamelCase value}}
| great idea | greatIdea |
| {{toTitle value}}
| GreatIdea | Great idea |
| {{dasherize value}}
| GreatIdea | great-idea |
Documentation and links
- Code Maintenance
- Code Of Conduct
- Api for baldrick-whisker
- Contributing
- Glossary
- Diagram for the code base
- Vocabulary used in the code base
- Architectural Decision Records
- Contributors
- Dependencies
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 [email protected]:flarebyte/baldrick-whisker.git
yarn global add `pwd`