UNPKG

unbag

Version:

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

65 lines 1.68 kB
import load from "@commitlint/load"; import { RuleConfigSeverity } from "@commitlint/types"; import { useRoot } from "./../../utils/common.mjs"; import { useFs } from "./../../utils/fs.mjs"; import { createRequire } from "node:module"; const require2 = createRequire(import.meta.url); const commitlintConfigConventionalPath = require2.resolve("@commitlint/config-conventional"); const CommitConfigDefault = { lint: { extends: [commitlintConfigConventionalPath], rules: { "type-enum": () => { return [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 = useFs(); const rootPath = 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 load( //@ts-ignore lint, { file: tempLintConfigFile.path.content, cwd: rootPath.content }); return lintConfig; }; export { CommitConfigDefault, loadCommitLintConfig };