chore: update imports to Node.js prefix and add error handling improvements (#221)
## CHANGES
- Replace require('fs') with require('node:fs')
- Replace require('path') with require('node:path')
- Add debug logging for directory cleanup
- Add roomodes to VSCode dictionary
- Format README workflow guides section
- Improve error handling in installer
- Add fallback error message display
This commit is contained in:
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
@@ -41,6 +41,7 @@
|
||||
"rescope",
|
||||
"roadmaps",
|
||||
"roleplay",
|
||||
"roomodes",
|
||||
"runbooks",
|
||||
"Serilog",
|
||||
"shadcn",
|
||||
|
||||
@@ -254,6 +254,7 @@ npm install
|
||||
## Documentation & Guides
|
||||
|
||||
### Workflow Guides
|
||||
|
||||
- 📚 [Universal BMAD Workflow Guide](docs/bmad-workflow-guide.md) - Core workflow that applies to all IDEs
|
||||
- 🎯 [Cursor Guide](docs/cursor-guide.md) - Complete workflow for Cursor users
|
||||
- 🤖 [Claude Code Guide](docs/claude-code-guide.md) - Complete workflow for Claude Code users
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const fs = require('fs').promises;
|
||||
const path = require('path');
|
||||
const fs = require('node:fs').promises;
|
||||
const path = require('node:path');
|
||||
const DependencyResolver = require('../lib/dependency-resolver');
|
||||
|
||||
class WebBuilder {
|
||||
@@ -19,6 +19,7 @@ class WebBuilder {
|
||||
await fs.rm(dir, { recursive: true, force: true });
|
||||
console.log(`Cleaned: ${path.relative(this.rootDir, dir)}`);
|
||||
} catch (error) {
|
||||
console.debug(`Failed to clean directory ${dir}:`, error.message);
|
||||
// Directory might not exist, that's fine
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,16 +3,17 @@
|
||||
const { program } = require('commander');
|
||||
const inquirer = require('inquirer');
|
||||
const chalk = require('chalk');
|
||||
const path = require('path');
|
||||
|
||||
// Handle both execution contexts (from root via npx or from installer directory)
|
||||
let version, installer;
|
||||
let version;
|
||||
let installer;
|
||||
try {
|
||||
// Try installer context first (when run from tools/installer/)
|
||||
version = require('../package.json').version;
|
||||
installer = require('../lib/installer');
|
||||
} catch (e) {
|
||||
// Fall back to root context (when run via npx from GitHub)
|
||||
console.log(chalk.yellow(`Installer context not found (${e.message}), trying root context...`));
|
||||
try {
|
||||
version = require('../../../package.json').version;
|
||||
installer = require('../../../tools/installer/lib/installer');
|
||||
@@ -42,7 +43,7 @@ program
|
||||
try {
|
||||
if (!options.full && !options.agent) {
|
||||
// Interactive mode
|
||||
const answers = await promptInstallation(options);
|
||||
const answers = await promptInstallation();
|
||||
await installer.install(answers);
|
||||
} else {
|
||||
// Direct mode
|
||||
@@ -98,7 +99,7 @@ program
|
||||
}
|
||||
});
|
||||
|
||||
async function promptInstallation(options) {
|
||||
async function promptInstallation() {
|
||||
console.log(chalk.bold.blue(`\nWelcome to BMAD Method Installer v${version}\n`));
|
||||
|
||||
const answers = {};
|
||||
|
||||
Reference in New Issue
Block a user