@ruan-cat/commitlint-config
Version:
阮喵喵自用的 commitlint.config.cjs 配置。
121 lines (111 loc) • 5.94 kB
JavaScript
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// ../../node_modules/.pnpm/tsup@8.5.1_@microsoft+api-extractor@7.55.2_@types+node@22.19.3__jiti@2.4.1_postcss@8.5._ef7f6cf328a33346e9e2f9a45d206f86/node_modules/tsup/assets/cjs_shims.js
var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
// src/cli.ts
var import_node_fs = require("fs");
var import_node_path = require("path");
var import_node_url = require("url");
var import_commander = require("commander");
var import_consola = __toESM(require("consola"), 1);
var __filename2 = (0, import_node_url.fileURLToPath)(importMetaUrl);
var __dirname = (0, import_node_path.dirname)(__filename2);
var TEMPLATE_DIR = (0, import_node_path.join)(__dirname, "..", "templates");
var packageJsonPath = (0, import_node_path.join)(__dirname, "..", "package.json");
var packageJson = JSON.parse((0, import_node_fs.readFileSync)(packageJsonPath, "utf-8"));
var { version } = packageJson;
var TEMPLATE_FILES = [".czrc", "commitlint.config.cjs"];
function copyTemplateFile(filename, targetDir) {
const templatePath = (0, import_node_path.join)(TEMPLATE_DIR, filename);
const targetPath = (0, import_node_path.join)(targetDir, filename);
if (!(0, import_node_fs.existsSync)(templatePath)) {
import_consola.default.error(`Template file not found: ${templatePath}`);
return;
}
try {
const content = (0, import_node_fs.readFileSync)(templatePath, "utf-8");
(0, import_node_fs.writeFileSync)(targetPath, content, "utf-8");
import_consola.default.success(`Created: ${filename}`);
} catch (error) {
import_consola.default.error(`Failed to copy ${filename}:`, error);
}
}
function initCommand(options) {
const cwd = process.cwd();
import_consola.default.info("\u6B63\u5728\u521D\u59CB\u5316 @ruan-cat/commitlint-config \u914D\u7F6E\u6587\u4EF6...");
import_consola.default.info("Initializing @ruan-cat/commitlint-config configuration files...");
const existingFiles = TEMPLATE_FILES.filter((file) => (0, import_node_fs.existsSync)((0, import_node_path.join)(cwd, file)));
if (existingFiles.length > 0 && !options.force) {
import_consola.default.warn(`\u4EE5\u4E0B\u6587\u4EF6\u5C06\u88AB\u8986\u76D6 / The following files will be overwritten: ${existingFiles.join(", ")}`);
import_consola.default.info("\u4F7F\u7528 --force \u9009\u9879\u53EF\u4EE5\u8DF3\u8FC7\u6B64\u8B66\u544A / Use --force option to skip this warning");
}
for (const file of TEMPLATE_FILES) {
copyTemplateFile(file, cwd);
}
import_consola.default.success("\u914D\u7F6E\u6587\u4EF6\u521D\u59CB\u5316\u6210\u529F\uFF01");
import_consola.default.success("Configuration files initialized successfully!");
if (existingFiles.includes("commitlint.config.cjs")) {
import_consola.default.info("\u6CE8\u610F\uFF1A\u5DF2\u8986\u76D6\u73B0\u6709\u7684 commitlint.config.cjs \u6587\u4EF6");
import_consola.default.info("Note: The existing commitlint.config.cjs file has been overwritten.");
}
import_consola.default.box(`\u{1F389} \u521D\u59CB\u5316\u5B8C\u6210\uFF01/ Initialization completed!
\u521B\u5EFA\u7684\u6587\u4EF6 / Created files:
\u2022 .czrc - commitizen \u914D\u7F6E\u6587\u4EF6
\u2022 commitlint.config.cjs - commitlint \u914D\u7F6E\u6587\u4EF6
\u4E0B\u4E00\u6B65 / Next steps:
1. \u5B89\u88C5\u4F9D\u8D56 / Install dependencies:
pnpm i -D commitizen cz-git @ruan-cat/commitlint-config
2. \u5F00\u59CB\u4F7F\u7528 / Start using:
git add .
pnpm cz # \u6216 npm run cz`);
}
var program = new import_commander.Command();
program.name("@ruan-cat/commitlint-config").description(
`\u962E\u55B5\u55B5\u81EA\u7528\u7684 commitlint \u914D\u7F6E\u5DE5\u5177
Ruan Cat's commitlint configuration tool`
).version(version);
program.command("init").description(
`\u521D\u59CB\u5316\u914D\u7F6E\u6587\u4EF6
Initialize configuration files`
).option(
"-f, --force",
`\u5F3A\u5236\u8986\u76D6\u5DF2\u5B58\u5728\u7684\u6587\u4EF6
Force overwrite existing files`
).action((options) => {
initCommand(options);
});
program.on("--help", () => {
import_consola.default.box(`\u{1F680} \u4F7F\u7528\u793A\u4F8B / Usage Examples
# \u57FA\u672C\u7528\u6CD5 / Basic usage
pnpm dlx @ruan-cat/commitlint-config init
npx @ruan-cat/commitlint-config init
# \u5F3A\u5236\u8986\u76D6 / Force overwrite
pnpm dlx @ruan-cat/commitlint-config init --force
# \u67E5\u770B\u5E2E\u52A9 / Show help
pnpm dlx @ruan-cat/commitlint-config --help
# \u67E5\u770B\u7248\u672C / Show version
pnpm dlx @ruan-cat/commitlint-config --version`);
});
program.parse();