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.
- package/dist/cli/commands/clean.d.ts.map +1 -1
- package/dist/cli/commands/clean.js +8 -3
- package/dist/cli/commands/clean.js.map +1 -1
- package/dist/cli/commands/compare/cleanup.d.ts.map +1 -1
- package/dist/cli/commands/compare/cleanup.js.map +1 -1
- package/dist/cli/commands/compare/core.d.ts.map +1 -1
- package/dist/cli/commands/compare/core.js +49 -35
- package/dist/cli/commands/compare/core.js.map +1 -1
- package/dist/cli/commands/compare/display.d.ts.map +1 -1
- package/dist/cli/commands/compare/display.js +31 -18
- package/dist/cli/commands/compare/display.js.map +1 -1
- package/dist/cli/commands/compare/multiFile.d.ts.map +1 -1
- package/dist/cli/commands/compare/multiFile.js +8 -8
- package/dist/cli/commands/compare/multiFile.js.map +1 -1
- package/dist/cli/commands/compare/singleFile.d.ts.map +1 -1
- package/dist/cli/commands/compare/singleFile.js +19 -13
- package/dist/cli/commands/compare/singleFile.js.map +1 -1
- package/dist/cli/commands/compare/types.d.ts.map +1 -1
- package/dist/cli/commands/compare/utils.d.ts.map +1 -1
- package/dist/cli/commands/compare/utils.js +2 -2
- package/dist/cli/commands/compare/utils.js.map +1 -1
- package/dist/cli/commands/context/bundleFormatter.d.ts.map +1 -1
- package/dist/cli/commands/context/bundleFormatter.js +9 -5
- package/dist/cli/commands/context/bundleFormatter.js.map +1 -1
- package/dist/cli/commands/context/configManager.d.ts.map +1 -1
- package/dist/cli/commands/context/configManager.js +5 -5
- package/dist/cli/commands/context/configManager.js.map +1 -1
- package/dist/cli/commands/context/contractBuilder.d.ts.map +1 -1
- package/dist/cli/commands/context/contractBuilder.js +4 -2
- package/dist/cli/commands/context/contractBuilder.js.map +1 -1
- package/dist/cli/commands/context/fileWriter.d.ts +1 -1
- package/dist/cli/commands/context/fileWriter.d.ts.map +1 -1
- package/dist/cli/commands/context/fileWriter.js +22 -14
- package/dist/cli/commands/context/fileWriter.js.map +1 -1
- package/dist/cli/commands/context/statsCalculator.d.ts.map +1 -1
- package/dist/cli/commands/context/statsCalculator.js +17 -6
- package/dist/cli/commands/context/statsCalculator.js.map +1 -1
- package/dist/cli/commands/context/tokenEstimator.d.ts +1 -1
- package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -1
- package/dist/cli/commands/context/tokenEstimator.js +54 -30
- package/dist/cli/commands/context/tokenEstimator.js.map +1 -1
- package/dist/cli/commands/context/watchMode/incrementalWatch.d.ts +1 -1
- package/dist/cli/commands/context/watchMode/incrementalWatch.d.ts.map +1 -1
- package/dist/cli/commands/context/watchMode/incrementalWatch.js +33 -25
- package/dist/cli/commands/context/watchMode/incrementalWatch.js.map +1 -1
- package/dist/cli/commands/context/watchMode/watchDiff.d.ts.map +1 -1
- package/dist/cli/commands/context/watchMode/watchDiff.js +58 -35
- package/dist/cli/commands/context/watchMode/watchDiff.js.map +1 -1
- package/dist/cli/commands/context/watchMode/watchMode.d.ts.map +1 -1
- package/dist/cli/commands/context/watchMode/watchMode.js +77 -46
- package/dist/cli/commands/context/watchMode/watchMode.js.map +1 -1
- package/dist/cli/commands/context.d.ts.map +1 -1
- package/dist/cli/commands/context.js +32 -11
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/ignore.d.ts.map +1 -1
- package/dist/cli/commands/ignore.js +5 -5
- package/dist/cli/commands/ignore.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +8 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/security.d.ts +1 -1
- package/dist/cli/commands/security.d.ts.map +1 -1
- package/dist/cli/commands/security.js +28 -18
- package/dist/cli/commands/security.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +14 -9
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/handlers/cleanHandler.d.ts.map +1 -1
- package/dist/cli/handlers/cleanHandler.js.map +1 -1
- package/dist/cli/handlers/compareHandler.d.ts.map +1 -1
- package/dist/cli/handlers/compareHandler.js +77 -27
- package/dist/cli/handlers/compareHandler.js.map +1 -1
- package/dist/cli/handlers/contextHandler.d.ts.map +1 -1
- package/dist/cli/handlers/contextHandler.js +1 -1
- package/dist/cli/handlers/contextHandler.js.map +1 -1
- package/dist/cli/handlers/ignoreHandler.d.ts.map +1 -1
- package/dist/cli/handlers/ignoreHandler.js.map +1 -1
- package/dist/cli/handlers/initHandler.js.map +1 -1
- package/dist/cli/handlers/securityHandler.d.ts.map +1 -1
- package/dist/cli/handlers/securityHandler.js +1 -1
- package/dist/cli/handlers/securityHandler.js.map +1 -1
- package/dist/cli/handlers/styleHandler.d.ts.map +1 -1
- package/dist/cli/handlers/styleHandler.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/parser/argumentParser.d.ts.map +1 -1
- package/dist/cli/parser/argumentParser.js +4 -6
- package/dist/cli/parser/argumentParser.js.map +1 -1
- package/dist/cli/stamp.js +4 -2
- package/dist/cli/stamp.js.map +1 -1
- package/dist/core/astParser/detectors.d.ts +1 -1
- package/dist/core/astParser/detectors.d.ts.map +1 -1
- package/dist/core/astParser/detectors.js +56 -40
- package/dist/core/astParser/detectors.js.map +1 -1
- package/dist/core/astParser.d.ts +1 -1
- package/dist/core/astParser.d.ts.map +1 -1
- package/dist/core/astParser.js +11 -11
- package/dist/core/astParser.js.map +1 -1
- package/dist/core/contractBuilder.d.ts.map +1 -1
- package/dist/core/contractBuilder.js +10 -6
- package/dist/core/contractBuilder.js.map +1 -1
- package/dist/core/manifest.d.ts.map +1 -1
- package/dist/core/manifest.js +12 -5
- package/dist/core/manifest.js.map +1 -1
- package/dist/core/pack/builder.d.ts.map +1 -1
- package/dist/core/pack/builder.js +7 -5
- package/dist/core/pack/builder.js.map +1 -1
- package/dist/core/pack/collector.d.ts.map +1 -1
- package/dist/core/pack/collector.js +4 -2
- package/dist/core/pack/collector.js.map +1 -1
- package/dist/core/pack/loader.d.ts.map +1 -1
- package/dist/core/pack/loader.js +21 -12
- package/dist/core/pack/loader.js.map +1 -1
- package/dist/core/pack/packageInfo.d.ts.map +1 -1
- package/dist/core/pack/packageInfo.js.map +1 -1
- package/dist/core/pack/resolver.d.ts.map +1 -1
- package/dist/core/pack/resolver.js +8 -3
- package/dist/core/pack/resolver.js.map +1 -1
- package/dist/core/pack.d.ts +9 -21
- package/dist/core/pack.d.ts.map +1 -1
- package/dist/core/pack.js +18 -27
- package/dist/core/pack.js.map +1 -1
- package/dist/core/signature.d.ts +1 -1
- package/dist/core/signature.d.ts.map +1 -1
- package/dist/core/signature.js +36 -14
- package/dist/core/signature.js.map +1 -1
- package/dist/core/violations.d.ts +3 -3
- package/dist/core/violations.d.ts.map +1 -1
- package/dist/core/violations.js +42 -21
- package/dist/core/violations.js.map +1 -1
- package/dist/extractors/express/expressExtractor.d.ts +1 -1
- package/dist/extractors/express/expressExtractor.d.ts.map +1 -1
- package/dist/extractors/express/expressExtractor.js +5 -4
- package/dist/extractors/express/expressExtractor.js.map +1 -1
- package/dist/extractors/express/index.d.ts +1 -1
- package/dist/extractors/express/index.d.ts.map +1 -1
- package/dist/extractors/express/index.js +1 -1
- package/dist/extractors/express/index.js.map +1 -1
- package/dist/extractors/nest/nestjsExtractor.d.ts +1 -1
- package/dist/extractors/nest/nestjsExtractor.d.ts.map +1 -1
- package/dist/extractors/nest/nestjsExtractor.js +4 -2
- package/dist/extractors/nest/nestjsExtractor.js.map +1 -1
- package/dist/extractors/react/componentExtractor.d.ts +1 -1
- package/dist/extractors/react/componentExtractor.d.ts.map +1 -1
- package/dist/extractors/react/componentExtractor.js +9 -3
- package/dist/extractors/react/componentExtractor.js.map +1 -1
- package/dist/extractors/react/eventExtractor.d.ts +1 -1
- package/dist/extractors/react/eventExtractor.d.ts.map +1 -1
- package/dist/extractors/react/eventExtractor.js +11 -6
- package/dist/extractors/react/eventExtractor.js.map +1 -1
- package/dist/extractors/react/hookParameterExtractor.d.ts +1 -1
- package/dist/extractors/react/hookParameterExtractor.d.ts.map +1 -1
- package/dist/extractors/react/hookParameterExtractor.js +14 -10
- package/dist/extractors/react/hookParameterExtractor.js.map +1 -1
- package/dist/extractors/react/index.d.ts +1 -1
- package/dist/extractors/react/index.d.ts.map +1 -1
- package/dist/extractors/react/index.js +1 -1
- package/dist/extractors/react/index.js.map +1 -1
- package/dist/extractors/react/propExtractor.d.ts +1 -1
- package/dist/extractors/react/propExtractor.d.ts.map +1 -1
- package/dist/extractors/react/propExtractor.js +17 -8
- package/dist/extractors/react/propExtractor.js.map +1 -1
- package/dist/extractors/react/stateExtractor.d.ts +1 -1
- package/dist/extractors/react/stateExtractor.d.ts.map +1 -1
- package/dist/extractors/react/stateExtractor.js +7 -3
- package/dist/extractors/react/stateExtractor.js.map +1 -1
- package/dist/extractors/shared/backendExtractor.d.ts +2 -2
- package/dist/extractors/shared/backendExtractor.d.ts.map +1 -1
- package/dist/extractors/shared/backendExtractor.js +8 -8
- package/dist/extractors/shared/backendExtractor.js.map +1 -1
- package/dist/extractors/shared/index.d.ts +1 -1
- package/dist/extractors/shared/index.d.ts.map +1 -1
- package/dist/extractors/shared/index.js +1 -1
- package/dist/extractors/shared/index.js.map +1 -1
- package/dist/extractors/shared/propTypeNormalizer.d.ts.map +1 -1
- package/dist/extractors/shared/propTypeNormalizer.js +4 -4
- package/dist/extractors/shared/propTypeNormalizer.js.map +1 -1
- package/dist/extractors/styling/antd.d.ts +1 -1
- package/dist/extractors/styling/antd.d.ts.map +1 -1
- package/dist/extractors/styling/antd.js +119 -45
- package/dist/extractors/styling/antd.js.map +1 -1
- package/dist/extractors/styling/chakra.d.ts +1 -1
- package/dist/extractors/styling/chakra.d.ts.map +1 -1
- package/dist/extractors/styling/chakra.js +144 -37
- package/dist/extractors/styling/chakra.js.map +1 -1
- package/dist/extractors/styling/index.d.ts +1 -1
- package/dist/extractors/styling/index.d.ts.map +1 -1
- package/dist/extractors/styling/index.js +1 -1
- package/dist/extractors/styling/index.js.map +1 -1
- package/dist/extractors/styling/layout.d.ts +1 -1
- package/dist/extractors/styling/layout.d.ts.map +1 -1
- package/dist/extractors/styling/layout.js +27 -19
- package/dist/extractors/styling/layout.js.map +1 -1
- package/dist/extractors/styling/material.d.ts +1 -1
- package/dist/extractors/styling/material.d.ts.map +1 -1
- package/dist/extractors/styling/material.js +129 -38
- package/dist/extractors/styling/material.js.map +1 -1
- package/dist/extractors/styling/motion.d.ts +1 -1
- package/dist/extractors/styling/motion.d.ts.map +1 -1
- package/dist/extractors/styling/motion.js +47 -19
- package/dist/extractors/styling/motion.js.map +1 -1
- package/dist/extractors/styling/radix.d.ts +1 -1
- package/dist/extractors/styling/radix.d.ts.map +1 -1
- package/dist/extractors/styling/radix.js +173 -29
- package/dist/extractors/styling/radix.js.map +1 -1
- package/dist/extractors/styling/scss.d.ts +1 -1
- package/dist/extractors/styling/scss.d.ts.map +1 -1
- package/dist/extractors/styling/scss.js +141 -23
- package/dist/extractors/styling/scss.js.map +1 -1
- package/dist/extractors/styling/shadcn.d.ts +1 -1
- package/dist/extractors/styling/shadcn.d.ts.map +1 -1
- package/dist/extractors/styling/shadcn.js +175 -59
- package/dist/extractors/styling/shadcn.js.map +1 -1
- package/dist/extractors/styling/styleExtractor.d.ts +1 -1
- package/dist/extractors/styling/styleExtractor.d.ts.map +1 -1
- package/dist/extractors/styling/styleExtractor.js +79 -39
- package/dist/extractors/styling/styleExtractor.js.map +1 -1
- package/dist/extractors/styling/styled.d.ts +1 -1
- package/dist/extractors/styling/styled.d.ts.map +1 -1
- package/dist/extractors/styling/styled.js +9 -5
- package/dist/extractors/styling/styled.js.map +1 -1
- package/dist/extractors/styling/styledJsx.d.ts +1 -1
- package/dist/extractors/styling/styledJsx.d.ts.map +1 -1
- package/dist/extractors/styling/styledJsx.js +9 -7
- package/dist/extractors/styling/styledJsx.js.map +1 -1
- package/dist/extractors/styling/tailwind.d.ts +1 -1
- package/dist/extractors/styling/tailwind.d.ts.map +1 -1
- package/dist/extractors/styling/tailwind.js +33 -22
- package/dist/extractors/styling/tailwind.js.map +1 -1
- package/dist/extractors/vue/componentExtractor.d.ts +1 -1
- package/dist/extractors/vue/componentExtractor.d.ts.map +1 -1
- package/dist/extractors/vue/componentExtractor.js +97 -35
- package/dist/extractors/vue/componentExtractor.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/types/UIFContract.d.ts.map +1 -1
- package/dist/types/UIFContract.js.map +1 -1
- package/dist/utils/cleanup.js +2 -2
- package/dist/utils/cleanup.js.map +1 -1
- package/dist/utils/codeSanitizer.d.ts.map +1 -1
- package/dist/utils/codeSanitizer.js +20 -13
- package/dist/utils/codeSanitizer.js.map +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +5 -5
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/fileLock.d.ts.map +1 -1
- package/dist/utils/fileLock.js +3 -3
- package/dist/utils/fileLock.js.map +1 -1
- package/dist/utils/fsx.d.ts.map +1 -1
- package/dist/utils/fsx.js +11 -9
- package/dist/utils/fsx.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +16 -12
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/gitignore.d.ts.map +1 -1
- package/dist/utils/gitignore.js +13 -13
- package/dist/utils/gitignore.js.map +1 -1
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +19 -7
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/llmContext.d.ts.map +1 -1
- package/dist/utils/llmContext.js +1 -4
- package/dist/utils/llmContext.js.map +1 -1
- package/dist/utils/schemaValidator.d.ts.map +1 -1
- package/dist/utils/schemaValidator.js +9 -2
- package/dist/utils/schemaValidator.js.map +1 -1
- package/dist/utils/secretDetector.d.ts.map +1 -1
- package/dist/utils/secretDetector.js +14 -10
- package/dist/utils/secretDetector.js.map +1 -1
- package/dist/utils/stampignore.d.ts.map +1 -1
- package/dist/utils/stampignore.js +4 -4
- package/dist/utils/stampignore.js.map +1 -1
- package/dist/utils/tokens.d.ts.map +1 -1
- package/dist/utils/tokens.js.map +1 -1
- 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 = {
|
|
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 = {
|
|
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 &&
|
|
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 ||
|
|
329
|
-
contractDiff.
|
|
330
|
-
contractDiff.
|
|
331
|
-
contractDiff.
|
|
332
|
-
contractDiff.
|
|
333
|
-
contractDiff.
|
|
334
|
-
contractDiff.
|
|
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
|
|
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
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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')
|
|
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
|
|
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')
|
|
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
|
|
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
|
|
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 (
|
|
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 &&
|
|
287
|
-
changes.
|
|
288
|
-
|
|
289
|
-
|
|
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 ||
|
|
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 ||
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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
|
|
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') ||
|
|
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 =
|
|
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 ||
|
|
669
|
+
if (!options.strictWatch ||
|
|
670
|
+
!strictWatchStatus ||
|
|
671
|
+
strictWatchStatus.cumulativeViolations === 0) {
|
|
641
672
|
try {
|
|
642
673
|
await deleteStrictWatchStatus(projectRoot);
|
|
643
674
|
}
|