| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- /**
- * 可选本地维护脚本(`pnpm run clean:dev`)
- *
- * 说明:历史上本脚本会批量删除模板演示资源并重写 `router/modules`、README 等,
- * 与当前 zkxw 已裁剪的 `web-admin` 冲突。**已移除所有破坏性步骤**。
- *
- * 现仅支持:在确认后清空 `src/mock/upgrade/changeLog.ts` 中的演示升级记录(可选)。
- */
- import fs from 'fs/promises'
- import path from 'path'
- const theme = {
- reset: '\x1b[0m',
- bold: '\x1b[1m',
- dim: '\x1b[2m',
- primary: '\x1b[38;5;75m',
- success: '\x1b[38;5;82m',
- warning: '\x1b[38;5;220m',
- error: '\x1b[38;5;196m',
- gray: '\x1b[38;5;245m',
- white: '\x1b[38;5;255m'
- }
- const fmt = {
- title: (t: string) => `${theme.bold}${theme.primary}${t}${theme.reset}`,
- success: (t: string) => `${theme.success}${t}${theme.reset}`,
- error: (t: string) => `${theme.error}${t}${theme.reset}`,
- warning: (t: string) => `${theme.warning}${t}${theme.reset}`,
- highlight: (t: string) => `${theme.bold}${theme.white}${t}${theme.reset}`,
- dim: (t: string) => `${theme.dim}${theme.gray}${t}${theme.reset}`
- }
- async function getUserConfirmation(): Promise<boolean> {
- const { createInterface } = await import('readline')
- return new Promise((resolve) => {
- const rl = createInterface({ input: process.stdin, output: process.stdout })
- console.log()
- console.log(` ${fmt.highlight('清空 mock 升级日志')} ${fmt.dim('(src/mock/upgrade/changeLog.ts)')}`)
- console.log(` ${fmt.dim('输入 yes 并回车确认,其它键取消')}`)
- console.log()
- process.stdout.write(' > ')
- rl.question('', (answer: string) => {
- rl.close()
- resolve(answer.toLowerCase().trim() === 'yes')
- })
- })
- }
- async function resetChangeLog(): Promise<void> {
- const changeLogPath = path.resolve(process.cwd(), 'src/mock/upgrade/changeLog.ts')
- const cleaned = `import { ref } from 'vue'
- interface UpgradeLog {
- version: string
- title: string
- date: string
- detail?: string[]
- requireReLogin?: boolean
- remark?: string
- }
- export const upgradeLogList = ref<UpgradeLog[]>([])
- `
- await fs.writeFile(changeLogPath, cleaned, 'utf-8')
- console.log(` ${fmt.success('已写入')}: ${changeLogPath}`)
- }
- async function main() {
- console.clear()
- console.log()
- console.log(` ${fmt.title('web-admin · clean-dev(安全模式)')}`)
- console.log(` ${fmt.dim('不会删除路由、README、业务页面或重写 routesAlias。')}`)
- console.log()
- const ok = await getUserConfirmation()
- if (!ok) {
- console.log(` ${fmt.warning('已取消')}`)
- console.log()
- return
- }
- try {
- await resetChangeLog()
- console.log()
- console.log(` ${fmt.success('完成')}`)
- } catch (e) {
- console.log(` ${fmt.error('失败: ' + String(e))}`)
- process.exit(1)
- }
- console.log()
- }
- main().catch((err) => {
- console.error(err)
- process.exit(1)
- })
|