baseguard 1.0.0

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 (244) hide show
  1. package/.eslintrc.json +25 -0
  2. package/.prettierrc +8 -0
  3. package/README.md +94 -0
  4. package/bin/base.js +494 -0
  5. package/dist/ai/fix-manager.d.ts +67 -0
  6. package/dist/ai/fix-manager.d.ts.map +1 -0
  7. package/dist/ai/fix-manager.js +326 -0
  8. package/dist/ai/fix-manager.js.map +1 -0
  9. package/dist/ai/gemini-analyzer.d.ts +116 -0
  10. package/dist/ai/gemini-analyzer.d.ts.map +1 -0
  11. package/dist/ai/gemini-analyzer.js +572 -0
  12. package/dist/ai/gemini-analyzer.js.map +1 -0
  13. package/dist/ai/index.d.ts +4 -0
  14. package/dist/ai/index.d.ts.map +1 -0
  15. package/dist/ai/index.js +5 -0
  16. package/dist/ai/index.js.map +1 -0
  17. package/dist/ai/jules-implementer.d.ts +115 -0
  18. package/dist/ai/jules-implementer.d.ts.map +1 -0
  19. package/dist/ai/jules-implementer.js +387 -0
  20. package/dist/ai/jules-implementer.js.map +1 -0
  21. package/dist/commands/automation.d.ts +5 -0
  22. package/dist/commands/automation.d.ts.map +1 -0
  23. package/dist/commands/automation.js +305 -0
  24. package/dist/commands/automation.js.map +1 -0
  25. package/dist/commands/check.d.ts +9 -0
  26. package/dist/commands/check.d.ts.map +1 -0
  27. package/dist/commands/check.js +113 -0
  28. package/dist/commands/check.js.map +1 -0
  29. package/dist/commands/config.d.ts +11 -0
  30. package/dist/commands/config.d.ts.map +1 -0
  31. package/dist/commands/config.js +324 -0
  32. package/dist/commands/config.js.map +1 -0
  33. package/dist/commands/fix.d.ts +9 -0
  34. package/dist/commands/fix.d.ts.map +1 -0
  35. package/dist/commands/fix.js +207 -0
  36. package/dist/commands/fix.js.map +1 -0
  37. package/dist/commands/index.d.ts +6 -0
  38. package/dist/commands/index.d.ts.map +1 -0
  39. package/dist/commands/index.js +7 -0
  40. package/dist/commands/index.js.map +1 -0
  41. package/dist/commands/init.d.ts +9 -0
  42. package/dist/commands/init.d.ts.map +1 -0
  43. package/dist/commands/init.js +125 -0
  44. package/dist/commands/init.js.map +1 -0
  45. package/dist/core/api-key-manager.d.ts +83 -0
  46. package/dist/core/api-key-manager.d.ts.map +1 -0
  47. package/dist/core/api-key-manager.js +244 -0
  48. package/dist/core/api-key-manager.js.map +1 -0
  49. package/dist/core/baseguard.d.ts +46 -0
  50. package/dist/core/baseguard.d.ts.map +1 -0
  51. package/dist/core/baseguard.js +132 -0
  52. package/dist/core/baseguard.js.map +1 -0
  53. package/dist/core/baseline-checker.d.ts +63 -0
  54. package/dist/core/baseline-checker.d.ts.map +1 -0
  55. package/dist/core/baseline-checker.js +502 -0
  56. package/dist/core/baseline-checker.js.map +1 -0
  57. package/dist/core/cache-manager.d.ts +88 -0
  58. package/dist/core/cache-manager.d.ts.map +1 -0
  59. package/dist/core/cache-manager.js +213 -0
  60. package/dist/core/cache-manager.js.map +1 -0
  61. package/dist/core/configuration.d.ts +140 -0
  62. package/dist/core/configuration.d.ts.map +1 -0
  63. package/dist/core/configuration.js +474 -0
  64. package/dist/core/configuration.js.map +1 -0
  65. package/dist/core/directory-filter.d.ts +90 -0
  66. package/dist/core/directory-filter.d.ts.map +1 -0
  67. package/dist/core/directory-filter.js +319 -0
  68. package/dist/core/directory-filter.js.map +1 -0
  69. package/dist/core/error-handler.d.ts +110 -0
  70. package/dist/core/error-handler.d.ts.map +1 -0
  71. package/dist/core/error-handler.js +392 -0
  72. package/dist/core/error-handler.js.map +1 -0
  73. package/dist/core/file-processor.d.ts +80 -0
  74. package/dist/core/file-processor.d.ts.map +1 -0
  75. package/dist/core/file-processor.js +259 -0
  76. package/dist/core/file-processor.js.map +1 -0
  77. package/dist/core/gitignore-manager.d.ts +44 -0
  78. package/dist/core/gitignore-manager.d.ts.map +1 -0
  79. package/dist/core/gitignore-manager.js +147 -0
  80. package/dist/core/gitignore-manager.js.map +1 -0
  81. package/dist/core/index.d.ts +13 -0
  82. package/dist/core/index.d.ts.map +1 -0
  83. package/dist/core/index.js +13 -0
  84. package/dist/core/index.js.map +1 -0
  85. package/dist/core/lazy-loader.d.ts +68 -0
  86. package/dist/core/lazy-loader.d.ts.map +1 -0
  87. package/dist/core/lazy-loader.js +260 -0
  88. package/dist/core/lazy-loader.js.map +1 -0
  89. package/dist/core/memory-manager.d.ts +1 -0
  90. package/dist/core/memory-manager.d.ts.map +1 -0
  91. package/dist/core/memory-manager.js +2 -0
  92. package/dist/core/memory-manager.js.map +1 -0
  93. package/dist/core/startup-optimizer.d.ts +45 -0
  94. package/dist/core/startup-optimizer.d.ts.map +1 -0
  95. package/dist/core/startup-optimizer.js +140 -0
  96. package/dist/core/startup-optimizer.js.map +1 -0
  97. package/dist/git/automation-engine.d.ts +58 -0
  98. package/dist/git/automation-engine.d.ts.map +1 -0
  99. package/dist/git/automation-engine.js +318 -0
  100. package/dist/git/automation-engine.js.map +1 -0
  101. package/dist/git/github-manager.d.ts +71 -0
  102. package/dist/git/github-manager.d.ts.map +1 -0
  103. package/dist/git/github-manager.js +226 -0
  104. package/dist/git/github-manager.js.map +1 -0
  105. package/dist/git/hook-manager.d.ts +43 -0
  106. package/dist/git/hook-manager.d.ts.map +1 -0
  107. package/dist/git/hook-manager.js +191 -0
  108. package/dist/git/hook-manager.js.map +1 -0
  109. package/dist/git/index.d.ts +4 -0
  110. package/dist/git/index.d.ts.map +1 -0
  111. package/dist/git/index.js +5 -0
  112. package/dist/git/index.js.map +1 -0
  113. package/dist/index.d.ts +8 -0
  114. package/dist/index.d.ts.map +1 -0
  115. package/dist/index.js +9 -0
  116. package/dist/index.js.map +1 -0
  117. package/dist/parsers/feature-validator.d.ts +60 -0
  118. package/dist/parsers/feature-validator.d.ts.map +1 -0
  119. package/dist/parsers/feature-validator.js +483 -0
  120. package/dist/parsers/feature-validator.js.map +1 -0
  121. package/dist/parsers/index.d.ts +8 -0
  122. package/dist/parsers/index.d.ts.map +1 -0
  123. package/dist/parsers/index.js +9 -0
  124. package/dist/parsers/index.js.map +1 -0
  125. package/dist/parsers/parser-manager.d.ts +103 -0
  126. package/dist/parsers/parser-manager.d.ts.map +1 -0
  127. package/dist/parsers/parser-manager.js +321 -0
  128. package/dist/parsers/parser-manager.js.map +1 -0
  129. package/dist/parsers/parser.d.ts +23 -0
  130. package/dist/parsers/parser.d.ts.map +1 -0
  131. package/dist/parsers/parser.js +6 -0
  132. package/dist/parsers/parser.js.map +1 -0
  133. package/dist/parsers/react-parser.d.ts +22 -0
  134. package/dist/parsers/react-parser.d.ts.map +1 -0
  135. package/dist/parsers/react-parser.js +307 -0
  136. package/dist/parsers/react-parser.js.map +1 -0
  137. package/dist/parsers/svelte-parser.d.ts +33 -0
  138. package/dist/parsers/svelte-parser.d.ts.map +1 -0
  139. package/dist/parsers/svelte-parser.js +408 -0
  140. package/dist/parsers/svelte-parser.js.map +1 -0
  141. package/dist/parsers/vanilla-parser.d.ts +31 -0
  142. package/dist/parsers/vanilla-parser.d.ts.map +1 -0
  143. package/dist/parsers/vanilla-parser.js +590 -0
  144. package/dist/parsers/vanilla-parser.js.map +1 -0
  145. package/dist/parsers/vue-parser.d.ts +9 -0
  146. package/dist/parsers/vue-parser.d.ts.map +1 -0
  147. package/dist/parsers/vue-parser.js +16 -0
  148. package/dist/parsers/vue-parser.js.map +1 -0
  149. package/dist/terminal-header.d.ts +12 -0
  150. package/dist/terminal-header.js +45 -0
  151. package/dist/types/index.d.ts +83 -0
  152. package/dist/types/index.d.ts.map +1 -0
  153. package/dist/types/index.js +5 -0
  154. package/dist/types/index.js.map +1 -0
  155. package/dist/ui/components.d.ts +133 -0
  156. package/dist/ui/components.d.ts.map +1 -0
  157. package/dist/ui/components.js +482 -0
  158. package/dist/ui/components.js.map +1 -0
  159. package/dist/ui/help.d.ts +11 -0
  160. package/dist/ui/help.d.ts.map +1 -0
  161. package/dist/ui/help.js +161 -0
  162. package/dist/ui/help.js.map +1 -0
  163. package/dist/ui/index.d.ts +5 -0
  164. package/dist/ui/index.d.ts.map +1 -0
  165. package/dist/ui/index.js +5 -0
  166. package/dist/ui/index.js.map +1 -0
  167. package/dist/ui/prompts.d.ts +63 -0
  168. package/dist/ui/prompts.d.ts.map +1 -0
  169. package/dist/ui/prompts.js +611 -0
  170. package/dist/ui/prompts.js.map +1 -0
  171. package/dist/ui/terminal-header.d.ts +13 -0
  172. package/dist/ui/terminal-header.d.ts.map +1 -0
  173. package/dist/ui/terminal-header.js +46 -0
  174. package/dist/ui/terminal-header.js.map +1 -0
  175. package/package.json +80 -0
  176. package/src/ai/__tests__/gemini-analyzer.test.ts +181 -0
  177. package/src/ai/fix-manager.ts +362 -0
  178. package/src/ai/gemini-analyzer.ts +671 -0
  179. package/src/ai/index.ts +4 -0
  180. package/src/ai/jules-implementer.ts +459 -0
  181. package/src/commands/automation.ts +344 -0
  182. package/src/commands/check.ts +299 -0
  183. package/src/commands/config.ts +365 -0
  184. package/src/commands/fix.ts +234 -0
  185. package/src/commands/index.ts +6 -0
  186. package/src/commands/init.ts +142 -0
  187. package/src/commands/status.ts +0 -0
  188. package/src/core/api-key-manager.ts +298 -0
  189. package/src/core/baseguard.ts +742 -0
  190. package/src/core/baseline-checker.ts +563 -0
  191. package/src/core/cache-manager.ts +270 -0
  192. package/src/core/configuration-recovery.ts +676 -0
  193. package/src/core/configuration.ts +559 -0
  194. package/src/core/debug-logger.ts +590 -0
  195. package/src/core/directory-filter.ts +421 -0
  196. package/src/core/error-handler.ts +517 -0
  197. package/src/core/file-processor.ts +331 -0
  198. package/src/core/gitignore-manager.ts +169 -0
  199. package/src/core/graceful-degradation-manager.ts +596 -0
  200. package/src/core/index.ts +13 -0
  201. package/src/core/lazy-loader.ts +307 -0
  202. package/src/core/logger.ts +0 -0
  203. package/src/core/memory-manager.ts +294 -0
  204. package/src/core/startup-optimizer.ts +173 -0
  205. package/src/core/system-error-handler.ts +746 -0
  206. package/src/git/automation-engine.ts +361 -0
  207. package/src/git/github-manager.ts +260 -0
  208. package/src/git/hook-manager.ts +210 -0
  209. package/src/git/index.ts +4 -0
  210. package/src/index.ts +8 -0
  211. package/src/parsers/feature-validator.ts +559 -0
  212. package/src/parsers/index.ts +8 -0
  213. package/src/parsers/parser-manager.ts +419 -0
  214. package/src/parsers/parser.ts +26 -0
  215. package/src/parsers/react-parser-optimized.ts +161 -0
  216. package/src/parsers/react-parser.ts +359 -0
  217. package/src/parsers/svelte-parser.ts +506 -0
  218. package/src/parsers/vanilla-parser.ts +682 -0
  219. package/src/parsers/vue-parser.ts +472 -0
  220. package/src/types/index.ts +92 -0
  221. package/src/ui/components.ts +567 -0
  222. package/src/ui/help.ts +193 -0
  223. package/src/ui/index.ts +4 -0
  224. package/src/ui/prompts.ts +688 -0
  225. package/src/ui/terminal-header.ts +59 -0
  226. package/test-config-commands.js +56 -0
  227. package/test-header-simple.js +33 -0
  228. package/test-terminal-header.js +12 -0
  229. package/test-ui.js +29 -0
  230. package/tests/e2e/baseguard.e2e.test.ts +516 -0
  231. package/tests/e2e/cross-platform.e2e.test.ts +420 -0
  232. package/tests/e2e/git-integration.e2e.test.ts +487 -0
  233. package/tests/fixtures/react-project/package.json +14 -0
  234. package/tests/fixtures/react-project/src/App.css +76 -0
  235. package/tests/fixtures/react-project/src/App.tsx +77 -0
  236. package/tests/fixtures/svelte-project/package.json +11 -0
  237. package/tests/fixtures/svelte-project/src/App.svelte +369 -0
  238. package/tests/fixtures/vanilla-project/index.html +76 -0
  239. package/tests/fixtures/vanilla-project/script.js +331 -0
  240. package/tests/fixtures/vanilla-project/styles.css +359 -0
  241. package/tests/fixtures/vue-project/package.json +12 -0
  242. package/tests/fixtures/vue-project/src/App.vue +216 -0
  243. package/tsconfig.json +36 -0
  244. package/vitest.config.ts +10 -0
