@google/gemini-cli-core 0.5.0-preview.1 → 0.7.0-nightly.20250912.68035591

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 (231) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +12 -2
  3. package/dist/google-gemini-cli-core-0.6.0-nightly.tgz +0 -0
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/config/config.d.ts +24 -1
  8. package/dist/src/config/config.js +58 -15
  9. package/dist/src/config/config.js.map +1 -1
  10. package/dist/src/config/config.test.js +11 -15
  11. package/dist/src/config/config.test.js.map +1 -1
  12. package/dist/src/config/models.d.ts +14 -0
  13. package/dist/src/config/models.js +26 -0
  14. package/dist/src/config/models.js.map +1 -1
  15. package/dist/src/config/models.test.d.ts +6 -0
  16. package/dist/src/config/models.test.js +55 -0
  17. package/dist/src/config/models.test.js.map +1 -0
  18. package/dist/src/confirmation-bus/index.d.ts +7 -0
  19. package/dist/src/confirmation-bus/index.js +8 -0
  20. package/dist/src/confirmation-bus/index.js.map +1 -0
  21. package/dist/src/confirmation-bus/message-bus.d.ts +17 -0
  22. package/dist/src/confirmation-bus/message-bus.js +81 -0
  23. package/dist/src/confirmation-bus/message-bus.js.map +1 -0
  24. package/dist/src/confirmation-bus/message-bus.test.d.ts +6 -0
  25. package/dist/src/confirmation-bus/message-bus.test.js +164 -0
  26. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -0
  27. package/dist/src/confirmation-bus/types.d.ts +38 -0
  28. package/dist/src/confirmation-bus/types.js +15 -0
  29. package/dist/src/confirmation-bus/types.js.map +1 -0
  30. package/dist/src/core/client.d.ts +4 -1
  31. package/dist/src/core/client.js +46 -18
  32. package/dist/src/core/client.js.map +1 -1
  33. package/dist/src/core/client.test.js +156 -46
  34. package/dist/src/core/client.test.js.map +1 -1
  35. package/dist/src/core/contentGenerator.d.ts +0 -1
  36. package/dist/src/core/contentGenerator.js +0 -4
  37. package/dist/src/core/contentGenerator.js.map +1 -1
  38. package/dist/src/core/contentGenerator.test.js +0 -3
  39. package/dist/src/core/contentGenerator.test.js.map +1 -1
  40. package/dist/src/core/coreToolScheduler.d.ts +4 -3
  41. package/dist/src/core/coreToolScheduler.js +42 -5
  42. package/dist/src/core/coreToolScheduler.js.map +1 -1
  43. package/dist/src/core/coreToolScheduler.test.js +34 -0
  44. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  45. package/dist/src/core/geminiChat.d.ts +1 -22
  46. package/dist/src/core/geminiChat.js +15 -135
  47. package/dist/src/core/geminiChat.js.map +1 -1
  48. package/dist/src/core/geminiChat.test.js +59 -312
  49. package/dist/src/core/geminiChat.test.js.map +1 -1
  50. package/dist/src/core/nonInteractiveToolExecutor.test.js +48 -0
  51. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  52. package/dist/src/core/subagent.js +1 -1
  53. package/dist/src/core/subagent.js.map +1 -1
  54. package/dist/src/core/subagent.test.js +9 -8
  55. package/dist/src/core/subagent.test.js.map +1 -1
  56. package/dist/src/core/turn.d.ts +2 -1
  57. package/dist/src/core/turn.js +2 -2
  58. package/dist/src/core/turn.js.map +1 -1
  59. package/dist/src/core/turn.test.js +18 -18
  60. package/dist/src/core/turn.test.js.map +1 -1
  61. package/dist/src/generated/git-commit.d.ts +2 -2
  62. package/dist/src/generated/git-commit.js +2 -2
  63. package/dist/src/generated/git-commit.js.map +1 -1
  64. package/dist/src/ide/ide-client.d.ts +27 -0
  65. package/dist/src/ide/ide-client.js +85 -5
  66. package/dist/src/ide/ide-client.js.map +1 -1
  67. package/dist/src/ide/ide-client.test.js +53 -0
  68. package/dist/src/ide/ide-client.test.js.map +1 -1
  69. package/dist/src/ide/ideContext.d.ts +34 -20
  70. package/dist/src/ide/ideContext.js +20 -33
  71. package/dist/src/ide/ideContext.js.map +1 -1
  72. package/dist/src/ide/ideContext.test.js +37 -39
  73. package/dist/src/ide/ideContext.test.js.map +1 -1
  74. package/dist/src/index.d.ts +3 -1
  75. package/dist/src/index.js +3 -1
  76. package/dist/src/index.js.map +1 -1
  77. package/dist/src/output/json-formatter.d.ts +11 -0
  78. package/dist/src/output/json-formatter.js +30 -0
  79. package/dist/src/output/json-formatter.js.map +1 -0
  80. package/dist/src/output/json-formatter.test.d.ts +6 -0
  81. package/dist/src/output/json-formatter.test.js +266 -0
  82. package/dist/src/output/json-formatter.test.js.map +1 -0
  83. package/dist/src/output/types.d.ts +20 -0
  84. package/dist/src/output/types.js +11 -0
  85. package/dist/src/output/types.js.map +1 -0
  86. package/dist/src/policy/index.d.ts +7 -0
  87. package/dist/src/policy/index.js +8 -0
  88. package/dist/src/policy/index.js.map +1 -0
  89. package/dist/src/policy/policy-engine.d.ts +30 -0
  90. package/dist/src/policy/policy-engine.js +83 -0
  91. package/dist/src/policy/policy-engine.js.map +1 -0
  92. package/dist/src/policy/policy-engine.test.d.ts +6 -0
  93. package/dist/src/policy/policy-engine.test.js +470 -0
  94. package/dist/src/policy/policy-engine.test.js.map +1 -0
  95. package/dist/src/policy/stable-stringify.d.ts +58 -0
  96. package/dist/src/policy/stable-stringify.js +122 -0
  97. package/dist/src/policy/stable-stringify.js.map +1 -0
  98. package/dist/src/policy/types.d.ts +47 -0
  99. package/dist/src/policy/types.js +12 -0
  100. package/dist/src/policy/types.js.map +1 -0
  101. package/dist/src/routing/modelRouterService.d.ts +23 -0
  102. package/dist/src/routing/modelRouterService.js +36 -0
  103. package/dist/src/routing/modelRouterService.js.map +1 -0
  104. package/dist/src/routing/modelRouterService.test.d.ts +6 -0
  105. package/dist/src/routing/modelRouterService.test.js +72 -0
  106. package/dist/src/routing/modelRouterService.test.js.map +1 -0
  107. package/dist/src/routing/routingStrategy.d.ts +62 -0
  108. package/dist/src/routing/routingStrategy.js +7 -0
  109. package/dist/src/routing/routingStrategy.js.map +1 -0
  110. package/dist/src/routing/strategies/compositeStrategy.d.ts +26 -0
  111. package/dist/src/routing/strategies/compositeStrategy.js +67 -0
  112. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -0
  113. package/dist/src/routing/strategies/compositeStrategy.test.d.ts +6 -0
  114. package/dist/src/routing/strategies/compositeStrategy.test.js +123 -0
  115. package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -0
  116. package/dist/src/routing/strategies/defaultStrategy.d.ts +12 -0
  117. package/dist/src/routing/strategies/defaultStrategy.js +20 -0
  118. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -0
  119. package/dist/src/routing/strategies/defaultStrategy.test.d.ts +6 -0
  120. package/dist/src/routing/strategies/defaultStrategy.test.js +26 -0
  121. package/dist/src/routing/strategies/defaultStrategy.test.js.map +1 -0
  122. package/dist/src/routing/strategies/fallbackStrategy.d.ts +12 -0
  123. package/dist/src/routing/strategies/fallbackStrategy.js +25 -0
  124. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -0
  125. package/dist/src/routing/strategies/fallbackStrategy.test.d.ts +6 -0
  126. package/dist/src/routing/strategies/fallbackStrategy.test.js +55 -0
  127. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -0
  128. package/dist/src/routing/strategies/overrideStrategy.d.ts +15 -0
  129. package/dist/src/routing/strategies/overrideStrategy.js +27 -0
  130. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -0
  131. package/dist/src/routing/strategies/overrideStrategy.test.d.ts +6 -0
  132. package/dist/src/routing/strategies/overrideStrategy.test.js +41 -0
  133. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -0
  134. package/dist/src/services/fileDiscoveryService.d.ts +10 -0
  135. package/dist/src/services/fileDiscoveryService.js +31 -17
  136. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  137. package/dist/src/services/loopDetectionService.d.ts +5 -0
  138. package/dist/src/services/loopDetectionService.js +13 -2
  139. package/dist/src/services/loopDetectionService.js.map +1 -1
  140. package/dist/src/services/loopDetectionService.test.js +15 -0
  141. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  142. package/dist/src/services/shellExecutionService.d.ts +34 -2
  143. package/dist/src/services/shellExecutionService.js +177 -43
  144. package/dist/src/services/shellExecutionService.js.map +1 -1
  145. package/dist/src/services/shellExecutionService.test.js +153 -56
  146. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  147. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +4 -2
  148. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +31 -4
  149. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  150. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +6 -2
  151. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +14 -2
  152. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  153. package/dist/src/telemetry/index.d.ts +2 -2
  154. package/dist/src/telemetry/index.js +2 -2
  155. package/dist/src/telemetry/index.js.map +1 -1
  156. package/dist/src/telemetry/loggers.d.ts +2 -1
  157. package/dist/src/telemetry/loggers.js +20 -5
  158. package/dist/src/telemetry/loggers.js.map +1 -1
  159. package/dist/src/telemetry/loggers.test.js +50 -35
  160. package/dist/src/telemetry/loggers.test.js.map +1 -1
  161. package/dist/src/telemetry/metrics.d.ts +1 -1
  162. package/dist/src/telemetry/metrics.js +2 -2
  163. package/dist/src/telemetry/metrics.js.map +1 -1
  164. package/dist/src/telemetry/types.d.ts +23 -3
  165. package/dist/src/telemetry/types.js +25 -3
  166. package/dist/src/telemetry/types.js.map +1 -1
  167. package/dist/src/tools/edit.js +2 -3
  168. package/dist/src/tools/edit.js.map +1 -1
  169. package/dist/src/tools/edit.test.js +2 -8
  170. package/dist/src/tools/edit.test.js.map +1 -1
  171. package/dist/src/tools/glob.d.ts +5 -1
  172. package/dist/src/tools/glob.js +24 -17
  173. package/dist/src/tools/glob.js.map +1 -1
  174. package/dist/src/tools/glob.test.js +51 -0
  175. package/dist/src/tools/glob.test.js.map +1 -1
  176. package/dist/src/tools/ls.js +19 -32
  177. package/dist/src/tools/ls.js.map +1 -1
  178. package/dist/src/tools/ls.test.js +140 -280
  179. package/dist/src/tools/ls.test.js.map +1 -1
  180. package/dist/src/tools/read-many-files.d.ts +1 -1
  181. package/dist/src/tools/read-many-files.js +17 -49
  182. package/dist/src/tools/read-many-files.js.map +1 -1
  183. package/dist/src/tools/ripGrep.d.ts +4 -0
  184. package/dist/src/tools/ripGrep.js +11 -1
  185. package/dist/src/tools/ripGrep.js.map +1 -1
  186. package/dist/src/tools/ripGrep.test.js +51 -1
  187. package/dist/src/tools/ripGrep.test.js.map +1 -1
  188. package/dist/src/tools/shell.d.ts +12 -2
  189. package/dist/src/tools/shell.js +12 -16
  190. package/dist/src/tools/shell.js.map +1 -1
  191. package/dist/src/tools/shell.test.js +2 -33
  192. package/dist/src/tools/shell.test.js.map +1 -1
  193. package/dist/src/tools/smart-edit.js +2 -3
  194. package/dist/src/tools/smart-edit.js.map +1 -1
  195. package/dist/src/tools/smart-edit.test.js +2 -8
  196. package/dist/src/tools/smart-edit.test.js.map +1 -1
  197. package/dist/src/tools/tools.d.ts +6 -4
  198. package/dist/src/tools/tools.js +2 -2
  199. package/dist/src/tools/tools.js.map +1 -1
  200. package/dist/src/tools/write-file.js +2 -3
  201. package/dist/src/tools/write-file.js.map +1 -1
  202. package/dist/src/tools/write-file.test.js +78 -0
  203. package/dist/src/tools/write-file.test.js.map +1 -1
  204. package/dist/src/utils/bfsFileSearch.js +11 -5
  205. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  206. package/dist/src/utils/errors.d.ts +6 -0
  207. package/dist/src/utils/errors.js +10 -0
  208. package/dist/src/utils/errors.js.map +1 -1
  209. package/dist/src/utils/geminiIgnoreParser.d.ts +18 -0
  210. package/dist/src/utils/geminiIgnoreParser.js +61 -0
  211. package/dist/src/utils/geminiIgnoreParser.js.map +1 -0
  212. package/dist/src/utils/geminiIgnoreParser.test.d.ts +6 -0
  213. package/dist/src/utils/geminiIgnoreParser.test.js +50 -0
  214. package/dist/src/utils/geminiIgnoreParser.test.js.map +1 -0
  215. package/dist/src/utils/gitIgnoreParser.d.ts +3 -9
  216. package/dist/src/utils/gitIgnoreParser.js +60 -69
  217. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  218. package/dist/src/utils/gitIgnoreParser.test.js +18 -53
  219. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  220. package/dist/src/utils/terminalSerializer.d.ts +28 -0
  221. package/dist/src/utils/terminalSerializer.js +432 -0
  222. package/dist/src/utils/terminalSerializer.js.map +1 -0
  223. package/dist/src/utils/terminalSerializer.test.d.ts +6 -0
  224. package/dist/src/utils/terminalSerializer.test.js +176 -0
  225. package/dist/src/utils/terminalSerializer.test.js.map +1 -0
  226. package/dist/tsconfig.tsbuildinfo +1 -1
  227. package/package.json +1 -1
  228. package/dist/google-gemini-cli-core-0.5.0-preview.tgz +0 -0
  229. package/dist/src/utils/ide-trust.d.ts +0 -10
  230. package/dist/src/utils/ide-trust.js +0 -14
  231. package/dist/src/utils/ide-trust.js.map +0 -1
