UNPKG

unbag

Version:

一个专门用来开发npm工具的包

47 lines 1.15 kB
import { loadCommitLintConfig } from "./config.mjs"; import lint from "@commitlint/lint"; import { Command } from "./../../core/command.mjs"; import { useLog } from "./../../utils/log.mjs"; import { useMessage } from "./../../utils/message/index.mjs"; const commitLint = async params => { const { finalUserConfig, message } = params; const log = useLog({ finalUserConfig }); const messageMap = useMessage({ locale: finalUserConfig.locale }); const lintConfig = await loadCommitLintConfig({ finalUserConfig }); const report = await lint(message, lintConfig.rules, lintConfig); if (!report.valid) { report.errors.map(e => { log.error(`${e.message}`); }); report.warnings.map(e => { log.warn(`${e.message}`); }); throw new Error(messageMap.commit.lint.error({ message })); } log.info(messageMap.commit.lint.success({ message })); }; class CommitLintCommand extends Command { async task(message) { const { finalUserConfig } = this; await commitLint({ finalUserConfig, message }); } } export { CommitLintCommand, commitLint };