unbag
Version:
一个专门用来开发npm工具的包
55 lines (54 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.commitLint = exports.CommitLintCommand = void 0;
var _config = require("./config.cjs");
var _lint = _interopRequireDefault(require("@commitlint/lint"));
var _command = require("./../../core/command.cjs");
var _log = require("./../../utils/log.cjs");
var _index = require("./../../utils/message/index.cjs");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const commitLint = async params => {
const {
finalUserConfig,
message
} = params;
const log = (0, _log.useLog)({
finalUserConfig
});
const messageMap = (0, _index.useMessage)({
locale: finalUserConfig.locale
});
const lintConfig = await (0, _config.loadCommitLintConfig)({
finalUserConfig
});
const report = await (0, _lint.default)(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
}));
};
exports.commitLint = commitLint;
class CommitLintCommand extends _command.Command {
async task(message) {
const {
finalUserConfig
} = this;
await commitLint({
finalUserConfig,
message
});
}
}
exports.CommitLintCommand = CommitLintCommand;