1import Git from '../../Git';
2import logger from '../../Logger';
3import { Task } from '../../TasksRunner';
4import { CommandOptions, Parcel, TaskArgs } from '../types';
5import { commitStagedChanges } from './commitStagedChanges';
6
7/**
8 * Pushes committed changes to remote repo.
9 */
10export const pushCommittedChanges = new Task<TaskArgs>(
11  {
12    name: 'pushCommittedChanges',
13    dependsOn: [commitStagedChanges],
14  },
15  async (parcels: Parcel[], options: CommandOptions) => {
16    logger.info('\n��️  Pushing committed changes to remote repository...');
17
18    if (options.dry) {
19      logger.debug('   Skipping due to --dry flag...');
20      return;
21    }
22    const currentBranch = await Git.getCurrentBranchNameAsync();
23    await Git.pushAsync({ track: currentBranch });
24  }
25);
26