devintelligence 1.0.0 → 1.0.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 (75) hide show
  1. package/.env.example +14 -14
  2. package/LICENSE +22 -22
  3. package/README.md +146 -146
  4. package/bin/devintelligence.js +2481 -12
  5. package/bin/devintelligence.ts +244 -103
  6. package/dist/App.d.ts +3 -0
  7. package/dist/ai.js +366 -0
  8. package/dist/ai.js.map +7 -0
  9. package/dist/components/DeepAnalysisViews.d.ts +13 -0
  10. package/dist/components/MobileAndPlatformViews.d.ts +22 -0
  11. package/dist/components/OverviewAndExplorerViews.d.ts +20 -0
  12. package/dist/components/RepairAndGateViews.d.ts +25 -0
  13. package/dist/engine/aiEngine.d.ts +62 -0
  14. package/dist/engine/analyzerEngine.d.ts +19 -0
  15. package/dist/engine/repairEngine.d.ts +42 -0
  16. package/dist/engine.js +1541 -0
  17. package/dist/engine.js.map +7 -0
  18. package/dist/index.d.ts +10 -0
  19. package/dist/index.js +2344 -0
  20. package/dist/index.js.map +7 -0
  21. package/dist/main.d.ts +1 -0
  22. package/dist/repair.js +2052 -0
  23. package/dist/repair.js.map +7 -0
  24. package/dist/src/App.d.ts +3 -0
  25. package/dist/src/components/DeepAnalysisViews.d.ts +13 -0
  26. package/dist/src/components/MobileAndPlatformViews.d.ts +22 -0
  27. package/dist/src/components/OverviewAndExplorerViews.d.ts +20 -0
  28. package/dist/src/components/RepairAndGateViews.d.ts +25 -0
  29. package/dist/src/engine/aiEngine.d.ts +62 -0
  30. package/dist/src/engine/analyzerEngine.d.ts +19 -0
  31. package/dist/src/engine/repairEngine.d.ts +42 -0
  32. package/dist/src/index.d.ts +10 -0
  33. package/dist/src/main.d.ts +1 -0
  34. package/dist/src/types/devintelligence.d.ts +250 -0
  35. package/dist/types/devintelligence.d.ts +250 -0
  36. package/fixtures/django-analytics-service/requirements.txt +4 -4
  37. package/fixtures/django-analytics-service/settings.py +16 -16
  38. package/fixtures/express-api-gateway/package.json +14 -14
  39. package/fixtures/express-api-gateway/src/server.ts +16 -16
  40. package/fixtures/nextjs-saas-portal/package.json +21 -21
  41. package/fixtures/nextjs-saas-portal/src/app/dashboard/page.tsx +26 -26
  42. package/fixtures/rn-bare-fitness/android/build.gradle +19 -19
  43. package/fixtures/rn-bare-fitness/ios/Info.plist +14 -14
  44. package/fixtures/rn-bare-fitness/package.json +23 -23
  45. package/fixtures/rn-bare-fitness/src/WorkoutTracker.tsx +31 -31
  46. package/fixtures/rn-expo-commerce/android/app/build.gradle +20 -20
  47. package/fixtures/rn-expo-commerce/android/app/src/main/AndroidManifest.xml +21 -21
  48. package/fixtures/rn-expo-commerce/android/gradle.properties +6 -6
  49. package/fixtures/rn-expo-commerce/app.json +17 -17
  50. package/fixtures/rn-expo-commerce/babel.config.js +10 -10
  51. package/fixtures/rn-expo-commerce/ios/Podfile +13 -13
  52. package/fixtures/rn-expo-commerce/metro.config.js +7 -7
  53. package/fixtures/rn-expo-commerce/package.json +31 -31
  54. package/fixtures/rn-expo-commerce/src/components/LegacyPromoBanner.tsx +11 -11
  55. package/fixtures/rn-expo-commerce/src/screens/ProductFeedScreen.tsx +48 -48
  56. package/fixtures/rn-expo-commerce/src/services/api.ts +15 -15
  57. package/package.json +89 -77
  58. package/index.html +0 -21
  59. package/server.ts +0 -275
  60. package/src/App.tsx +0 -783
  61. package/src/components/DeepAnalysisViews.tsx +0 -526
  62. package/src/components/MobileAndPlatformViews.tsx +0 -625
  63. package/src/components/OverviewAndExplorerViews.tsx +0 -753
  64. package/src/components/RepairAndGateViews.tsx +0 -814
  65. package/src/engine/aiEngine.test.ts +0 -86
  66. package/src/engine/aiEngine.ts +0 -346
  67. package/src/engine/analyzerEngine.test.ts +0 -110
  68. package/src/engine/analyzerEngine.ts +0 -1579
  69. package/src/engine/repairEngine.ts +0 -545
  70. package/src/index.css +0 -44
  71. package/src/index.ts +0 -59
  72. package/src/main.tsx +0 -5
  73. package/src/types/devintelligence.ts +0 -310
  74. package/tsconfig.json +0 -28
  75. package/vite.config.ts +0 -22
