hasaki v0.0.4
Hasaki 
A simple file generator for all exist projects.
Installation
Prerequisites: Node.js ( >= 5.8.0 preferred ). 4.x should also work, but we haven't test it yet.
$ npm install -g hasaki
Usage
In your project root directory
$ hasaki init
If you want to use default configuration, you can use
$ hasaki init -y
to generate a default .hasakirc file.
see more information by use
$ hasaki -h
Create files
After get your .hasakirc file, simply run
$ hasaki create <page-name> <rule-name><,rule-name2>...
it will automatically create some <page-name> files according to your <rule-name> configuration. You can apply
multi <rule-name> by set them one by one. Or create a new rule and put all the target rule into an array. We call
this a rule group.
.hasakirc
.hasakirc is hasaki config file, it will automatically generate when you use hasaki init . But you can also
write or modify the whole file manually. Make sure the content type should be json.
configuration fields
nameProject name, default valuea hasaki project.templateRootPathA path value. It's useful when you usetemplatefield inrules, default value./_template.placeholderYou can set this value to add a placeholder in your template file. hasaki will look for your template
file and replace all the placeholder to the <page-name> which you've set in hasaki create <page-name> <rule-name>. The default
value is __name。 In some case, you can set it to __Name or __NAME。 When placeholder's first letter is uppercase
the <page-name>'s first letter will set to uppercase. So it's easy to see __NAME will make the whole <page-name> become
uppercase.
rulestype ArrayruleNametype Object, A name for your current rule.extensionthe extension for the target file.suffixthe suffix for the target file.prefixthe prefix for the target file.paththe path where the target file will be.templatethe path for your template file. If it's value is not"",contentfield will be ignore.contentdefault content for target file contain.
ruleGrouptype Array. You can put your single rule into an array, and named it a new rule. This is very useful
when you want to generate multi files.
Default .hasakirc
Our default .hasakirc looks like
{
"name": "a hasaki project",
"templateRootPath": "./_template",
"placeholder": "__name",
"rules": [
{
"containerRule": {
"extension": "js",
"suffix": "",
"prefix": "_",
"path": "./container/",
"template": "container.js"
}
},
{
"actionRule": {
"extension": "js",
"suffix": "",
"path": "./actions/",
"template": "action.js"
}
},
{
"sagaRule": {
"extension": "js",
"suffix": "saga",
"path": "./saga/",
"content": "haha"
}
},
{
"rule3": [
"actionRule",
"sagaRule",
"containerRule"
]
}
]
}Contribution
请在提交 PR 前阅读我们的贡献指南
License
MIT