depfixer 1.0.0 → 1.1.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.
Files changed (85) hide show
  1. package/dist/commands/audit.d.ts +19 -0
  2. package/dist/commands/audit.d.ts.map +1 -0
  3. package/dist/commands/audit.js +170 -0
  4. package/dist/commands/audit.js.map +1 -0
  5. package/dist/commands/fix.d.ts +10 -3
  6. package/dist/commands/fix.d.ts.map +1 -1
  7. package/dist/commands/fix.js +407 -41
  8. package/dist/commands/fix.js.map +1 -1
  9. package/dist/commands/graph.d.ts +1 -1
  10. package/dist/commands/graph.d.ts.map +1 -1
  11. package/dist/commands/graph.js +17 -12
  12. package/dist/commands/graph.js.map +1 -1
  13. package/dist/commands/login.d.ts.map +1 -1
  14. package/dist/commands/login.js +120 -19
  15. package/dist/commands/login.js.map +1 -1
  16. package/dist/commands/logout.d.ts.map +1 -1
  17. package/dist/commands/logout.js +6 -0
  18. package/dist/commands/logout.js.map +1 -1
  19. package/dist/commands/migrate.d.ts +22 -0
  20. package/dist/commands/migrate.d.ts.map +1 -0
  21. package/dist/commands/migrate.js +874 -0
  22. package/dist/commands/migrate.js.map +1 -0
  23. package/dist/commands/smart.d.ts +23 -0
  24. package/dist/commands/smart.d.ts.map +1 -0
  25. package/dist/commands/smart.js +1024 -0
  26. package/dist/commands/smart.js.map +1 -0
  27. package/dist/commands/whoami.d.ts +14 -0
  28. package/dist/commands/whoami.d.ts.map +1 -0
  29. package/dist/commands/whoami.js +65 -0
  30. package/dist/commands/whoami.js.map +1 -0
  31. package/dist/index.js +165 -40
  32. package/dist/index.js.map +1 -1
  33. package/dist/services/analytics.d.ts +108 -0
  34. package/dist/services/analytics.d.ts.map +1 -0
  35. package/dist/services/analytics.js +305 -0
  36. package/dist/services/analytics.js.map +1 -0
  37. package/dist/services/api-client.d.ts +159 -0
  38. package/dist/services/api-client.d.ts.map +1 -1
  39. package/dist/services/api-client.js +192 -10
  40. package/dist/services/api-client.js.map +1 -1
  41. package/dist/services/auth-manager.d.ts +14 -0
  42. package/dist/services/auth-manager.d.ts.map +1 -1
  43. package/dist/services/auth-manager.js +30 -0
  44. package/dist/services/auth-manager.js.map +1 -1
  45. package/dist/services/cache-manager.d.ts +62 -22
  46. package/dist/services/cache-manager.d.ts.map +1 -1
  47. package/dist/services/cache-manager.js +116 -30
  48. package/dist/services/cache-manager.js.map +1 -1
  49. package/dist/services/device-id.d.ts +20 -0
  50. package/dist/services/device-id.d.ts.map +1 -0
  51. package/dist/services/device-id.js +70 -0
  52. package/dist/services/device-id.js.map +1 -0
  53. package/dist/services/package-json.d.ts +44 -5
  54. package/dist/services/package-json.d.ts.map +1 -1
  55. package/dist/services/package-json.js +273 -20
  56. package/dist/services/package-json.js.map +1 -1
  57. package/dist/services/payment-flow.d.ts +108 -0
  58. package/dist/services/payment-flow.d.ts.map +1 -0
  59. package/dist/services/payment-flow.js +476 -0
  60. package/dist/services/payment-flow.js.map +1 -0
  61. package/dist/services/session-manager.d.ts +92 -0
  62. package/dist/services/session-manager.d.ts.map +1 -0
  63. package/dist/services/session-manager.js +218 -0
  64. package/dist/services/session-manager.js.map +1 -0
  65. package/dist/utils/design-system.d.ts +90 -0
  66. package/dist/utils/design-system.d.ts.map +1 -0
  67. package/dist/utils/design-system.js +338 -0
  68. package/dist/utils/design-system.js.map +1 -0
  69. package/dist/utils/output.d.ts +48 -1
  70. package/dist/utils/output.d.ts.map +1 -1
  71. package/dist/utils/output.js +180 -17
  72. package/dist/utils/output.js.map +1 -1
  73. package/dist/utils/print.d.ts +116 -0
  74. package/dist/utils/print.d.ts.map +1 -0
  75. package/dist/utils/print.js +190 -0
  76. package/dist/utils/print.js.map +1 -0
  77. package/package.json +13 -2
  78. package/dist/commands/analyze.d.ts +0 -18
  79. package/dist/commands/analyze.d.ts.map +0 -1
  80. package/dist/commands/analyze.js +0 -404
  81. package/dist/commands/analyze.js.map +0 -1
  82. package/dist/services/gitignore.d.ts +0 -19
  83. package/dist/services/gitignore.d.ts.map +0 -1
  84. package/dist/services/gitignore.js +0 -64
  85. package/dist/services/gitignore.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ interface AuditOptions {
2
+ json?: boolean;
3
+ ci?: boolean;
4
+ path?: string;
5
+ }
6
+ /**
7
+ * Audit command (FREE)
8
+ *
9
+ * Shows issues but hides solutions (recommendations).
10
+ * This is the "teaser" mode for freemium conversion.
11
+ *
12
+ * Usage:
13
+ * npx depfixer audit
14
+ * npx depfixer audit --json
15
+ * npx depfixer audit --ci
16
+ */
17
+ export declare function auditCommand(options: AuditOptions): Promise<void>;
18
+ export {};
19
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAcA,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6IvE"}
@@ -0,0 +1,170 @@
1
+ import chalk from 'chalk';
2
+ import { ApiClient } from '../services/api-client.js';
3
+ import { PackageJsonService } from '../services/package-json.js';
4
+ import { createSpinner, printHeader, printHealthScore, printSeveritySummary, createAuditTable, printError, printPrefetchProgress, clearLine, } from '../utils/output.js';
5
+ /**
6
+ * Audit command (FREE)
7
+ *
8
+ * Shows issues but hides solutions (recommendations).
9
+ * This is the "teaser" mode for freemium conversion.
10
+ *
11
+ * Usage:
12
+ * npx depfixer audit
13
+ * npx depfixer audit --json
14
+ * npx depfixer audit --ci
15
+ */
16
+ export async function auditCommand(options) {
17
+ const projectDir = options.path || process.cwd();
18
+ try {
19
+ const packageJsonService = new PackageJsonService();
20
+ const apiClient = new ApiClient();
21
+ // Read and sanitize package.json
22
+ const spinner = createSpinner('Reading package.json...').start();
23
+ const { parsed } = await packageJsonService.read(projectDir);
24
+ const sanitized = packageJsonService.sanitize(parsed);
25
+ spinner.succeed('Package.json loaded');
26
+ // Detect framework from package.json (client-side hint)
27
+ const framework = detectFramework(sanitized);
28
+ // Run audit analysis
29
+ const analysisSpinner = createSpinner('Analyzing dependencies...').start();
30
+ const response = await apiClient.analyzeAudit(sanitized, framework);
31
+ if (!response.success || !response.data) {
32
+ analysisSpinner.fail('Analysis failed');
33
+ throw new Error(response.error || 'Unknown error');
34
+ }
35
+ let data = response.data;
36
+ const { analysisId, prefetchId, hasPendingPackages } = data;
37
+ // If there are pending packages, poll until prefetch + re-analysis completes
38
+ if (hasPendingPackages && prefetchId && analysisId) {
39
+ analysisSpinner.text = 'Fetching package data...';
40
+ analysisSpinner.stop();
41
+ console.log(chalk.dim(' Some packages need to be fetched. Please wait...'));
42
+ // Poll prefetch status with progress bar
43
+ let isComplete = false;
44
+ let pollCount = 0;
45
+ const maxPolls = 120; // 2 minutes max (1 second intervals)
46
+ while (!isComplete && pollCount < maxPolls) {
47
+ try {
48
+ const status = await apiClient.pollPrefetchStatus(prefetchId);
49
+ printPrefetchProgress(status.fetchedCount, status.totalPackages, status.percentage);
50
+ if (status.isComplete && status.reanalysisStatus === 'completed') {
51
+ isComplete = true;
52
+ clearLine();
53
+ console.log(chalk.green(' ✓ Package data fetched successfully'));
54
+ }
55
+ else {
56
+ await new Promise(resolve => setTimeout(resolve, 1000));
57
+ pollCount++;
58
+ }
59
+ }
60
+ catch {
61
+ clearLine();
62
+ console.log(chalk.yellow(' ⚠ Could not complete package fetch, using partial results'));
63
+ break;
64
+ }
65
+ }
66
+ if (pollCount >= maxPolls) {
67
+ clearLine();
68
+ console.log(chalk.yellow(' ⚠ Package fetch timed out, using partial results'));
69
+ }
70
+ // Fetch updated analysis results if prefetch completed
71
+ if (isComplete) {
72
+ const updatedResponse = await apiClient.getAnalysisById(analysisId);
73
+ if (updatedResponse.success && updatedResponse.data) {
74
+ const updated = updatedResponse.data;
75
+ const analysisResult = updated.analysisResult || {};
76
+ data = {
77
+ ...data,
78
+ healthScore: updated.healthScore || analysisResult.healthScore,
79
+ totalPackages: updated.totalPackages || analysisResult.totalPackages,
80
+ summary: analysisResult.summary || calculateSummary(analysisResult.conflicts || []),
81
+ conflicts: analysisResult.conflicts || [],
82
+ framework: analysisResult.frameworkContext?.detected
83
+ ? { name: analysisResult.frameworkContext.detected.name, version: analysisResult.frameworkContext.detected.version }
84
+ : data.framework,
85
+ };
86
+ }
87
+ }
88
+ analysisSpinner.start();
89
+ }
90
+ analysisSpinner.succeed('Analysis complete');
91
+ // JSON output mode
92
+ if (options.json) {
93
+ console.log(JSON.stringify({
94
+ mode: 'audit',
95
+ healthScore: data.healthScore,
96
+ totalPackages: data.totalPackages,
97
+ summary: data.summary,
98
+ conflicts: data.conflicts,
99
+ framework: data.framework,
100
+ }, null, 2));
101
+ if (options.ci && (data.summary.critical > 0 || data.summary.high > 0)) {
102
+ process.exit(1);
103
+ }
104
+ return;
105
+ }
106
+ // Pretty output
107
+ printHeader(`Audit Results - ${sanitized.name || 'unnamed'}`);
108
+ printHealthScore(data.healthScore);
109
+ console.log(`${chalk.bold('Packages analyzed:')} ${data.totalPackages}`);
110
+ console.log();
111
+ printSeveritySummary(data.summary);
112
+ if (data.conflicts && data.conflicts.length > 0) {
113
+ console.log();
114
+ console.log(chalk.bold('Issues Found:'));
115
+ console.log(createAuditTable(data.conflicts));
116
+ }
117
+ // Show upgrade CTA
118
+ const issueCount = data.summary.critical + data.summary.high + data.summary.medium + data.summary.low;
119
+ if (issueCount > 0) {
120
+ console.log();
121
+ console.log(chalk.cyan('┌─────────────────────────────────────────────────────────┐'));
122
+ console.log(chalk.cyan('│') + chalk.yellow(' 🔒 Solutions hidden. Run `npx depfixer` to unlock. ') + chalk.cyan('│'));
123
+ console.log(chalk.cyan('└─────────────────────────────────────────────────────────┘'));
124
+ }
125
+ // CI exit code
126
+ if (options.ci && (data.summary.critical > 0 || data.summary.high > 0)) {
127
+ process.exit(1);
128
+ }
129
+ }
130
+ catch (error) {
131
+ if (options.json) {
132
+ console.log(JSON.stringify({ error: error.message }, null, 2));
133
+ }
134
+ else {
135
+ printError(error.message);
136
+ }
137
+ process.exit(options.ci ? 2 : 1);
138
+ }
139
+ }
140
+ /**
141
+ * Simple client-side framework detection for API hint
142
+ */
143
+ function detectFramework(pkg) {
144
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
145
+ if (deps['@angular/core'])
146
+ return 'angular';
147
+ if (deps['react'])
148
+ return 'react';
149
+ if (deps['vue'])
150
+ return 'vue';
151
+ if (deps['svelte'])
152
+ return 'svelte';
153
+ if (deps['next'])
154
+ return 'react';
155
+ if (deps['nuxt'])
156
+ return 'vue';
157
+ return undefined;
158
+ }
159
+ /**
160
+ * Calculate severity summary from conflicts array
161
+ */
162
+ function calculateSummary(conflicts) {
163
+ return {
164
+ critical: conflicts.filter(c => c.severity === 'critical').length,
165
+ high: conflicts.filter(c => c.severity === 'high').length,
166
+ medium: conflicts.filter(c => c.severity === 'medium').length,
167
+ low: conflicts.filter(c => c.severity === 'low').length,
168
+ };
169
+ }
170
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,20 @@
1
1
  interface FixOptions {
2
2
  path?: string;
3
+ yes?: boolean;
3
4
  }
4
5
  /**
5
6
  * Fix command
6
7
  *
7
- * Applies cached fixes from a previous --full analysis
8
- * Creates package.json.fixed (does not modify original)
8
+ * Applies fixes from a previous analysis:
9
+ * - NEW FLOW: Uses session.json with payment flow
10
+ * - LEGACY FLOW: Uses analysis-history.json (backward compat)
9
11
  *
10
- * This command is FREE - uses locally cached solution
12
+ * Steps:
13
+ * 1. Load session (new) or cache (legacy)
14
+ * 2. Verify package.json hash
15
+ * 3. Check payment status
16
+ * 4. Run payment flow if needed
17
+ * 5. Fetch solution and apply
11
18
  */
12
19
  export declare function fixCommand(options: FixOptions): Promise<void>;
13
20
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAWA,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFnE"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAkBA,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFnE"}