unbag
Version:
一个专门用来开发npm工具的包
72 lines (71 loc) • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.loadCommitLintConfig = exports.CommitConfigDefault = void 0;
var _load = _interopRequireDefault(require("@commitlint/load"));
var _types = require("@commitlint/types");
var _common = require("./../../utils/common.cjs");
var _fs = require("./../../utils/fs.cjs");
var _nodeModule = require("node:module");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const require2 = (0, _nodeModule.createRequire)(import.meta.url);
const commitlintConfigConventionalPath = require2.resolve("@commitlint/config-conventional");
const CommitConfigDefault = exports.CommitConfigDefault = {
lint: {
extends: [commitlintConfigConventionalPath],
rules: {
"type-enum": () => {
return [_types.RuleConfigSeverity.Error, "always", ["build", "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "revert", "style", "test", "release"]];
}
},
prompt: {
questions: {
type: {
enum: {
release: {
description: "release a version"
}
}
}
}
}
}
};
const loadCommitLintConfig = async params => {
const {
finalUserConfig
} = params;
const {
tempDir,
commit: {
lint
}
} = finalUserConfig;
const fs = (0, _fs.useFs)();
const rootPath = (0, _common.useRoot)({
finalUserConfig
});
const commitTempDir = rootPath.resolve({
next: tempDir
}).resolve({
next: "./commit"
});
const tempLintConfigFile = {
path: commitTempDir.resolve({
next: "./temp-lint-config.mjs"
}),
content: `
export default {}
`
};
await fs.outputFile(tempLintConfigFile.path.content, tempLintConfigFile.content);
const lintConfig = await (0, _load.default)(
//@ts-ignore
lint, {
file: tempLintConfigFile.path.content,
cwd: rootPath.content
});
return lintConfig;
};
exports.loadCommitLintConfig = loadCommitLintConfig;