From dc44ed9de8a57aca5d39d3a87565568bd0a82068 Mon Sep 17 00:00:00 2001 From: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com> Date: Thu, 24 Jul 2025 16:50:18 +0300 Subject: [PATCH] feat: Improved the CLI user interface to suggest generating a complexity report if it is missing, instead of showing an error. (#1043) * feat: fix CLI UI error when trying to display non-existent complexity report * chore: fix git issue * chore: run format * Update .changeset/thick-squids-attend.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update .changeset/thick-squids-attend.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update .changeset/thick-squids-attend.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .changeset/thick-squids-attend.md | 5 +++++ package.json | 5 +---- scripts/modules/ui.js | 14 ++++---------- 3 files changed, 10 insertions(+), 14 deletions(-) create mode 100644 .changeset/thick-squids-attend.md diff --git a/.changeset/thick-squids-attend.md b/.changeset/thick-squids-attend.md new file mode 100644 index 00000000..34a432d2 --- /dev/null +++ b/.changeset/thick-squids-attend.md @@ -0,0 +1,5 @@ +--- +"task-master-ai": minor +--- + +Prompt to generate a complexity report when it is missing diff --git a/package.json b/package.json index d9b5899e..7f5c01a3 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,7 @@ "task-master-mcp": "mcp-server/server.js", "task-master-ai": "mcp-server/server.js" }, - "workspaces": [ - "apps/*", - "." - ], + "workspaces": ["apps/*", "."], "scripts": { "test": "node --experimental-vm-modules node_modules/.bin/jest", "test:fails": "node --experimental-vm-modules node_modules/.bin/jest --onlyFailures", diff --git a/scripts/modules/ui.js b/scripts/modules/ui.js index ad417ec1..a56d18f0 100644 --- a/scripts/modules/ui.js +++ b/scripts/modules/ui.js @@ -9,6 +9,7 @@ import boxen from 'boxen'; import ora from 'ora'; import Table from 'cli-table3'; import gradient from 'gradient-string'; +import readline from 'readline'; import { log, findTaskById, @@ -1682,18 +1683,15 @@ async function displayComplexityReport(reportPath) { ) ); - const readline = require('readline').createInterface({ + const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); const answer = await new Promise((resolve) => { - readline.question( - chalk.cyan('Generate complexity report? (y/n): '), - resolve - ); + rl.question(chalk.cyan('Generate complexity report? (y/n): '), resolve); }); - readline.close(); + rl.close(); if (answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes') { // Call the analyze-complexity command @@ -1974,8 +1972,6 @@ async function confirmTaskOverwrite(tasksPath) { ) ); - // Use dynamic import to get the readline module - const readline = await import('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout @@ -2463,8 +2459,6 @@ async function displayMultipleTasksSummary( ) ); - // Use dynamic import for readline - const readline = await import('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout