logicstamp-context 0.8.6 → 0.8.8

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 (279) hide show
  1. package/dist/cli/commands/clean.d.ts.map +1 -1
  2. package/dist/cli/commands/clean.js +8 -3
  3. package/dist/cli/commands/clean.js.map +1 -1
  4. package/dist/cli/commands/compare/cleanup.d.ts.map +1 -1
  5. package/dist/cli/commands/compare/cleanup.js.map +1 -1
  6. package/dist/cli/commands/compare/core.d.ts.map +1 -1
  7. package/dist/cli/commands/compare/core.js +49 -35
  8. package/dist/cli/commands/compare/core.js.map +1 -1
  9. package/dist/cli/commands/compare/display.d.ts.map +1 -1
  10. package/dist/cli/commands/compare/display.js +31 -18
  11. package/dist/cli/commands/compare/display.js.map +1 -1
  12. package/dist/cli/commands/compare/multiFile.d.ts.map +1 -1
  13. package/dist/cli/commands/compare/multiFile.js +8 -8
  14. package/dist/cli/commands/compare/multiFile.js.map +1 -1
  15. package/dist/cli/commands/compare/singleFile.d.ts.map +1 -1
  16. package/dist/cli/commands/compare/singleFile.js +19 -13
  17. package/dist/cli/commands/compare/singleFile.js.map +1 -1
  18. package/dist/cli/commands/compare/types.d.ts.map +1 -1
  19. package/dist/cli/commands/compare/utils.d.ts.map +1 -1
  20. package/dist/cli/commands/compare/utils.js +2 -2
  21. package/dist/cli/commands/compare/utils.js.map +1 -1
  22. package/dist/cli/commands/context/bundleFormatter.d.ts.map +1 -1
  23. package/dist/cli/commands/context/bundleFormatter.js +9 -5
  24. package/dist/cli/commands/context/bundleFormatter.js.map +1 -1
  25. package/dist/cli/commands/context/configManager.d.ts.map +1 -1
  26. package/dist/cli/commands/context/configManager.js +5 -5
  27. package/dist/cli/commands/context/configManager.js.map +1 -1
  28. package/dist/cli/commands/context/contractBuilder.d.ts.map +1 -1
  29. package/dist/cli/commands/context/contractBuilder.js +4 -2
  30. package/dist/cli/commands/context/contractBuilder.js.map +1 -1
  31. package/dist/cli/commands/context/fileWriter.d.ts +1 -1
  32. package/dist/cli/commands/context/fileWriter.d.ts.map +1 -1
  33. package/dist/cli/commands/context/fileWriter.js +22 -14
  34. package/dist/cli/commands/context/fileWriter.js.map +1 -1
  35. package/dist/cli/commands/context/statsCalculator.d.ts.map +1 -1
  36. package/dist/cli/commands/context/statsCalculator.js +17 -6
  37. package/dist/cli/commands/context/statsCalculator.js.map +1 -1
  38. package/dist/cli/commands/context/tokenEstimator.d.ts +1 -1
  39. package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -1
  40. package/dist/cli/commands/context/tokenEstimator.js +54 -30
  41. package/dist/cli/commands/context/tokenEstimator.js.map +1 -1
  42. package/dist/cli/commands/context/watchMode/incrementalWatch.d.ts +1 -1
  43. package/dist/cli/commands/context/watchMode/incrementalWatch.d.ts.map +1 -1
  44. package/dist/cli/commands/context/watchMode/incrementalWatch.js +33 -25
  45. package/dist/cli/commands/context/watchMode/incrementalWatch.js.map +1 -1
  46. package/dist/cli/commands/context/watchMode/watchDiff.d.ts.map +1 -1
  47. package/dist/cli/commands/context/watchMode/watchDiff.js +58 -35
  48. package/dist/cli/commands/context/watchMode/watchDiff.js.map +1 -1
  49. package/dist/cli/commands/context/watchMode/watchMode.d.ts.map +1 -1
  50. package/dist/cli/commands/context/watchMode/watchMode.js +77 -46
  51. package/dist/cli/commands/context/watchMode/watchMode.js.map +1 -1
  52. package/dist/cli/commands/context.d.ts.map +1 -1
  53. package/dist/cli/commands/context.js +32 -11
  54. package/dist/cli/commands/context.js.map +1 -1
  55. package/dist/cli/commands/ignore.d.ts.map +1 -1
  56. package/dist/cli/commands/ignore.js +5 -5
  57. package/dist/cli/commands/ignore.js.map +1 -1
  58. package/dist/cli/commands/init.d.ts.map +1 -1
  59. package/dist/cli/commands/init.js +8 -4
  60. package/dist/cli/commands/init.js.map +1 -1
  61. package/dist/cli/commands/security.d.ts +1 -1
  62. package/dist/cli/commands/security.d.ts.map +1 -1
  63. package/dist/cli/commands/security.js +28 -18
  64. package/dist/cli/commands/security.js.map +1 -1
  65. package/dist/cli/commands/validate.d.ts.map +1 -1
  66. package/dist/cli/commands/validate.js +14 -9
  67. package/dist/cli/commands/validate.js.map +1 -1
  68. package/dist/cli/handlers/cleanHandler.d.ts.map +1 -1
  69. package/dist/cli/handlers/cleanHandler.js.map +1 -1
  70. package/dist/cli/handlers/compareHandler.d.ts.map +1 -1
  71. package/dist/cli/handlers/compareHandler.js +77 -27
  72. package/dist/cli/handlers/compareHandler.js.map +1 -1
  73. package/dist/cli/handlers/contextHandler.d.ts.map +1 -1
  74. package/dist/cli/handlers/contextHandler.js +1 -1
  75. package/dist/cli/handlers/contextHandler.js.map +1 -1
  76. package/dist/cli/handlers/ignoreHandler.d.ts.map +1 -1
  77. package/dist/cli/handlers/ignoreHandler.js.map +1 -1
  78. package/dist/cli/handlers/initHandler.js.map +1 -1
  79. package/dist/cli/handlers/securityHandler.d.ts.map +1 -1
  80. package/dist/cli/handlers/securityHandler.js +1 -1
  81. package/dist/cli/handlers/securityHandler.js.map +1 -1
  82. package/dist/cli/handlers/styleHandler.d.ts.map +1 -1
  83. package/dist/cli/handlers/styleHandler.js.map +1 -1
  84. package/dist/cli/index.js +1 -1
  85. package/dist/cli/index.js.map +1 -1
  86. package/dist/cli/parser/argumentParser.d.ts.map +1 -1
  87. package/dist/cli/parser/argumentParser.js +4 -6
  88. package/dist/cli/parser/argumentParser.js.map +1 -1
  89. package/dist/cli/stamp.js +4 -2
  90. package/dist/cli/stamp.js.map +1 -1
  91. package/dist/core/astParser/detectors.d.ts +1 -1
  92. package/dist/core/astParser/detectors.d.ts.map +1 -1
  93. package/dist/core/astParser/detectors.js +56 -40
  94. package/dist/core/astParser/detectors.js.map +1 -1
  95. package/dist/core/astParser.d.ts +1 -1
  96. package/dist/core/astParser.d.ts.map +1 -1
  97. package/dist/core/astParser.js +11 -11
  98. package/dist/core/astParser.js.map +1 -1
  99. package/dist/core/contractBuilder.d.ts.map +1 -1
  100. package/dist/core/contractBuilder.js +10 -6
  101. package/dist/core/contractBuilder.js.map +1 -1
  102. package/dist/core/manifest.d.ts.map +1 -1
  103. package/dist/core/manifest.js +12 -5
  104. package/dist/core/manifest.js.map +1 -1
  105. package/dist/core/pack/builder.d.ts.map +1 -1
  106. package/dist/core/pack/builder.js +7 -5
  107. package/dist/core/pack/builder.js.map +1 -1
  108. package/dist/core/pack/collector.d.ts.map +1 -1
  109. package/dist/core/pack/collector.js +4 -2
  110. package/dist/core/pack/collector.js.map +1 -1
  111. package/dist/core/pack/loader.d.ts.map +1 -1
  112. package/dist/core/pack/loader.js +21 -12
  113. package/dist/core/pack/loader.js.map +1 -1
  114. package/dist/core/pack/packageInfo.d.ts.map +1 -1
  115. package/dist/core/pack/packageInfo.js.map +1 -1
  116. package/dist/core/pack/resolver.d.ts.map +1 -1
  117. package/dist/core/pack/resolver.js +8 -3
  118. package/dist/core/pack/resolver.js.map +1 -1
  119. package/dist/core/pack.d.ts +9 -21
  120. package/dist/core/pack.d.ts.map +1 -1
  121. package/dist/core/pack.js +18 -27
  122. package/dist/core/pack.js.map +1 -1
  123. package/dist/core/signature.d.ts +1 -1
  124. package/dist/core/signature.d.ts.map +1 -1
  125. package/dist/core/signature.js +36 -14
  126. package/dist/core/signature.js.map +1 -1
  127. package/dist/core/violations.d.ts +3 -3
  128. package/dist/core/violations.d.ts.map +1 -1
  129. package/dist/core/violations.js +42 -21
  130. package/dist/core/violations.js.map +1 -1
  131. package/dist/extractors/express/expressExtractor.d.ts +1 -1
  132. package/dist/extractors/express/expressExtractor.d.ts.map +1 -1
  133. package/dist/extractors/express/expressExtractor.js +5 -4
  134. package/dist/extractors/express/expressExtractor.js.map +1 -1
  135. package/dist/extractors/express/index.d.ts +1 -1
  136. package/dist/extractors/express/index.d.ts.map +1 -1
  137. package/dist/extractors/express/index.js +1 -1
  138. package/dist/extractors/express/index.js.map +1 -1
  139. package/dist/extractors/nest/nestjsExtractor.d.ts +1 -1
  140. package/dist/extractors/nest/nestjsExtractor.d.ts.map +1 -1
  141. package/dist/extractors/nest/nestjsExtractor.js +4 -2
  142. package/dist/extractors/nest/nestjsExtractor.js.map +1 -1
  143. package/dist/extractors/react/componentExtractor.d.ts +1 -1
  144. package/dist/extractors/react/componentExtractor.d.ts.map +1 -1
  145. package/dist/extractors/react/componentExtractor.js +9 -3
  146. package/dist/extractors/react/componentExtractor.js.map +1 -1
  147. package/dist/extractors/react/eventExtractor.d.ts +1 -1
  148. package/dist/extractors/react/eventExtractor.d.ts.map +1 -1
  149. package/dist/extractors/react/eventExtractor.js +11 -6
  150. package/dist/extractors/react/eventExtractor.js.map +1 -1
  151. package/dist/extractors/react/hookParameterExtractor.d.ts +1 -1
  152. package/dist/extractors/react/hookParameterExtractor.d.ts.map +1 -1
  153. package/dist/extractors/react/hookParameterExtractor.js +14 -10
  154. package/dist/extractors/react/hookParameterExtractor.js.map +1 -1
  155. package/dist/extractors/react/index.d.ts +1 -1
  156. package/dist/extractors/react/index.d.ts.map +1 -1
  157. package/dist/extractors/react/index.js +1 -1
  158. package/dist/extractors/react/index.js.map +1 -1
  159. package/dist/extractors/react/propExtractor.d.ts +1 -1
  160. package/dist/extractors/react/propExtractor.d.ts.map +1 -1
  161. package/dist/extractors/react/propExtractor.js +17 -8
  162. package/dist/extractors/react/propExtractor.js.map +1 -1
  163. package/dist/extractors/react/stateExtractor.d.ts +1 -1
  164. package/dist/extractors/react/stateExtractor.d.ts.map +1 -1
  165. package/dist/extractors/react/stateExtractor.js +7 -3
  166. package/dist/extractors/react/stateExtractor.js.map +1 -1
  167. package/dist/extractors/shared/backendExtractor.d.ts +2 -2
  168. package/dist/extractors/shared/backendExtractor.d.ts.map +1 -1
  169. package/dist/extractors/shared/backendExtractor.js +8 -8
  170. package/dist/extractors/shared/backendExtractor.js.map +1 -1
  171. package/dist/extractors/shared/index.d.ts +1 -1
  172. package/dist/extractors/shared/index.d.ts.map +1 -1
  173. package/dist/extractors/shared/index.js +1 -1
  174. package/dist/extractors/shared/index.js.map +1 -1
  175. package/dist/extractors/shared/propTypeNormalizer.d.ts.map +1 -1
  176. package/dist/extractors/shared/propTypeNormalizer.js +4 -4
  177. package/dist/extractors/shared/propTypeNormalizer.js.map +1 -1
  178. package/dist/extractors/styling/antd.d.ts +1 -1
  179. package/dist/extractors/styling/antd.d.ts.map +1 -1
  180. package/dist/extractors/styling/antd.js +119 -45
  181. package/dist/extractors/styling/antd.js.map +1 -1
  182. package/dist/extractors/styling/chakra.d.ts +1 -1
  183. package/dist/extractors/styling/chakra.d.ts.map +1 -1
  184. package/dist/extractors/styling/chakra.js +144 -37
  185. package/dist/extractors/styling/chakra.js.map +1 -1
  186. package/dist/extractors/styling/index.d.ts +1 -1
  187. package/dist/extractors/styling/index.d.ts.map +1 -1
  188. package/dist/extractors/styling/index.js +1 -1
  189. package/dist/extractors/styling/index.js.map +1 -1
  190. package/dist/extractors/styling/layout.d.ts +1 -1
  191. package/dist/extractors/styling/layout.d.ts.map +1 -1
  192. package/dist/extractors/styling/layout.js +27 -19
  193. package/dist/extractors/styling/layout.js.map +1 -1
  194. package/dist/extractors/styling/material.d.ts +1 -1
  195. package/dist/extractors/styling/material.d.ts.map +1 -1
  196. package/dist/extractors/styling/material.js +129 -38
  197. package/dist/extractors/styling/material.js.map +1 -1
  198. package/dist/extractors/styling/motion.d.ts +1 -1
  199. package/dist/extractors/styling/motion.d.ts.map +1 -1
  200. package/dist/extractors/styling/motion.js +47 -19
  201. package/dist/extractors/styling/motion.js.map +1 -1
  202. package/dist/extractors/styling/radix.d.ts +1 -1
  203. package/dist/extractors/styling/radix.d.ts.map +1 -1
  204. package/dist/extractors/styling/radix.js +173 -29
  205. package/dist/extractors/styling/radix.js.map +1 -1
  206. package/dist/extractors/styling/scss.d.ts +1 -1
  207. package/dist/extractors/styling/scss.d.ts.map +1 -1
  208. package/dist/extractors/styling/scss.js +141 -23
  209. package/dist/extractors/styling/scss.js.map +1 -1
  210. package/dist/extractors/styling/shadcn.d.ts +1 -1
  211. package/dist/extractors/styling/shadcn.d.ts.map +1 -1
  212. package/dist/extractors/styling/shadcn.js +175 -59
  213. package/dist/extractors/styling/shadcn.js.map +1 -1
  214. package/dist/extractors/styling/styleExtractor.d.ts +1 -1
  215. package/dist/extractors/styling/styleExtractor.d.ts.map +1 -1
  216. package/dist/extractors/styling/styleExtractor.js +79 -39
  217. package/dist/extractors/styling/styleExtractor.js.map +1 -1
  218. package/dist/extractors/styling/styled.d.ts +1 -1
  219. package/dist/extractors/styling/styled.d.ts.map +1 -1
  220. package/dist/extractors/styling/styled.js +9 -5
  221. package/dist/extractors/styling/styled.js.map +1 -1
  222. package/dist/extractors/styling/styledJsx.d.ts +1 -1
  223. package/dist/extractors/styling/styledJsx.d.ts.map +1 -1
  224. package/dist/extractors/styling/styledJsx.js +9 -7
  225. package/dist/extractors/styling/styledJsx.js.map +1 -1
  226. package/dist/extractors/styling/tailwind.d.ts +1 -1
  227. package/dist/extractors/styling/tailwind.d.ts.map +1 -1
  228. package/dist/extractors/styling/tailwind.js +33 -22
  229. package/dist/extractors/styling/tailwind.js.map +1 -1
  230. package/dist/extractors/vue/componentExtractor.d.ts +1 -1
  231. package/dist/extractors/vue/componentExtractor.d.ts.map +1 -1
  232. package/dist/extractors/vue/componentExtractor.js +97 -35
  233. package/dist/extractors/vue/componentExtractor.js.map +1 -1
  234. package/dist/index.d.ts +8 -8
  235. package/dist/index.d.ts.map +1 -1
  236. package/dist/index.js +3 -3
  237. package/dist/index.js.map +1 -1
  238. package/dist/types/UIFContract.d.ts.map +1 -1
  239. package/dist/types/UIFContract.js.map +1 -1
  240. package/dist/utils/cleanup.js +2 -2
  241. package/dist/utils/cleanup.js.map +1 -1
  242. package/dist/utils/codeSanitizer.d.ts.map +1 -1
  243. package/dist/utils/codeSanitizer.js +20 -13
  244. package/dist/utils/codeSanitizer.js.map +1 -1
  245. package/dist/utils/config.d.ts.map +1 -1
  246. package/dist/utils/config.js +5 -5
  247. package/dist/utils/config.js.map +1 -1
  248. package/dist/utils/debug.d.ts.map +1 -1
  249. package/dist/utils/debug.js.map +1 -1
  250. package/dist/utils/fileLock.d.ts.map +1 -1
  251. package/dist/utils/fileLock.js +3 -3
  252. package/dist/utils/fileLock.js.map +1 -1
  253. package/dist/utils/fsx.d.ts.map +1 -1
  254. package/dist/utils/fsx.js +11 -9
  255. package/dist/utils/fsx.js.map +1 -1
  256. package/dist/utils/git.d.ts.map +1 -1
  257. package/dist/utils/git.js +16 -12
  258. package/dist/utils/git.js.map +1 -1
  259. package/dist/utils/gitignore.d.ts.map +1 -1
  260. package/dist/utils/gitignore.js +13 -13
  261. package/dist/utils/gitignore.js.map +1 -1
  262. package/dist/utils/hash.d.ts.map +1 -1
  263. package/dist/utils/hash.js +19 -7
  264. package/dist/utils/hash.js.map +1 -1
  265. package/dist/utils/llmContext.d.ts.map +1 -1
  266. package/dist/utils/llmContext.js +1 -4
  267. package/dist/utils/llmContext.js.map +1 -1
  268. package/dist/utils/schemaValidator.d.ts.map +1 -1
  269. package/dist/utils/schemaValidator.js +9 -2
  270. package/dist/utils/schemaValidator.js.map +1 -1
  271. package/dist/utils/secretDetector.d.ts.map +1 -1
  272. package/dist/utils/secretDetector.js +14 -10
  273. package/dist/utils/secretDetector.js.map +1 -1
  274. package/dist/utils/stampignore.d.ts.map +1 -1
  275. package/dist/utils/stampignore.js +4 -4
  276. package/dist/utils/stampignore.js.map +1 -1
  277. package/dist/utils/tokens.d.ts.map +1 -1
  278. package/dist/utils/tokens.js.map +1 -1
  279. package/package.json +5 -1