@@ -0,0 +1,16 @@
1
+ import { Parser } from './parser.js';
2
+ export class VueParser extends Parser {
3
+ canParse(filePath) {
4
+ return /\.vue$/.test(filePath);
5
+ }
6
+ async parseFeatures(content, filePath) {
7
+ throw new Error('Not implemented yet');
8
+ }
9
+ getSupportedExtensions() {
10
+ return ['.vue'];
11
+ }
12
+ getName() {
13
+ return 'VueParser';
14
+ }
15
+ }
16
+ //# sourceMappingURL=vue-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-parser.js","sourceRoot":"","sources":["../../src/parsers/vue-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC,QAAQ,CAAC,QAAgB;QACvB,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,QAAgB;QACnD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,sBAAsB;QACpB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Display beautiful Baseguard terminal header with ASCII art and tagline
3
+ */
4
+ export declare function showTerminalHeader(): void;
5
+ /**
6
+ * Display compact header for command output
7
+ */
8
+ export declare function showCompactHeader(): void;
9
+ /**
10
+ * Simple fallback header without external dependencies
11
+ */
12
+ export declare function showSimpleHeader(): void;
@@ -0,0 +1,45 @@
1
+ import chalk from 'chalk';
2
+ /**
3
+ * Display beautiful Baseguard terminal header with ASCII art and tagline
4
+ */
5
+ export function showTerminalHeader() {
6
+ console.clear();
7
+ // Well-spaced ASCII art for "Baseguard" - monochrome for good contrast
8
+ const logo = `
9
+ ██████╗ █████╗ ███████╗ ███████╗ ██████╗ ██╗ ██╗ █████╗ ██████╗ ██████╗
10
+ ██╔══██╗ ██╔══██╗ ██╔════╝ ██╔════╝ ██╔════╝ ██║ ██║ ██╔══██╗ ██╔══██╗ ██╔══██╗
11
+ ██████╔╝ ███████║ ███████╗ █████╗ ██║ ███╗ ██║ ██║ ███████║ ██████╔╝ ██║ ██║
12
+ ██╔══██╗ ██╔══██║ ╚════██║ ██╔══╝ ██║ ██║ ██║ ██║ ██╔══██║ ██╔══██╗ ██║ ██║
13
+ ██████╔╝ ██║ ██║ ███████║ ███████╗ ╚██████╔╝ ╚██████╔╝ ██║ ██║ ██║ ██║ ██████╔╝
14
+ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝
15
+ `;
16
+ // Use a single color that contrasts well with both light and dark terminals
17
+ console.log(chalk.bold.white(logo));
18
+ // Tagline with styling
19
+ console.log(chalk.bold.white(' Ship Modern Code') +
20
+ chalk.dim(' ✨\n'));
21
+ }
22
+ /**
23
+ * Display compact header for command output
24
+ */
25
+ export function showCompactHeader() {
26
+ console.log(chalk.bold.white('🛡️ Baseguard') +
27
+ chalk.dim(' - Ship Modern Code ✨\n'));
28
+ }
29
+ /**
30
+ * Simple fallback header without external dependencies
31
+ */
32
+ export function showSimpleHeader() {
33
+ console.clear();
34
+ const logo = `
35
+ ██████╗ █████╗ ███████╗ ███████╗ ██████╗ ██╗ ██╗ █████╗ ██████╗ ██████╗
36
+ ██╔══██╗ ██╔══██╗ ██╔════╝ ██╔════╝ ██╔════╝ ██║ ██║ ██╔══██╗ ██╔══██╗ ██╔══██╗
37
+ ██████╔╝ ███████║ ███████╗ █████╗ ██║ ███╗ ██║ ██║ ███████║ ██████╔╝ ██║ ██║
38
+ ██╔══██╗ ██╔══██║ ╚════██║ ██╔══╝ ██║ ██║ ██║ ██║ ██╔══██║ ██╔══██╗ ██║ ██║
39
+ ██████╔╝ ██║ ██║ ███████║ ███████╗ ╚██████╔╝ ╚██████╔╝ ██║ ██║ ██║ ██║ ██████╔╝
40
+ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝
41
+ `;
42
+ console.log(chalk.bold.white(logo));
43
+ console.log(chalk.bold.white(' Ship Modern Code') +
44
+ chalk.dim(' ✨\n'));
45
+ }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Core data models for BaseGuard
3
+ */
4
+ export interface Violation {
5
+ feature: string;
6
+ featureId: string;
7
+ file: string;
8
+ line: number;
9
+ column: number;
10
+ context: string;
11
+ browser: string;
12
+ required: string;
13
+ actual: string | false;
14
+ baselineStatus: string;
15
+ reason: string;
16
+ }
17
+ export interface Analysis {
18
+ violation: Violation;
19
+ userImpact: string;
20
+ marketShare: number;
21
+ fixStrategy: string;
22
+ bestPractices: string[];
23
+ sources: string[];
24
+ plainEnglish: string;
25
+ confidence: number;
26
+ }
27
+ export interface Fix {
28
+ violation: Violation;
29
+ analysis: Analysis;
30
+ patch: string;
31
+ explanation: string;
32
+ filePath: string;
33
+ preview: string;
34
+ confidence: number;
35
+ testable: boolean;
36
+ }
37
+ export interface BrowserTarget {
38
+ browser: string;
39
+ minVersion: string | 'baseline' | 'baseline-newly';
40
+ }
41
+ export interface Configuration {
42
+ version: string;
43
+ targets: BrowserTarget[];
44
+ apiKeys: {
45
+ jules: string | null;
46
+ gemini: string | null;
47
+ };
48
+ automation: {
49
+ enabled: boolean;
50
+ trigger: 'pre-commit' | 'pre-push';
51
+ autoAnalyze: boolean;
52
+ autoFix: boolean;
53
+ blockCommit: boolean;
54
+ };
55
+ }
56
+ export interface DetectedFeature {
57
+ feature: string;
58
+ type: 'css' | 'js' | 'html';
59
+ line: number;
60
+ column: number;
61
+ context: string;
62
+ file?: string;
63
+ }
64
+ export interface CompatibilityResult {
65
+ violations: Violation[];
66
+ featureData: any;
67
+ }
68
+ export interface AutomationOptions {
69
+ trigger: 'pre-commit' | 'pre-push';
70
+ strict?: boolean;
71
+ }
72
+ export interface JulesSession {
73
+ id: string;
74
+ status: string;
75
+ title: string;
76
+ }
77
+ export interface JulesActivity {
78
+ id: string;
79
+ type: string;
80
+ status: string;
81
+ timestamp: string;
82
+ }
83
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAAC;CACpD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC;QACnC,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Core data models for BaseGuard
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,133 @@
1
+ import { type Ora } from 'ora';
2
+ import type { Violation, Analysis, Fix, Configuration } from '../types/index.js';
3
+ /**
4
+ * Color scheme for consistent CLI output
5
+ */
6
+ export declare const Colors: {
7
+ readonly primary: import("chalk").ChalkInstance;
8
+ readonly success: import("chalk").ChalkInstance;
9
+ readonly error: import("chalk").ChalkInstance;
10
+ readonly warning: import("chalk").ChalkInstance;
11
+ readonly info: import("chalk").ChalkInstance;
12
+ readonly muted: import("chalk").ChalkInstance;
13
+ readonly highlight: import("chalk").ChalkInstance;
14
+ readonly feature: import("chalk").ChalkInstance;
15
+ readonly file: import("chalk").ChalkInstance;
16
+ readonly browser: import("chalk").ChalkInstance;
17
+ readonly baseline: import("chalk").ChalkInstance;
18
+ };
19
+ /**
20
+ * UI components for beautiful CLI output
21
+ */
22
+ export { Prompts } from './prompts.js';
23
+ export declare class UIComponents {
24
+ /**
25
+ * Display violations grouped by file with clear visual hierarchy
26
+ */
27
+ static showViolations(violations: Violation[]): void;
28
+ /**
29
+ * Display a single violation with context and details
30
+ */
31
+ static showSingleViolation(violation: Violation, index: number): void;
32
+ /**
33
+ * Show code context with basic syntax highlighting
34
+ */
35
+ static showCodeContext(context: string, line: number, column: number): void;
36
+ /**
37
+ * Format baseline status with appropriate colors
38
+ */
39
+ static formatBaselineStatus(status: string): string;
40
+ /**
41
+ * Group violations by file for organized display
42
+ */
43
+ static groupViolationsByFile(violations: Violation[]): Record<string, Violation[]>;
44
+ /**
45
+ * Show violation summary with actionable next steps
46
+ */
47
+ static showViolationSummary(violations: Violation[]): void;
48
+ /**
49
+ * Display analysis results with sources and recommendations
50
+ */
51
+ static showAnalysis(analysis: Analysis): void;
52
+ /**
53
+ * Display fix preview with diff-like formatting
54
+ */
55
+ static showFixPreview(fix: Fix): void;
56
+ /**
57
+ * Display diff with syntax highlighting
58
+ */
59
+ static showDiff(patch: string): void;
60
+ /**
61
+ * Show configuration in a readable format
62
+ */
63
+ static showConfiguration(config: Configuration): void;
64
+ /**
65
+ * Wrap text to specified width
66
+ */
67
+ static wrapText(text: string, width: number): string;
68
+ /**
69
+ * Create a spinner for long-running operations
70
+ */
71
+ static createSpinner(text: string): Ora;
72
+ /**
73
+ * Show success message in a box
74
+ */
75
+ static showSuccessBox(message: string): void;
76
+ /**
77
+ * Show error message in a box
78
+ */
79
+ static showErrorBox(message: string): void;
80
+ /**
81
+ * Show warning message in a box
82
+ */
83
+ static showWarningBox(message: string): void;
84
+ /**
85
+ * Show info message in a box
86
+ */
87
+ static showInfoBox(message: string): void;
88
+ /**
89
+ * Show a formatted header with Baseguard branding
90
+ */
91
+ static showHeader(): void;
92
+ /**
93
+ * Show the full terminal header with ASCII art
94
+ */
95
+ static showFullHeader(): void;
96
+ /**
97
+ * Show beautiful terminal header with ASCII art
98
+ */
99
+ static showTerminalHeader(): void;
100
+ /**
101
+ * Show a formatted section header
102
+ */
103
+ static showSectionHeader(title: string): void;
104
+ /**
105
+ * Create a formatted table for displaying data
106
+ */
107
+ static createTable(headers: string[]): any;
108
+ /**
109
+ * Show a progress indicator
110
+ */
111
+ static showProgress(current: number, total: number, operation: string): void;
112
+ /**
113
+ * Clear the current line (useful for progress indicators)
114
+ */
115
+ static clearLine(): void;
116
+ /**
117
+ * Show a simple status message with icon
118
+ */
119
+ static showStatus(type: 'success' | 'error' | 'warning' | 'info', message: string): void;
120
+ /**
121
+ * Show a list of items with bullets
122
+ */
123
+ static showList(items: string[], bullet?: string): void;
124
+ /**
125
+ * Show a key-value pair
126
+ */
127
+ static showKeyValue(key: string, value: string, indent?: number): void;
128
+ /**
129
+ * Show JUnit XML report for violations
130
+ */
131
+ static showJUnitReport(violations: Violation[]): void;
132
+ }
133
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/ui/components.ts"],"names":[],"mappings":"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"}