import process from 'node:process'; import { loadConfig } from 'c12'; import type { CliOption } from '../types'; const defaultOptions: CliOption = { cwd: process.cwd(), cleanupDirs: [ '**/dist', '**/package-lock.json', '**/yarn.lock', '**/pnpm-lock.yaml', '**/node_modules', '!node_modules/**' ], ncuCommandArgs: ['--deep', '-u'], changelogOptions: {}, gitCommitVerifyIgnores: [ /^((Merge pull request)|(Merge (.*?) into (.*?)|(Merge branch (.*?)))(?:\r?\n)*$)/m, /^(Merge tag (.*?))(?:\r?\n)*$/m, /^(R|r)evert (.*)/, /^(amend|fixup|squash)!/, /^(Merged (.*?)(in|into) (.*)|Merged PR (.*): (.*))/, /^Merge remote-tracking branch(\s*)(.*)/, /^Automatic merge(.*)/, /^Auto-merged (.*?) into (.*)/ ] }; export async function loadCliOptions(overrides?: Partial, cwd = process.cwd()) { const { config } = await loadConfig>({ name: 'soybean', defaults: defaultOptions, overrides, cwd, packageJson: true }); return config as CliOption; }