mirror of
https://github.com/di-sukharev/opencommit.git
synced 2026-01-13 23:58:06 -05:00
51 lines
1.4 KiB
JavaScript
Executable File
51 lines
1.4 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
import { cli } from 'cleye';
|
|
|
|
import packageJSON from '../package.json';
|
|
import { commit } from './commands/commit';
|
|
import { commitlintConfigCommand } from './commands/commitlint';
|
|
import { configCommand } from './commands/config';
|
|
import { hookCommand, isHookCalled } from './commands/githook.js';
|
|
import { prepareCommitMessageHook } from './commands/prepare-commit-msg-hook';
|
|
import { checkIsLatestVersion } from './utils/checkIsLatestVersion';
|
|
import { runMigrations } from './migrations/_run.js';
|
|
|
|
const extraArgs = process.argv.slice(2);
|
|
|
|
cli(
|
|
{
|
|
version: packageJSON.version,
|
|
name: 'opencommit',
|
|
commands: [configCommand, hookCommand, commitlintConfigCommand],
|
|
flags: {
|
|
fgm: Boolean,
|
|
context: {
|
|
type: String,
|
|
alias: 'c',
|
|
description: 'Additional user input context for the commit message',
|
|
default: ''
|
|
},
|
|
yes: {
|
|
type: Boolean,
|
|
alias: 'y',
|
|
description: 'Skip commit confirmation prompt',
|
|
default: false
|
|
}
|
|
},
|
|
ignoreArgv: (type) => type === 'unknown-flag' || type === 'argument',
|
|
help: { description: packageJSON.description }
|
|
},
|
|
async ({ flags }) => {
|
|
await runMigrations();
|
|
await checkIsLatestVersion();
|
|
|
|
if (await isHookCalled()) {
|
|
prepareCommitMessageHook();
|
|
} else {
|
|
commit(extraArgs, flags.context, false, flags.fgm, flags.yes);
|
|
}
|
|
},
|
|
extraArgs
|
|
);
|