beez-confbuilder
About
You can create "beez" project configuration files depend on each environment.
However the management for the file is too hard to duplicate settings.
"beez"で作成されたプロジェクト設定ファイルは、環境別に作成することが可能ですが、重複する設定が多く管理が大変です。
The "beez-confbuilder" is developed for the purpose of eliminating the duplicate settings by managing with templated the various configuration files.
この "beez-confbuilder" は、各種設定ファイルをテンプレート化して管理することで重複する設定をなくすことを目的に開発されました。
設定ファイルは、JSファイルのみをサポートしています。JSONファイルはサポートしていません。
The configuration files are only supported written by JS. JSON format is not supported.
Install
$ npm install -g beez-confbuilder
Test
$ npm test
Template
Directory tree of configuration templates
$ tree tests/conf.template
tests/conf.template
├── build
│ ├── build.js
│ └── build.template
├── env
│ ├── env.js
│ └── env.template
└── key
├── key.js
└── key.template
3 directories, 6 files
*.js
(function () {
var template = {
appDir: "./s",
baseUrl: "./",
};
var environment = {
local: { },
prd: { },
};
return { template: template, environment: environment };
}())
build.js
modules プロパティはオブジェクト型で記述します。通常の記入方法と違う点に注意してください。
"beez-confbuilder"により生成されるファイルでは、自動で配列に変換されます。
(function () {
var template = {
modules: {
index: {
name: "index/index",
include: [],
exclude: []
},
}
};
})
*.template
underscore.template を使用しています。
Use underscore.template
(function () {
var config = <%= data %>;
console.log("== The output of the configuration file");
console.log("\t:process.cwd=" + process.cwd());
return config;
}())
Command line help
$ beez-confbuilder -h
Usage: beez-confbuilder [options]
Options:
-h, --help output usage information
-s --srcdir <srcdir> Source directory root path.
-p --pjdir <pjdir> Beez project directory path.
-d --pjconfname <pjconfname> Beez project configure directory name. default) conf
-e --env <env> Environment name. default) "local"
-i --indent <indent> Output json file indent. default) space 4
-l --loglevel <loglevel> Log level. default) INFO
DEBUG: 1
INFO: 2
WARN: 3
ERROR: 4
FATAL: 5
--encoding <encoding> Write file encoding. default) "utf8"
--no_mkdirp If destination directory is not exist, stop to create new one.
LICENSE
The MIT License (MIT)
@see : LICENSE