beez-confbuilder

Build configuration files for beez project template.

npm install beez-confbuilder
4 downloads in the last week
28 downloads in the last month

beez-confbuilder

Travis CI

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 () {

    // base *.(json|js)
    var template = {
        appDir: "./s",
        baseUrl: "./",
        /** ... */
    };

    // base each environment from *.(json|js)
    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 %>; // use underscore.template

    ////////////////////
    // use node.js
    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

Bitdeli Badge

npm loves you