@@ -0,0 +1,250 @@
1
+ export type ProjectEcosystem = 'react-native-expo' | 'react-native-bare' | 'nextjs' | 'react-vite' | 'node-express' | 'python-django' | 'typescript-universal';
2
+ export type CheckStatus = 'working' | 'incompatible' | 'misconfigured' | 'not_installed' | 'os_unsupported';
3
+ export type IssueSeverity = 'critical' | 'high' | 'medium' | 'low';
4
+ export type RepairTier = 'SAFE' | 'REVIEW_REQUIRED' | 'RISKY';
5
+ export type IssueDomain = 'react-native' | 'android' | 'ios' | 'code' | 'design' | 'performance' | 'security' | 'dependencies';
6
+ export interface EnvironmentCheckItem {
7
+ id: string;
8
+ name: string;
9
+ category: 'runtime' | 'package-manager' | 'react-native' | 'android' | 'ios' | 'build-tools';
10
+ status: CheckStatus;
11
+ detectedVersion: string;
12
+ requiredVersion: string;
13
+ osPlatform: string;
14
+ explanation: string;
15
+ remediationCommand?: string;
16
+ }
17
+ export interface DiagnosticIssue {
18
+ id: string;
19
+ projectId: string;
20
+ domain: IssueDomain;
21
+ ruleId: string;
22
+ title: string;
23
+ severity: IssueSeverity;
24
+ repairTier: RepairTier;
25
+ confidence: number;
26
+ filePath: string;
27
+ line: number;
28
+ rootCause: string;
29
+ explanation: string;
30
+ recommendedRepair: string;
31
+ terminalCommand?: string;
32
+ fixAvailable: boolean;
33
+ beforeSnippet: string;
34
+ afterSnippet: string;
35
+ unifiedDiff: string;
36
+ fixed?: boolean;
37
+ }
38
+ export interface AndroidDiagnosticSummary {
39
+ present: boolean;
40
+ manifestPath: string | null;
41
+ packageName: string | null;
42
+ minSdkVersion: number | null;
43
+ compileSdkVersion: number | null;
44
+ targetSdkVersion: number | null;
45
+ agpVersion: string | null;
46
+ kotlinVersion: string | null;
47
+ ndkVersion: string | null;
48
+ hermesEnabled: boolean;
49
+ newArchEnabled: boolean;
50
+ jetifierEnabled: boolean;
51
+ gradleJvmArgs: string | null;
52
+ permissions: string[];
53
+ cleartextTrafficAllowed: boolean;
54
+ releaseMinifyEnabled: boolean;
55
+ releaseUsesDebugSigning: boolean;
56
+ abis: string[];
57
+ }
58
+ export interface IosDiagnosticSummary {
59
+ present: boolean;
60
+ hostCanVerifyNativeBuild: boolean;
61
+ hostOsNote: string;
62
+ podfilePath: string | null;
63
+ infoPlistPath: string | null;
64
+ deploymentTarget: string | null;
65
+ bundleIdentifier: string | null;
66
+ hermesEnabled: boolean | null;
67
+ flipperEnabled: boolean;
68
+ useFrameworks: string | null;
69
+ declaredPermissions: string[];
70
+ missingRequiredPermissions: string[];
71
+ }
72
+ export interface DependencyRecord {
73
+ name: string;
74
+ currentVersion: string;
75
+ recommendedVersion: string;
76
+ section: 'dependencies' | 'devDependencies' | 'python';
77
+ estimatedSizeKb: number;
78
+ status: 'compatible' | 'conflict' | 'heavy' | 'deprecated';
79
+ note: string;
80
+ replacementSuggestion?: string;
81
+ }
82
+ export interface DesignSystemReport {
83
+ discoveredTokens: {
84
+ colors: string[];
85
+ radii: string[];
86
+ spacingScale: string[];
87
+ fontFamilies: string[];
88
+ };
89
+ hardcodedColorsCount: number;
90
+ inconsistentSpacingCount: number;
91
+ randomRadiiCount: number;
92
+ emojiIconsCount: number;
93
+ accessibilityGapsCount: number;
94
+ tokenComplianceScore: number;
95
+ }
96
+ export interface PerformanceReport {
97
+ totalSourceFiles: number;
98
+ totalSourceSizeKb: number;
99
+ estimatedBundleWeightKb: number;
100
+ heavyDependencies: {
101
+ name: string;
102
+ sizeKb: number;
103
+ reason: string;
104
+ }[];
105
+ renderBottlenecksCount: number;
106
+ memoryLeakRisksCount: number;
107
+ blockingIoCount: number;
108
+ unoptimizedAssets: string[];
109
+ performanceScore: number;
110
+ }
111
+ export interface LaunchDoctorReport {
112
+ frameworkName: string;
113
+ ecosystem: ProjectEcosystem;
114
+ packageManager: 'npm' | 'yarn' | 'pnpm' | 'bun' | 'pip';
115
+ workflowType: 'Expo Managed' | 'Expo Prebuild (CNG)' | 'Bare React Native' | 'Web / Backend Standard';
116
+ detectedScripts: Record<string, string>;
117
+ recommendedStartCommand: string;
118
+ secondaryCommands: {
119
+ label: string;
120
+ command: string;
121
+ }[];
122
+ metroConfigured: boolean;
123
+ babelConfigured: boolean;
124
+ typescriptConfigured: boolean;
125
+ androidLaunchReady: boolean;
126
+ iosLaunchReady: boolean;
127
+ readinessNotes: string[];
128
+ }
129
+ export interface QualityGateConfig {
130
+ minCodeQuality: number;
131
+ minDesignQuality: number;
132
+ minPerformanceScore: number;
133
+ maxCriticalIssues: number;
134
+ maxSecurityIssues: number;
135
+ requireBuildVerification: boolean;
136
+ }
137
+ export interface QualityGateEvaluation {
138
+ passed: boolean;
139
+ exitCode: 0 | 1;
140
+ evaluatedAt: string;
141
+ checks: {
142
+ name: string;
143
+ actual: number | string;
144
+ threshold: number | string;
145
+ passed: boolean;
146
+ }[];
147
+ githubActionsYaml: string;
148
+ preCommitHookScript: string;
149
+ }
150
+ export interface RepairRecord {
151
+ id: string;
152
+ projectId: string;
153
+ issueId: string;
154
+ issueTitle: string;
155
+ filePath: string;
156
+ repairTier: RepairTier;
157
+ appliedAt: string;
158
+ backupPath: string;
159
+ rolledBack: boolean;
160
+ verifiedAfterFix: boolean;
161
+ unifiedDiff: string;
162
+ }
163
+ export interface ScanSnapshot {
164
+ id: string;
165
+ projectId: string;
166
+ scannedAt: string;
167
+ durationMs: number;
168
+ totalIssues: number;
169
+ criticalCount: number;
170
+ safeFixableCount: number;
171
+ scores: {
172
+ overall: number;
173
+ reactNative: number;
174
+ codeQuality: number;
175
+ designQuality: number;
176
+ performance: number;
177
+ security: number;
178
+ };
179
+ }
180
+ export interface VisualTestingReport {
181
+ projectId: string;
182
+ lastCapturedAt: string;
183
+ engine: string;
184
+ viewportsTested: {
185
+ label: string;
186
+ width: number;
187
+ height: number;
188
+ overflowDetected: boolean;
189
+ brokenImagesCount: number;
190
+ consoleErrorsCount: number;
191
+ networkFailuresCount: number;
192
+ diffPercentage: number;
193
+ status: 'pass' | 'warning' | 'fail';
194
+ }[];
195
+ findings: {
196
+ viewport: string;
197
+ selector: string;
198
+ description: string;
199
+ recommendation: string;
200
+ }[];
201
+ }
202
+ export interface ErrorDiagnosisResult {
203
+ id: string;
204
+ category: 'Metro Bundler' | 'Babel / Reanimated' | 'Android Gradle / Kotlin' | 'Android Manifest' | 'CocoaPods / iOS' | 'Native Module Linking' | 'Hermes Runtime' | 'React Render / Hook Crash' | 'Dependency Conflict';
205
+ severity: IssueSeverity;
206
+ confidence: number;
207
+ summary: string;
208
+ rootCause: string;
209
+ responsibleFile: string;
210
+ line: number | null;
211
+ safeRepairSteps: string[];
212
+ terminalCommands: string[];
213
+ codePatchSuggestion?: string;
214
+ aiPowered?: boolean;
215
+ aiModel?: string;
216
+ fallbackUsed?: boolean;
217
+ fallbackReason?: string;
218
+ }
219
+ export interface ProjectIntelligenceReport {
220
+ id: string;
221
+ name: string;
222
+ rootPath: string;
223
+ ecosystem: ProjectEcosystem;
224
+ description: string;
225
+ lastScannedAt: string;
226
+ scanDurationMs: number;
227
+ filesAnalyzed: string[];
228
+ scores: {
229
+ overall: number;
230
+ reactNative: number;
231
+ codeQuality: number;
232
+ designQuality: number;
233
+ performance: number;
234
+ security: number;
235
+ };
236
+ environmentChecks: EnvironmentCheckItem[];
237
+ issues: DiagnosticIssue[];
238
+ android: AndroidDiagnosticSummary;
239
+ ios: IosDiagnosticSummary;
240
+ dependencies: DependencyRecord[];
241
+ designSystem: DesignSystemReport;
242
+ performance: PerformanceReport;
243
+ launchDoctor: LaunchDoctorReport;
244
+ qualityGateConfig: QualityGateConfig;
245
+ qualityGateEvaluation: QualityGateEvaluation;
246
+ visualTesting: VisualTestingReport;
247
+ repairHistory: RepairRecord[];
248
+ scanHistory: ScanSnapshot[];
249
+ }
250
+ export type DashboardModuleId = 'command-center' | 'project-explorer' | 'project-health' | 'rn-doctor' | 'android-diagnostics' | 'ios-diagnostics' | 'code-intelligence' | 'design-intelligence' | 'performance-lab' | 'security-audit' | 'dependency-intelligence' | 'error-diagnostics' | 'auto-repair' | 'visual-testing' | 'quality-gate' | 'project-history' | 'environment-manager' | 'settings';
@@ -0,0 +1,250 @@
1
+ export type ProjectEcosystem = 'react-native-expo' | 'react-native-bare' | 'nextjs' | 'react-vite' | 'node-express' | 'python-django' | 'typescript-universal';
2
+ export type CheckStatus = 'working' | 'incompatible' | 'misconfigured' | 'not_installed' | 'os_unsupported';
3
+ export type IssueSeverity = 'critical' | 'high' | 'medium' | 'low';
4
+ export type RepairTier = 'SAFE' | 'REVIEW_REQUIRED' | 'RISKY';
5
+ export type IssueDomain = 'react-native' | 'android' | 'ios' | 'code' | 'design' | 'performance' | 'security' | 'dependencies';
6
+ export interface EnvironmentCheckItem {
7
+ id: string;
8
+ name: string;
9
+ category: 'runtime' | 'package-manager' | 'react-native' | 'android' | 'ios' | 'build-tools';
10
+ status: CheckStatus;
11
+ detectedVersion: string;
12
+ requiredVersion: string;
13
+ osPlatform: string;
14
+ explanation: string;
15
+ remediationCommand?: string;
16
+ }
17
+ export interface DiagnosticIssue {
18
+ id: string;
19
+ projectId: string;
20
+ domain: IssueDomain;
21
+ ruleId: string;
22
+ title: string;
23
+ severity: IssueSeverity;
24
+ repairTier: RepairTier;
25
+ confidence: number;
26
+ filePath: string;
27
+ line: number;
28
+ rootCause: string;
29
+ explanation: string;
30
+ recommendedRepair: string;
31
+ terminalCommand?: string;
32
+ fixAvailable: boolean;
33
+ beforeSnippet: string;
34
+ afterSnippet: string;
35
+ unifiedDiff: string;
36
+ fixed?: boolean;
37
+ }
38
+ export interface AndroidDiagnosticSummary {
39
+ present: boolean;
40
+ manifestPath: string | null;
41
+ packageName: string | null;
42
+ minSdkVersion: number | null;
43
+ compileSdkVersion: number | null;
44
+ targetSdkVersion: number | null;
45
+ agpVersion: string | null;
46
+ kotlinVersion: string | null;
47
+ ndkVersion: string | null;
48
+ hermesEnabled: boolean;
49
+ newArchEnabled: boolean;
50
+ jetifierEnabled: boolean;
51
+ gradleJvmArgs: string | null;
52
+ permissions: string[];
53
+ cleartextTrafficAllowed: boolean;
54
+ releaseMinifyEnabled: boolean;
55
+ releaseUsesDebugSigning: boolean;
56
+ abis: string[];
57
+ }
58
+ export interface IosDiagnosticSummary {
59
+ present: boolean;
60
+ hostCanVerifyNativeBuild: boolean;
61
+ hostOsNote: string;
62
+ podfilePath: string | null;
63
+ infoPlistPath: string | null;
64
+ deploymentTarget: string | null;
65
+ bundleIdentifier: string | null;
66
+ hermesEnabled: boolean | null;
67
+ flipperEnabled: boolean;
68
+ useFrameworks: string | null;
69
+ declaredPermissions: string[];
70
+ missingRequiredPermissions: string[];
71
+ }
72
+ export interface DependencyRecord {
73
+ name: string;
74
+ currentVersion: string;
75
+ recommendedVersion: string;
76
+ section: 'dependencies' | 'devDependencies' | 'python';
77
+ estimatedSizeKb: number;
78
+ status: 'compatible' | 'conflict' | 'heavy' | 'deprecated';
79
+ note: string;
80
+ replacementSuggestion?: string;
81
+ }
82
+ export interface DesignSystemReport {
83
+ discoveredTokens: {
84
+ colors: string[];
85
+ radii: string[];
86
+ spacingScale: string[];
87
+ fontFamilies: string[];
88
+ };
89
+ hardcodedColorsCount: number;
90
+ inconsistentSpacingCount: number;
91
+ randomRadiiCount: number;
92
+ emojiIconsCount: number;
93
+ accessibilityGapsCount: number;
94
+ tokenComplianceScore: number;
95
+ }
96
+ export interface PerformanceReport {
97
+ totalSourceFiles: number;
98
+ totalSourceSizeKb: number;
99
+ estimatedBundleWeightKb: number;
100
+ heavyDependencies: {
101
+ name: string;
102
+ sizeKb: number;
103
+ reason: string;
104
+ }[];
105
+ renderBottlenecksCount: number;
106
+ memoryLeakRisksCount: number;
107
+ blockingIoCount: number;
108
+ unoptimizedAssets: string[];
109
+ performanceScore: number;
110
+ }
111
+ export interface LaunchDoctorReport {
112
+ frameworkName: string;
113
+ ecosystem: ProjectEcosystem;
114
+ packageManager: 'npm' | 'yarn' | 'pnpm' | 'bun' | 'pip';
115
+ workflowType: 'Expo Managed' | 'Expo Prebuild (CNG)' | 'Bare React Native' | 'Web / Backend Standard';
116
+ detectedScripts: Record<string, string>;
117
+ recommendedStartCommand: string;
118
+ secondaryCommands: {
119
+ label: string;
120
+ command: string;
121
+ }[];
122
+ metroConfigured: boolean;
123
+ babelConfigured: boolean;
124
+ typescriptConfigured: boolean;
125
+ androidLaunchReady: boolean;
126
+ iosLaunchReady: boolean;
127
+ readinessNotes: string[];
128
+ }
129
+ export interface QualityGateConfig {
130
+ minCodeQuality: number;
131
+ minDesignQuality: number;
132
+ minPerformanceScore: number;
133
+ maxCriticalIssues: number;
134
+ maxSecurityIssues: number;
135
+ requireBuildVerification: boolean;
136
+ }
137
+ export interface QualityGateEvaluation {
138
+ passed: boolean;
139
+ exitCode: 0 | 1;
140
+ evaluatedAt: string;
141
+ checks: {
142
+ name: string;
143
+ actual: number | string;
144
+ threshold: number | string;
145
+ passed: boolean;
146
+ }[];
147
+ githubActionsYaml: string;
148
+ preCommitHookScript: string;
149
+ }
150
+ export interface RepairRecord {
151
+ id: string;
152
+ projectId: string;
153
+ issueId: string;
154
+ issueTitle: string;
155
+ filePath: string;
156
+ repairTier: RepairTier;
157
+ appliedAt: string;
158
+ backupPath: string;
159
+ rolledBack: boolean;
160
+ verifiedAfterFix: boolean;
161
+ unifiedDiff: string;
162
+ }
163
+ export interface ScanSnapshot {
164
+ id: string;
165
+ projectId: string;
166
+ scannedAt: string;
167
+ durationMs: number;
168
+ totalIssues: number;
169
+ criticalCount: number;
170
+ safeFixableCount: number;
171
+ scores: {
172
+ overall: number;
173
+ reactNative: number;
174
+ codeQuality: number;
175
+ designQuality: number;
176
+ performance: number;
177
+ security: number;
178
+ };
179
+ }
180
+ export interface VisualTestingReport {
181
+ projectId: string;
182
+ lastCapturedAt: string;
183
+ engine: string;
184
+ viewportsTested: {
185
+ label: string;
186
+ width: number;
187
+ height: number;
188
+ overflowDetected: boolean;
189
+ brokenImagesCount: number;
190
+ consoleErrorsCount: number;
191
+ networkFailuresCount: number;
192
+ diffPercentage: number;
193
+ status: 'pass' | 'warning' | 'fail';
194
+ }[];
195
+ findings: {
196
+ viewport: string;
197
+ selector: string;
198
+ description: string;
199
+ recommendation: string;
200
+ }[];
201
+ }
202
+ export interface ErrorDiagnosisResult {
203
+ id: string;
204
+ category: 'Metro Bundler' | 'Babel / Reanimated' | 'Android Gradle / Kotlin' | 'Android Manifest' | 'CocoaPods / iOS' | 'Native Module Linking' | 'Hermes Runtime' | 'React Render / Hook Crash' | 'Dependency Conflict';
205
+ severity: IssueSeverity;
206
+ confidence: number;
207
+ summary: string;
208
+ rootCause: string;
209
+ responsibleFile: string;
210
+ line: number | null;
211
+ safeRepairSteps: string[];
212
+ terminalCommands: string[];
213
+ codePatchSuggestion?: string;
214
+ aiPowered?: boolean;
215
+ aiModel?: string;
216
+ fallbackUsed?: boolean;
217
+ fallbackReason?: string;
218
+ }
219
+ export interface ProjectIntelligenceReport {
220
+ id: string;
221
+ name: string;
222
+ rootPath: string;
223
+ ecosystem: ProjectEcosystem;
224
+ description: string;
225
+ lastScannedAt: string;
226
+ scanDurationMs: number;
227
+ filesAnalyzed: string[];
228
+ scores: {
229
+ overall: number;
230
+ reactNative: number;
231
+ codeQuality: number;
232
+ designQuality: number;
233
+ performance: number;
234
+ security: number;
235
+ };
236
+ environmentChecks: EnvironmentCheckItem[];
237
+ issues: DiagnosticIssue[];
238
+ android: AndroidDiagnosticSummary;
239
+ ios: IosDiagnosticSummary;
240
+ dependencies: DependencyRecord[];
241
+ designSystem: DesignSystemReport;
242
+ performance: PerformanceReport;
243
+ launchDoctor: LaunchDoctorReport;
244
+ qualityGateConfig: QualityGateConfig;
245
+ qualityGateEvaluation: QualityGateEvaluation;
246
+ visualTesting: VisualTestingReport;
247
+ repairHistory: RepairRecord[];
248
+ scanHistory: ScanSnapshot[];
249
+ }
250
+ export type DashboardModuleId = 'command-center' | 'project-explorer' | 'project-health' | 'rn-doctor' | 'android-diagnostics' | 'ios-diagnostics' | 'code-intelligence' | 'design-intelligence' | 'performance-lab' | 'security-audit' | 'dependency-intelligence' | 'error-diagnostics' | 'auto-repair' | 'visual-testing' | 'quality-gate' | 'project-history' | 'environment-manager' | 'settings';
@@ -1,4 +1,4 @@
1
- Django==5.0.6
2
- djangorestframework==3.15.1
3
- psycopg2-binary==2.9.9
4
- celery==5.4.0
1
+ Django==5.0.6
2
+ djangorestframework==3.15.1
3
+ psycopg2-binary==2.9.9
4
+ celery==5.4.0
@@ -1,16 +1,16 @@
1
- import os
2
-
3
- SECRET_KEY = "django-insecure-hardcoded-production-key-9918273645"
4
- DEBUG = True
5
- ALLOWED_HOSTS = ["*"]
6
-
7
- DATABASES = {
8
- "default": {
9
- "ENGINE": "django.db.backends.postgresql",
10
- "NAME": "analytics_prod",
11
- "USER": "postgres",
12
- "PASSWORD": "prod_db_password_plain_text_2026",
13
- "HOST": "10.0.14.22",
14
- "PORT": "5432",
15
- }
16
- }
1
+ import os
2
+
3
+ SECRET_KEY = "django-insecure-hardcoded-production-key-9918273645"
4
+ DEBUG = True
5
+ ALLOWED_HOSTS = ["*"]
6
+
7
+ DATABASES = {
8
+ "default": {
9
+ "ENGINE": "django.db.backends.postgresql",
10
+ "NAME": "analytics_prod",
11
+ "USER": "postgres",
12
+ "PASSWORD": "prod_db_password_plain_text_2026",
13
+ "HOST": "10.0.14.22",
14
+ "PORT": "5432",
15
+ }
16
+ }
@@ -1,14 +1,14 @@
1
- {
2
- "name": "express-api-gateway",
3
- "version": "1.1.0",
4
- "private": true,
5
- "scripts": {
6
- "dev": "tsx src/server.ts",
7
- "start": "node dist/server.js"
8
- },
9
- "dependencies": {
10
- "express": "^4.19.2",
11
- "pg": "^8.11.5",
12
- "jsonwebtoken": "^9.0.2"
13
- }
14
- }
1
+ {
2
+ "name": "express-api-gateway",
3
+ "version": "1.1.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "dev": "tsx src/server.ts",
7
+ "start": "node dist/server.js"
8
+ },
9
+ "dependencies": {
10
+ "express": "^4.19.2",
11
+ "pg": "^8.11.5",
12
+ "jsonwebtoken": "^9.0.2"
13
+ }
14
+ }
@@ -1,16 +1,16 @@
1
- import express from 'express';
2
- import fs from 'node:fs';
3
-
4
- const app = express();
5
- const JWT_SECRET = "super_secret_hardcoded_jwt_signing_key_2026";
6
-
7
- app.get('/api/users/search', async (req, res) => {
8
- const emailQuery = req.query.email as string;
9
- // Blocking synchronous file read inside request loop
10
- const auditConfig = fs.readFileSync('./config.json', 'utf8');
11
- // SQL Injection vulnerability via raw string interpolation
12
- const rawSql = `SELECT * FROM users WHERE email = '${emailQuery}'`;
13
- res.json({ query: rawSql, configLength: auditConfig.length, signedBy: JWT_SECRET.slice(0, 4) });
14
- });
15
-
16
- app.listen(4000);
1
+ import express from 'express';
2
+ import fs from 'node:fs';
3
+
4
+ const app = express();
5
+ const JWT_SECRET = "super_secret_hardcoded_jwt_signing_key_2026";
6
+
7
+ app.get('/api/users/search', async (req, res) => {
8
+ const emailQuery = req.query.email as string;
9
+ // Blocking synchronous file read inside request loop
10
+ const auditConfig = fs.readFileSync('./config.json', 'utf8');
11
+ // SQL Injection vulnerability via raw string interpolation
12
+ const rawSql = `SELECT * FROM users WHERE email = '${emailQuery}'`;
13
+ res.json({ query: rawSql, configLength: auditConfig.length, signedBy: JWT_SECRET.slice(0, 4) });
14
+ });
15
+
16
+ app.listen(4000);
@@ -1,21 +1,21 @@
1
- {
2
- "name": "nextjs-saas-portal",
3
- "version": "0.9.2",
4
- "private": true,
5
- "scripts": {
6
- "dev": "next dev",
7
- "build": "next build",
8
- "start": "next start",
9
- "lint": "next lint"
10
- },
11
- "dependencies": {
12
- "next": "14.2.5",
13
- "react": "^18.3.1",
14
- "react-dom": "^18.3.1",
15
- "moment": "^2.30.1",
16
- "lodash": "^4.17.21"
17
- },
18
- "devDependencies": {
19
- "typescript": "^5.4.5"
20
- }
21
- }
1
+ {
2
+ "name": "nextjs-saas-portal",
3
+ "version": "0.9.2",
4
+ "private": true,
5
+ "scripts": {
6
+ "dev": "next dev",
7
+ "build": "next build",
8
+ "start": "next start",
9
+ "lint": "next lint"
10
+ },
11
+ "dependencies": {
12
+ "next": "14.2.5",
13
+ "react": "^18.3.1",
14
+ "react-dom": "^18.3.1",
15
+ "moment": "^2.30.1",
16
+ "lodash": "^4.17.21"
17
+ },
18
+ "devDependencies": {
19
+ "typescript": "^5.4.5"
20
+ }
21
+ }