Skip to content

Commit

Permalink
refactor(@142vip/fairy-cli): 优化基础命令逻辑,简化代码
Browse files Browse the repository at this point in the history
  • Loading branch information
mmdapl committed Feb 11, 2025
1 parent 5c18b6c commit 28db882
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 28 deletions.
7 changes: 3 additions & 4 deletions packages/fairy-cli/src/commands/clean.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import * as process from 'node:process'
import { deleteAsync } from 'del'
import type { VipCommander } from '@142vip/utils'
import { VipInquirer } from '@142vip/utils'
import { VipInquirer, VipNodeJS } from '@142vip/utils'
import { CliCommandEnum } from '../shared'

/**
Expand Down Expand Up @@ -74,7 +73,7 @@ async function execCleanUp(args: CleanUpOptions): Promise<void> {

if (dirPatterns.length === 0) {
console.log('删除规则为空,不做删除操作处理,请传入有效参数!!')
process.exit(1)
return VipNodeJS.exitProcess(1)
}

// 删除前,对话框确认
Expand All @@ -83,7 +82,7 @@ async function execCleanUp(args: CleanUpOptions): Promise<void> {

if (!deleted) {
// 不删除,非0退出
process.exit(1)
return VipNodeJS.exitProcess(1)
}
}

Expand Down
5 changes: 2 additions & 3 deletions packages/fairy-cli/src/commands/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ import { VipConsole } from '@142vip/utils'
import { CliCommandEnum } from '../shared'

interface DeployOptions {

githubPage: boolean
}

function execDeploy(args: DeployOptions): void {
VipConsole.log(args)
VipConsole.error(args)
}

/**
* github page 静态页面部署
* @constructor
*/
function DeployGithubPage() {}

Expand Down
2 changes: 1 addition & 1 deletion packages/fairy-cli/src/commands/install.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ interface InstallOptions {
* - npm
* - pnpm
*/
async function execInstall(args: InstallOptions): void {
async function execInstall(args: InstallOptions): Promise<void> {
// pnpm i --frozen-lockfile --registry https://registry.npmmirror.com
// npm ci
if (args.npm) {
Expand Down
6 changes: 3 additions & 3 deletions packages/fairy-cli/src/commands/lint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ interface LintOptions {
fix: boolean
}

function execLink(args: LintOptions): void {
async function execLink(args: LintOptions): Promise<void> {
// 执行eslint校验
doCodeLint({
await doCodeLint({
fix: args.fix,
})
}

/**
* 代码格式化
*/
async function doCodeLint(args: { fix: boolean }): void {
async function doCodeLint(args: { fix: boolean }): Promise<void> {
await VipExecutor.commandStandardExecutor(`npx eslint . ${args.fix ? '--fix' : ''}`)
}

Expand Down
9 changes: 5 additions & 4 deletions packages/fairy-cli/src/commands/login.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import process from 'node:process'
import type { VipCommander } from '@142vip/utils'
import { VipExecutor } from '@142vip/utils'
import { VipExecutor, VipNodeJS } from '@142vip/utils'
import { CliCommandEnum } from '../shared'

enum LoginPlatformEnum {
Expand Down Expand Up @@ -92,9 +91,11 @@ export async function loginMain(program: VipCommander): Promise<void> {
.action(async (platform: LoginPlatformEnum, args: LoginOptions) => {
if (![LoginPlatformEnum.NPM, LoginPlatformEnum.DOCKER].includes(platform)) {
console.error('login命令只支持Docker和Npm平台,使用格式 login docker|npm')
process.exit(1)
VipNodeJS.exitProcess(1)
}
else {
await execLogin(platform, args)
}
await execLogin(platform, args)
JSON.stringify('aaa')
})
}
11 changes: 5 additions & 6 deletions packages/fairy-cli/src/commands/release.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import process from 'node:process'
import type { VersionBumpOptions } from '@142vip/release-version'
import { versionBump } from '@142vip/release-version'
import type { VipCommander } from '@142vip/utils'
import { VipColor, VipConsole, VipInquirer } from '@142vip/utils'
import { VipColor, VipConsole, VipInquirer, VipNodeJS } from '@142vip/utils'
import {
CliCommandEnum,
getBranchName,
Expand Down Expand Up @@ -80,7 +79,7 @@ function execVipRelease(args: VipReleaseExtraOptions): void {
// 预先检查子模块
if (args.checkRelease) {
printPreCheckRelease(packageNames)
process.exit(0)
return VipNodeJS.exitProcess(0)
}

const choices = [
Expand All @@ -94,13 +93,13 @@ function execVipRelease(args: VipReleaseExtraOptions): void {

if (!isRelease) {
VipConsole.log(VipColor.yellow('用户取消发布操作!!'))
process.exit(0)
return VipNodeJS.exitProcess(0)
}

// 发布子模块
if (packageName !== defaultRepoName) {
await releaseMonorepoPackage(pkgJSON.find(pkg => pkg.name === packageName)!)
process.exit(0)
return VipNodeJS.exitProcess(0)
}

// 发布根模块
Expand Down Expand Up @@ -140,7 +139,7 @@ export async function releaseMain(program: VipCommander): Promise<void> {
const branchName = getBranchName()
if (branchName !== args.branch) {
VipConsole.log(`当前分支是:${branchName} ,版本迭代允许在next分支操作,并推送到远程!!!`)
process.exit(0)
return VipNodeJS.exitProcess(0)
}
}

Expand Down
5 changes: 3 additions & 2 deletions packages/fairy-cli/src/commands/sync.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import process from 'node:process'
import fetch from 'node-fetch'
import type { VipCommander } from '@142vip/utils'
import { HttpMethod, VipConsole, VipNodeJS } from '@142vip/utils'
Expand Down Expand Up @@ -48,7 +49,7 @@ async function requestSync(packageName: string): Promise<void> {
const { ok, id: logId } = await response.json() as RequestSync

if (!ok) {
VipConsole.log('requestSync--json', await response.json())
VipConsole.log(`requestSync--json : ${await response.json()}`)
VipNodeJS.exitProcess(1)
}
setTimeout(async () => {
Expand Down Expand Up @@ -78,7 +79,7 @@ async function getPackageSyncState(packageName: string, logId: string): Promise<
return stateRes.logUrl
}
console.log('getPackageSyncState-->err', stateRes)
VipNodeJS.exitProcess(1)
process.exit(1)
}

async function getPackageSyncLog(logUrl: string): Promise<void> {
Expand Down
8 changes: 3 additions & 5 deletions packages/fairy-cli/src/commands/turbopack.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import fsSync from 'node:fs'
import * as process from 'node:process'
import type { VipCommander } from '@142vip/utils'
import { VipConsole, VipExecutor } from '@142vip/utils'
import { VipConsole, VipExecutor, VipNodeJS } from '@142vip/utils'
import { CliCommandEnum } from '../shared'

interface TurboPackOptions {
Expand All @@ -11,9 +9,9 @@ interface TurboPackOptions {

async function execTurboPack(repoNames: string[], args: TurboPackOptions): Promise<void> {
// 判断当前目录下是否有turbo.json配置文件
if (!fsSync.existsSync('turbo.json')) {
if (!VipNodeJS.exitPath('turbo.json')) {
VipConsole.log('项目根目录下缺少turbo.json配置文件,查看Turborepo官网:<https://turbo.build/repo/docs>')
process.exit(1)
return VipNodeJS.exitProcess(1)
}

// npx turbo run dev
Expand Down

0 comments on commit 28db882

Please sign in to comment.