From dbfa29598163c330d57d011809f6178b6785c4ce Mon Sep 17 00:00:00 2001 From: cecil-the-coder Date: Fri, 15 Aug 2025 20:01:30 -0600 Subject: [PATCH] fix: resolve CommonJS import compatibility for chalk, inquirer, and ora (#442) Adds .default fallback for CommonJS imports to resolve compatibility issues with newer versions of chalk, inquirer, and ora packages. Fixes installer failures when error handlers or interactive prompts are triggered. Changes: - chalk: require('chalk').default || require('chalk') - inquirer: require('inquirer').default || require('inquirer') - ora: require('ora').default || require('ora') Affects: installer.js, ide-setup.js, file-manager.js, ide-base-setup.js, bmad.js Co-authored-by: Cecil --- tools/installer/bin/bmad.js | 4 ++-- tools/installer/lib/file-manager.js | 10 +++++----- tools/installer/lib/ide-base-setup.js | 4 ++-- tools/installer/lib/ide-setup.js | 6 +++--- tools/installer/lib/installer.js | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tools/installer/bin/bmad.js b/tools/installer/bin/bmad.js index 38d5ddac..8a074d30 100755 --- a/tools/installer/bin/bmad.js +++ b/tools/installer/bin/bmad.js @@ -4,8 +4,8 @@ const { program } = require('commander'); const path = require('node:path'); const fs = require('node:fs').promises; const yaml = require('js-yaml'); -const chalk = require('chalk'); -const inquirer = require('inquirer'); +const chalk = require('chalk').default || require('chalk'); +const inquirer = require('inquirer').default || require('inquirer'); const semver = require('semver'); const https = require('https'); diff --git a/tools/installer/lib/file-manager.js b/tools/installer/lib/file-manager.js index df386da8..05804ae9 100644 --- a/tools/installer/lib/file-manager.js +++ b/tools/installer/lib/file-manager.js @@ -1,10 +1,10 @@ const fs = require('fs-extra'); -const path = require('node:path'); -const crypto = require('node:crypto'); +const path = require('path'); +const crypto = require('crypto'); const yaml = require('js-yaml'); -const chalk = require('chalk'); -const { createReadStream, createWriteStream, promises: fsPromises } = require('node:fs'); -const { pipeline } = require('node:stream/promises'); +const chalk = require('chalk').default || require('chalk'); +const { createReadStream, createWriteStream, promises: fsPromises } = require('fs'); +const { pipeline } = require('stream/promises'); const resourceLocator = require('./resource-locator'); class FileManager { diff --git a/tools/installer/lib/ide-base-setup.js b/tools/installer/lib/ide-base-setup.js index 903192a0..a80a1bc4 100644 --- a/tools/installer/lib/ide-base-setup.js +++ b/tools/installer/lib/ide-base-setup.js @@ -3,10 +3,10 @@ * Reduces duplication and provides shared methods */ -const path = require('node:path'); +const path = require('path'); const fs = require('fs-extra'); const yaml = require('js-yaml'); -const chalk = require('chalk'); +const chalk = require('chalk').default || require('chalk'); const fileManager = require('./file-manager'); const resourceLocator = require('./resource-locator'); const { extractYamlFromAgent } = require('../../lib/yaml-utils'); diff --git a/tools/installer/lib/ide-setup.js b/tools/installer/lib/ide-setup.js index 2a0f5a1e..7eb9e109 100644 --- a/tools/installer/lib/ide-setup.js +++ b/tools/installer/lib/ide-setup.js @@ -1,8 +1,8 @@ -const path = require('node:path'); +const path = require('path'); const fs = require('fs-extra'); const yaml = require('js-yaml'); -const chalk = require('chalk'); -const inquirer = require('inquirer'); +const chalk = require('chalk').default || require('chalk'); +const inquirer = require('inquirer').default || require('inquirer'); const fileManager = require('./file-manager'); const configLoader = require('./config-loader'); const { extractYamlFromAgent } = require('../../lib/yaml-utils'); diff --git a/tools/installer/lib/installer.js b/tools/installer/lib/installer.js index e709b4cf..e59238d0 100644 --- a/tools/installer/lib/installer.js +++ b/tools/installer/lib/installer.js @@ -1,8 +1,8 @@ const path = require('node:path'); const fs = require('fs-extra'); -const chalk = require('chalk'); -const ora = require('ora'); -const inquirer = require('inquirer'); +const chalk = require('chalk').default || require('chalk'); +const ora = require('ora').default || require('ora'); +const inquirer = require('inquirer').default || require('inquirer'); const fileManager = require('./file-manager'); const configLoader = require('./config-loader'); const ideSetup = require('./ide-setup');