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
name
Project name, default valuea hasaki project
.templateRootPath
A path value. It's useful when you usetemplate
field inrules
, default value./_template
.placeholder
You 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.
rules
type ArrayruleName
type Object, A name for your current rule.extension
the extension for the target file.suffix
the suffix for the target file.prefix
the prefix for the target file.path
the path where the target file will be.template
the path for your template file. If it's value is not""
,content
field will be ignore.content
default content for target file contain.
ruleGroup
type 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