UNPKG

@ruan-cat/commitlint-config

Version:
121 lines (111 loc) 5.94 kB
#!/usr/bin/env node 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();