@vibe-validate/cli 0.18.0-rc.1 → 0.18.1
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/bin.js +12 -4
- package/dist/bin.js.map +1 -1
- package/dist/commands/cleanup.d.ts +4 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +165 -122
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +34 -22
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/create-extractor.d.ts.map +1 -1
- package/dist/commands/create-extractor.js +43 -20
- package/dist/commands/create-extractor.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +17 -26
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/generate-workflow.d.ts +3 -2
- package/dist/commands/generate-workflow.d.ts.map +1 -1
- package/dist/commands/generate-workflow.js +71 -67
- package/dist/commands/generate-workflow.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +11 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pre-commit.d.ts.map +1 -1
- package/dist/commands/pre-commit.js +4 -1
- package/dist/commands/pre-commit.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +10 -4
- package/dist/commands/run.js.map +1 -1
- package/dist/schemas/watch-pr-result.schema.d.ts +73 -12
- package/dist/schemas/watch-pr-result.schema.d.ts.map +1 -1
- package/dist/schemas/watch-pr-result.schema.js +11 -0
- package/dist/schemas/watch-pr-result.schema.js.map +1 -1
- package/dist/services/github-fetcher.d.ts +25 -1
- package/dist/services/github-fetcher.d.ts.map +1 -1
- package/dist/services/github-fetcher.js +32 -3
- package/dist/services/github-fetcher.js.map +1 -1
- package/dist/services/watch-pr-orchestrator.d.ts +16 -3
- package/dist/services/watch-pr-orchestrator.d.ts.map +1 -1
- package/dist/services/watch-pr-orchestrator.js +88 -57
- package/dist/services/watch-pr-orchestrator.js.map +1 -1
- package/dist/utils/package-manager-commands.d.ts +72 -0
- package/dist/utils/package-manager-commands.d.ts.map +1 -0
- package/dist/utils/package-manager-commands.js +210 -0
- package/dist/utils/package-manager-commands.js.map +1 -0
- package/dist/utils/secret-scanning.d.ts.map +1 -1
- package/dist/utils/secret-scanning.js +45 -17
- package/dist/utils/secret-scanning.js.map +1 -1
- package/dist/utils/temp-files.d.ts +1 -2
- package/dist/utils/temp-files.d.ts.map +1 -1
- package/dist/utils/temp-files.js +2 -2
- package/dist/utils/temp-files.js.map +1 -1
- package/package.json +8 -8
|
@@ -75,6 +75,7 @@ export class WatchPROrchestrator {
|
|
|
75
75
|
status: check.status,
|
|
76
76
|
conclusion: check.conclusion,
|
|
77
77
|
run_id: check.run_id,
|
|
78
|
+
job_id: check.job_id,
|
|
78
79
|
workflow: check.workflow,
|
|
79
80
|
started_at: check.started_at,
|
|
80
81
|
duration: check.duration,
|
|
@@ -82,7 +83,8 @@ export class WatchPROrchestrator {
|
|
|
82
83
|
// Try to extract errors if check failed
|
|
83
84
|
if (check.conclusion === 'failure' && check.run_id) {
|
|
84
85
|
// Use retry logic to handle GitHub API race condition (Issue #4)
|
|
85
|
-
|
|
86
|
+
// Pass job_id for matrix strategy jobs to get job-specific logs
|
|
87
|
+
const logs = await this.fetchLogsWithRetry(check.run_id, check.job_id);
|
|
86
88
|
if (logs) {
|
|
87
89
|
const extraction = await this.extractionDetector.detectAndExtract(actionCheck, logs);
|
|
88
90
|
if (extraction) {
|
|
@@ -163,16 +165,79 @@ export class WatchPROrchestrator {
|
|
|
163
165
|
// This ensures PR status is always fresh from GitHub
|
|
164
166
|
return result;
|
|
165
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Build GitHub Action check from a workflow job
|
|
170
|
+
*/
|
|
171
|
+
async buildCheckFromJob(job, runId, workflowName) {
|
|
172
|
+
// Calculate duration
|
|
173
|
+
const startTime = new Date(job.started_at).getTime();
|
|
174
|
+
const endTime = job.completed_at ? new Date(job.completed_at).getTime() : Date.now();
|
|
175
|
+
const durationSecs = Math.floor((endTime - startTime) / 1000);
|
|
176
|
+
// Normalize status
|
|
177
|
+
let jobStatus = 'queued';
|
|
178
|
+
if (job.status === 'completed') {
|
|
179
|
+
jobStatus = 'completed';
|
|
180
|
+
}
|
|
181
|
+
else if (job.status === 'in_progress') {
|
|
182
|
+
jobStatus = 'in_progress';
|
|
183
|
+
}
|
|
184
|
+
const actionCheck = {
|
|
185
|
+
name: job.name,
|
|
186
|
+
status: jobStatus,
|
|
187
|
+
conclusion: job.conclusion ? job.conclusion : undefined,
|
|
188
|
+
run_id: runId,
|
|
189
|
+
job_id: job.id, // CRITICAL: Include job_id for matrix strategy support
|
|
190
|
+
workflow: workflowName,
|
|
191
|
+
started_at: job.started_at,
|
|
192
|
+
duration: `${durationSecs}s`,
|
|
193
|
+
};
|
|
194
|
+
// Extract errors from failed jobs
|
|
195
|
+
if (job.status === 'completed' && job.conclusion === 'failure') {
|
|
196
|
+
await this.extractErrorsForCheck(actionCheck, runId, job.id);
|
|
197
|
+
}
|
|
198
|
+
return actionCheck;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Extract errors for a check from run logs
|
|
202
|
+
*/
|
|
203
|
+
async extractErrorsForCheck(check, runId, jobId) {
|
|
204
|
+
const logs = await this.fetchLogsWithRetry(runId, jobId);
|
|
205
|
+
if (!logs)
|
|
206
|
+
return;
|
|
207
|
+
const extraction = await this.extractionDetector.detectAndExtract(check, logs);
|
|
208
|
+
if (extraction) {
|
|
209
|
+
check.extraction = extraction;
|
|
210
|
+
}
|
|
211
|
+
// Save to cache
|
|
212
|
+
if (this.cacheManager) {
|
|
213
|
+
await this.cacheManager.saveLog(runId, logs);
|
|
214
|
+
if (extraction) {
|
|
215
|
+
await this.cacheManager.saveExtraction(runId, extraction);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Determine overall PR status from checks
|
|
221
|
+
*/
|
|
222
|
+
determineOverallStatus(checks) {
|
|
223
|
+
const hasFailure = checks.some(c => c.conclusion === 'failure');
|
|
224
|
+
const hasPending = checks.some(c => c.status === 'in_progress' || c.status === 'queued');
|
|
225
|
+
if (hasFailure)
|
|
226
|
+
return 'failed';
|
|
227
|
+
if (hasPending)
|
|
228
|
+
return 'pending';
|
|
229
|
+
return 'passed';
|
|
230
|
+
}
|
|
166
231
|
/**
|
|
167
232
|
* Build result for a specific run ID
|
|
168
233
|
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
234
|
+
* Fetches all jobs for the workflow run and creates individual checks for each job.
|
|
235
|
+
* This provides consistent job-level detail matching the default behavior.
|
|
171
236
|
*
|
|
172
237
|
* @param prNumber - PR number
|
|
173
238
|
* @param runId - GitHub run ID
|
|
174
239
|
* @param options - Options (useCache)
|
|
175
|
-
* @returns WatchPRResult with
|
|
240
|
+
* @returns WatchPRResult with job-level checks
|
|
176
241
|
*/
|
|
177
242
|
async buildResultForRun(prNumber, runId, options = {}) {
|
|
178
243
|
const { useCache = false } = options;
|
|
@@ -180,56 +245,25 @@ export class WatchPROrchestrator {
|
|
|
180
245
|
if (useCache && !this.cacheManager) {
|
|
181
246
|
this.cacheManager = new CacheManager(`${this.owner}/${this.repo}`, prNumber);
|
|
182
247
|
}
|
|
183
|
-
// Fetch
|
|
248
|
+
// Fetch metadata
|
|
184
249
|
const prMetadata = await this.fetcher.fetchPRDetails(prNumber);
|
|
185
|
-
// Fetch specific run details
|
|
186
250
|
const runDetails = await this.fetcher.fetchRunDetails(runId);
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
conclusion: runDetails.conclusion,
|
|
192
|
-
run_id: runDetails.run_id,
|
|
193
|
-
workflow: runDetails.workflow,
|
|
194
|
-
started_at: runDetails.started_at,
|
|
195
|
-
duration: runDetails.duration,
|
|
196
|
-
};
|
|
197
|
-
// Try to extract errors from logs (with retry logic for Issue #4)
|
|
198
|
-
const logs = await this.fetchLogsWithRetry(runId);
|
|
199
|
-
if (logs) {
|
|
200
|
-
const extraction = await this.extractionDetector.detectAndExtract(actionCheck, logs);
|
|
201
|
-
if (extraction) {
|
|
202
|
-
actionCheck.extraction = extraction;
|
|
203
|
-
}
|
|
204
|
-
// Save logs to cache (extraction can be re-run later)
|
|
205
|
-
if (this.cacheManager) {
|
|
206
|
-
await this.cacheManager.saveLog(runId, logs);
|
|
207
|
-
if (extraction) {
|
|
208
|
-
await this.cacheManager.saveExtraction(runId, extraction);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
// If logs are null, gracefully continue without extraction
|
|
213
|
-
// No noisy error output (Issue #4 fix)
|
|
214
|
-
// Fetch file changes (for context)
|
|
251
|
+
const jobs = await this.fetcher.fetchRunJobs(runId);
|
|
252
|
+
// Build checks from jobs
|
|
253
|
+
const actionChecks = await Promise.all(jobs.map(job => this.buildCheckFromJob(job, runId, runDetails.workflow)));
|
|
254
|
+
// Fetch file changes
|
|
215
255
|
const changes = await this.fetcher.fetchFileChanges(prNumber);
|
|
216
|
-
// Determine status
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
const totalChecks = 1;
|
|
226
|
-
const passedChecks = actionCheck.conclusion === 'success' ? 1 : 0;
|
|
227
|
-
const failedChecks = actionCheck.conclusion === 'failure' ? 1 : 0;
|
|
228
|
-
const pendingChecks = actionCheck.status === 'in_progress' || actionCheck.status === 'queued' ? 1 : 0;
|
|
229
|
-
// Generate guidance (simplified for single run)
|
|
230
|
-
const guidance = this.generateGuidance(status, [actionCheck], [], prMetadata.mergeable);
|
|
256
|
+
// Determine status
|
|
257
|
+
const status = this.determineOverallStatus(actionChecks);
|
|
258
|
+
// Calculate counts
|
|
259
|
+
const totalChecks = actionChecks.length;
|
|
260
|
+
const passedChecks = actionChecks.filter(c => c.conclusion === 'success').length;
|
|
261
|
+
const failedChecks = actionChecks.filter(c => c.conclusion === 'failure').length;
|
|
262
|
+
const pendingChecks = actionChecks.filter(c => c.status === 'in_progress' || c.status === 'queued').length;
|
|
263
|
+
// Generate guidance
|
|
264
|
+
const guidance = this.generateGuidance(status, actionChecks, [], prMetadata.mergeable);
|
|
231
265
|
// Build result
|
|
232
|
-
|
|
266
|
+
return {
|
|
233
267
|
pr: prMetadata,
|
|
234
268
|
status,
|
|
235
269
|
checks: {
|
|
@@ -237,16 +271,12 @@ export class WatchPROrchestrator {
|
|
|
237
271
|
passed: passedChecks,
|
|
238
272
|
failed: failedChecks,
|
|
239
273
|
pending: pendingChecks,
|
|
240
|
-
github_actions:
|
|
274
|
+
github_actions: this.orderChecks(actionChecks),
|
|
241
275
|
external_checks: [],
|
|
242
276
|
},
|
|
243
277
|
changes,
|
|
244
278
|
guidance,
|
|
245
|
-
// Note: cache field removed - will be added back when actually needed
|
|
246
279
|
};
|
|
247
|
-
// Don't cache metadata for single-run mode (historical runs are immutable)
|
|
248
|
-
// But logs and extractions are already cached above
|
|
249
|
-
return result;
|
|
250
280
|
}
|
|
251
281
|
/**
|
|
252
282
|
* Get priority for check ordering (lower is higher priority)
|
|
@@ -372,13 +402,14 @@ export class WatchPROrchestrator {
|
|
|
372
402
|
* Retry schedule: 2s, 4s, 8s (total 3 attempts over ~14 seconds)
|
|
373
403
|
*
|
|
374
404
|
* @param runId - GitHub run ID
|
|
405
|
+
* @param jobId - GitHub job ID (optional, for matrix strategy jobs)
|
|
375
406
|
* @param maxRetries - Maximum number of retry attempts (default: 3)
|
|
376
407
|
* @returns Log content, or null if all retries failed
|
|
377
408
|
*/
|
|
378
|
-
async fetchLogsWithRetry(runId, maxRetries = 3) {
|
|
409
|
+
async fetchLogsWithRetry(runId, jobId, maxRetries = 3) {
|
|
379
410
|
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
380
411
|
try {
|
|
381
|
-
return await this.fetcher.fetchRunLogs(runId);
|
|
412
|
+
return await this.fetcher.fetchRunLogs(runId, jobId);
|
|
382
413
|
}
|
|
383
414
|
catch {
|
|
384
415
|
// Intentionally suppress error (Issue #4 fix: no noisy output)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-pr-orchestrator.js","sourceRoot":"","sources":["../../src/services/watch-pr-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch-pr-orchestrator.js","sourceRoot":"","sources":["../../src/services/watch-pr-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package Manager Command Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides package-manager-agnostic command generation for all supported package managers:
|
|
5
|
+
* npm, pnpm, yarn, bun
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Supported package managers
|
|
11
|
+
*/
|
|
12
|
+
export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun';
|
|
13
|
+
/**
|
|
14
|
+
* Get install command for package manager (for CI/production)
|
|
15
|
+
* Uses frozen lockfile modes to ensure reproducible installs
|
|
16
|
+
*/
|
|
17
|
+
export declare function getInstallCommand(packageManager: PackageManager): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get basic install command without frozen lockfile (for local development)
|
|
20
|
+
*/
|
|
21
|
+
export declare function getInstallCommandUnfrozen(packageManager: PackageManager): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get command to install dev dependencies
|
|
24
|
+
* @param packages - Space-separated list of packages to install
|
|
25
|
+
*/
|
|
26
|
+
export declare function getDevInstallCommand(packageManager: PackageManager, packages: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Get command to install global packages
|
|
29
|
+
* @param packages - Space-separated list of packages to install
|
|
30
|
+
*/
|
|
31
|
+
export declare function getGlobalInstallCommand(packageManager: PackageManager, packages: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Get command to install regular dependencies
|
|
34
|
+
* @param packages - Space-separated list of packages to install
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAddCommand(packageManager: PackageManager, packages: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Get upgrade command for a package
|
|
39
|
+
* @param packageName - Name of package to upgrade
|
|
40
|
+
* @param scope - 'local' for dev dependency, 'global' for global install
|
|
41
|
+
*/
|
|
42
|
+
export declare function getUpgradeCommand(packageManager: PackageManager, packageName: string, scope?: 'local' | 'global'): string;
|
|
43
|
+
/**
|
|
44
|
+
* Get build command for package manager
|
|
45
|
+
*/
|
|
46
|
+
export declare function getBuildCommand(packageManager: PackageManager): string;
|
|
47
|
+
/**
|
|
48
|
+
* Get validate command for package manager
|
|
49
|
+
*/
|
|
50
|
+
export declare function getValidateCommand(packageManager: PackageManager): string;
|
|
51
|
+
/**
|
|
52
|
+
* Get coverage command for package manager
|
|
53
|
+
*/
|
|
54
|
+
export declare function getCoverageCommand(packageManager: PackageManager): string;
|
|
55
|
+
/**
|
|
56
|
+
* Get run command prefix for package manager
|
|
57
|
+
*/
|
|
58
|
+
export declare function getRunCommand(packageManager: PackageManager, script: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Detect package manager from package.json and lockfiles
|
|
61
|
+
* Priority:
|
|
62
|
+
* 1. package.json packageManager field (official spec)
|
|
63
|
+
* 2. Lockfile detection (priority: bun > yarn > npm > pnpm)
|
|
64
|
+
* Note: npm preferred over pnpm when both exist (more conservative default)
|
|
65
|
+
*/
|
|
66
|
+
export declare function detectPackageManager(cwd?: string): PackageManager;
|
|
67
|
+
/**
|
|
68
|
+
* Get formatted list of upgrade commands for all package managers
|
|
69
|
+
* Useful for help text where we want to show all options
|
|
70
|
+
*/
|
|
71
|
+
export declare function getAllUpgradeCommands(packageName: string, scope?: 'local' | 'global'): string;
|
|
72
|
+
//# sourceMappingURL=package-manager-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager-commands.d.ts","sourceRoot":"","sources":["../../src/utils/package-manager-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAQxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAQhF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ7F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQhG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,OAAO,GAAG,QAAkB,GAClC,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAQtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAQzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAQzE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQpF;AA8CD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAsB,GAAG,cAAc,CAEhF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,OAAO,GAAG,QAAkB,GAAG,MAAM,CAKtG"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package Manager Command Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides package-manager-agnostic command generation for all supported package managers:
|
|
5
|
+
* npm, pnpm, yarn, bun
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
10
|
+
import { join } from 'node:path';
|
|
11
|
+
/**
|
|
12
|
+
* Get install command for package manager (for CI/production)
|
|
13
|
+
* Uses frozen lockfile modes to ensure reproducible installs
|
|
14
|
+
*/
|
|
15
|
+
export function getInstallCommand(packageManager) {
|
|
16
|
+
switch (packageManager) {
|
|
17
|
+
case 'bun': return 'bun install';
|
|
18
|
+
case 'pnpm': return 'pnpm install --frozen-lockfile';
|
|
19
|
+
case 'yarn': return 'yarn install --frozen-lockfile';
|
|
20
|
+
case 'npm': return 'npm ci';
|
|
21
|
+
default: return 'npm ci';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get basic install command without frozen lockfile (for local development)
|
|
26
|
+
*/
|
|
27
|
+
export function getInstallCommandUnfrozen(packageManager) {
|
|
28
|
+
switch (packageManager) {
|
|
29
|
+
case 'bun': return 'bun install';
|
|
30
|
+
case 'pnpm': return 'pnpm install';
|
|
31
|
+
case 'yarn': return 'yarn install';
|
|
32
|
+
case 'npm': return 'npm install';
|
|
33
|
+
default: return 'npm install';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get command to install dev dependencies
|
|
38
|
+
* @param packages - Space-separated list of packages to install
|
|
39
|
+
*/
|
|
40
|
+
export function getDevInstallCommand(packageManager, packages) {
|
|
41
|
+
switch (packageManager) {
|
|
42
|
+
case 'bun': return `bun add --dev ${packages}`;
|
|
43
|
+
case 'pnpm': return `pnpm add -D ${packages}`;
|
|
44
|
+
case 'yarn': return `yarn add --dev ${packages}`;
|
|
45
|
+
case 'npm': return `npm install --save-dev ${packages}`;
|
|
46
|
+
default: return `npm install --save-dev ${packages}`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get command to install global packages
|
|
51
|
+
* @param packages - Space-separated list of packages to install
|
|
52
|
+
*/
|
|
53
|
+
export function getGlobalInstallCommand(packageManager, packages) {
|
|
54
|
+
switch (packageManager) {
|
|
55
|
+
case 'bun': return `bun add --global ${packages}`;
|
|
56
|
+
case 'pnpm': return `pnpm add -g ${packages}`;
|
|
57
|
+
case 'yarn': return `yarn global add ${packages}`;
|
|
58
|
+
case 'npm': return `npm install -g ${packages}`;
|
|
59
|
+
default: return `npm install -g ${packages}`;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get command to install regular dependencies
|
|
64
|
+
* @param packages - Space-separated list of packages to install
|
|
65
|
+
*/
|
|
66
|
+
export function getAddCommand(packageManager, packages) {
|
|
67
|
+
switch (packageManager) {
|
|
68
|
+
case 'bun': return `bun add ${packages}`;
|
|
69
|
+
case 'pnpm': return `pnpm add ${packages}`;
|
|
70
|
+
case 'yarn': return `yarn add ${packages}`;
|
|
71
|
+
case 'npm': return `npm install ${packages}`;
|
|
72
|
+
default: return `npm install ${packages}`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get upgrade command for a package
|
|
77
|
+
* @param packageName - Name of package to upgrade
|
|
78
|
+
* @param scope - 'local' for dev dependency, 'global' for global install
|
|
79
|
+
*/
|
|
80
|
+
export function getUpgradeCommand(packageManager, packageName, scope = 'local') {
|
|
81
|
+
if (scope === 'global') {
|
|
82
|
+
return getGlobalInstallCommand(packageManager, `${packageName}@latest`);
|
|
83
|
+
}
|
|
84
|
+
// Local upgrade
|
|
85
|
+
switch (packageManager) {
|
|
86
|
+
case 'bun': return `bun update ${packageName}`;
|
|
87
|
+
case 'pnpm': return `pnpm update ${packageName}`;
|
|
88
|
+
case 'yarn': return `yarn upgrade ${packageName}`;
|
|
89
|
+
case 'npm': return `npm install -D ${packageName}@latest`;
|
|
90
|
+
default: return `npm install -D ${packageName}@latest`;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get build command for package manager
|
|
95
|
+
*/
|
|
96
|
+
export function getBuildCommand(packageManager) {
|
|
97
|
+
switch (packageManager) {
|
|
98
|
+
case 'bun': return 'bun run build';
|
|
99
|
+
case 'pnpm': return 'pnpm -r build';
|
|
100
|
+
case 'yarn': return 'yarn run build';
|
|
101
|
+
case 'npm': return 'npm run build';
|
|
102
|
+
default: return 'npm run build';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get validate command for package manager
|
|
107
|
+
*/
|
|
108
|
+
export function getValidateCommand(packageManager) {
|
|
109
|
+
switch (packageManager) {
|
|
110
|
+
case 'bun': return 'bun run validate';
|
|
111
|
+
case 'pnpm': return 'pnpm validate';
|
|
112
|
+
case 'yarn': return 'yarn run validate';
|
|
113
|
+
case 'npm': return 'npm run validate';
|
|
114
|
+
default: return 'npm run validate';
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get coverage command for package manager
|
|
119
|
+
*/
|
|
120
|
+
export function getCoverageCommand(packageManager) {
|
|
121
|
+
switch (packageManager) {
|
|
122
|
+
case 'bun': return 'bun run test:coverage';
|
|
123
|
+
case 'pnpm': return 'pnpm test:coverage';
|
|
124
|
+
case 'yarn': return 'yarn run test:coverage';
|
|
125
|
+
case 'npm': return 'npm run test:coverage';
|
|
126
|
+
default: return 'npm run test:coverage';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get run command prefix for package manager
|
|
131
|
+
*/
|
|
132
|
+
export function getRunCommand(packageManager, script) {
|
|
133
|
+
switch (packageManager) {
|
|
134
|
+
case 'bun': return `bun run ${script}`;
|
|
135
|
+
case 'pnpm': return `pnpm ${script}`;
|
|
136
|
+
case 'yarn': return `yarn run ${script}`;
|
|
137
|
+
case 'npm': return `npm run ${script}`;
|
|
138
|
+
default: return `npm run ${script}`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Detect package manager from package.json packageManager field
|
|
143
|
+
*/
|
|
144
|
+
function detectFromPackageJson(cwd) {
|
|
145
|
+
try {
|
|
146
|
+
const packageJsonPath = join(cwd, 'package.json');
|
|
147
|
+
if (!existsSync(packageJsonPath))
|
|
148
|
+
return null;
|
|
149
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
150
|
+
const pm = packageJson.packageManager;
|
|
151
|
+
if (!pm)
|
|
152
|
+
return null;
|
|
153
|
+
if (pm.startsWith('bun@'))
|
|
154
|
+
return 'bun';
|
|
155
|
+
if (pm.startsWith('pnpm@'))
|
|
156
|
+
return 'pnpm';
|
|
157
|
+
if (pm.startsWith('yarn@'))
|
|
158
|
+
return 'yarn';
|
|
159
|
+
if (pm.startsWith('npm@'))
|
|
160
|
+
return 'npm';
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Detect package manager from lockfiles
|
|
169
|
+
* Priority: bun > yarn > npm > pnpm
|
|
170
|
+
* Note: npm preferred over pnpm when both exist (more conservative default)
|
|
171
|
+
*/
|
|
172
|
+
function detectFromLockfiles(cwd) {
|
|
173
|
+
// Check both bun.lockb (binary, older) and bun.lock (text, newer)
|
|
174
|
+
const hasBunLock = existsSync(join(cwd, 'bun.lockb')) || existsSync(join(cwd, 'bun.lock'));
|
|
175
|
+
const hasPnpmLock = existsSync(join(cwd, 'pnpm-lock.yaml'));
|
|
176
|
+
const hasYarnLock = existsSync(join(cwd, 'yarn.lock'));
|
|
177
|
+
const hasNpmLock = existsSync(join(cwd, 'package-lock.json'));
|
|
178
|
+
// Priority: bun > yarn > npm > pnpm
|
|
179
|
+
// npm preferred over pnpm when both exist (more conservative default)
|
|
180
|
+
if (hasBunLock)
|
|
181
|
+
return 'bun';
|
|
182
|
+
if (hasYarnLock)
|
|
183
|
+
return 'yarn';
|
|
184
|
+
if (hasNpmLock)
|
|
185
|
+
return 'npm';
|
|
186
|
+
if (hasPnpmLock)
|
|
187
|
+
return 'pnpm';
|
|
188
|
+
return 'npm'; // Default
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Detect package manager from package.json and lockfiles
|
|
192
|
+
* Priority:
|
|
193
|
+
* 1. package.json packageManager field (official spec)
|
|
194
|
+
* 2. Lockfile detection (priority: bun > yarn > npm > pnpm)
|
|
195
|
+
* Note: npm preferred over pnpm when both exist (more conservative default)
|
|
196
|
+
*/
|
|
197
|
+
export function detectPackageManager(cwd = process.cwd()) {
|
|
198
|
+
return detectFromPackageJson(cwd) ?? detectFromLockfiles(cwd);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Get formatted list of upgrade commands for all package managers
|
|
202
|
+
* Useful for help text where we want to show all options
|
|
203
|
+
*/
|
|
204
|
+
export function getAllUpgradeCommands(packageName, scope = 'local') {
|
|
205
|
+
const managers = ['npm', 'pnpm', 'yarn', 'bun'];
|
|
206
|
+
return managers
|
|
207
|
+
.map(pm => getUpgradeCommand(pm, packageName, scope))
|
|
208
|
+
.join(' or\n ');
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=package-manager-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager-commands.js","sourceRoot":"","sources":["../../src/utils/package-manager-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-scanning.d.ts","sourceRoot":"","sources":["../../src/utils/secret-scanning.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAKtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAsB,GAAG,aAAa,EAAE,CAmBtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,GAAE,MAAsB,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAoCjD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"secret-scanning.d.ts","sourceRoot":"","sources":["../../src/utils/secret-scanning.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAKtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAsB,GAAG,aAAa,EAAE,CAmBtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,GAAE,MAAsB,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAoCjD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmDD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,UAAU,CA4EZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,kBAAkB,GAAE,OAAe,GAClC,IAAI,CAmBN;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAsBpE"}
|
|
@@ -80,6 +80,48 @@ export function selectToolsToRun(scanCommand, cwd = process.cwd()) {
|
|
|
80
80
|
}
|
|
81
81
|
return toRun;
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Convert Buffer or string to string, avoiding [object Object] for Buffers
|
|
85
|
+
*/
|
|
86
|
+
function toSafeString(value) {
|
|
87
|
+
// Handle string
|
|
88
|
+
if (typeof value === 'string') {
|
|
89
|
+
return value;
|
|
90
|
+
}
|
|
91
|
+
// Handle Buffer
|
|
92
|
+
if (Buffer.isBuffer(value)) {
|
|
93
|
+
return value.toString('utf-8');
|
|
94
|
+
}
|
|
95
|
+
// Handle null/undefined
|
|
96
|
+
if (value === null || value === undefined) {
|
|
97
|
+
return '';
|
|
98
|
+
}
|
|
99
|
+
// Handle objects (including arrays, dates, etc.) - use JSON.stringify to avoid "[object Object]"
|
|
100
|
+
if (typeof value === 'object') {
|
|
101
|
+
try {
|
|
102
|
+
return JSON.stringify(value);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// JSON.stringify failed (circular reference, etc.) - return error indicator
|
|
106
|
+
return '[Unable to stringify object]';
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Handle primitives explicitly to satisfy SonarQube
|
|
110
|
+
// These all have safe toString() implementations
|
|
111
|
+
if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
|
|
112
|
+
return String(value);
|
|
113
|
+
}
|
|
114
|
+
// Handle symbol
|
|
115
|
+
if (typeof value === 'symbol') {
|
|
116
|
+
return value.toString();
|
|
117
|
+
}
|
|
118
|
+
// Handle function (edge case - shouldn't normally happen)
|
|
119
|
+
if (typeof value === 'function') {
|
|
120
|
+
return '[Function]';
|
|
121
|
+
}
|
|
122
|
+
// Fallback for any other type (shouldn't happen with current JS types)
|
|
123
|
+
return '[Unknown type]';
|
|
124
|
+
}
|
|
83
125
|
/**
|
|
84
126
|
* Run a secret scanning command
|
|
85
127
|
*/
|
|
@@ -128,7 +170,7 @@ export function runSecretScan(tool, command, verbose = false) {
|
|
|
128
170
|
tool,
|
|
129
171
|
passed: true,
|
|
130
172
|
duration,
|
|
131
|
-
output: verbose ? result
|
|
173
|
+
output: verbose ? toSafeString(result) : undefined,
|
|
132
174
|
};
|
|
133
175
|
}
|
|
134
176
|
catch (error) {
|
|
@@ -136,22 +178,8 @@ export function runSecretScan(tool, command, verbose = false) {
|
|
|
136
178
|
if (error && typeof error === 'object' && 'stderr' in error && 'stdout' in error) {
|
|
137
179
|
// Safely convert stderr/stdout to strings (may be Buffer or string from child_process)
|
|
138
180
|
// Handle potential undefined/null values before stringification to avoid [object Object]
|
|
139
|
-
const
|
|
140
|
-
const
|
|
141
|
-
let stderr = '';
|
|
142
|
-
if (typeof stderrValue === 'string') {
|
|
143
|
-
stderr = stderrValue;
|
|
144
|
-
}
|
|
145
|
-
else if (stderrValue) {
|
|
146
|
-
stderr = String(stderrValue);
|
|
147
|
-
}
|
|
148
|
-
let stdout = '';
|
|
149
|
-
if (typeof stdoutValue === 'string') {
|
|
150
|
-
stdout = stdoutValue;
|
|
151
|
-
}
|
|
152
|
-
else if (stdoutValue) {
|
|
153
|
-
stdout = String(stdoutValue);
|
|
154
|
-
}
|
|
181
|
+
const stderr = toSafeString(error.stderr);
|
|
182
|
+
const stdout = toSafeString(error.stdout);
|
|
155
183
|
return {
|
|
156
184
|
tool,
|
|
157
185
|
passed: false,
|