UNPKG

commitmnt

Version:

Copy your gitlab and bitbucket commits to a new, publishable github repo

69 lines 4.28 kB
"use strict"; /** @module Main */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.commitment = exports.initCommitment = void 0; const ora_1 = __importDefault(require("ora")); const modules_1 = require("./modules"); const utils_1 = require("./utils"); /** * Default configuration object */ const defaultConfig = { branch: 'main', repositories: [], rootDir: process.cwd(), }; /** * Initialize a cache and set of functions that can be utilized to copy * commits from some repository to another repository. These are the same * functions used under the hood of the main `commitment()` function. They are being * exposed here so that a user with a more specific use case * (eg. filtering the commits in some way before copying them) can do that if they desire. * * @param config subset of {@link Config} fields * @returns a {@link Cache} instance, and the initialized {@link getCommitsForRepo} {@link copyRepo} {@link copyCommitsToRepo} functions * * @category Public API */ async function initCommitment(config) { const cache = new utils_1.Cache(config.rootDir); const cd = new utils_1.ChangeDirectory(config.rootDir); const inject = (0, utils_1.createInjector)({ cache, cd, config: Object.assign(Object.assign({}, defaultConfig), config), spinner: (0, ora_1.default)(), }); return { cache, copyCommitsToRepo: inject(modules_1.copyCommitsToRepo), copyRepo: inject(modules_1.copyRepo), getCommitsForRepo: inject(modules_1.getCommitsForRepo), }; } exports.initCommitment = initCommitment; /** * Accepts a config and copys commits from the * given repositories into the current repository * * @param options.quiet silences the console output / spinner * * @category Public API */ async function commitment(config, options) { const cache = new utils_1.Cache(config.rootDir); const cd = new utils_1.ChangeDirectory(config.rootDir); const inject = (0, utils_1.createInjector)({ cache, cd, config: Object.assign(Object.assign({}, defaultConfig), config), spinner: (0, ora_1.default)({ isSilent: options === null || options === void 0 ? void 0 : options.quiet }), }); const main = inject(modules_1.getCommitsAndCopy); await main(); } exports.commitment = commitment; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxtQkFBbUI7Ozs7OztBQUVuQiw4Q0FBc0I7QUFFdEIsdUNBQThGO0FBRTlGLG1DQUFpRTtBQUVqRTs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFXO0lBQzVCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsWUFBWSxFQUFFLEVBQUU7SUFDaEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Q0FDdkIsQ0FBQztBQUVGOzs7Ozs7Ozs7OztHQVdHO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FBQyxNQUEwQztJQUM3RSxNQUFNLEtBQUssR0FBRyxJQUFJLGFBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSx1QkFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUvQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHNCQUFjLEVBQU87UUFDbEMsS0FBSztRQUNMLEVBQUU7UUFDRixNQUFNLGtDQUNELGFBQWEsR0FDYixNQUFNLENBQ1Y7UUFDRCxPQUFPLEVBQUUsSUFBQSxhQUFHLEdBQUU7S0FDZixDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsS0FBSztRQUNMLGlCQUFpQixFQUFFLE1BQU0sQ0FBQywyQkFBaUIsQ0FBQztRQUM1QyxRQUFRLEVBQUUsTUFBTSxDQUFDLGtCQUFRLENBQUM7UUFDMUIsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLDJCQUFpQixDQUFDO0tBQzdDLENBQUM7QUFDSixDQUFDO0FBcEJELHdDQW9CQztBQUVEOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsVUFBVSxDQUFDLE1BQWMsRUFBRSxPQUE0QjtJQUMzRSxNQUFNLEtBQUssR0FBRyxJQUFJLGFBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSx1QkFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUvQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHNCQUFjLEVBQU87UUFDbEMsS0FBSztRQUNMLEVBQUU7UUFDRixNQUFNLGtDQUNELGFBQWEsR0FDYixNQUFNLENBQ1Y7UUFDRCxPQUFPLEVBQUUsSUFBQSxhQUFHLEVBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssRUFBRSxDQUFDO0tBQzNDLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQywyQkFBaUIsQ0FBQyxDQUFDO0lBRXZDLE1BQU0sSUFBSSxFQUFFLENBQUM7QUFDZixDQUFDO0FBakJELGdDQWlCQyJ9