ape-tmpl
Version:
Templates for ape framework.
41 lines (33 loc) • 3.41 kB
JavaScript
/**
* Define a bud for bin.
* @memberof module:ape-tmpl/lib
* @function binBud
* @param {object} config - Configuration
* @param {object} signature - Bin signature.
* @returns {object} - Bud object.
*/
;
var assert = require('assert');
var objnest = require('objnest');
var evaljson = require('evaljson');
var _tmpl = require('./_tmpl');
function binBud(config) {
var signature = config.signature;
assert.ok(signature, 'config.signature is required.');
return {
force: true,
mode: '555',
mkdirp: true,
tmpl: _tmpl('hbs/bin.hbs'),
path: config.path || signature.name,
data: {
done: config.done,
lib: config.lib || '../lib',
get signature() {
return evaljson(objnest.expand(signature));
}
}
};
}
module.exports = binBud;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJpbl9idWQuanMiXSwibmFtZXMiOlsiYXNzZXJ0IiwicmVxdWlyZSIsIm9iam5lc3QiLCJldmFsanNvbiIsIl90bXBsIiwiYmluQnVkIiwiY29uZmlnIiwic2lnbmF0dXJlIiwib2siLCJmb3JjZSIsIm1vZGUiLCJta2RpcnAiLCJ0bXBsIiwicGF0aCIsIm5hbWUiLCJkYXRhIiwiZG9uZSIsImxpYiIsImV4cGFuZCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztBQVNBOztBQUVBLElBQU1BLE1BQU0sR0FBR0MsT0FBTyxDQUFDLFFBQUQsQ0FBdEI7O0FBQ0EsSUFBTUMsT0FBTyxHQUFHRCxPQUFPLENBQUMsU0FBRCxDQUF2Qjs7QUFDQSxJQUFNRSxRQUFRLEdBQUdGLE9BQU8sQ0FBQyxVQUFELENBQXhCOztBQUNBLElBQU1HLEtBQUssR0FBR0gsT0FBTyxDQUFDLFNBQUQsQ0FBckI7O0FBRUEsU0FBU0ksTUFBVCxDQUFpQkMsTUFBakIsRUFBeUI7QUFDdkIsTUFBSUMsU0FBUyxHQUFHRCxNQUFNLENBQUNDLFNBQXZCO0FBQ0FQLEVBQUFBLE1BQU0sQ0FBQ1EsRUFBUCxDQUFVRCxTQUFWLEVBQXFCLCtCQUFyQjtBQUNBLFNBQU87QUFDTEUsSUFBQUEsS0FBSyxFQUFFLElBREY7QUFFTEMsSUFBQUEsSUFBSSxFQUFFLEtBRkQ7QUFHTEMsSUFBQUEsTUFBTSxFQUFFLElBSEg7QUFJTEMsSUFBQUEsSUFBSSxFQUFFUixLQUFLLENBQUMsYUFBRCxDQUpOO0FBS0xTLElBQUFBLElBQUksRUFBRVAsTUFBTSxDQUFDTyxJQUFQLElBQWVOLFNBQVMsQ0FBQ08sSUFMMUI7QUFNTEMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLElBQUksRUFBRVYsTUFBTSxDQUFDVSxJQURUO0FBRUpDLE1BQUFBLEdBQUcsRUFBRVgsTUFBTSxDQUFDVyxHQUFQLElBQWMsUUFGZjs7QUFHSixVQUFJVixTQUFKLEdBQWlCO0FBQ2YsZUFBT0osUUFBUSxDQUFDRCxPQUFPLENBQUNnQixNQUFSLENBQWVYLFNBQWYsQ0FBRCxDQUFmO0FBQ0Q7O0FBTEc7QUFORCxHQUFQO0FBY0Q7O0FBRURZLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQmYsTUFBakIiLCJzb3VyY2VSb290IjoiLi4vLi4vbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWZpbmUgYSBidWQgZm9yIGJpbi5cbiAqIEBtZW1iZXJvZiBtb2R1bGU6YXBlLXRtcGwvbGliXG4gKiBAZnVuY3Rpb24gYmluQnVkXG4gKiBAcGFyYW0ge29iamVjdH0gY29uZmlnIC0gQ29uZmlndXJhdGlvblxuICogQHBhcmFtIHtvYmplY3R9IHNpZ25hdHVyZSAtIEJpbiBzaWduYXR1cmUuXG4gKiBAcmV0dXJucyB7b2JqZWN0fSAtIEJ1ZCBvYmplY3QuXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpXG5jb25zdCBvYmpuZXN0ID0gcmVxdWlyZSgnb2JqbmVzdCcpXG5jb25zdCBldmFsanNvbiA9IHJlcXVpcmUoJ2V2YWxqc29uJylcbmNvbnN0IF90bXBsID0gcmVxdWlyZSgnLi9fdG1wbCcpXG5cbmZ1bmN0aW9uIGJpbkJ1ZCAoY29uZmlnKSB7XG4gIGxldCBzaWduYXR1cmUgPSBjb25maWcuc2lnbmF0dXJlXG4gIGFzc2VydC5vayhzaWduYXR1cmUsICdjb25maWcuc2lnbmF0dXJlIGlzIHJlcXVpcmVkLicpXG4gIHJldHVybiB7XG4gICAgZm9yY2U6IHRydWUsXG4gICAgbW9kZTogJzU1NScsXG4gICAgbWtkaXJwOiB0cnVlLFxuICAgIHRtcGw6IF90bXBsKCdoYnMvYmluLmhicycpLFxuICAgIHBhdGg6IGNvbmZpZy5wYXRoIHx8IHNpZ25hdHVyZS5uYW1lLFxuICAgIGRhdGE6IHtcbiAgICAgIGRvbmU6IGNvbmZpZy5kb25lLFxuICAgICAgbGliOiBjb25maWcubGliIHx8ICcuLi9saWInLFxuICAgICAgZ2V0IHNpZ25hdHVyZSAoKSB7XG4gICAgICAgIHJldHVybiBldmFsanNvbihvYmpuZXN0LmV4cGFuZChzaWduYXR1cmUpKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJpbkJ1ZFxuIl19