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,43 @@
1
+ /**
2
+ * Git hook installation and management using husky
3
+ */
4
+ export declare class GitHookManager {
5
+ private huskyDir;
6
+ /**
7
+ * Install git hooks for BaseGuard automation
8
+ */
9
+ installHooks(trigger: 'pre-commit' | 'pre-push'): Promise<void>;
10
+ /**
11
+ * Uninstall git hooks
12
+ */
13
+ uninstallHooks(): Promise<void>;
14
+ /**
15
+ * Check if hooks are installed
16
+ */
17
+ areHooksInstalled(): Promise<boolean>;
18
+ /**
19
+ * Get currently installed hook types
20
+ */
21
+ getInstalledHooks(): Promise<('pre-commit' | 'pre-push')[]>;
22
+ /**
23
+ * Update existing hook configuration
24
+ */
25
+ updateHookConfiguration(oldTrigger: 'pre-commit' | 'pre-push', newTrigger: 'pre-commit' | 'pre-push'): Promise<void>;
26
+ /**
27
+ * Ensure we're in a git repository
28
+ */
29
+ private ensureGitRepository;
30
+ /**
31
+ * Ensure husky is installed and configured
32
+ */
33
+ private ensureHuskyInstalled;
34
+ /**
35
+ * Add prepare script to package.json for husky
36
+ */
37
+ private addPrepareScript;
38
+ /**
39
+ * Create hook script content
40
+ */
41
+ private createHookScript;
42
+ }
43
+ //# sourceMappingURL=hook-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-manager.d.ts","sourceRoot":"","sources":["../../src/git/hook-manager.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAY;IAE5B;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAmB3C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;IAqBjE;;OAEG;IACG,uBAAuB,CAAC,UAAU,EAAE,YAAY,GAAG,UAAU,EAAE,UAAU,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1H;;OAEG;YACW,mBAAmB;IAQjC;;OAEG;YACW,oBAAoB;IAiBlC;;OAEG;YACW,gBAAgB;IAsB9B;;OAEG;YACW,gBAAgB;CA4B/B"}
@@ -0,0 +1,191 @@
1
+ import { execSync } from 'child_process';
2
+ import { existsSync, mkdirSync, writeFileSync, unlinkSync, readFileSync } from 'fs';
3
+ import { join } from 'path';
4
+ import chalk from 'chalk';
5
+ /**
6
+ * Git hook installation and management using husky
7
+ */
8
+ export class GitHookManager {
9
+ huskyDir = '.husky';
10
+ /**
11
+ * Install git hooks for BaseGuard automation
12
+ */
13
+ async installHooks(trigger) {
14
+ try {
15
+ // Ensure we're in a git repository
16
+ await this.ensureGitRepository();
17
+ // Ensure husky is installed and configured
18
+ await this.ensureHuskyInstalled();
19
+ // Create the hook script
20
+ await this.createHookScript(trigger);
21
+ console.log(chalk.green(`✅ ${trigger} hook installed successfully`));
22
+ }
23
+ catch (error) {
24
+ throw new Error(`Failed to install ${trigger} hook: ${error instanceof Error ? error.message : 'Unknown error'}`);
25
+ }
26
+ }
27
+ /**
28
+ * Uninstall git hooks
29
+ */
30
+ async uninstallHooks() {
31
+ try {
32
+ const hooks = ['pre-commit', 'pre-push'];
33
+ for (const hook of hooks) {
34
+ const hookPath = join(this.huskyDir, hook);
35
+ if (existsSync(hookPath)) {
36
+ unlinkSync(hookPath);
37
+ console.log(chalk.yellow(`🗑️ Removed ${hook} hook`));
38
+ }
39
+ }
40
+ // If no hooks remain, we could optionally remove husky entirely
41
+ // but we'll leave it in case user has other hooks
42
+ console.log(chalk.green('✅ BaseGuard hooks uninstalled'));
43
+ }
44
+ catch (error) {
45
+ throw new Error(`Failed to uninstall hooks: ${error instanceof Error ? error.message : 'Unknown error'}`);
46
+ }
47
+ }
48
+ /**
49
+ * Check if hooks are installed
50
+ */
51
+ async areHooksInstalled() {
52
+ const preCommitPath = join(this.huskyDir, 'pre-commit');
53
+ const prePushPath = join(this.huskyDir, 'pre-push');
54
+ // Check if either hook exists and contains BaseGuard automation
55
+ const checkHook = (path) => {
56
+ if (!existsSync(path))
57
+ return false;
58
+ try {
59
+ const content = readFileSync(path, 'utf-8');
60
+ return content.includes('base automation run');
61
+ }
62
+ catch {
63
+ return false;
64
+ }
65
+ };
66
+ return checkHook(preCommitPath) || checkHook(prePushPath);
67
+ }
68
+ /**
69
+ * Get currently installed hook types
70
+ */
71
+ async getInstalledHooks() {
72
+ const hooks = [];
73
+ const checkHook = (hookType) => {
74
+ const hookPath = join(this.huskyDir, hookType);
75
+ if (!existsSync(hookPath))
76
+ return false;
77
+ try {
78
+ const content = readFileSync(hookPath, 'utf-8');
79
+ return content.includes('base automation run');
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ };
85
+ if (checkHook('pre-commit'))
86
+ hooks.push('pre-commit');
87
+ if (checkHook('pre-push'))
88
+ hooks.push('pre-push');
89
+ return hooks;
90
+ }
91
+ /**
92
+ * Update existing hook configuration
93
+ */
94
+ async updateHookConfiguration(oldTrigger, newTrigger) {
95
+ try {
96
+ // Remove old hook if different
97
+ if (oldTrigger !== newTrigger) {
98
+ const oldHookPath = join(this.huskyDir, oldTrigger);
99
+ if (existsSync(oldHookPath)) {
100
+ unlinkSync(oldHookPath);
101
+ }
102
+ }
103
+ // Install new hook
104
+ await this.createHookScript(newTrigger);
105
+ console.log(chalk.green(`✅ Hook configuration updated to ${newTrigger}`));
106
+ }
107
+ catch (error) {
108
+ throw new Error(`Failed to update hook configuration: ${error instanceof Error ? error.message : 'Unknown error'}`);
109
+ }
110
+ }
111
+ /**
112
+ * Ensure we're in a git repository
113
+ */
114
+ async ensureGitRepository() {
115
+ try {
116
+ execSync('git rev-parse --git-dir', { stdio: 'ignore' });
117
+ }
118
+ catch {
119
+ throw new Error('Not in a git repository. Please run this command from within a git repository.');
120
+ }
121
+ }
122
+ /**
123
+ * Ensure husky is installed and configured
124
+ */
125
+ async ensureHuskyInstalled() {
126
+ try {
127
+ // Check if husky is already initialized
128
+ if (!existsSync(this.huskyDir)) {
129
+ console.log(chalk.blue('🔧 Initializing husky...'));
130
+ // Initialize husky
131
+ execSync('npx husky install', { stdio: 'inherit' });
132
+ // Add husky install to package.json prepare script if not already there
133
+ await this.addPrepareScript();
134
+ }
135
+ }
136
+ catch (error) {
137
+ throw new Error(`Failed to initialize husky: ${error instanceof Error ? error.message : 'Unknown error'}`);
138
+ }
139
+ }
140
+ /**
141
+ * Add prepare script to package.json for husky
142
+ */
143
+ async addPrepareScript() {
144
+ try {
145
+ const packageJsonPath = 'package.json';
146
+ if (!existsSync(packageJsonPath))
147
+ return;
148
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
149
+ // Add prepare script if it doesn't exist or doesn't include husky
150
+ if (!packageJson.scripts) {
151
+ packageJson.scripts = {};
152
+ }
153
+ if (!packageJson.scripts.prepare || !packageJson.scripts.prepare.includes('husky install')) {
154
+ packageJson.scripts.prepare = 'husky install';
155
+ writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
156
+ console.log(chalk.blue('📝 Added husky install to package.json prepare script'));
157
+ }
158
+ }
159
+ catch (error) {
160
+ console.warn(chalk.yellow(`⚠️ Could not update package.json: ${error instanceof Error ? error.message : 'Unknown error'}`));
161
+ }
162
+ }
163
+ /**
164
+ * Create hook script content
165
+ */
166
+ async createHookScript(trigger) {
167
+ const hookPath = join(this.huskyDir, trigger);
168
+ // Create .husky directory if it doesn't exist
169
+ if (!existsSync(this.huskyDir)) {
170
+ mkdirSync(this.huskyDir, { recursive: true });
171
+ }
172
+ const hookContent = `#!/usr/bin/env sh
173
+ . "$(dirname -- "$0")/_/husky.sh"
174
+
175
+ # BaseGuard automation
176
+ base automation run --trigger ${trigger}
177
+ `;
178
+ writeFileSync(hookPath, hookContent);
179
+ // Make the hook executable (Unix systems)
180
+ if (process.platform !== 'win32') {
181
+ try {
182
+ execSync(`chmod +x "${hookPath}"`);
183
+ }
184
+ catch (error) {
185
+ console.warn(chalk.yellow(`⚠️ Could not make hook executable: ${error instanceof Error ? error.message : 'Unknown error'}`));
186
+ }
187
+ }
188
+ console.log(chalk.blue(`📝 Created ${trigger} hook script`));
189
+ }
190
+ }
191
+ //# sourceMappingURL=hook-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-manager.js","sourceRoot":"","sources":["../../src/git/hook-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './hook-manager.js';
2
+ export * from './automation-engine.js';
3
+ export * from './github-manager.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // Git integration exports
2
+ export * from './hook-manager.js';
3
+ export * from './automation-engine.js';
4
+ export * from './github-manager.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './core/index.js';
2
+ export * from './parsers/index.js';
3
+ export * from './ai/index.js';
4
+ export * from './git/index.js';
5
+ export * from './commands/index.js';
6
+ export * from './ui/index.js';
7
+ export * from './types/index.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ // Main BaseGuard exports
2
+ export * from './core/index.js';
3
+ export * from './parsers/index.js';
4
+ export * from './ai/index.js';
5
+ export * from './git/index.js';
6
+ export * from './commands/index.js';
7
+ export * from './ui/index.js';
8
+ export * from './types/index.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,60 @@
1
+ import type { DetectedFeature } from '../types/index.js';
2
+ /**
3
+ * Comprehensive web-features validation and filtering system
4
+ * Validates detected features against the complete web-features package
5
+ * and filters out framework-specific features while capturing all web platform scope
6
+ */
7
+ export declare class FeatureValidator {
8
+ private readonly FEATURE_ID_MAP;
9
+ private readonly FRAMEWORK_SPECIFIC_PATTERNS;
10
+ constructor();
11
+ /**
12
+ * Validate and filter detected features against web-features package
13
+ */
14
+ validateFeatures(detectedFeatures: DetectedFeature[], concurrency?: number): Promise<DetectedFeature[]>;
15
+ /**
16
+ * Validate a single feature against web-features package
17
+ */
18
+ private validateSingleFeature;
19
+ /**
20
+ * Build comprehensive feature ID mapping for ALL web platform technologies
21
+ */
22
+ private buildFeatureIdMap;
23
+ /**
24
+ * Build patterns to identify framework-specific features
25
+ */
26
+ private buildFrameworkPatterns;
27
+ /**
28
+ * Check if a feature is framework-specific
29
+ */
30
+ private isFrameworkSpecific;
31
+ /**
32
+ * Map detected feature to web-features ID
33
+ */
34
+ private mapToWebFeatureId;
35
+ /**
36
+ * Enhance context information for better display
37
+ */
38
+ private enhanceContext;
39
+ /**
40
+ * Create batches for concurrent processing
41
+ */
42
+ private createBatches;
43
+ /**
44
+ * Remove duplicate features based on feature ID, file, and line
45
+ */
46
+ private deduplicateFeatures;
47
+ /**
48
+ * Get all supported web-features IDs for validation
49
+ */
50
+ getSupportedFeatures(): string[];
51
+ /**
52
+ * Check if a specific feature ID is supported by web-features
53
+ */
54
+ isFeatureSupported(featureId: string): boolean;
55
+ /**
56
+ * Get feature data from web-features package
57
+ */
58
+ getFeatureData(featureId: string): any;
59
+ }
60
+ //# sourceMappingURL=feature-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-validator.d.ts","sourceRoot":"","sources":["../../src/parsers/feature-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAW;;IAOvD;;OAEG;IACG,gBAAgB,CACpB,gBAAgB,EAAE,eAAe,EAAE,EACnC,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC;IAiB7B;;OAEG;YACW,qBAAqB;IAgCnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgSzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqE9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI9C;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;CAGvC"}