UNPKG

commitmnt

Version:

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

67 lines 3.98 kB
/** @module Main */ import ora from 'ora'; import { copyCommitsToRepo, copyRepo, getCommitsAndCopy, getCommitsForRepo } from './modules'; import { Cache, ChangeDirectory, createInjector } from './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 */ export async function initCommitment(config) { const cache = new Cache(config.rootDir); const cd = new ChangeDirectory(config.rootDir); const inject = createInjector({ cache, cd, config: { ...defaultConfig, ...config, }, spinner: ora(), }); return { cache, copyCommitsToRepo: inject(copyCommitsToRepo), copyRepo: inject(copyRepo), getCommitsForRepo: inject(getCommitsForRepo), }; } /** * 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 */ export async function commitment(config, options) { const cache = new Cache(config.rootDir); const cd = new ChangeDirectory(config.rootDir); const inject = createInjector({ cache, cd, config: { ...defaultConfig, ...config, }, spinner: ora({ isSilent: options?.quiet }), }); const main = inject(getCommitsAndCopy); await main(); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUVuQixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU5RixPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBVztJQUM1QixNQUFNLEVBQUUsTUFBTTtJQUNkLFlBQVksRUFBRSxFQUFFO0lBQ2hCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0NBQ3ZCLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLE1BQTBDO0lBQzdFLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFNLEVBQUUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFL0MsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFPO1FBQ2xDLEtBQUs7UUFDTCxFQUFFO1FBQ0YsTUFBTSxFQUFFO1lBQ04sR0FBRyxhQUFhO1lBQ2hCLEdBQUcsTUFBTTtTQUNWO1FBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRTtLQUNmLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxLQUFLO1FBQ0wsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQzVDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzFCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztLQUM3QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBQyxNQUFjLEVBQUUsT0FBNEI7SUFDM0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sRUFBRSxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUvQyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQU87UUFDbEMsS0FBSztRQUNMLEVBQUU7UUFDRixNQUFNLEVBQUU7WUFDTixHQUFHLGFBQWE7WUFDaEIsR0FBRyxNQUFNO1NBQ1Y7UUFDRCxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztLQUMzQyxDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUV2QyxNQUFNLElBQUksRUFBRSxDQUFDO0FBQ2YsQ0FBQyJ9