@@ -5,76 +5,27 @@
5
5
  */
6
6
  import * as fs from 'node:fs';
7
7
  import * as path from 'node:path';
8
- import ignore, {} from 'ignore';
9
- import { isGitRepository } from './gitUtils.js';
8
+ import ignore from 'ignore';
10
9
  export class GitIgnoreParser {
11
10
  projectRoot;
12
- ig = ignore();
13
- patterns = [];
14
- maxScannedDirs = 200;
11
+ cache = new Map();
12
+ globalPatterns;
15
13
  constructor(projectRoot) {
16
14
  this.projectRoot = path.resolve(projectRoot);
17
15
  }
18
- loadGitRepoPatterns() {
19
- if (!isGitRepository(this.projectRoot))
20
- return;
21
- // Always ignore .git directory regardless of .gitignore content
22
- this.addPatterns(['.git']);
23
- this.loadPatterns(path.join('.git', 'info', 'exclude'));
24
- this.findAndLoadGitignoreFiles(this.projectRoot);
25
- }
26
- findAndLoadGitignoreFiles(startDir) {
27
- const queue = [startDir];
28
- let scannedDirs = 0;
29
- let queueHead = 0;
30
- while (queueHead < queue.length && scannedDirs < this.maxScannedDirs) {
31
- const dir = queue[queueHead];
32
- queueHead++;
33
- scannedDirs++;
34
- const relativeDir = path.relative(this.projectRoot, dir);
35
- // For sub-directories, check if they are ignored before proceeding.
36
- // The root directory (relativeDir === '') should not be checked.
37
- if (relativeDir && this.isIgnored(relativeDir)) {
38
- continue;
39
- }
40
- // Load patterns from .gitignore in the current directory
41
- const gitignorePath = path.join(dir, '.gitignore');
42
- if (fs.existsSync(gitignorePath)) {
43
- this.loadPatterns(path.relative(this.projectRoot, gitignorePath));
44
- }
45
- // Recurse into subdirectories
46
- try {
47
- const entries = fs.readdirSync(dir, { withFileTypes: true });
48
- for (const entry of entries) {
49
- if (entry.name === '.git') {
50
- continue;
51
- }
52
- if (entry.isDirectory()) {
53
- queue.push(path.join(dir, entry.name));
54
- }
55
- }
56
- }
57
- catch (_error) {
58
- // ignore readdir errors
59
- }
60
- }
61
- }
62
- loadPatterns(patternsFileName) {
63
- const patternsFilePath = path.join(this.projectRoot, patternsFileName);
16
+ loadPatternsForFile(patternsFilePath) {
64
17
  let content;
65
18
  try {
66
19
  content = fs.readFileSync(patternsFilePath, 'utf-8');
67
20
  }
68
21
  catch (_error) {
69
- // ignore file not found
70
- return;
22
+ return [];
71
23
  }
72
- // .git/info/exclude file patterns are relative to project root and not file directory
73
- const isExcludeFile = patternsFileName.replace(/\\/g, '/') === '.git/info/exclude';
24
+ const isExcludeFile = patternsFilePath.endsWith(path.join('.git', 'info', 'exclude'));
74
25
  const relativeBaseDir = isExcludeFile
75
26
  ? '.'
76
- : path.dirname(patternsFileName);
77
- const patterns = (content ?? '')
27
+ : path.dirname(path.relative(this.projectRoot, patternsFilePath));
28
+ return content
78
29
  .split('\n')
79
30
  .map((p) => p.trim())
80
31
  .filter((p) => p !== '' && !p.startsWith('#'))
@@ -122,19 +73,13 @@ export class GitIgnoreParser {
122
73
  return newPattern;
123
74
  })
124
75
  .filter((p) => p !== '');
125
- this.addPatterns(patterns);
126
- }
127
- addPatterns(patterns) {
128
- this.ig.add(patterns);
129
- this.patterns.push(...patterns);
130
76
  }
131
77
  isIgnored(filePath) {
132
78
  if (!filePath || typeof filePath !== 'string') {
133
79
  return false;
134
80
  }
135
- if (filePath.startsWith('\\') ||
136
- filePath === '/' ||
137
- filePath.includes('\0')) {
81
+ const absoluteFilePath = path.resolve(this.projectRoot, filePath);
82
+ if (!absoluteFilePath.startsWith(this.projectRoot)) {
138
83
  return false;
139
84
  }
140
85
  try {
@@ -148,14 +93,60 @@ export class GitIgnoreParser {
148
93
  if (normalizedPath.startsWith('/') || normalizedPath === '') {
149
94
  return false;
150
95
  }
151
- return this.ig.ignores(normalizedPath);
96
+ const ig = ignore();
97
+ // Always ignore .git directory
98
+ ig.add('.git');
99
+ // Load global patterns from .git/info/exclude on first call
100
+ if (this.globalPatterns === undefined) {
101
+ const excludeFile = path.join(this.projectRoot, '.git', 'info', 'exclude');
102
+ this.globalPatterns = fs.existsSync(excludeFile)
103
+ ? this.loadPatternsForFile(excludeFile)
104
+ : [];
105
+ }
106
+ ig.add(this.globalPatterns);
107
+ const pathParts = relativePath.split(path.sep);
108
+ const dirsToVisit = [this.projectRoot];
109
+ let currentAbsDir = this.projectRoot;
110
+ // Collect all directories in the path
111
+ for (let i = 0; i < pathParts.length - 1; i++) {
112
+ currentAbsDir = path.join(currentAbsDir, pathParts[i]);
113
+ dirsToVisit.push(currentAbsDir);
114
+ }
115
+ for (const dir of dirsToVisit) {
116
+ const relativeDir = path.relative(this.projectRoot, dir);
117
+ if (relativeDir) {
118
+ const normalizedRelativeDir = relativeDir.replace(/\\/g, '/');
119
+ if (ig.ignores(normalizedRelativeDir)) {
120
+ // This directory is ignored by an ancestor's .gitignore.
121
+ // According to git behavior, we don't need to process this
122
+ // directory's .gitignore, as nothing inside it can be
123
+ // un-ignored.
124
+ break;
125
+ }
126
+ }
127
+ if (this.cache.has(dir)) {
128
+ const patterns = this.cache.get(dir);
129
+ if (patterns) {
130
+ ig.add(patterns);
131
+ }
132
+ }
133
+ else {
134
+ const gitignorePath = path.join(dir, '.gitignore');
135
+ if (fs.existsSync(gitignorePath)) {
136
+ const patterns = this.loadPatternsForFile(gitignorePath);
137
+ this.cache.set(dir, patterns);
138
+ ig.add(patterns);
139
+ }
140
+ else {
141
+ this.cache.set(dir, []); // Cache miss
142
+ }
143
+ }
144
+ }
145
+ return ig.ignores(normalizedPath);
152
146
  }
153
147
  catch (_error) {
154
148
  return false;
155
149
  }
156
150
  }
157
- getPatterns() {
158
- return this.patterns;
159
- }
160
151
  }
161
152
  //# sourceMappingURL=gitIgnoreParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitIgnoreParser.js","sourceRoot":"","sources":["../../../src/utils/gitIgnoreParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitIgnoreParser.js","sourceRoot":"","sources":["../../../src/utils/gitIgnoreParser.ts"],"names":[],"mappings":"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"}
@@ -26,13 +26,14 @@ describe('GitIgnoreParser', () => {
26
26
  afterEach(async () => {
27
27
  await fs.rm(projectRoot, { recursive: true, force: true });
28
28
  });
29
- describe('initialization', () => {
30
- it('should initialize without errors when no .gitignore exists', async () => {
29
+ describe('Basic ignore behaviors', () => {
30
+ beforeEach(async () => {
31
31
  await setupGitRepo();
32
- expect(() => parser.loadGitRepoPatterns()).not.toThrow();
33
32
  });
34
- it('should load .gitignore patterns when file exists', async () => {
35
- await setupGitRepo();
33
+ it('should not ignore files when no .gitignore exists', async () => {
34
+ expect(parser.isIgnored('file.txt')).toBe(false);
35
+ });
36
+ it('should ignore files based on a root .gitignore', async () => {
36
37
  const gitignoreContent = `
37
38
  # Comment
38
39
  node_modules/
@@ -41,40 +42,20 @@ node_modules/
41
42
  .env
42
43
  `;
43
44
  await createTestFile('.gitignore', gitignoreContent);
44
- parser.loadGitRepoPatterns();
45
- expect(parser.getPatterns()).toEqual([
46
- '.git',
47
- 'node_modules/',
48
- '*.log',
49
- '/dist',
50
- '.env',
51
- ]);
52
45
  expect(parser.isIgnored(path.join('node_modules', 'some-lib'))).toBe(true);
53
46
  expect(parser.isIgnored(path.join('src', 'app.log'))).toBe(true);
54
47
  expect(parser.isIgnored(path.join('dist', 'index.js'))).toBe(true);
55
48
  expect(parser.isIgnored('.env')).toBe(true);
49
+ expect(parser.isIgnored('src/index.js')).toBe(false);
56
50
  });
57
51
  it('should handle git exclude file', async () => {
58
- await setupGitRepo();
59
52
  await createTestFile(path.join('.git', 'info', 'exclude'), 'temp/\n*.tmp');
60
- parser.loadGitRepoPatterns();
61
- expect(parser.getPatterns()).toEqual(['.git', 'temp/', '*.tmp']);
62
53
  expect(parser.isIgnored(path.join('temp', 'file.txt'))).toBe(true);
63
54
  expect(parser.isIgnored(path.join('src', 'file.tmp'))).toBe(true);
64
- });
65
- it('should handle custom patterns file name', async () => {
66
- // No .git directory for this test
67
- await createTestFile('.geminiignore', 'temp/\n*.tmp');
68
- parser.loadPatterns('.geminiignore');
69
- expect(parser.getPatterns()).toEqual(['temp/', '*.tmp']);
70
- expect(parser.isIgnored(path.join('temp', 'file.txt'))).toBe(true);
71
- expect(parser.isIgnored(path.join('src', 'file.tmp'))).toBe(true);
72
- });
73
- it('should initialize without errors when no .geminiignore exists', () => {
74
- expect(() => parser.loadPatterns('.geminiignore')).not.toThrow();
55
+ expect(parser.isIgnored('src/file.js')).toBe(false);
75
56
  });
76
57
  });
77
- describe('isIgnored', () => {
58
+ describe('isIgnored path handling', () => {
78
59
  beforeEach(async () => {
79
60
  await setupGitRepo();
80
61
  const gitignoreContent = `
@@ -86,7 +67,6 @@ src/*.tmp
86
67
  !src/important.tmp
87
68
  `;
88
69
  await createTestFile('.gitignore', gitignoreContent);
89
- parser.loadGitRepoPatterns();
90
70
  });
91
71
  it('should always ignore .git directory', () => {
92
72
  expect(parser.isIgnored('.git')).toBe(true);
@@ -160,7 +140,6 @@ src/*.tmp
160
140
  await createTestFile('a/d/.gitignore', 'e.txt\nf/g');
161
141
  });
162
142
  it('should handle nested .gitignore files correctly', async () => {
163
- parser.loadGitRepoPatterns();
164
143
  // From root .gitignore
165
144
  expect(parser.isIgnored('root-ignored.txt')).toBe(true);
166
145
  expect(parser.isIgnored('a/root-ignored.txt')).toBe(true);
@@ -180,41 +159,27 @@ src/*.tmp
180
159
  expect(parser.isIgnored('a/d/f/g')).toBe(true);
181
160
  expect(parser.isIgnored('a/f/g')).toBe(false);
182
161
  });
183
- it('should correctly transform patterns from nested gitignore files', () => {
184
- parser.loadGitRepoPatterns();
185
- const patterns = parser.getPatterns();
186
- // From root .gitignore
187
- expect(patterns).toContain('root-ignored.txt');
188
- // From a/.gitignore
189
- expect(patterns).toContain('/a/b'); // /b becomes /a/b
190
- expect(patterns).toContain('/a/**/c'); // c becomes /a/**/c
191
- // From a/d/.gitignore
192
- expect(patterns).toContain('/a/d/**/e.txt'); // e.txt becomes /a/d/**/e.txt
193
- expect(patterns).toContain('/a/d/f/g'); // f/g becomes /a/d/f/g
194
- });
195
162
  });
196
163
  describe('precedence rules', () => {
197
- it('should prioritize root .gitignore over .git/info/exclude', async () => {
164
+ beforeEach(async () => {
198
165
  await setupGitRepo();
166
+ });
167
+ it('should prioritize nested .gitignore over root .gitignore', async () => {
168
+ await createTestFile('.gitignore', '*.log');
169
+ await createTestFile('a/b/.gitignore', '!special.log');
170
+ expect(parser.isIgnored('a/b/any.log')).toBe(true);
171
+ expect(parser.isIgnored('a/b/special.log')).toBe(false);
172
+ });
173
+ it('should prioritize .gitignore over .git/info/exclude', async () => {
199
174
  // Exclude all .log files
200
175
  await createTestFile(path.join('.git', 'info', 'exclude'), '*.log');
201
176
  // But make an exception in the root .gitignore
202
177
  await createTestFile('.gitignore', '!important.log');
203
- parser.loadGitRepoPatterns();
204
178
  expect(parser.isIgnored('some.log')).toBe(true);
205
179
  expect(parser.isIgnored('important.log')).toBe(false);
206
180
  expect(parser.isIgnored(path.join('subdir', 'some.log'))).toBe(true);
207
181
  expect(parser.isIgnored(path.join('subdir', 'important.log'))).toBe(false);
208
182
  });
209
183
  });
210
- describe('getIgnoredPatterns', () => {
211
- it('should return the raw patterns added', async () => {
212
- await setupGitRepo();
213
- const gitignoreContent = '*.log\n!important.log';
214
- await createTestFile('.gitignore', gitignoreContent);
215
- parser.loadGitRepoPatterns();
216
- expect(parser.getPatterns()).toEqual(['.git', '*.log', '!important.log']);
217
- });
218
- });
219
184
  });
220
185
  //# sourceMappingURL=gitIgnoreParser.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitIgnoreParser.test.js","sourceRoot":"","sources":["../../../src/utils/gitIgnoreParser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitIgnoreParser.test.js","sourceRoot":"","sources":["../../../src/utils/gitIgnoreParser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Terminal } from '@xterm/headless';
7
+ export interface AnsiToken {
8
+ text: string;
9
+ bold: boolean;
10
+ italic: boolean;
11
+ underline: boolean;
12
+ dim: boolean;
13
+ inverse: boolean;
14
+ fg: string;
15
+ bg: string;
16
+ }
17
+ export type AnsiLine = AnsiToken[];
18
+ export type AnsiOutput = AnsiLine[];
19
+ export declare const enum ColorMode {
20
+ DEFAULT = 0,
21
+ PALETTE = 1,
22
+ RGB = 2
23
+ }
24
+ export declare function serializeTerminalToObject(terminal: Terminal, options?: {
25
+ defaultFg?: string;
26
+ defaultBg?: string;
27
+ }): AnsiOutput;
28
+ export declare function convertColorToHex(color: number, colorMode: ColorMode, defaultColor: string): string;