@xdevops/issue-auto-finish 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-VFQYIC6L.js → chunk-F4IB7IRT.js} +2 -2
- package/dist/{chunk-PTIL5AY2.js → chunk-F7AYCERS.js} +2 -2
- package/dist/{chunk-PECYMYAK.js → chunk-XJYGHL6J.js} +12 -2
- package/dist/chunk-XJYGHL6J.js.map +1 -0
- package/dist/cli/setup/DependencyChecker.d.ts.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/{doctor-ZPGIBA5N.js → doctor-EOYNPACK.js} +2 -2
- package/dist/index.js +3 -3
- package/dist/{init-QDTII4SP.js → init-KF5OGQ3B.js} +3 -3
- package/dist/run.js +3 -3
- package/dist/{start-EDOZC5WL.js → start-3XVP2TAP.js} +1 -1
- package/package.json +1 -1
- package/src/web/frontend/dist/assets/index-D0FeRvOB.js +67 -0
- package/src/web/frontend/dist/index.html +1 -1
- package/dist/chunk-PECYMYAK.js.map +0 -1
- package/src/web/frontend/dist/assets/index-AcJ0lPIv.js +0 -67
- /package/dist/{chunk-VFQYIC6L.js.map → chunk-F4IB7IRT.js.map} +0 -0
- /package/dist/{chunk-PTIL5AY2.js.map → chunk-F7AYCERS.js.map} +0 -0
- /package/dist/{doctor-ZPGIBA5N.js.map → doctor-EOYNPACK.js.map} +0 -0
- /package/dist/{init-QDTII4SP.js.map → init-KF5OGQ3B.js.map} +0 -0
- /package/dist/{start-EDOZC5WL.js.map → start-3XVP2TAP.js.map} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Issue Auto-Finish Dashboard</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-D0FeRvOB.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-BbRt5BAr.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body class="bg-gray-50 min-h-screen">
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/setup/DependencyChecker.ts"],"sourcesContent":["import { spawn } from 'node:child_process';\nimport { t } from '../../i18n/index.js';\n\nexport interface DepCheckResult {\n name: string;\n displayName: string;\n required: boolean;\n installed: boolean;\n version?: string;\n installCommand?: string;\n installHint?: string;\n}\n\nasync function which(binary: string): Promise<string | null> {\n return new Promise((resolve) => {\n const proc = spawn('which', [binary], { stdio: ['ignore', 'pipe', 'ignore'] });\n let out = '';\n proc.stdout.on('data', (d) => { out += d.toString(); });\n proc.on('close', (code) => resolve(code === 0 ? out.trim() : null));\n proc.on('error', () => resolve(null));\n });\n}\n\nasync function getVersion(binary: string, args: string[] = ['--version']): Promise<string | null> {\n return new Promise((resolve) => {\n const proc = spawn(binary, args, { stdio: ['ignore', 'pipe', 'pipe'] });\n let out = '';\n proc.stdout.on('data', (d) => { out += d.toString(); });\n proc.stderr.on('data', (d) => { out += d.toString(); });\n proc.on('close', (code) => {\n if (code === 0 && out.trim()) {\n const match = out.trim().match(/[\\d]+\\.[\\d]+[\\d.a-z-]*/);\n resolve(match ? match[0] : out.trim().split('\\n')[0]);\n } else {\n resolve(null);\n }\n });\n proc.on('error', () => resolve(null));\n });\n}\n\nexport class DependencyChecker {\n async checkAll(aiMode?: string): Promise<DepCheckResult[]> {\n const isCodebuddy = aiMode === 'codebuddy';\n const isCursor = aiMode === 'cursor-agent';\n const results = await Promise.all([\n this.checkVolta(),\n this.checkNode(),\n this.checkGit(),\n this.checkPnpm(),\n this.checkClaudeInternal(!isCursor && !isCodebuddy),\n this.checkCursor(isCursor),\n this.checkCodebuddy(isCodebuddy),\n ]);\n return results;\n }\n\n async checkVolta(): Promise<DepCheckResult> {\n const version = await getVersion('volta');\n return {\n name: 'volta',\n displayName: 'Volta',\n required: true,\n installed: version !== null,\n version: version ?? undefined,\n installHint: 'curl https://get.volta.sh | bash',\n };\n }\n\n async checkNode(): Promise<DepCheckResult> {\n const version = await getVersion('node');\n return {\n name: 'node',\n displayName: 'Node.js (>= 20)',\n required: true,\n installed: version !== null,\n version: version ?? undefined,\n installHint: t('cli.nodeInstallHint'),\n };\n }\n\n async checkGit(): Promise<DepCheckResult> {\n const version = await getVersion('git');\n return {\n name: 'git',\n displayName: 'Git',\n required: true,\n installed: version !== null,\n version: version ?? undefined,\n installHint: 'sudo apt install git / brew install git',\n };\n }\n\n async checkPnpm(): Promise<DepCheckResult> {\n const version = await getVersion('pnpm');\n return {\n name: 'pnpm',\n displayName: 'pnpm (>= 9)',\n required: true,\n installed: version !== null,\n version: version ?? undefined,\n installCommand: 'volta install pnpm@9',\n installHint: 'volta install pnpm@9',\n };\n }\n\n async checkClaudeInternal(required: boolean): Promise<DepCheckResult> {\n const path = await which('claude-internal');\n const version = path ? await getVersion('claude-internal') : null;\n const cmd = 'npm install -g claude-code-internal';\n return {\n name: 'claude-internal',\n displayName: 'Claude Internal CLI',\n required,\n installed: path !== null,\n version: version ?? undefined,\n installCommand: cmd,\n installHint: cmd,\n };\n }\n\n async checkCursor(required: boolean): Promise<DepCheckResult> {\n const path = await which('cursor');\n const version = path ? await getVersion('cursor') : null;\n return {\n name: 'cursor',\n displayName: 'Cursor Agent CLI',\n required,\n installed: path !== null,\n version: version ?? undefined,\n installHint: t('cli.cursorInstallHint'),\n };\n }\n\n async checkCodebuddy(required: boolean): Promise<DepCheckResult> {\n const path = await which('codebuddy');\n const version = path ? await getVersion('codebuddy') : null;\n const cmd = 'npm install -g codebuddy-code';\n return {\n name: 'codebuddy',\n displayName: 'CodeBuddy CLI',\n required,\n installed: path !== null,\n version: version ?? undefined,\n installCommand: cmd,\n installHint: cmd,\n };\n }\n\n async *install(name: string): AsyncGenerator<string> {\n const checks = await this.checkAll();\n const dep = checks.find((d) => d.name === name);\n if (!dep) {\n yield t('cli.unknownDep', { name });\n return;\n }\n if (dep.installed) {\n yield t('cli.alreadyInstalled', { name: dep.displayName, version: dep.version ?? '' });\n return;\n }\n if (!dep.installCommand) {\n yield t('cli.manualInstall', { name: dep.displayName, hint: dep.installHint ?? '' });\n return;\n }\n\n yield t('cli.installing', { name: dep.displayName });\n yield `$ ${dep.installCommand}`;\n\n const proc = spawn(dep.installCommand, {\n stdio: ['ignore', 'pipe', 'pipe'],\n shell: true,\n });\n\n for await (const chunk of proc.stdout) {\n yield chunk.toString();\n }\n for await (const chunk of proc.stderr) {\n yield chunk.toString();\n }\n\n const exitCode = await new Promise<number>((resolve) => {\n proc.on('close', (code) => resolve(code ?? 1));\n });\n\n if (exitCode === 0) {\n yield t('cli.installSuccess', { name: dep.displayName });\n } else {\n yield t('cli.installFailed', { name: dep.displayName, code: exitCode });\n }\n }\n}\n"],"mappings":"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","names":[]}
|