Source: apc-abstract-heir/task/worker/generate_apeman_helper_data.js

/**
 * Generate .apemanhelperdata file.
 * @function task.worker.generateApemanHelperData
 * @param {object} config - Task configuration.
 * @param {string} config.dest - Destination file name.
 * @param {function} callback - Callback when done.
 */
var path = require('path'),
    lib = require('../../lib'),
    _debug = require('./_debug'),
    file = lib.file,
    writeReadonlyFile = file.writeReadonlyFile,
    apeman = require('apeman');

module.exports = function (config, callback) {
    var dest = path.resolve(config.dest),
        current = apeman.current,
        h = current.helper();
    var data = {};
    Object.keys(h).forEach(function (key) {
        data[key] = h[key].toString();
    });
    var content = JSON.stringify(data, null, 4).replace(/\\n/g, '\n');
    writeReadonlyFile(dest, content, function (err) {
        if (!err) {
            _debug.didCreateFile(dest);
        }
        callback(err);
    });
};