@@ -147,7 +147,10 @@ export function getChanges(oldBundles, newBundles) {
147
147
  if (oldContract) {
148
148
  const changes = {};
149
149
  if (oldContract.semanticHash !== newContract.semanticHash) {
150
- changes.semanticHash = { old: oldContract.semanticHash, new: newContract.semanticHash };
150
+ changes.semanticHash = {
151
+ old: oldContract.semanticHash,
152
+ new: newContract.semanticHash,
153
+ };
151
154
  // Get full contracts for detailed diff
152
155
  const oldContractFull = getContractFromBundles(oldBundles, newContract.entryId);
153
156
  const newContractFull = getContractFromBundles(newBundles, newContract.entryId);
@@ -156,7 +159,10 @@ export function getChanges(oldBundles, newBundles) {
156
159
  }
157
160
  }
158
161
  if (oldContract.fileHash !== newContract.fileHash) {
159
- changes.fileHash = { old: oldContract.fileHash, new: newContract.fileHash };
162
+ changes.fileHash = {
163
+ old: oldContract.fileHash,
164
+ new: newContract.fileHash,
165
+ };
160
166
  }
161
167
  if (Object.keys(changes).length > 0) {
162
168
  changed.push({ entryId: newContract.entryId, ...changes });
@@ -184,7 +190,10 @@ export function getChanges(oldBundles, newBundles) {
184
190
  }
185
191
  }
186
192
  // Return null if no changes
187
- if (changed.length === 0 && added.length === 0 && removed.length === 0 && bundleChanged.length === 0) {
193
+ if (changed.length === 0 &&
194
+ added.length === 0 &&
195
+ removed.length === 0 &&
196
+ bundleChanged.length === 0) {
188
197
  return null;
189
198
  }
190
199
  return { changed, added, removed, bundleChanged };
@@ -208,64 +217,64 @@ export function showChanges(oldBundles, newBundles, changedFile, options = {}) {
208
217
  const details = [];
209
218
  // Props changes
210
219
  if (contractDiff.props.added.length > 0) {
211
- details.push(`Added props: ${contractDiff.props.added.map(p => `\`${p}\``).join(', ')}`);
220
+ details.push(`Added props: ${contractDiff.props.added.map((p) => `\`${p}\``).join(', ')}`);
212
221
  }
213
222
  if (contractDiff.props.removed.length > 0) {
214
- details.push(`Removed props: ${contractDiff.props.removed.map(p => `\`${p}\``).join(', ')}`);
223
+ details.push(`Removed props: ${contractDiff.props.removed.map((p) => `\`${p}\``).join(', ')}`);
215
224
  }
216
225
  if (contractDiff.props.changed.length > 0) {
217
- details.push(`Changed props: ${contractDiff.props.changed.map(p => `\`${p.name}\``).join(', ')}`);
226
+ details.push(`Changed props: ${contractDiff.props.changed.map((p) => `\`${p.name}\``).join(', ')}`);
218
227
  }
219
228
  // Emits changes
220
229
  if (contractDiff.emits.added.length > 0) {
221
- details.push(`Added events: ${contractDiff.emits.added.map(e => `\`${e}\``).join(', ')}`);
230
+ details.push(`Added events: ${contractDiff.emits.added.map((e) => `\`${e}\``).join(', ')}`);
222
231
  }
223
232
  if (contractDiff.emits.removed.length > 0) {
224
- details.push(`Removed events: ${contractDiff.emits.removed.map(e => `\`${e}\``).join(', ')}`);
233
+ details.push(`Removed events: ${contractDiff.emits.removed.map((e) => `\`${e}\``).join(', ')}`);
225
234
  }
226
235
  if (contractDiff.emits.changed.length > 0) {
227
- details.push(`Changed events: ${contractDiff.emits.changed.map(e => `\`${e.name}\``).join(', ')}`);
236
+ details.push(`Changed events: ${contractDiff.emits.changed.map((e) => `\`${e.name}\``).join(', ')}`);
228
237
  }
229
238
  // State changes
230
239
  if (contractDiff.state.added.length > 0) {
231
- details.push(`Added state: ${contractDiff.state.added.map(s => `\`${s}\``).join(', ')}`);
240
+ details.push(`Added state: ${contractDiff.state.added.map((s) => `\`${s}\``).join(', ')}`);
232
241
  }
233
242
  if (contractDiff.state.removed.length > 0) {
234
- details.push(`Removed state: ${contractDiff.state.removed.map(s => `\`${s}\``).join(', ')}`);
243
+ details.push(`Removed state: ${contractDiff.state.removed.map((s) => `\`${s}\``).join(', ')}`);
235
244
  }
236
245
  if (contractDiff.state.changed.length > 0) {
237
- details.push(`Changed state: ${contractDiff.state.changed.map(s => `\`${s.name}\``).join(', ')}`);
246
+ details.push(`Changed state: ${contractDiff.state.changed.map((s) => `\`${s.name}\``).join(', ')}`);
238
247
  }
239
248
  // Hooks changes
240
249
  if (contractDiff.hooks.added.length > 0) {
241
- details.push(`Added hooks: ${contractDiff.hooks.added.map(h => `\`${h}\``).join(', ')}`);
250
+ details.push(`Added hooks: ${contractDiff.hooks.added.map((h) => `\`${h}\``).join(', ')}`);
242
251
  }
243
252
  if (contractDiff.hooks.removed.length > 0) {
244
- details.push(`Removed hooks: ${contractDiff.hooks.removed.map(h => `\`${h}\``).join(', ')}`);
253
+ details.push(`Removed hooks: ${contractDiff.hooks.removed.map((h) => `\`${h}\``).join(', ')}`);
245
254
  }
246
255
  // Components changes
247
256
  if (contractDiff.components.added.length > 0) {
248
- details.push(`Added components: ${contractDiff.components.added.map(c => `\`${c}\``).join(', ')}`);
257
+ details.push(`Added components: ${contractDiff.components.added.map((c) => `\`${c}\``).join(', ')}`);
249
258
  }
250
259
  if (contractDiff.components.removed.length > 0) {
251
- details.push(`Removed components: ${contractDiff.components.removed.map(c => `\`${c}\``).join(', ')}`);
260
+ details.push(`Removed components: ${contractDiff.components.removed.map((c) => `\`${c}\``).join(', ')}`);
252
261
  }
253
262
  // Variables changes
254
263
  if (contractDiff.variables.added.length > 0) {
255
- details.push(`Added variables: ${contractDiff.variables.added.map(v => `\`${v}\``).join(', ')}`);
264
+ details.push(`Added variables: ${contractDiff.variables.added.map((v) => `\`${v}\``).join(', ')}`);
256
265
  }
257
266
  if (contractDiff.variables.removed.length > 0) {
258
- details.push(`Removed variables: ${contractDiff.variables.removed.map(v => `\`${v}\``).join(', ')}`);
267
+ details.push(`Removed variables: ${contractDiff.variables.removed.map((v) => `\`${v}\``).join(', ')}`);
259
268
  }
260
269
  // Functions changes
261
270
  if (contractDiff.functions.added.length > 0) {
262
- details.push(`Added functions: ${contractDiff.functions.added.map(f => `\`${f}\``).join(', ')}`);
271
+ details.push(`Added functions: ${contractDiff.functions.added.map((f) => `\`${f}\``).join(', ')}`);
263
272
  }
264
273
  if (contractDiff.functions.removed.length > 0) {
265
- details.push(`Removed functions: ${contractDiff.functions.removed.map(f => `\`${f}\``).join(', ')}`);
274
+ details.push(`Removed functions: ${contractDiff.functions.removed.map((f) => `\`${f}\``).join(', ')}`);
266
275
  }
267
276
  if (details.length > 0) {
268
- details.forEach(detail => console.log(` • ${detail}`));
277
+ details.forEach((detail) => console.log(` • ${detail}`));
269
278
  }
270
279
  else {
271
280
  console.log(` • API changed (semantic hash changed)`);
@@ -301,13 +310,13 @@ export function showChanges(oldBundles, newBundles, changedFile, options = {}) {
301
310
  }
302
311
  if (added.length > 0) {
303
312
  console.log(`\n➕ Added contract:`);
304
- added.forEach(id => {
313
+ added.forEach((id) => {
305
314
  console.log(` ${id}`);
306
315
  });
307
316
  }
308
317
  if (removed.length > 0) {
309
318
  console.log(`\n❌ Removed contract:`);
310
- removed.forEach(id => {
319
+ removed.forEach((id) => {
311
320
  console.log(` ${id}`);
312
321
  });
313
322
  }
@@ -325,13 +334,23 @@ export function showChanges(oldBundles, newBundles, changedFile, options = {}) {
325
334
  console.log(` ↳ Detects: props, events, state, hooks, components, functions`);
326
335
  // Show detailed diff in debug mode
327
336
  if (contractDiff) {
328
- const hasChanges = contractDiff.props.added.length > 0 || contractDiff.props.removed.length > 0 || contractDiff.props.changed.length > 0 ||
329
- contractDiff.emits.added.length > 0 || contractDiff.emits.removed.length > 0 || contractDiff.emits.changed.length > 0 ||
330
- contractDiff.state.added.length > 0 || contractDiff.state.removed.length > 0 || contractDiff.state.changed.length > 0 ||
331
- contractDiff.hooks.added.length > 0 || contractDiff.hooks.removed.length > 0 ||
332
- contractDiff.components.added.length > 0 || contractDiff.components.removed.length > 0 ||
333
- contractDiff.variables.added.length > 0 || contractDiff.variables.removed.length > 0 ||
334
- contractDiff.functions.added.length > 0 || contractDiff.functions.removed.length > 0;
337
+ const hasChanges = contractDiff.props.added.length > 0 ||
338
+ contractDiff.props.removed.length > 0 ||
339
+ contractDiff.props.changed.length > 0 ||
340
+ contractDiff.emits.added.length > 0 ||
341
+ contractDiff.emits.removed.length > 0 ||
342
+ contractDiff.emits.changed.length > 0 ||
343
+ contractDiff.state.added.length > 0 ||
344
+ contractDiff.state.removed.length > 0 ||
345
+ contractDiff.state.changed.length > 0 ||
346
+ contractDiff.hooks.added.length > 0 ||
347
+ contractDiff.hooks.removed.length > 0 ||
348
+ contractDiff.components.added.length > 0 ||
349
+ contractDiff.components.removed.length > 0 ||
350
+ contractDiff.variables.added.length > 0 ||
351
+ contractDiff.variables.removed.length > 0 ||
352
+ contractDiff.functions.added.length > 0 ||
353
+ contractDiff.functions.removed.length > 0;
335
354
  if (hasChanges) {
336
355
  console.log(` Detailed changes:`);
337
356
  if (contractDiff.props.added.length > 0) {
@@ -341,7 +360,7 @@ export function showChanges(oldBundles, newBundles, changedFile, options = {}) {
341
360
  console.log(` - Props: ${contractDiff.props.removed.join(', ')}`);
342
361
  }
343
362
  if (contractDiff.props.changed.length > 0) {
344
- console.log(` ~ Props: ${contractDiff.props.changed.map(p => p.name).join(', ')}`);
363
+ console.log(` ~ Props: ${contractDiff.props.changed.map((p) => p.name).join(', ')}`);
345
364
  }
346
365
  if (contractDiff.emits.added.length > 0) {
347
366
  console.log(` + Events: ${contractDiff.emits.added.join(', ')}`);
@@ -402,17 +421,21 @@ export function showChanges(oldBundles, newBundles, changedFile, options = {}) {
402
421
  }
403
422
  if (added.length > 0) {
404
423
  console.log(`[DEBUG] New contracts (${added.length}):`);
405
- added.forEach(id => {
424
+ added.forEach((id) => {
406
425
  const contract = newContractIdx.get(normalizeEntryId(id).toLowerCase());
407
- const hash = contract ? contract.semanticHash.substring(0, 12) + '...' : 'unknown';
426
+ const hash = contract
427
+ ? `${contract.semanticHash.substring(0, 12)}...`
428
+ : 'unknown';
408
429
  console.log(` + ${id} (semanticHash: ${hash})`);
409
430
  });
410
431
  }
411
432
  if (removed.length > 0) {
412
433
  console.log(`[DEBUG] Removed contracts (${removed.length}):`);
413
- removed.forEach(id => {
434
+ removed.forEach((id) => {
414
435
  const contract = oldContractIdx.get(normalizeEntryId(id).toLowerCase());
415
- const hash = contract ? contract.semanticHash.substring(0, 12) + '...' : 'unknown';
436
+ const hash = contract
437
+ ? `${contract.semanticHash.substring(0, 12)}...`
438
+ : 'unknown';
416
439
  console.log(` - ${id} (semanticHash: ${hash})`);
417
440
  });
418
441
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watchDiff.js","sourceRoot":"","sources":["../../../../../src/cli/commands/context/watchMode/watchDiff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchDiff.js","sourceRoot":"","sources":["../../../../../src/cli/commands/context/watchMode/watchDiff.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watchMode.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/context/watchMode/watchMode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AASpB,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsBvE;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAE,UAAU,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2qBxI"}
1
+ {"version":3,"file":"watchMode.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/context/watchMode/watchMode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoCH,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAyBvE;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,UAAU,GAAG,IAAW,GACrC,OAAO,CAAC,IAAI,CAAC,CAy0Bf"}
@@ -5,12 +5,12 @@ import { resolve, dirname, join, relative } from 'node:path';
5
5
  import { readFile } from 'node:fs/promises';
6
6
  import chokidar from 'chokidar';
7
7
  import { globFiles, toForwardSlashes } from '../../../../utils/fsx.js';
8
- import { readStampignore, filterIgnoredFiles } from '../../../../utils/stampignore.js';
8
+ import { readStampignore, filterIgnoredFiles, } from '../../../../utils/stampignore.js';
9
9
  import { buildDependencyGraph } from '../../../../core/manifest.js';
10
10
  import { normalizeEntryId } from '../../../../utils/fsx.js';
11
11
  import { writeWatchStatus, deleteWatchStatus, appendWatchLog, writeStrictWatchStatus, deleteStrictWatchStatus, getWatchStatusPath, } from '../../../../utils/config.js';
12
- import { registerCleanup, gracefulShutdown, registerSyncCleanupPath, registerSignalHandlers } from '../../../../utils/cleanup.js';
13
- import { detectViolations, displayViolations } from '../../../../core/violations.js';
12
+ import { registerCleanup, gracefulShutdown, registerSyncCleanupPath, registerSignalHandlers, } from '../../../../utils/cleanup.js';
13
+ import { detectViolations, displayViolations, } from '../../../../core/violations.js';
14
14
  import { getChanges, showChanges } from './watchDiff.js';
15
15
  import { initializeWatchCache, incrementalRebuild, } from './index.js';
16
16
  import { buildContractsFromFiles, writeContextFiles, writeMainIndex, groupBundlesByFolder, displayProjectRoot, } from '../index.js';
@@ -70,23 +70,24 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
70
70
  }
71
71
  let debounceTimer = null;
72
72
  let isRegenerating = false; // Flag-based lock to prevent race conditions
73
- let changedFiles = new Set();
73
+ const changedFiles = new Set();
74
74
  /** Snapshot for `getChanges` / strict-watch: set on first load; reset when watch cache is recovered after an error (new stable tree). */
75
75
  let baselineBundles = null;
76
- let previousBundles = null; // Last state - for incremental tracking
77
76
  let watchCache = initialCache;
78
77
  // Strict watch mode state
79
- let strictWatchStatus = options.strictWatch ? {
80
- active: true,
81
- startedAt: new Date().toISOString(),
82
- cumulativeViolations: 0,
83
- cumulativeErrors: 0,
84
- cumulativeWarnings: 0,
85
- totalErrorsDetected: 0,
86
- totalWarningsDetected: 0,
87
- resolvedCount: 0,
88
- regenerationCount: 0,
89
- } : null;
78
+ const strictWatchStatus = options.strictWatch
79
+ ? {
80
+ active: true,
81
+ startedAt: new Date().toISOString(),
82
+ cumulativeViolations: 0,
83
+ cumulativeErrors: 0,
84
+ cumulativeWarnings: 0,
85
+ totalErrorsDetected: 0,
86
+ totalWarningsDetected: 0,
87
+ resolvedCount: 0,
88
+ regenerationCount: 0,
89
+ }
90
+ : null;
90
91
  // Debounce delay in milliseconds (wait 500ms after last change before regenerating)
91
92
  const DEBOUNCE_DELAY = 500;
92
93
  // Helper to load all bundles from context files
@@ -140,7 +141,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
140
141
  const attemptWatchCacheRecovery = async () => {
141
142
  try {
142
143
  const outPathResolved = resolve(options.out);
143
- const outputDirResolved = outPathResolved.endsWith('.json') ? dirname(outPathResolved) : outPathResolved;
144
+ const outputDirResolved = outPathResolved.endsWith('.json')
145
+ ? dirname(outPathResolved)
146
+ : outPathResolved;
144
147
  const regenerateOptions = {
145
148
  ...options,
146
149
  watch: false,
@@ -158,7 +161,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
158
161
  }
159
162
  const files = await globFiles(projectRoot);
160
163
  const stampignore = await readStampignore(projectRoot);
161
- const filteredFiles = stampignore ? filterIgnoredFiles(files, stampignore.ignore, projectRoot) : files;
164
+ const filteredFiles = stampignore
165
+ ? filterIgnoredFiles(files, stampignore.ignore, projectRoot)
166
+ : files;
162
167
  const { contracts } = await buildContractsFromFiles(filteredFiles, projectRoot, {
163
168
  includeStyle: options.includeStyle,
164
169
  styleMode: options.styleMode,
@@ -195,18 +200,20 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
195
200
  try {
196
201
  // Determine output directory
197
202
  const outPath = resolve(options.out);
198
- const outputDir = outPath.endsWith('.json') ? dirname(outPath) : outPath;
203
+ const outputDir = outPath.endsWith('.json')
204
+ ? dirname(outPath)
205
+ : outPath;
199
206
  // Load baseline bundles for state-based comparison (like git diff).
200
207
  // Set on first successful load; also updated after error recovery (full rebuild) so diffs stay meaningful.
201
208
  if (!baselineBundles) {
202
209
  baselineBundles = await loadAllBundles(outputDir);
203
- previousBundles = baselineBundles;
204
210
  }
205
211
  if (!options.quiet) {
206
212
  const fileList = changedFileList.length > 3
207
213
  ? `${changedFileList.slice(0, 3).join(', ')}, ... (+${changedFileList.length - 3} more)`
208
214
  : changedFileList.join(', ');
209
215
  console.log(`\n🔄 Recompiling (${changedFileList.length} file${changedFileList.length > 1 ? 's' : ''} changed)...`);
216
+ console.log(` Files: ${fileList}`);
210
217
  }
211
218
  let newBundles;
212
219
  // Use incremental rebuild if cache exists, otherwise do full rebuild (fallback)
@@ -218,7 +225,7 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
218
225
  const bundlesByFolder = groupBundlesByFolder(newBundles);
219
226
  const changedFolders = new Set();
220
227
  for (const bundleId of result.updatedBundles) {
221
- const bundle = newBundles.find(b => b.entryId === bundleId);
228
+ const bundle = newBundles.find((b) => b.entryId === bundleId);
222
229
  if (bundle) {
223
230
  const folderPath = bundle.entryId.substring(0, bundle.entryId.lastIndexOf('/') || bundle.entryId.length);
224
231
  changedFolders.add(folderPath);
@@ -232,7 +239,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
232
239
  quiet: true,
233
240
  });
234
241
  // Get contracts for main index (from cache if available)
235
- const allContracts = watchCache ? Array.from(watchCache.contracts.values()) : [];
242
+ const allContracts = watchCache
243
+ ? Array.from(watchCache.contracts.values())
244
+ : [];
236
245
  await writeMainIndex(outputDir, folderInfos, allContracts, newBundles, bundlesByFolder.size, totalTokenEstimate, projectRoot, {
237
246
  quiet: true,
238
247
  suppressSuccessIndicator: true,
@@ -255,7 +264,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
255
264
  // We need contracts and manifest - reload them from the build
256
265
  const files = await globFiles(projectRoot);
257
266
  const stampignore = await readStampignore(projectRoot);
258
- const filteredFiles = stampignore ? filterIgnoredFiles(files, stampignore.ignore, projectRoot) : files;
267
+ const filteredFiles = stampignore
268
+ ? filterIgnoredFiles(files, stampignore.ignore, projectRoot)
269
+ : files;
259
270
  const { contracts } = await buildContractsFromFiles(filteredFiles, projectRoot, {
260
271
  includeStyle: options.includeStyle,
261
272
  styleMode: options.styleMode,
@@ -273,33 +284,38 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
273
284
  ? getChanges(baselineBundles, newBundles)
274
285
  : null;
275
286
  if (!options.quiet) {
276
- if (changes && (changes.changed.length > 0 || changes.added.length > 0 || changes.removed.length > 0 || changes.bundleChanged.length > 0)) {
287
+ if (baselineBundles &&
288
+ changes &&
289
+ (changes.changed.length > 0 ||
290
+ changes.added.length > 0 ||
291
+ changes.removed.length > 0 ||
292
+ changes.bundleChanged.length > 0)) {
277
293
  showChanges(baselineBundles, newBundles, changedFileList[0] || 'unknown', { debug: options.debug });
278
294
  }
279
295
  console.log(`\n✅ Recompiled\n`);
280
296
  }
281
- // Update previousBundles for incremental tracking (still useful for other operations)
282
- previousBundles = newBundles;
283
297
  // Strict watch mode: detect and report violations (state-based, like git diff)
284
298
  // Violations are calculated from current state vs baseline, not accumulated
285
299
  if (options.strictWatch && strictWatchStatus) {
286
- const hasChanges = changes && (changes.changed.length > 0 ||
287
- changes.added.length > 0 ||
288
- changes.removed.length > 0 ||
289
- changes.bundleChanged.length > 0);
300
+ const hasChanges = changes &&
301
+ (changes.changed.length > 0 ||
302
+ changes.added.length > 0 ||
303
+ changes.removed.length > 0 ||
304
+ changes.bundleChanged.length > 0);
290
305
  // Track previous state to detect new violations and resolution
291
306
  const previousActiveErrors = strictWatchStatus.lastCheck?.errors ?? 0;
292
307
  const previousActiveWarnings = strictWatchStatus.lastCheck?.warnings ?? 0;
293
308
  const hadActiveViolations = previousActiveErrors > 0 || previousActiveWarnings > 0;
294
309
  if (hasChanges) {
295
310
  const violations = detectViolations({ type: 'watch', changes });
296
- const errors = violations.filter(v => v.severity === 'error');
297
- const warnings = violations.filter(v => v.severity === 'warning');
311
+ const errors = violations.filter((v) => v.severity === 'error');
312
+ const warnings = violations.filter((v) => v.severity === 'warning');
298
313
  strictWatchStatus.regenerationCount++;
299
314
  if (violations.length > 0) {
300
315
  // Only increment totals if these are NEW violations (first time seeing violations, or count increased)
301
316
  const isNewViolation = !hadActiveViolations;
302
- const violationCountIncreased = errors.length > previousActiveErrors || warnings.length > previousActiveWarnings;
317
+ const violationCountIncreased = errors.length > previousActiveErrors ||
318
+ warnings.length > previousActiveWarnings;
303
319
  if (isNewViolation || violationCountIncreased) {
304
320
  // Calculate new violations (only count increases, not existing ones)
305
321
  if (isNewViolation) {
@@ -330,7 +346,8 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
330
346
  };
331
347
  // Display violations to console (only if status changed)
332
348
  if (!options.quiet) {
333
- const statusChanged = errors.length !== previousActiveErrors || warnings.length !== previousActiveWarnings;
349
+ const statusChanged = errors.length !== previousActiveErrors ||
350
+ warnings.length !== previousActiveWarnings;
334
351
  if (statusChanged) {
335
352
  if (isNewViolation || violationCountIncreased) {
336
353
  // Show appropriate emoji based on severity: ❌ for errors, ⚠️ for warnings only
@@ -342,7 +359,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
342
359
  }
343
360
  }
344
361
  displayViolations(violations, { quiet: options.quiet });
345
- displaySessionStatus(strictWatchStatus, { quiet: options.quiet });
362
+ displaySessionStatus(strictWatchStatus, {
363
+ quiet: options.quiet,
364
+ });
346
365
  }
347
366
  }
348
367
  // Write current violations state to disk
@@ -360,7 +379,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
360
379
  // Display resolution message and status
361
380
  if (!options.quiet && hadActiveViolations) {
362
381
  console.log(`\n✅ Violation resolved`);
363
- displaySessionStatus(strictWatchStatus, { quiet: options.quiet });
382
+ displaySessionStatus(strictWatchStatus, {
383
+ quiet: options.quiet,
384
+ });
364
385
  }
365
386
  await deleteStrictWatchStatus(projectRoot);
366
387
  }
@@ -377,7 +398,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
377
398
  // Display resolution message and status
378
399
  if (!options.quiet && hadActiveViolations) {
379
400
  console.log(`\n✅ Violation resolved`);
380
- displaySessionStatus(strictWatchStatus, { quiet: options.quiet });
401
+ displaySessionStatus(strictWatchStatus, {
402
+ quiet: options.quiet,
403
+ });
381
404
  }
382
405
  await deleteStrictWatchStatus(projectRoot);
383
406
  }
@@ -391,14 +414,14 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
391
414
  changedFiles: changedFileList,
392
415
  fileCount: changedFileList.length,
393
416
  durationMs,
394
- modifiedContracts: changes.changed.map(c => ({
417
+ modifiedContracts: changes.changed.map((c) => ({
395
418
  entryId: c.entryId,
396
419
  semanticHashChanged: !!c.semanticHash,
397
420
  fileHashChanged: !!c.fileHash,
398
421
  semanticHash: c.semanticHash,
399
422
  fileHash: c.fileHash,
400
423
  })),
401
- modifiedBundles: changes.bundleChanged.map(b => ({
424
+ modifiedBundles: changes.bundleChanged.map((b) => ({
402
425
  entryId: b.entryId,
403
426
  bundleHash: { old: b.oldHash, new: b.newHash },
404
427
  })),
@@ -452,7 +475,6 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
452
475
  if (recovery != null) {
453
476
  watchCache = recovery.cache;
454
477
  baselineBundles = recovery.bundles;
455
- previousBundles = recovery.bundles;
456
478
  if (!options.quiet) {
457
479
  console.log(` ✅ Watch cache restored after full rebuild.\n`);
458
480
  }
@@ -508,7 +530,12 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
508
530
  /context_main\.json$/,
509
531
  /context_compare_modes\.json$/,
510
532
  // Ignore output directory if different from project root
511
- ...(outputDir !== projectRoot ? [new RegExp('^' + toForwardSlashes(relative(projectRoot, normalizedOutputDir)))] : []),
533
+ ...(outputDir !== projectRoot
534
+ ? [
535
+ new RegExp('^' +
536
+ toForwardSlashes(relative(projectRoot, normalizedOutputDir))),
537
+ ]
538
+ : []),
512
539
  // Ignore common build/dependency directories
513
540
  /node_modules/,
514
541
  /dist/,
@@ -533,11 +560,12 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
533
560
  console.log(`[DEBUG] Watch event for: ${normalizedPath}`);
534
561
  }
535
562
  // Check if it's a .stampignore file
536
- if (normalizedPath.endsWith('.stampignore') || normalizedPath.includes('/.stampignore')) {
563
+ if (normalizedPath.endsWith('.stampignore') ||
564
+ normalizedPath.includes('/.stampignore')) {
537
565
  return true;
538
566
  }
539
567
  // Check if it matches watched extensions
540
- const matches = watchedExtensions.some(ext => normalizedPath.endsWith(ext));
568
+ const matches = watchedExtensions.some((ext) => normalizedPath.endsWith(ext));
541
569
  if (process.env.LOGICSTAMP_DEBUG === '1' && !options.quiet && matches) {
542
570
  console.log(`[DEBUG] Matched extension for: ${normalizedPath}`);
543
571
  }
@@ -602,13 +630,14 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
602
630
  const activeWarnings = strictWatchStatus.lastCheck?.warnings ?? 0;
603
631
  const activeTotal = activeErrors + activeWarnings;
604
632
  // Helper for pluralization
605
- const pluralize = (count, singular, plural) => count === 1 ? singular : plural;
633
+ const pluralize = (count, singular, plural) => (count === 1 ? singular : plural);
606
634
  // Determine emoji and message based on errors/warnings
607
635
  let emoji;
608
636
  let message;
609
637
  if (activeErrors === 0 && activeWarnings === 0) {
610
638
  emoji = '✅';
611
- message = 'Strict Watch session complete - no violations detected';
639
+ message =
640
+ 'Strict Watch session complete - no violations detected';
612
641
  }
613
642
  else if (activeErrors === 0 && activeWarnings > 0) {
614
643
  emoji = '⚠️';
@@ -637,7 +666,9 @@ export async function startWatchMode(options, projectRoot, initialCache = null)
637
666
  }
638
667
  }
639
668
  // Clean up strict watch status file if no violations
640
- if (!options.strictWatch || !strictWatchStatus || strictWatchStatus.cumulativeViolations === 0) {
669
+ if (!options.strictWatch ||
670
+ !strictWatchStatus ||
671
+ strictWatchStatus.cumulativeViolations === 0) {
641
672
  try {
642
673
  await deleteStrictWatchStatus(projectRoot);
643
674
  }