@wundr.io/cli 1.0.12 → 1.0.13
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/LICENSE +21 -0
- package/dist/ai/ai-service.d.ts +152 -0
- package/dist/ai/ai-service.d.ts.map +1 -0
- package/dist/ai/ai-service.js +430 -0
- package/dist/ai/ai-service.js.map +1 -0
- package/dist/ai/claude-client.d.ts +130 -0
- package/dist/ai/claude-client.d.ts.map +1 -0
- package/dist/ai/claude-client.js +340 -0
- package/dist/ai/claude-client.js.map +1 -0
- package/dist/ai/conversation-manager.d.ts +164 -0
- package/dist/ai/conversation-manager.d.ts.map +1 -0
- package/dist/ai/conversation-manager.js +614 -0
- package/dist/ai/conversation-manager.js.map +1 -0
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +8 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/cli.d.ts +36 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +192 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/ai.d.ts +89 -0
- package/dist/commands/ai.d.ts.map +1 -0
- package/dist/commands/ai.js +954 -0
- package/dist/commands/ai.js.map +1 -0
- package/dist/commands/alignment.d.ts +78 -0
- package/dist/commands/alignment.d.ts.map +1 -0
- package/dist/commands/alignment.js +817 -0
- package/dist/commands/alignment.js.map +1 -0
- package/dist/commands/analyze-optimized.d.ts +14 -0
- package/dist/commands/analyze-optimized.d.ts.map +1 -0
- package/dist/commands/analyze-optimized.js +609 -0
- package/dist/commands/analyze-optimized.js.map +1 -0
- package/dist/commands/analyze.d.ts +65 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +435 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/batch.d.ts +93 -0
- package/dist/commands/batch.d.ts.map +1 -0
- package/dist/commands/batch.js +854 -0
- package/dist/commands/batch.js.map +1 -0
- package/dist/commands/chat.d.ts +72 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +678 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/claude-init.d.ts +28 -0
- package/dist/commands/claude-init.d.ts.map +1 -0
- package/dist/commands/claude-init.js +591 -0
- package/dist/commands/claude-init.js.map +1 -0
- package/dist/commands/claude-setup.d.ts +119 -0
- package/dist/commands/claude-setup.d.ts.map +1 -0
- package/dist/commands/claude-setup.js +1079 -0
- package/dist/commands/claude-setup.js.map +1 -0
- package/dist/commands/computer-setup.d.ts +8 -0
- package/dist/commands/computer-setup.d.ts.map +1 -0
- package/dist/commands/computer-setup.js +877 -0
- package/dist/commands/computer-setup.js.map +1 -0
- package/dist/commands/create-command.d.ts +7 -0
- package/dist/commands/create-command.d.ts.map +1 -0
- package/dist/commands/create-command.js +158 -0
- package/dist/commands/create-command.js.map +1 -0
- package/dist/commands/create.d.ts +74 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +556 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/dashboard.d.ts +91 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +538 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/govern.d.ts +70 -0
- package/dist/commands/govern.d.ts.map +1 -0
- package/dist/commands/govern.js +481 -0
- package/dist/commands/govern.js.map +1 -0
- package/dist/commands/governance.d.ts +17 -0
- package/dist/commands/governance.d.ts.map +1 -0
- package/dist/commands/governance.js +703 -0
- package/dist/commands/governance.js.map +1 -0
- package/dist/commands/guardian.d.ts +20 -0
- package/dist/commands/guardian.d.ts.map +1 -0
- package/dist/commands/guardian.js +597 -0
- package/dist/commands/guardian.js.map +1 -0
- package/dist/commands/init.d.ts +59 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +650 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/orchestrator.d.ts +7 -0
- package/dist/commands/orchestrator.d.ts.map +1 -0
- package/dist/commands/orchestrator.js +578 -0
- package/dist/commands/orchestrator.js.map +1 -0
- package/dist/commands/performance-optimizer.d.ts +30 -0
- package/dist/commands/performance-optimizer.d.ts.map +1 -0
- package/dist/commands/performance-optimizer.js +650 -0
- package/dist/commands/performance-optimizer.js.map +1 -0
- package/dist/commands/plugins.d.ts +87 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +685 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/rag.d.ts +7 -0
- package/dist/commands/rag.d.ts.map +1 -0
- package/dist/commands/rag.js +751 -0
- package/dist/commands/rag.js.map +1 -0
- package/dist/commands/session.d.ts +41 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +441 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.d.ts +24 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +172 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/test-init.d.ts +9 -0
- package/dist/commands/test-init.d.ts.map +1 -0
- package/dist/commands/test-init.js +222 -0
- package/dist/commands/test-init.js.map +1 -0
- package/dist/commands/test.d.ts +25 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +217 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/watch.d.ts +76 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +613 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/commands/worktree.d.ts +63 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +774 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/context/context-manager.d.ts +155 -0
- package/dist/context/context-manager.d.ts.map +1 -0
- package/dist/context/context-manager.js +383 -0
- package/dist/context/context-manager.js.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +6 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/session-manager.d.ts +207 -0
- package/dist/context/session-manager.d.ts.map +1 -0
- package/dist/context/session-manager.js +686 -0
- package/dist/context/session-manager.js.map +1 -0
- package/dist/framework/command-interface.d.ts +349 -0
- package/dist/framework/command-interface.d.ts.map +1 -0
- package/dist/framework/command-interface.js +101 -0
- package/dist/framework/command-interface.js.map +1 -0
- package/dist/framework/command-registry.d.ts +173 -0
- package/dist/framework/command-registry.d.ts.map +1 -0
- package/dist/framework/command-registry.js +734 -0
- package/dist/framework/command-registry.js.map +1 -0
- package/dist/framework/completion-exporter.d.ts +79 -0
- package/dist/framework/completion-exporter.d.ts.map +1 -0
- package/dist/framework/completion-exporter.js +259 -0
- package/dist/framework/completion-exporter.js.map +1 -0
- package/dist/framework/debug-logger.d.ts +163 -0
- package/dist/framework/debug-logger.d.ts.map +1 -0
- package/dist/framework/debug-logger.js +373 -0
- package/dist/framework/debug-logger.js.map +1 -0
- package/dist/framework/error-handler.d.ts +196 -0
- package/dist/framework/error-handler.d.ts.map +1 -0
- package/dist/framework/error-handler.js +613 -0
- package/dist/framework/error-handler.js.map +1 -0
- package/dist/framework/help-generator.d.ts +78 -0
- package/dist/framework/help-generator.d.ts.map +1 -0
- package/dist/framework/help-generator.js +414 -0
- package/dist/framework/help-generator.js.map +1 -0
- package/dist/framework/index.d.ts +62 -0
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +95 -0
- package/dist/framework/index.js.map +1 -0
- package/dist/framework/interactive-repl.d.ts +138 -0
- package/dist/framework/interactive-repl.d.ts.map +1 -0
- package/dist/framework/interactive-repl.js +567 -0
- package/dist/framework/interactive-repl.js.map +1 -0
- package/dist/framework/output-formatter.d.ts +274 -0
- package/dist/framework/output-formatter.d.ts.map +1 -0
- package/dist/framework/output-formatter.js +545 -0
- package/dist/framework/output-formatter.js.map +1 -0
- package/dist/framework/progress-manager.d.ts +192 -0
- package/dist/framework/progress-manager.d.ts.map +1 -0
- package/dist/framework/progress-manager.js +408 -0
- package/dist/framework/progress-manager.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/interactive/interactive-mode.d.ts +76 -0
- package/dist/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/interactive/interactive-mode.js +732 -0
- package/dist/interactive/interactive-mode.js.map +1 -0
- package/dist/nlp/command-mapper.d.ts +174 -0
- package/dist/nlp/command-mapper.d.ts.map +1 -0
- package/dist/nlp/command-mapper.js +624 -0
- package/dist/nlp/command-mapper.js.map +1 -0
- package/dist/nlp/command-parser.d.ts +106 -0
- package/dist/nlp/command-parser.d.ts.map +1 -0
- package/dist/nlp/command-parser.js +417 -0
- package/dist/nlp/command-parser.js.map +1 -0
- package/dist/nlp/index.d.ts +5 -0
- package/dist/nlp/index.d.ts.map +1 -0
- package/dist/nlp/index.js +8 -0
- package/dist/nlp/index.js.map +1 -0
- package/dist/nlp/intent-classifier.d.ts +59 -0
- package/dist/nlp/intent-classifier.d.ts.map +1 -0
- package/dist/nlp/intent-classifier.js +384 -0
- package/dist/nlp/intent-classifier.js.map +1 -0
- package/dist/nlp/intent-parser.d.ts +152 -0
- package/dist/nlp/intent-parser.d.ts.map +1 -0
- package/dist/nlp/intent-parser.js +746 -0
- package/dist/nlp/intent-parser.js.map +1 -0
- package/dist/plugins/plugin-manager.d.ts +121 -0
- package/dist/plugins/plugin-manager.d.ts.map +1 -0
- package/dist/plugins/plugin-manager.js +606 -0
- package/dist/plugins/plugin-manager.js.map +1 -0
- package/dist/types/index.d.ts +224 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/backup-rollback-manager.d.ts +72 -0
- package/dist/utils/backup-rollback-manager.d.ts.map +1 -0
- package/dist/utils/backup-rollback-manager.js +288 -0
- package/dist/utils/backup-rollback-manager.js.map +1 -0
- package/dist/utils/claude-config-installer.d.ts +98 -0
- package/dist/utils/claude-config-installer.d.ts.map +1 -0
- package/dist/utils/claude-config-installer.js +678 -0
- package/dist/utils/claude-config-installer.js.map +1 -0
- package/dist/utils/config-manager.d.ts +73 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-manager.js +339 -0
- package/dist/utils/config-manager.js.map +1 -0
- package/dist/utils/error-handler.d.ts +46 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +169 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/logger.d.ts +25 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +105 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +23 -23
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Simple Setup Commands - Main setup entry points
|
|
4
|
+
*
|
|
5
|
+
* `wundr setup` (and its sub-commands) delegate to the SAME code path as
|
|
6
|
+
* `wundr computer-setup` (runComputerSetup -> ComputerSetupManager), so there is
|
|
7
|
+
* a single orchestrator engine across the whole CLI. The old RealSetupOrchestrator
|
|
8
|
+
* has been retired.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.SetupCommands = void 0;
|
|
12
|
+
const tslib_1 = require("tslib");
|
|
13
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
14
|
+
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
15
|
+
const ora_1 = tslib_1.__importDefault(require("ora"));
|
|
16
|
+
const computer_setup_1 = require("./computer-setup");
|
|
17
|
+
class SetupCommands {
|
|
18
|
+
program;
|
|
19
|
+
configManager;
|
|
20
|
+
pluginManager;
|
|
21
|
+
constructor(program, configManager, pluginManager) {
|
|
22
|
+
this.program = program;
|
|
23
|
+
this.configManager = configManager;
|
|
24
|
+
this.pluginManager = pluginManager;
|
|
25
|
+
this.registerCommands();
|
|
26
|
+
}
|
|
27
|
+
registerCommands() {
|
|
28
|
+
// Main setup command (wundr setup)
|
|
29
|
+
this.program
|
|
30
|
+
.command('setup')
|
|
31
|
+
.description('Set up developer machine with required tools')
|
|
32
|
+
.option('-p, --profile <profile>', 'Use specific profile (frontend, backend, fullstack, devops)', 'fullstack')
|
|
33
|
+
.option('--dry-run', 'Show what would be installed without making changes')
|
|
34
|
+
.option('--interactive', 'Run in interactive mode')
|
|
35
|
+
.option('--no-remote-access', 'Skip remote-access provisioning')
|
|
36
|
+
.action(async (options) => {
|
|
37
|
+
await this.runSetup(options);
|
|
38
|
+
});
|
|
39
|
+
// Setup with specific profile (wundr setup:profile frontend)
|
|
40
|
+
const setupProfile = this.program
|
|
41
|
+
.command('setup:profile')
|
|
42
|
+
.description('Set up using a specific developer profile');
|
|
43
|
+
for (const profile of ['frontend', 'backend', 'fullstack', 'devops']) {
|
|
44
|
+
setupProfile
|
|
45
|
+
.command(profile)
|
|
46
|
+
.description(`Set up ${profile} development environment`)
|
|
47
|
+
.action(async () => {
|
|
48
|
+
await this.runSetup({ profile });
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// Validate setup (wundr setup:validate)
|
|
52
|
+
this.program
|
|
53
|
+
.command('setup:validate')
|
|
54
|
+
.description('Validate current development environment setup')
|
|
55
|
+
.option('--profile <profile>', 'Validate against specific profile')
|
|
56
|
+
.option('--fix', 'Attempt to fix issues found')
|
|
57
|
+
.action(async (options) => {
|
|
58
|
+
await this.validateSetup(options);
|
|
59
|
+
});
|
|
60
|
+
// Resume setup (wundr setup:resume) — re-runs idempotently, skipping
|
|
61
|
+
// already-installed tools (the setup flow is now idempotent).
|
|
62
|
+
this.program
|
|
63
|
+
.command('setup:resume')
|
|
64
|
+
.description('Re-run setup, skipping tools that are already installed')
|
|
65
|
+
.option('-p, --profile <profile>', 'Profile to resume', 'fullstack')
|
|
66
|
+
.action(async (options) => {
|
|
67
|
+
await this.runSetup({ ...options, skipExisting: true });
|
|
68
|
+
});
|
|
69
|
+
// Personalize setup (wundr setup:personalize)
|
|
70
|
+
this.program
|
|
71
|
+
.command('setup:personalize')
|
|
72
|
+
.description('Run personalization and configuration')
|
|
73
|
+
.action(async () => {
|
|
74
|
+
await this.personalizeSetup();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
async runSetup(options) {
|
|
78
|
+
// Single source of truth: the same handler that backs `wundr computer-setup`.
|
|
79
|
+
await (0, computer_setup_1.runComputerSetup)({
|
|
80
|
+
profile: options.profile,
|
|
81
|
+
mode: options.interactive ? 'interactive' : 'automated',
|
|
82
|
+
dryRun: Boolean(options.dryRun),
|
|
83
|
+
interactive: Boolean(options.interactive),
|
|
84
|
+
skipExisting: Boolean(options.skipExisting),
|
|
85
|
+
remoteAccess: options.remoteAccess,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
async validateSetup(options) {
|
|
89
|
+
console.log(chalk_1.default.cyan('\n🔍 Validating development environment...\n'));
|
|
90
|
+
const spinner = (0, ora_1.default)('Running validation checks...').start();
|
|
91
|
+
const checks = [
|
|
92
|
+
{ name: 'Node.js', test: () => this.checkCommand('node --version') },
|
|
93
|
+
{ name: 'Git', test: () => this.checkCommand('git --version') },
|
|
94
|
+
{ name: 'Homebrew', test: () => this.checkCommand('brew --version') },
|
|
95
|
+
{ name: 'Docker', test: () => this.checkCommand('docker --version') },
|
|
96
|
+
];
|
|
97
|
+
const results = [];
|
|
98
|
+
for (const check of checks) {
|
|
99
|
+
try {
|
|
100
|
+
results.push({
|
|
101
|
+
name: check.name,
|
|
102
|
+
status: 'pass',
|
|
103
|
+
version: await check.test(),
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
results.push({ name: check.name, status: 'fail' });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
spinner.stop();
|
|
111
|
+
console.log(chalk_1.default.cyan('📊 Validation Results:\n'));
|
|
112
|
+
results.forEach(result => {
|
|
113
|
+
const icon = result.status === 'pass' ? '✅' : '❌';
|
|
114
|
+
const status = result.status === 'pass'
|
|
115
|
+
? chalk_1.default.green(result.version || 'installed')
|
|
116
|
+
: chalk_1.default.red('not found');
|
|
117
|
+
console.log(`${icon} ${result.name}: ${status}`);
|
|
118
|
+
});
|
|
119
|
+
const failed = results.filter(r => r.status === 'fail');
|
|
120
|
+
if (failed.length > 0) {
|
|
121
|
+
console.log(chalk_1.default.yellow(`\n⚠️ ${failed.length} issues found`));
|
|
122
|
+
if (options.fix) {
|
|
123
|
+
console.log(chalk_1.default.cyan('\n🔧 Attempting to fix issues...'));
|
|
124
|
+
await this.runSetup({ profile: options.profile || 'fullstack' });
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
console.log(chalk_1.default.cyan('\n💡 Fix issues with: wundr setup:validate --fix'));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.log(chalk_1.default.green('\n✅ All checks passed! Environment is ready.'));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
async personalizeSetup() {
|
|
135
|
+
console.log(chalk_1.default.cyan('\n👤 Personal Configuration Setup\n'));
|
|
136
|
+
const answers = await inquirer_1.default.prompt([
|
|
137
|
+
{
|
|
138
|
+
type: 'input',
|
|
139
|
+
name: 'name',
|
|
140
|
+
message: 'Your name:',
|
|
141
|
+
validate: (input) => input.length > 0 || 'Name is required',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'input',
|
|
145
|
+
name: 'email',
|
|
146
|
+
message: 'Your email:',
|
|
147
|
+
validate: (input) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(input) || 'Valid email required',
|
|
148
|
+
},
|
|
149
|
+
]);
|
|
150
|
+
console.log(chalk_1.default.cyan('\n⚙️ Configuring personal settings...'));
|
|
151
|
+
try {
|
|
152
|
+
await this.runCommand(`git config --global user.name "${answers.name}"`);
|
|
153
|
+
await this.runCommand(`git config --global user.email "${answers.email}"`);
|
|
154
|
+
console.log(chalk_1.default.green('✅ Git configured'));
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
console.log(chalk_1.default.yellow('⚠️ Could not configure Git'));
|
|
158
|
+
}
|
|
159
|
+
console.log(chalk_1.default.green('\n✅ Personalization complete!'));
|
|
160
|
+
}
|
|
161
|
+
async checkCommand(command) {
|
|
162
|
+
const { execa } = await Promise.resolve().then(() => tslib_1.__importStar(require('execa')));
|
|
163
|
+
const { stdout } = await execa('sh', ['-c', command]);
|
|
164
|
+
return stdout?.split('\n')[0] || '';
|
|
165
|
+
}
|
|
166
|
+
async runCommand(command) {
|
|
167
|
+
const { execa } = await Promise.resolve().then(() => tslib_1.__importStar(require('execa')));
|
|
168
|
+
await execa('sh', ['-c', command]);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.SetupCommands = SetupCommands;
|
|
172
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export declare class TestInitCommand {
|
|
3
|
+
run(): Promise<void>;
|
|
4
|
+
private generateConfig;
|
|
5
|
+
private updatePackageJson;
|
|
6
|
+
private generateCIConfig;
|
|
7
|
+
}
|
|
8
|
+
export declare function createTestInitCommand(): Command;
|
|
9
|
+
//# sourceMappingURL=test-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-init.d.ts","sourceRoot":"","sources":["../../src/commands/test-init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,qBAAa,eAAe;IACpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAoF1B,OAAO,CAAC,cAAc;YAsER,iBAAiB;YAmBjB,gBAAgB;CAkD/B;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAS/C"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TestInitCommand = void 0;
|
|
4
|
+
exports.createTestInitCommand = createTestInitCommand;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
|
+
const commander_1 = require("commander");
|
|
9
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
10
|
+
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
11
|
+
class TestInitCommand {
|
|
12
|
+
async run() {
|
|
13
|
+
console.log(chalk_1.default.blue('\n🧪 Initializing Wundr Test Configuration\n'));
|
|
14
|
+
const answers = await inquirer_1.default.prompt([
|
|
15
|
+
{
|
|
16
|
+
type: 'input',
|
|
17
|
+
name: 'baseURL',
|
|
18
|
+
message: "What is your application's base URL?",
|
|
19
|
+
default: 'http://localhost:3000',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'input',
|
|
23
|
+
name: 'apiURL',
|
|
24
|
+
message: 'What is your API base URL?',
|
|
25
|
+
default: 'http://localhost:3000/api',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'checkbox',
|
|
29
|
+
name: 'testSuites',
|
|
30
|
+
message: 'Which test suites would you like to enable?',
|
|
31
|
+
choices: [
|
|
32
|
+
{ name: 'Smoke Tests', value: 'smoke', checked: true },
|
|
33
|
+
{
|
|
34
|
+
name: 'Accessibility Tests',
|
|
35
|
+
value: 'accessibility',
|
|
36
|
+
checked: true,
|
|
37
|
+
},
|
|
38
|
+
{ name: 'API Tests', value: 'api', checked: true },
|
|
39
|
+
{ name: 'Performance Tests', value: 'performance', checked: false },
|
|
40
|
+
{ name: 'Security Tests', value: 'security', checked: false },
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
type: 'checkbox',
|
|
45
|
+
name: 'browsers',
|
|
46
|
+
message: 'Which browsers should we test?',
|
|
47
|
+
choices: [
|
|
48
|
+
{ name: 'Chromium', value: 'chromium', checked: true },
|
|
49
|
+
{ name: 'Firefox', value: 'firefox', checked: false },
|
|
50
|
+
{ name: 'Safari (WebKit)', value: 'webkit', checked: false },
|
|
51
|
+
{ name: 'Mobile', value: 'mobile', checked: true },
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'confirm',
|
|
56
|
+
name: 'headless',
|
|
57
|
+
message: 'Run tests in headless mode?',
|
|
58
|
+
default: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
type: 'confirm',
|
|
62
|
+
name: 'ci',
|
|
63
|
+
message: 'Would you like to add CI/CD configuration?',
|
|
64
|
+
default: true,
|
|
65
|
+
},
|
|
66
|
+
]);
|
|
67
|
+
// Generate configuration
|
|
68
|
+
const config = this.generateConfig(answers);
|
|
69
|
+
// Write configuration file
|
|
70
|
+
const configPath = path_1.default.join(process.cwd(), 'wundr-test.config.js');
|
|
71
|
+
await fs_extra_1.default.writeFile(configPath, config);
|
|
72
|
+
console.log(chalk_1.default.green('\n✅ Test configuration created: wundr-test.config.js'));
|
|
73
|
+
// Add package.json scripts
|
|
74
|
+
await this.updatePackageJson();
|
|
75
|
+
// Generate CI configuration if requested
|
|
76
|
+
if (answers.ci) {
|
|
77
|
+
await this.generateCIConfig(answers);
|
|
78
|
+
}
|
|
79
|
+
// Show next steps
|
|
80
|
+
console.log(chalk_1.default.cyan('\n📋 Next Steps:'));
|
|
81
|
+
console.log(' 1. Install Playwright: npm install -D @playwright/test');
|
|
82
|
+
console.log(' 2. Run tests: npm run test:wundr');
|
|
83
|
+
console.log(' 3. View report: npm run test:report');
|
|
84
|
+
console.log(' 4. Customize wundr-test.config.js as needed');
|
|
85
|
+
}
|
|
86
|
+
generateConfig(answers) {
|
|
87
|
+
const testSuites = answers.testSuites.reduce((acc, suite) => {
|
|
88
|
+
acc[suite] = true;
|
|
89
|
+
return acc;
|
|
90
|
+
}, {});
|
|
91
|
+
const projects = answers.browsers
|
|
92
|
+
.map((browser) => {
|
|
93
|
+
if (browser === 'mobile') {
|
|
94
|
+
return ` {
|
|
95
|
+
name: 'mobile',
|
|
96
|
+
use: {
|
|
97
|
+
browserName: 'chromium',
|
|
98
|
+
viewport: { width: 375, height: 667 },
|
|
99
|
+
userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X)'
|
|
100
|
+
}
|
|
101
|
+
}`;
|
|
102
|
+
}
|
|
103
|
+
return ` {
|
|
104
|
+
name: '${browser}',
|
|
105
|
+
use: {
|
|
106
|
+
browserName: '${browser}',
|
|
107
|
+
viewport: { width: 1280, height: 720 }
|
|
108
|
+
}
|
|
109
|
+
}`;
|
|
110
|
+
})
|
|
111
|
+
.join(',\n');
|
|
112
|
+
return `/**
|
|
113
|
+
* Wundr Test Configuration
|
|
114
|
+
* Generated on ${new Date().toISOString()}
|
|
115
|
+
*/
|
|
116
|
+
|
|
117
|
+
module.exports = {
|
|
118
|
+
// Base URL of your application
|
|
119
|
+
baseURL: '${answers.baseURL}',
|
|
120
|
+
|
|
121
|
+
// Test execution settings
|
|
122
|
+
timeout: 30000,
|
|
123
|
+
retries: 2,
|
|
124
|
+
workers: 4,
|
|
125
|
+
|
|
126
|
+
// Browser settings
|
|
127
|
+
headless: ${answers.headless},
|
|
128
|
+
slowMo: 0,
|
|
129
|
+
|
|
130
|
+
// Screenshot and video settings
|
|
131
|
+
screenshot: 'only-on-failure',
|
|
132
|
+
video: 'retain-on-failure',
|
|
133
|
+
trace: 'on-first-retry',
|
|
134
|
+
|
|
135
|
+
// API configuration
|
|
136
|
+
api: {
|
|
137
|
+
baseURL: '${answers.apiURL}',
|
|
138
|
+
headers: {
|
|
139
|
+
'Content-Type': 'application/json'
|
|
140
|
+
},
|
|
141
|
+
timeout: 10000
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
// Enabled test suites
|
|
145
|
+
testSuites: ${JSON.stringify(testSuites, null, 4)},
|
|
146
|
+
|
|
147
|
+
// Projects/browsers to test
|
|
148
|
+
projects: [
|
|
149
|
+
${projects}
|
|
150
|
+
]
|
|
151
|
+
};`;
|
|
152
|
+
}
|
|
153
|
+
async updatePackageJson() {
|
|
154
|
+
const packageJsonPath = path_1.default.join(process.cwd(), 'package.json');
|
|
155
|
+
if (await fs_extra_1.default.pathExists(packageJsonPath)) {
|
|
156
|
+
const packageJson = await fs_extra_1.default.readJson(packageJsonPath);
|
|
157
|
+
packageJson.scripts = packageJson.scripts || {};
|
|
158
|
+
packageJson.scripts['test:wundr'] = 'wundr test';
|
|
159
|
+
packageJson.scripts['test:wundr:ui'] = 'wundr test --type ui';
|
|
160
|
+
packageJson.scripts['test:wundr:api'] = 'wundr test --type api';
|
|
161
|
+
packageJson.scripts['test:wundr:headed'] = 'wundr test --headed';
|
|
162
|
+
packageJson.scripts['test:report'] = 'wundr test --report';
|
|
163
|
+
await fs_extra_1.default.writeJson(packageJsonPath, packageJson, { spaces: 2 });
|
|
164
|
+
console.log(chalk_1.default.green('✅ Added test scripts to package.json'));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async generateCIConfig(answers) {
|
|
168
|
+
const githubWorkflow = `name: Wundr Tests
|
|
169
|
+
|
|
170
|
+
on:
|
|
171
|
+
push:
|
|
172
|
+
branches: [ main, master ]
|
|
173
|
+
pull_request:
|
|
174
|
+
branches: [ main, master ]
|
|
175
|
+
|
|
176
|
+
jobs:
|
|
177
|
+
test:
|
|
178
|
+
runs-on: ubuntu-latest
|
|
179
|
+
|
|
180
|
+
steps:
|
|
181
|
+
- uses: actions/checkout@v3
|
|
182
|
+
|
|
183
|
+
- name: Setup Node.js
|
|
184
|
+
uses: actions/setup-node@v3
|
|
185
|
+
with:
|
|
186
|
+
node-version: '18'
|
|
187
|
+
|
|
188
|
+
- name: Install dependencies
|
|
189
|
+
run: npm ci
|
|
190
|
+
|
|
191
|
+
- name: Install Playwright
|
|
192
|
+
run: npx playwright install --with-deps
|
|
193
|
+
|
|
194
|
+
- name: Run Wundr tests
|
|
195
|
+
run: npm run test:wundr
|
|
196
|
+
env:
|
|
197
|
+
TEST_BASE_URL: '${answers.baseURL}'
|
|
198
|
+
|
|
199
|
+
- name: Upload test results
|
|
200
|
+
if: always()
|
|
201
|
+
uses: actions/upload-artifact@v3
|
|
202
|
+
with:
|
|
203
|
+
name: test-results
|
|
204
|
+
path: test-results/
|
|
205
|
+
retention-days: 30`;
|
|
206
|
+
const githubDir = path_1.default.join(process.cwd(), '.github', 'workflows');
|
|
207
|
+
await fs_extra_1.default.ensureDir(githubDir);
|
|
208
|
+
await fs_extra_1.default.writeFile(path_1.default.join(githubDir, 'wundr-tests.yml'), githubWorkflow);
|
|
209
|
+
console.log(chalk_1.default.green('✅ Created GitHub Actions workflow: .github/workflows/wundr-tests.yml'));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.TestInitCommand = TestInitCommand;
|
|
213
|
+
function createTestInitCommand() {
|
|
214
|
+
const command = new commander_1.Command('test-init')
|
|
215
|
+
.description('Initialize Wundr test configuration for your project')
|
|
216
|
+
.action(async () => {
|
|
217
|
+
const initCommand = new TestInitCommand();
|
|
218
|
+
await initCommand.run();
|
|
219
|
+
});
|
|
220
|
+
return command;
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=test-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-init.js","sourceRoot":"","sources":["../../src/commands/test-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export interface TestOptions {
|
|
3
|
+
type?: 'ui' | 'api' | 'unit' | 'all';
|
|
4
|
+
browser?: 'chromium' | 'firefox' | 'webkit';
|
|
5
|
+
headed?: boolean;
|
|
6
|
+
baseUrl?: string;
|
|
7
|
+
config?: string;
|
|
8
|
+
report?: boolean;
|
|
9
|
+
watch?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class TestCommand {
|
|
12
|
+
private testConfigPath;
|
|
13
|
+
private testsPath;
|
|
14
|
+
constructor();
|
|
15
|
+
run(options: TestOptions): Promise<void>;
|
|
16
|
+
private loadConfig;
|
|
17
|
+
private setupTestEnvironment;
|
|
18
|
+
private runUITests;
|
|
19
|
+
private runAPITests;
|
|
20
|
+
private runUnitTests;
|
|
21
|
+
private runAllTests;
|
|
22
|
+
private runCommand;
|
|
23
|
+
}
|
|
24
|
+
export declare function createTestCommand(): Command;
|
|
25
|
+
//# sourceMappingURL=test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;;IAQpB,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAuChC,UAAU;YAgCV,oBAAoB;YAyCpB,UAAU;YA8BV,WAAW;YAkBX,YAAY;YAeZ,WAAW;IAQzB,OAAO,CAAC,UAAU;CAkBnB;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAiC3C"}
|