张雨涵 2 жил өмнө
parent
commit
05bc7a9728

+ 1 - 1
README.md

@@ -16,7 +16,7 @@ $ npm install -g @jianyu/cli
 $ jianyu COMMAND
 running command...
 $ jianyu (--version)
-@jianyu/cli/0.1.11 darwin-x64 node-v16.14.2
+@jianyu/cli/0.2.0 darwin-x64 node-v16.18.1
 $ jianyu --help [COMMAND]
 USAGE
   $ jianyu COMMAND

+ 3 - 0
bin/cz

@@ -0,0 +1,3 @@
+#!/usr/bin/env node
+'use strict'
+import('./czg/lib/index.js')

+ 3 - 0
bin/cz.cmd

@@ -0,0 +1,3 @@
+@echo off
+
+node "%~dp0\cz" %*

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
bin/czg/lib/index.js


+ 3 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@jianyu/cli",
-  "version": "0.1.11",
+  "version": "0.2.0",
   "description": "剑鱼前端脚手架,提供项目初始化、包更新等基础能力",
   "author": "zhangyuhan",
   "keywords": [
@@ -9,7 +9,8 @@
     "cli"
   ],
   "bin": {
-    "jianyu": "./bin/run"
+    "jianyu": "./bin/run",
+    "jianyu-cz": "./bin/cz"
   },
   "license": "ISC",
   "main": "dist/index.js",

+ 71 - 0
src/.commitlintrc.js

@@ -0,0 +1,71 @@
+// .commitlintrc.js
+/** @type {import('cz-git').UserConfig} */
+module.exports = {
+  rules: {
+    // @see: https://commitlint.js.org/#/reference-rules
+  },
+  prompt: {
+    alias: { fd: 'docs: fix typos' },
+    messages: {
+      type: '选择你要提交的类型 :',
+      scope: '选择一个提交范围(可选):',
+      customScope: '请输入自定义的提交范围 :',
+      subject: '填写简短精炼的变更描述 :\n',
+      body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n',
+      breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n',
+      footerPrefixesSelect: '选择关联issue前缀(可选):',
+      customFooterPrefix: '输入自定义issue前缀 :',
+      footer: '列举关联issue (可选) 例如: #31, #I3244 :\n',
+      confirmCommit: '是否提交或修改commit ?'
+    },
+    types: [
+      { value: 'feat', name: 'feat:     新增功能 | A new feature' },
+      { value: 'fix', name: 'fix:      修复缺陷 | A bug fix' },
+      { value: 'docs', name: 'docs:     文档更新 | Documentation only changes' },
+      { value: 'style', name: 'style:    代码格式 | Changes that do not affect the meaning of the code' },
+      { value: 'refactor', name: 'refactor: 代码重构 | A code change that neither fixes a bug nor adds a feature' },
+      { value: 'perf', name: 'perf:     性能提升 | A code change that improves performance' },
+      { value: 'test', name: 'test:     测试相关 | Adding missing tests or correcting existing tests' },
+      { value: 'build', name: 'build:    构建相关 | Changes that affect the build system or external dependencies' },
+      { value: 'ci', name: 'ci:       持续集成 | Changes to our CI configuration files and scripts' },
+      { value: 'revert', name: 'revert:   回退代码 | Revert to a commit' },
+      { value: 'chore', name: 'chore:    其他修改 | Other changes that do not modify src or test files' },
+    ],
+    useEmoji: false,
+    emojiAlign: 'center',
+    useAI: false,
+    aiNumber: 1,
+    themeColorCode: '',
+    scopes: [],
+    allowCustomScopes: true,
+    allowEmptyScopes: true,
+    customScopesAlign: 'bottom',
+    customScopesAlias: 'custom',
+    emptyScopesAlias: 'empty',
+    upperCaseSubject: false,
+    markBreakingChangeMode: false,
+    allowBreakingChanges: ['feat', 'fix'],
+    breaklineNumber: 100,
+    breaklineChar: '|',
+    skipQuestions: [],
+    issuePrefixes: [
+      // 如果使用 gitee 作为开发管理
+      { value: 'link', name: 'link:     链接 ISSUES 进行中' },
+      { value: 'closed', name: 'closed:   标记 ISSUES 已完成' }
+    ],
+    customIssuePrefixAlign: 'top',
+    emptyIssuePrefixAlias: 'skip',
+    customIssuePrefixAlias: 'custom',
+    allowCustomIssuePrefix: true,
+    allowEmptyIssuePrefix: true,
+    confirmColorize: true,
+    maxHeaderLength: Infinity,
+    maxSubjectLength: Infinity,
+    minSubjectLength: 0,
+    scopeOverrides: undefined,
+    defaultBody: '',
+    defaultIssues: '',
+    defaultScope: '',
+    defaultSubject: ''
+  }
+}

+ 20 - 0
src/commands/cz.ts

@@ -0,0 +1,20 @@
+import { Command} from '@oclif/core'
+import { execSync } from 'node:child_process'
+
+export default class Cz extends Command {
+  static description = 'git 提交规范 - 交互式'
+
+  static examples = [
+    '<%= config.bin %> <%= command.id %>',
+  ]
+
+  static flags = {}
+
+  static args = {}
+
+  public async run(): Promise<void> {
+    await this.parse(Cz)
+
+    execSync('jianyu-cz')
+  }
+}

+ 17 - 0
test/commands/cz.test.ts

@@ -0,0 +1,17 @@
+import {expect, test} from '@oclif/test'
+
+describe('cz', () => {
+  test
+  .stdout()
+  .command(['cz'])
+  .it('runs hello', ctx => {
+    expect(ctx.stdout).to.contain('hello world')
+  })
+
+  test
+  .stdout()
+  .command(['cz', '--name', 'jeff'])
+  .it('runs hello --name jeff', ctx => {
+    expect(ctx.stdout).to.contain('hello jeff')
+  })
+})

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно