import { TGitOptions } from '@auto/git'
import { TBumpOptions } from '@auto/bump'
import { TGithubOptions } from '@auto/log'
import { TPrefixes, TWorkspacesOptions } from '@auto/utils'

export const prefixes: TPrefixes = {
  required: {
    major: {
      title: 'Breaking change',
      value: '💥'
    },
    minor: {
      title: 'New feature',
      value: '➕'
    },
    patch: {
      title: 'Bugfix',
      value: '✔️'
    },
    publish: {
      title: 'New version',
      value: '📦'
    },
    dependencies: {
      title: 'Dependencies',
      value: '♻️'
    },
    initial: {
      title: 'Initial',
      value: '🐣'
    }
  },
  custom: [
    {
      title: 'Dependencies',
      value: '♻️'
    },
    {
      title: 'Lint',
      value: '🚷'
    },
    {
      title: 'Test',
      value: '👾'
    },
    {
      title: 'Docs',
      value: '📝'
    },
    {
      title: 'Demo',
      value: '📺'
    },
    {
      title: 'Refactor',
      value: '🛠'
    },
    {
      title: 'WIP',
      value: '🚧'
    },
    {
      title: 'Other',
      value: '🛠'
    }
  ]
}

export const gitOptions: TGitOptions = { initialType: 'minor' }

export const bumpOptions: TBumpOptions = {
  zeroBreakingChangeType: 'minor',
  shouldAlwaysBumpDependents: true
}

export const githubOptions: TGithubOptions = {
  username: 'deepsweet',
  repo: 'start',
  token: process.env.GITHUB_RELEASE_TOKEN || ''
}

export const workspacesOptions: TWorkspacesOptions = { autoNamePrefix: '@start/' }
