RSS Git Download  Clone
Raw Blame History
const fs = require('mz/fs');
const git = require('../../git');

module.exports = (pkgFile) => {

    return Promise.all([

        git.commit,
        git.repo,
        fs.readFile(pkgFile)

    ]).then((result) => {
        const commit = result[0];
        const repo = result[1];
        const pkg = JSON.parse(result[2].toString());
        let version = pkg.version.split('.');

        const size = 3;
        if (version.length < size) {
            const extend = Array(size - version.length ).fill('0');
            version = version.concat(extend);
        }

        version = version.map((element) => {
            return !Number.isInteger(parseInt(element)) ? '0' : element;
        })

        const subVersion = version[2].split('-');
        subVersion[0] = parseInt(subVersion[0]) + 1;

        subVersion[1] = commit + 1;
        if (subVersion[1] === undefined) {
            subVersion[1] = 0;
        }

        version[2] = subVersion.join('-');

        pkg.version = version.join('.');

        if (!pkg.hasOwnProperty('corifeus')) {
            pkg.corifeus = {};
        }
        const prefix = pkg.corifeus.prefix || '';

        pkg.name = `${prefix}${repo}`;

        pkg.engines = { "node" : ">=7.8.0" };

        pkg.homepage = `https://pages.corifeus.tk/${repo}`;

        const newPkgFile = JSON.stringify(pkg, null, 4);
        return fs.writeFile(pkgFile, newPkgFile).then((result) => pkg);
    });

}