@ttsc/unplugin 0.31.4 → 0.31.5
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/lib/core/transform/tracker/broker/watchBrokerSource.js +14 -0
- package/lib/core/transform/tracker/broker/watchBrokerSource.js.map +1 -1
- package/lib/core/transform/tracker/broker/watchBrokerSource.mjs +14 -0
- package/lib/core/transform/tracker/broker/watchBrokerSource.mjs.map +1 -1
- package/lib/core/transform/tracker/createHostInputMutationTracker.js +20 -0
- package/lib/core/transform/tracker/createHostInputMutationTracker.js.map +1 -1
- package/lib/core/transform/tracker/createHostInputMutationTracker.mjs +20 -0
- package/lib/core/transform/tracker/createHostInputMutationTracker.mjs.map +1 -1
- package/lib/core/transform/tracker/createProjectMutationTracker.d.cts +6 -5
- package/lib/core/transform/tracker/createProjectMutationTracker.d.mts +6 -5
- package/lib/core/transform/tracker/createProjectMutationTracker.d.ts +6 -5
- package/lib/core/transform/tracker/createProjectMutationTracker.js +57 -36
- package/lib/core/transform/tracker/createProjectMutationTracker.js.map +1 -1
- package/lib/core/transform/tracker/createProjectMutationTracker.mjs +57 -36
- package/lib/core/transform/tracker/createProjectMutationTracker.mjs.map +1 -1
- package/package.json +3 -3
- package/src/core/transform/tracker/broker/watchBrokerSource.ts +14 -0
- package/src/core/transform/tracker/createHostInputMutationTracker.ts +18 -0
- package/src/core/transform/tracker/createProjectMutationTracker.ts +61 -40
|
@@ -120,6 +120,8 @@ const registrations = new Map();
|
|
|
120
120
|
const DROPPED = 0x1 | 0x2 | 0x4 | 0x8 | 0x20 | 0x40 | 0x80;
|
|
121
121
|
const MODIFIED = 0x400 | 0x1000 | 0x2000 | 0x4000 | 0x8000;
|
|
122
122
|
const RENAMED = 0x100 | 0x200 | 0x800;
|
|
123
|
+
const CREATED = 0x100;
|
|
124
|
+
const MOVED = 0x200 | 0x800;
|
|
123
125
|
const fsevents = load();
|
|
124
126
|
let probeSequence = 0;
|
|
125
127
|
|
|
@@ -204,6 +206,8 @@ function stream(location, deliver, registration) {
|
|
|
204
206
|
const root = probe === undefined ? directory : probe.root;
|
|
205
207
|
const within = (parent, file) => file === parent || file.startsWith(parent.endsWith("/") ? parent : parent + "/");
|
|
206
208
|
const opened = { close: undefined, location: location.directory, pending: new Map(), probe, proven: probe === undefined };
|
|
209
|
+
// Anything born before this instant was not created in this stream.
|
|
210
|
+
const openedAt = Date.now();
|
|
207
211
|
const stop = fsevents.watch(root, (file, flags) => {
|
|
208
212
|
// Loss authority is independent of the path, including our own probe.
|
|
209
213
|
if ((flags & DROPPED) !== 0) {
|
|
@@ -233,6 +237,16 @@ function stream(location, deliver, registration) {
|
|
|
233
237
|
}
|
|
234
238
|
const filename = file.slice(directory.length + 1);
|
|
235
239
|
if (location.recursive !== true && filename.includes("/")) return;
|
|
240
|
+
// FSEvents keeps ItemCreated on later writes to a path it saw created, so a
|
|
241
|
+
// plain edit of a file older than this stream arrived as a rename, a
|
|
242
|
+
// membership change that replaced generations for an unrelated write. An
|
|
243
|
+
// object born before the stream opened was not created in it; its other
|
|
244
|
+
// flags decide. A removal or a rename keeps the event structural.
|
|
245
|
+
if ((flags & CREATED) !== 0 && (flags & MOVED) === 0 && (flags & MODIFIED) !== 0) {
|
|
246
|
+
try {
|
|
247
|
+
if (fs.lstatSync(file).birthtimeMs < openedAt) flags &= ~CREATED;
|
|
248
|
+
} catch {}
|
|
249
|
+
}
|
|
236
250
|
deliver((flags & MODIFIED) !== 0 && (flags & RENAMED) === 0 ? "change" : "rename", filename);
|
|
237
251
|
});
|
|
238
252
|
opened.close = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchBrokerSource.js","sources":["../../../../../src/core/transform/tracker/broker/watchBrokerSource.ts"],"sourcesContent":[null],"names":["WATCH_PROBE_TIMEOUT_MS"],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGG;AACG,SAAU,iBAAiB,CAAC,QAAwB,EAAA;IACxD,OAAO,CAAA,qBAAA,EAAwB,QAAQ,KAAK,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,6BAA6BA,6CAAsB,CAAA,GAAA,EAAM,oBAAoB,CAAA,CAAE;AAC/K;AAEA;;;AAGG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA
|
|
1
|
+
{"version":3,"file":"watchBrokerSource.js","sources":["../../../../../src/core/transform/tracker/broker/watchBrokerSource.ts"],"sourcesContent":[null],"names":["WATCH_PROBE_TIMEOUT_MS"],"mappings":";;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGG;AACG,SAAU,iBAAiB,CAAC,QAAwB,EAAA;IACxD,OAAO,CAAA,qBAAA,EAAwB,QAAQ,KAAK,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,6BAA6BA,6CAAsB,CAAA,GAAA,EAAM,oBAAoB,CAAA,CAAE;AAC/K;AAEA;;;AAGG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkRtC;;;;"}
|
|
@@ -118,6 +118,8 @@ const registrations = new Map();
|
|
|
118
118
|
const DROPPED = 0x1 | 0x2 | 0x4 | 0x8 | 0x20 | 0x40 | 0x80;
|
|
119
119
|
const MODIFIED = 0x400 | 0x1000 | 0x2000 | 0x4000 | 0x8000;
|
|
120
120
|
const RENAMED = 0x100 | 0x200 | 0x800;
|
|
121
|
+
const CREATED = 0x100;
|
|
122
|
+
const MOVED = 0x200 | 0x800;
|
|
121
123
|
const fsevents = load();
|
|
122
124
|
let probeSequence = 0;
|
|
123
125
|
|
|
@@ -202,6 +204,8 @@ function stream(location, deliver, registration) {
|
|
|
202
204
|
const root = probe === undefined ? directory : probe.root;
|
|
203
205
|
const within = (parent, file) => file === parent || file.startsWith(parent.endsWith("/") ? parent : parent + "/");
|
|
204
206
|
const opened = { close: undefined, location: location.directory, pending: new Map(), probe, proven: probe === undefined };
|
|
207
|
+
// Anything born before this instant was not created in this stream.
|
|
208
|
+
const openedAt = Date.now();
|
|
205
209
|
const stop = fsevents.watch(root, (file, flags) => {
|
|
206
210
|
// Loss authority is independent of the path, including our own probe.
|
|
207
211
|
if ((flags & DROPPED) !== 0) {
|
|
@@ -231,6 +235,16 @@ function stream(location, deliver, registration) {
|
|
|
231
235
|
}
|
|
232
236
|
const filename = file.slice(directory.length + 1);
|
|
233
237
|
if (location.recursive !== true && filename.includes("/")) return;
|
|
238
|
+
// FSEvents keeps ItemCreated on later writes to a path it saw created, so a
|
|
239
|
+
// plain edit of a file older than this stream arrived as a rename, a
|
|
240
|
+
// membership change that replaced generations for an unrelated write. An
|
|
241
|
+
// object born before the stream opened was not created in it; its other
|
|
242
|
+
// flags decide. A removal or a rename keeps the event structural.
|
|
243
|
+
if ((flags & CREATED) !== 0 && (flags & MOVED) === 0 && (flags & MODIFIED) !== 0) {
|
|
244
|
+
try {
|
|
245
|
+
if (fs.lstatSync(file).birthtimeMs < openedAt) flags &= ~CREATED;
|
|
246
|
+
} catch {}
|
|
247
|
+
}
|
|
234
248
|
deliver((flags & MODIFIED) !== 0 && (flags & RENAMED) === 0 ? "change" : "rename", filename);
|
|
235
249
|
});
|
|
236
250
|
opened.close = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchBrokerSource.mjs","sources":["../../../../../src/core/transform/tracker/broker/watchBrokerSource.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGG;AACG,SAAU,iBAAiB,CAAC,QAAwB,EAAA;IACxD,OAAO,CAAA,qBAAA,EAAwB,QAAQ,KAAK,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,6BAA6B,sBAAsB,CAAA,GAAA,EAAM,oBAAoB,CAAA,CAAE;AAC/K;AAEA;;;AAGG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA
|
|
1
|
+
{"version":3,"file":"watchBrokerSource.mjs","sources":["../../../../../src/core/transform/tracker/broker/watchBrokerSource.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGG;AACG,SAAU,iBAAiB,CAAC,QAAwB,EAAA;IACxD,OAAO,CAAA,qBAAA,EAAwB,QAAQ,KAAK,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,6BAA6B,sBAAsB,CAAA,GAAA,EAAM,oBAAoB,CAAA,CAAE;AAC/K;AAEA;;;AAGG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkRtC;;;;"}
|
|
@@ -342,6 +342,18 @@ scopes) {
|
|
|
342
342
|
* an event the backend could not attribute to a name may concern any input
|
|
343
343
|
* below the watched directory, so it always counts.
|
|
344
344
|
*/
|
|
345
|
+
// Whether a path names an existing object that no other name can reach:
|
|
346
|
+
// not a link, and not a file with a second hard link, whose writes could
|
|
347
|
+
// land on a tracked input without an event on its name.
|
|
348
|
+
const distinctExistingObject = (location) => {
|
|
349
|
+
try {
|
|
350
|
+
const stats = filesystem.lstat(location);
|
|
351
|
+
return !stats.isSymbolicLink() && !(stats.isFile() && stats.nlink > 1n);
|
|
352
|
+
}
|
|
353
|
+
catch {
|
|
354
|
+
return false;
|
|
355
|
+
}
|
|
356
|
+
};
|
|
345
357
|
const classify = (directory, filename, eventType) => {
|
|
346
358
|
// An event the backend could not attribute to a name is its notice that
|
|
347
359
|
// events may have been lost below the directory, as a Windows buffer
|
|
@@ -402,6 +414,14 @@ scopes) {
|
|
|
402
414
|
return "mutation";
|
|
403
415
|
}
|
|
404
416
|
}
|
|
417
|
+
// An object that exists now resolves to its own identity under every alias,
|
|
418
|
+
// so one that is neither a link nor a second name of a file, and resolves
|
|
419
|
+
// to nothing tracked above, is a different object. A recursive backend
|
|
420
|
+
// (macOS, Windows) hears every write below the project root, and
|
|
421
|
+
// withdrawing authority for each sent every later delivery past its
|
|
422
|
+
// notifications.
|
|
423
|
+
if (distinctExistingObject(changed))
|
|
424
|
+
return undefined;
|
|
405
425
|
// A missing native alias cannot be recovered by current realpath. Neither
|
|
406
426
|
// ASCII spelling nor OS name proves this event unrelated to a tracked path.
|
|
407
427
|
// Keep exact metadata validation without inventing a membership mutation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHostInputMutationTracker.js","sources":["../../../../src/core/transform/tracker/createHostInputMutationTracker.ts"],"sourcesContent":[null],"names":["createHostPathIdentityContext","relativeToProject","missingPathProbe","pathTraversesSymbolicLink","hostInputRealpath","pathIdentityKey","normalizeHostInputName","trackedInputScope","watchLocationIdentity","pluginSourceCovers","usesWatchBroker","registerBrokeredMutationTracker","closeDirectoryWatches","openDirectoryWatch","recordProjectMutation","recordProjectChange","settleOpenedDirectoryWatches"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createHostInputMutationTracker.js","sources":["../../../../src/core/transform/tracker/createHostInputMutationTracker.ts"],"sourcesContent":[null],"names":["createHostPathIdentityContext","relativeToProject","missingPathProbe","pathTraversesSymbolicLink","hostInputRealpath","pathIdentityKey","normalizeHostInputName","trackedInputScope","watchLocationIdentity","pluginSourceCovers","usesWatchBroker","registerBrokeredMutationTracker","closeDirectoryWatches","openDirectoryWatch","recordProjectMutation","recordProjectChange","settleOpenedDirectoryWatches"],"mappings":"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"}
|
|
@@ -340,6 +340,18 @@ scopes) {
|
|
|
340
340
|
* an event the backend could not attribute to a name may concern any input
|
|
341
341
|
* below the watched directory, so it always counts.
|
|
342
342
|
*/
|
|
343
|
+
// Whether a path names an existing object that no other name can reach:
|
|
344
|
+
// not a link, and not a file with a second hard link, whose writes could
|
|
345
|
+
// land on a tracked input without an event on its name.
|
|
346
|
+
const distinctExistingObject = (location) => {
|
|
347
|
+
try {
|
|
348
|
+
const stats = filesystem.lstat(location);
|
|
349
|
+
return !stats.isSymbolicLink() && !(stats.isFile() && stats.nlink > 1n);
|
|
350
|
+
}
|
|
351
|
+
catch {
|
|
352
|
+
return false;
|
|
353
|
+
}
|
|
354
|
+
};
|
|
343
355
|
const classify = (directory, filename, eventType) => {
|
|
344
356
|
// An event the backend could not attribute to a name is its notice that
|
|
345
357
|
// events may have been lost below the directory, as a Windows buffer
|
|
@@ -400,6 +412,14 @@ scopes) {
|
|
|
400
412
|
return "mutation";
|
|
401
413
|
}
|
|
402
414
|
}
|
|
415
|
+
// An object that exists now resolves to its own identity under every alias,
|
|
416
|
+
// so one that is neither a link nor a second name of a file, and resolves
|
|
417
|
+
// to nothing tracked above, is a different object. A recursive backend
|
|
418
|
+
// (macOS, Windows) hears every write below the project root, and
|
|
419
|
+
// withdrawing authority for each sent every later delivery past its
|
|
420
|
+
// notifications.
|
|
421
|
+
if (distinctExistingObject(changed))
|
|
422
|
+
return undefined;
|
|
403
423
|
// A missing native alias cannot be recovered by current realpath. Neither
|
|
404
424
|
// ASCII spelling nor OS name proves this event unrelated to a tracked path.
|
|
405
425
|
// Keep exact metadata validation without inventing a membership mutation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHostInputMutationTracker.mjs","sources":["../../../../src/core/transform/tracker/createHostInputMutationTracker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createHostInputMutationTracker.mjs","sources":["../../../../src/core/transform/tracker/createHostInputMutationTracker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,10 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker.cj
|
|
|
17
17
|
* recorded-state validation supplies the actual verdict. Content witnesses
|
|
18
18
|
* preserve captured native input aliases, then reject only an observed normal
|
|
19
19
|
* directory excluded in both lexical and native spellings. Unknown, missing and
|
|
20
|
-
* linked ancestry remains conservative. Membership rejection
|
|
21
|
-
* notification authority
|
|
22
|
-
*
|
|
20
|
+
* linked ancestry remains conservative. Membership rejection withdraws
|
|
21
|
+
* notification authority except below such a proven excluded directory, so a
|
|
22
|
+
* recursive backend's writes to a cache or output tree cost no proof. Named
|
|
23
|
+
* events also compare current native identity and case policy with the retained
|
|
23
24
|
* identity transaction. Retargeting withdraws notification authority without
|
|
24
25
|
* changing the meaning of earlier recorded event spellings.
|
|
25
26
|
*
|
|
@@ -29,8 +30,8 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker.cj
|
|
|
29
30
|
* A lexical nonmatch is uncertainty rather than native alias exclusion.
|
|
30
31
|
* Changed native identity premises also withdraw notification proof while
|
|
31
32
|
* membership and content witnesses keep their independent classifications.
|
|
32
|
-
* Content exclusion
|
|
33
|
-
* spellings; captured native input aliases remain content witnesses.
|
|
33
|
+
* Content and membership exclusion require normal directory identity and both
|
|
34
|
+
* policy spellings; captured native input aliases remain content witnesses.
|
|
34
35
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
35
36
|
* One root, directory index and filter set define the tracker; broker and local
|
|
36
37
|
* paths share those decisions rather than duplicating backend-specific policies.
|
|
@@ -17,9 +17,10 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker.mj
|
|
|
17
17
|
* recorded-state validation supplies the actual verdict. Content witnesses
|
|
18
18
|
* preserve captured native input aliases, then reject only an observed normal
|
|
19
19
|
* directory excluded in both lexical and native spellings. Unknown, missing and
|
|
20
|
-
* linked ancestry remains conservative. Membership rejection
|
|
21
|
-
* notification authority
|
|
22
|
-
*
|
|
20
|
+
* linked ancestry remains conservative. Membership rejection withdraws
|
|
21
|
+
* notification authority except below such a proven excluded directory, so a
|
|
22
|
+
* recursive backend's writes to a cache or output tree cost no proof. Named
|
|
23
|
+
* events also compare current native identity and case policy with the retained
|
|
23
24
|
* identity transaction. Retargeting withdraws notification authority without
|
|
24
25
|
* changing the meaning of earlier recorded event spellings.
|
|
25
26
|
*
|
|
@@ -29,8 +30,8 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker.mj
|
|
|
29
30
|
* A lexical nonmatch is uncertainty rather than native alias exclusion.
|
|
30
31
|
* Changed native identity premises also withdraw notification proof while
|
|
31
32
|
* membership and content witnesses keep their independent classifications.
|
|
32
|
-
* Content exclusion
|
|
33
|
-
* spellings; captured native input aliases remain content witnesses.
|
|
33
|
+
* Content and membership exclusion require normal directory identity and both
|
|
34
|
+
* policy spellings; captured native input aliases remain content witnesses.
|
|
34
35
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
35
36
|
* One root, directory index and filter set define the tracker; broker and local
|
|
36
37
|
* paths share those decisions rather than duplicating backend-specific policies.
|
|
@@ -17,9 +17,10 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker";
|
|
|
17
17
|
* recorded-state validation supplies the actual verdict. Content witnesses
|
|
18
18
|
* preserve captured native input aliases, then reject only an observed normal
|
|
19
19
|
* directory excluded in both lexical and native spellings. Unknown, missing and
|
|
20
|
-
* linked ancestry remains conservative. Membership rejection
|
|
21
|
-
* notification authority
|
|
22
|
-
*
|
|
20
|
+
* linked ancestry remains conservative. Membership rejection withdraws
|
|
21
|
+
* notification authority except below such a proven excluded directory, so a
|
|
22
|
+
* recursive backend's writes to a cache or output tree cost no proof. Named
|
|
23
|
+
* events also compare current native identity and case policy with the retained
|
|
23
24
|
* identity transaction. Retargeting withdraws notification authority without
|
|
24
25
|
* changing the meaning of earlier recorded event spellings.
|
|
25
26
|
*
|
|
@@ -29,8 +30,8 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker";
|
|
|
29
30
|
* A lexical nonmatch is uncertainty rather than native alias exclusion.
|
|
30
31
|
* Changed native identity premises also withdraw notification proof while
|
|
31
32
|
* membership and content witnesses keep their independent classifications.
|
|
32
|
-
* Content exclusion
|
|
33
|
-
* spellings; captured native input aliases remain content witnesses.
|
|
33
|
+
* Content and membership exclusion require normal directory identity and both
|
|
34
|
+
* policy spellings; captured native input aliases remain content witnesses.
|
|
34
35
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
35
36
|
* One root, directory index and filter set define the tracker; broker and local
|
|
36
37
|
* paths share those decisions rather than duplicating backend-specific policies.
|
|
@@ -33,9 +33,10 @@ var watchLocationIdentity = require('./watchLocationIdentity.js');
|
|
|
33
33
|
* recorded-state validation supplies the actual verdict. Content witnesses
|
|
34
34
|
* preserve captured native input aliases, then reject only an observed normal
|
|
35
35
|
* directory excluded in both lexical and native spellings. Unknown, missing and
|
|
36
|
-
* linked ancestry remains conservative. Membership rejection
|
|
37
|
-
* notification authority
|
|
38
|
-
*
|
|
36
|
+
* linked ancestry remains conservative. Membership rejection withdraws
|
|
37
|
+
* notification authority except below such a proven excluded directory, so a
|
|
38
|
+
* recursive backend's writes to a cache or output tree cost no proof. Named
|
|
39
|
+
* events also compare current native identity and case policy with the retained
|
|
39
40
|
* identity transaction. Retargeting withdraws notification authority without
|
|
40
41
|
* changing the meaning of earlier recorded event spellings.
|
|
41
42
|
*
|
|
@@ -45,8 +46,8 @@ var watchLocationIdentity = require('./watchLocationIdentity.js');
|
|
|
45
46
|
* A lexical nonmatch is uncertainty rather than native alias exclusion.
|
|
46
47
|
* Changed native identity premises also withdraw notification proof while
|
|
47
48
|
* membership and content witnesses keep their independent classifications.
|
|
48
|
-
* Content exclusion
|
|
49
|
-
* spellings; captured native input aliases remain content witnesses.
|
|
49
|
+
* Content and membership exclusion require normal directory identity and both
|
|
50
|
+
* policy spellings; captured native input aliases remain content witnesses.
|
|
50
51
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
51
52
|
* One root, directory index and filter set define the tracker; broker and local
|
|
52
53
|
* paths share those decisions rather than duplicating backend-specific policies.
|
|
@@ -128,6 +129,50 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
|
|
|
128
129
|
const knownDirectories = new Set(directories
|
|
129
130
|
.filter((directory) => directory.relevant)
|
|
130
131
|
.map((directory) => paths.resolve(directory.path)));
|
|
132
|
+
// Whether an event path lies below a directory the walk excludes, proven by
|
|
133
|
+
// an observed normal directory excluded in both its lexical and its native
|
|
134
|
+
// spelling. A missing ancestor, one outside the root, or a link before that
|
|
135
|
+
// directory proves nothing. Content stops at the excluded directory, since a
|
|
136
|
+
// captured input reached through a deeper link is already caught by its
|
|
137
|
+
// identity above. Membership has no identity to catch a new file created
|
|
138
|
+
// through such a link (`node_modules/linked -> src`), so for it the whole
|
|
139
|
+
// path must be links-free.
|
|
140
|
+
const excludedFromWalk = (changed, wholePath) => {
|
|
141
|
+
const relative = paths.relative(root, paths.dirname(changed));
|
|
142
|
+
if (relative === ".." ||
|
|
143
|
+
relative.startsWith(".." + paths.sep) ||
|
|
144
|
+
paths.isAbsolute(relative))
|
|
145
|
+
return false;
|
|
146
|
+
let directory = root;
|
|
147
|
+
let excluded = false;
|
|
148
|
+
for (const component of relative.split(paths.sep).filter(Boolean)) {
|
|
149
|
+
directory = paths.join(directory, component);
|
|
150
|
+
try {
|
|
151
|
+
const before = filesystem.lstat(directory);
|
|
152
|
+
if (!before.isDirectory() || before.isSymbolicLink())
|
|
153
|
+
return false;
|
|
154
|
+
const physical = filesystem.realpath(directory);
|
|
155
|
+
const after = filesystem.lstat(directory);
|
|
156
|
+
if (!after.isDirectory() ||
|
|
157
|
+
after.isSymbolicLink() ||
|
|
158
|
+
before.dev !== after.dev ||
|
|
159
|
+
before.ino !== after.ino)
|
|
160
|
+
return false;
|
|
161
|
+
if (!excluded &&
|
|
162
|
+
!isProjectWalkDirectory.isProjectWalkDirectory(directory, policy, filesystem.platform) &&
|
|
163
|
+
!isProjectWalkDirectory.isProjectWalkDirectory(physical, policy, filesystem.platform)) {
|
|
164
|
+
if (!wholePath)
|
|
165
|
+
return true;
|
|
166
|
+
excluded = true;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// Missing/deleted ancestors and unknown native spellings remain events.
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return excluded;
|
|
175
|
+
};
|
|
131
176
|
const reportsMembership = (location, filename) => {
|
|
132
177
|
const changed = paths.join(location, filename);
|
|
133
178
|
const current = createHostPathIdentityContext.createHostPathIdentityContext(filesystem);
|
|
@@ -143,8 +188,12 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
|
|
|
143
188
|
const membership = knownDirectories.has(paths.resolve(changed)) ||
|
|
144
189
|
reportsProgramMembership.reportsProgramMembership(root, changed, paths.basename(filename), policy, filesystem);
|
|
145
190
|
// Current realpath cannot identify a deleted alias. Policy checks only
|
|
146
|
-
// lexical spellings, so rejection cannot establish unchanged program state
|
|
147
|
-
|
|
191
|
+
// lexical spellings, so rejection cannot establish unchanged program state,
|
|
192
|
+
// except below a directory the walk provably excludes. A recursive backend
|
|
193
|
+
// (macOS, Windows) hears every write under the root, a cache or an output
|
|
194
|
+
// directory among them, and withdrawing authority for each sent every later
|
|
195
|
+
// delivery to the whole-snapshot proof.
|
|
196
|
+
if (!membership && !excludedFromWalk(changed, true))
|
|
148
197
|
tracker.unverified = true;
|
|
149
198
|
return membership;
|
|
150
199
|
};
|
|
@@ -176,35 +225,7 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
|
|
|
176
225
|
tracker.unverified = true;
|
|
177
226
|
return true;
|
|
178
227
|
}
|
|
179
|
-
|
|
180
|
-
if (relative === ".." ||
|
|
181
|
-
relative.startsWith(".." + paths.sep) ||
|
|
182
|
-
paths.isAbsolute(relative))
|
|
183
|
-
return true;
|
|
184
|
-
let directory = root;
|
|
185
|
-
for (const component of relative.split(paths.sep).filter(Boolean)) {
|
|
186
|
-
directory = paths.join(directory, component);
|
|
187
|
-
try {
|
|
188
|
-
const before = filesystem.lstat(directory);
|
|
189
|
-
if (!before.isDirectory() || before.isSymbolicLink())
|
|
190
|
-
return true;
|
|
191
|
-
const physical = filesystem.realpath(directory);
|
|
192
|
-
const after = filesystem.lstat(directory);
|
|
193
|
-
if (!after.isDirectory() ||
|
|
194
|
-
after.isSymbolicLink() ||
|
|
195
|
-
before.dev !== after.dev ||
|
|
196
|
-
before.ino !== after.ino)
|
|
197
|
-
return true;
|
|
198
|
-
if (!isProjectWalkDirectory.isProjectWalkDirectory(directory, policy, filesystem.platform) &&
|
|
199
|
-
!isProjectWalkDirectory.isProjectWalkDirectory(physical, policy, filesystem.platform))
|
|
200
|
-
return false;
|
|
201
|
-
}
|
|
202
|
-
catch {
|
|
203
|
-
// Missing/deleted ancestors and unknown native spellings remain events.
|
|
204
|
-
return true;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
return true;
|
|
228
|
+
return !excludedFromWalk(changed, false);
|
|
208
229
|
};
|
|
209
230
|
const reportsNewMembership = (location, filename) => {
|
|
210
231
|
const changed = paths.resolve(location, filename);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProjectMutationTracker.js","sources":["../../../../src/core/transform/tracker/createProjectMutationTracker.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","PERMISSIVE_PROJECT_MEMBERSHIP_POLICY","createHostPathIdentityContext","watchLocationIdentity","pathIdentityKey","reportsProgramMembership","isPossibleProgramFileName","
|
|
1
|
+
{"version":3,"file":"createProjectMutationTracker.js","sources":["../../../../src/core/transform/tracker/createProjectMutationTracker.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","PERMISSIVE_PROJECT_MEMBERSHIP_POLICY","createHostPathIdentityContext","watchLocationIdentity","isProjectWalkDirectory","pathIdentityKey","reportsProgramMembership","isPossibleProgramFileName","usesWatchBroker","registerBrokeredMutationTracker","closeDirectoryWatches","openDirectoryWatch","recordProjectMutation","recordProjectChange","settleOpenedDirectoryWatches","pathIsWithin"],"mappings":"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"}
|
|
@@ -31,9 +31,10 @@ import { watchLocationIdentity } from './watchLocationIdentity.mjs';
|
|
|
31
31
|
* recorded-state validation supplies the actual verdict. Content witnesses
|
|
32
32
|
* preserve captured native input aliases, then reject only an observed normal
|
|
33
33
|
* directory excluded in both lexical and native spellings. Unknown, missing and
|
|
34
|
-
* linked ancestry remains conservative. Membership rejection
|
|
35
|
-
* notification authority
|
|
36
|
-
*
|
|
34
|
+
* linked ancestry remains conservative. Membership rejection withdraws
|
|
35
|
+
* notification authority except below such a proven excluded directory, so a
|
|
36
|
+
* recursive backend's writes to a cache or output tree cost no proof. Named
|
|
37
|
+
* events also compare current native identity and case policy with the retained
|
|
37
38
|
* identity transaction. Retargeting withdraws notification authority without
|
|
38
39
|
* changing the meaning of earlier recorded event spellings.
|
|
39
40
|
*
|
|
@@ -43,8 +44,8 @@ import { watchLocationIdentity } from './watchLocationIdentity.mjs';
|
|
|
43
44
|
* A lexical nonmatch is uncertainty rather than native alias exclusion.
|
|
44
45
|
* Changed native identity premises also withdraw notification proof while
|
|
45
46
|
* membership and content witnesses keep their independent classifications.
|
|
46
|
-
* Content exclusion
|
|
47
|
-
* spellings; captured native input aliases remain content witnesses.
|
|
47
|
+
* Content and membership exclusion require normal directory identity and both
|
|
48
|
+
* policy spellings; captured native input aliases remain content witnesses.
|
|
48
49
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
49
50
|
* One root, directory index and filter set define the tracker; broker and local
|
|
50
51
|
* paths share those decisions rather than duplicating backend-specific policies.
|
|
@@ -126,6 +127,50 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
|
|
|
126
127
|
const knownDirectories = new Set(directories
|
|
127
128
|
.filter((directory) => directory.relevant)
|
|
128
129
|
.map((directory) => paths.resolve(directory.path)));
|
|
130
|
+
// Whether an event path lies below a directory the walk excludes, proven by
|
|
131
|
+
// an observed normal directory excluded in both its lexical and its native
|
|
132
|
+
// spelling. A missing ancestor, one outside the root, or a link before that
|
|
133
|
+
// directory proves nothing. Content stops at the excluded directory, since a
|
|
134
|
+
// captured input reached through a deeper link is already caught by its
|
|
135
|
+
// identity above. Membership has no identity to catch a new file created
|
|
136
|
+
// through such a link (`node_modules/linked -> src`), so for it the whole
|
|
137
|
+
// path must be links-free.
|
|
138
|
+
const excludedFromWalk = (changed, wholePath) => {
|
|
139
|
+
const relative = paths.relative(root, paths.dirname(changed));
|
|
140
|
+
if (relative === ".." ||
|
|
141
|
+
relative.startsWith(".." + paths.sep) ||
|
|
142
|
+
paths.isAbsolute(relative))
|
|
143
|
+
return false;
|
|
144
|
+
let directory = root;
|
|
145
|
+
let excluded = false;
|
|
146
|
+
for (const component of relative.split(paths.sep).filter(Boolean)) {
|
|
147
|
+
directory = paths.join(directory, component);
|
|
148
|
+
try {
|
|
149
|
+
const before = filesystem.lstat(directory);
|
|
150
|
+
if (!before.isDirectory() || before.isSymbolicLink())
|
|
151
|
+
return false;
|
|
152
|
+
const physical = filesystem.realpath(directory);
|
|
153
|
+
const after = filesystem.lstat(directory);
|
|
154
|
+
if (!after.isDirectory() ||
|
|
155
|
+
after.isSymbolicLink() ||
|
|
156
|
+
before.dev !== after.dev ||
|
|
157
|
+
before.ino !== after.ino)
|
|
158
|
+
return false;
|
|
159
|
+
if (!excluded &&
|
|
160
|
+
!isProjectWalkDirectory(directory, policy, filesystem.platform) &&
|
|
161
|
+
!isProjectWalkDirectory(physical, policy, filesystem.platform)) {
|
|
162
|
+
if (!wholePath)
|
|
163
|
+
return true;
|
|
164
|
+
excluded = true;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// Missing/deleted ancestors and unknown native spellings remain events.
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return excluded;
|
|
173
|
+
};
|
|
129
174
|
const reportsMembership = (location, filename) => {
|
|
130
175
|
const changed = paths.join(location, filename);
|
|
131
176
|
const current = createHostPathIdentityContext(filesystem);
|
|
@@ -141,8 +186,12 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
|
|
|
141
186
|
const membership = knownDirectories.has(paths.resolve(changed)) ||
|
|
142
187
|
reportsProgramMembership(root, changed, paths.basename(filename), policy, filesystem);
|
|
143
188
|
// Current realpath cannot identify a deleted alias. Policy checks only
|
|
144
|
-
// lexical spellings, so rejection cannot establish unchanged program state
|
|
145
|
-
|
|
189
|
+
// lexical spellings, so rejection cannot establish unchanged program state,
|
|
190
|
+
// except below a directory the walk provably excludes. A recursive backend
|
|
191
|
+
// (macOS, Windows) hears every write under the root, a cache or an output
|
|
192
|
+
// directory among them, and withdrawing authority for each sent every later
|
|
193
|
+
// delivery to the whole-snapshot proof.
|
|
194
|
+
if (!membership && !excludedFromWalk(changed, true))
|
|
146
195
|
tracker.unverified = true;
|
|
147
196
|
return membership;
|
|
148
197
|
};
|
|
@@ -174,35 +223,7 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
|
|
|
174
223
|
tracker.unverified = true;
|
|
175
224
|
return true;
|
|
176
225
|
}
|
|
177
|
-
|
|
178
|
-
if (relative === ".." ||
|
|
179
|
-
relative.startsWith(".." + paths.sep) ||
|
|
180
|
-
paths.isAbsolute(relative))
|
|
181
|
-
return true;
|
|
182
|
-
let directory = root;
|
|
183
|
-
for (const component of relative.split(paths.sep).filter(Boolean)) {
|
|
184
|
-
directory = paths.join(directory, component);
|
|
185
|
-
try {
|
|
186
|
-
const before = filesystem.lstat(directory);
|
|
187
|
-
if (!before.isDirectory() || before.isSymbolicLink())
|
|
188
|
-
return true;
|
|
189
|
-
const physical = filesystem.realpath(directory);
|
|
190
|
-
const after = filesystem.lstat(directory);
|
|
191
|
-
if (!after.isDirectory() ||
|
|
192
|
-
after.isSymbolicLink() ||
|
|
193
|
-
before.dev !== after.dev ||
|
|
194
|
-
before.ino !== after.ino)
|
|
195
|
-
return true;
|
|
196
|
-
if (!isProjectWalkDirectory(directory, policy, filesystem.platform) &&
|
|
197
|
-
!isProjectWalkDirectory(physical, policy, filesystem.platform))
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
// Missing/deleted ancestors and unknown native spellings remain events.
|
|
202
|
-
return true;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return true;
|
|
226
|
+
return !excludedFromWalk(changed, false);
|
|
206
227
|
};
|
|
207
228
|
const reportsNewMembership = (location, filename) => {
|
|
208
229
|
const changed = paths.resolve(location, filename);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProjectMutationTracker.mjs","sources":["../../../../src/core/transform/tracker/createProjectMutationTracker.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAuBA
|
|
1
|
+
{"version":3,"file":"createProjectMutationTracker.mjs","sources":["../../../../src/core/transform/tracker/createProjectMutationTracker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttsc/unplugin",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.5",
|
|
4
4
|
"description": "Bundler adapters for ttsc plugins.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.mjs",
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
"fsevents": "^2.3.3"
|
|
203
203
|
},
|
|
204
204
|
"peerDependencies": {
|
|
205
|
-
"ttsc": "^0.31.
|
|
205
|
+
"ttsc": "^0.31.5"
|
|
206
206
|
},
|
|
207
207
|
"devDependencies": {
|
|
208
208
|
"@wrtnlabs/evidence": "^0.3.1",
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
"tslib": "^2.8.1",
|
|
218
218
|
"typescript": "^7.0.2",
|
|
219
219
|
"vite": "^7.3.5",
|
|
220
|
-
"ttsc": "0.31.
|
|
220
|
+
"ttsc": "0.31.5"
|
|
221
221
|
},
|
|
222
222
|
"repository": {
|
|
223
223
|
"type": "git",
|
|
@@ -119,6 +119,8 @@ const registrations = new Map();
|
|
|
119
119
|
const DROPPED = 0x1 | 0x2 | 0x4 | 0x8 | 0x20 | 0x40 | 0x80;
|
|
120
120
|
const MODIFIED = 0x400 | 0x1000 | 0x2000 | 0x4000 | 0x8000;
|
|
121
121
|
const RENAMED = 0x100 | 0x200 | 0x800;
|
|
122
|
+
const CREATED = 0x100;
|
|
123
|
+
const MOVED = 0x200 | 0x800;
|
|
122
124
|
const fsevents = load();
|
|
123
125
|
let probeSequence = 0;
|
|
124
126
|
|
|
@@ -203,6 +205,8 @@ function stream(location, deliver, registration) {
|
|
|
203
205
|
const root = probe === undefined ? directory : probe.root;
|
|
204
206
|
const within = (parent, file) => file === parent || file.startsWith(parent.endsWith("/") ? parent : parent + "/");
|
|
205
207
|
const opened = { close: undefined, location: location.directory, pending: new Map(), probe, proven: probe === undefined };
|
|
208
|
+
// Anything born before this instant was not created in this stream.
|
|
209
|
+
const openedAt = Date.now();
|
|
206
210
|
const stop = fsevents.watch(root, (file, flags) => {
|
|
207
211
|
// Loss authority is independent of the path, including our own probe.
|
|
208
212
|
if ((flags & DROPPED) !== 0) {
|
|
@@ -232,6 +236,16 @@ function stream(location, deliver, registration) {
|
|
|
232
236
|
}
|
|
233
237
|
const filename = file.slice(directory.length + 1);
|
|
234
238
|
if (location.recursive !== true && filename.includes("/")) return;
|
|
239
|
+
// FSEvents keeps ItemCreated on later writes to a path it saw created, so a
|
|
240
|
+
// plain edit of a file older than this stream arrived as a rename, a
|
|
241
|
+
// membership change that replaced generations for an unrelated write. An
|
|
242
|
+
// object born before the stream opened was not created in it; its other
|
|
243
|
+
// flags decide. A removal or a rename keeps the event structural.
|
|
244
|
+
if ((flags & CREATED) !== 0 && (flags & MOVED) === 0 && (flags & MODIFIED) !== 0) {
|
|
245
|
+
try {
|
|
246
|
+
if (fs.lstatSync(file).birthtimeMs < openedAt) flags &= ~CREATED;
|
|
247
|
+
} catch {}
|
|
248
|
+
}
|
|
235
249
|
deliver((flags & MODIFIED) !== 0 && (flags & RENAMED) === 0 ? "change" : "rename", filename);
|
|
236
250
|
});
|
|
237
251
|
opened.close = () => {
|
|
@@ -399,6 +399,17 @@ export async function createHostInputMutationTracker(
|
|
|
399
399
|
* an event the backend could not attribute to a name may concern any input
|
|
400
400
|
* below the watched directory, so it always counts.
|
|
401
401
|
*/
|
|
402
|
+
// Whether a path names an existing object that no other name can reach:
|
|
403
|
+
// not a link, and not a file with a second hard link, whose writes could
|
|
404
|
+
// land on a tracked input without an event on its name.
|
|
405
|
+
const distinctExistingObject = (location: string): boolean => {
|
|
406
|
+
try {
|
|
407
|
+
const stats = filesystem.lstat(location);
|
|
408
|
+
return !stats.isSymbolicLink() && !(stats.isFile() && stats.nlink > 1n);
|
|
409
|
+
} catch {
|
|
410
|
+
return false;
|
|
411
|
+
}
|
|
412
|
+
};
|
|
402
413
|
const classify = (
|
|
403
414
|
directory: string,
|
|
404
415
|
filename: string | null,
|
|
@@ -477,6 +488,13 @@ export async function createHostInputMutationTracker(
|
|
|
477
488
|
return "mutation";
|
|
478
489
|
}
|
|
479
490
|
}
|
|
491
|
+
// An object that exists now resolves to its own identity under every alias,
|
|
492
|
+
// so one that is neither a link nor a second name of a file, and resolves
|
|
493
|
+
// to nothing tracked above, is a different object. A recursive backend
|
|
494
|
+
// (macOS, Windows) hears every write below the project root, and
|
|
495
|
+
// withdrawing authority for each sent every later delivery past its
|
|
496
|
+
// notifications.
|
|
497
|
+
if (distinctExistingObject(changed)) return undefined;
|
|
480
498
|
// A missing native alias cannot be recovered by current realpath. Neither
|
|
481
499
|
// ASCII spelling nor OS name proves this event unrelated to a tracked path.
|
|
482
500
|
// Keep exact metadata validation without inventing a membership mutation.
|
|
@@ -36,9 +36,10 @@ import { watchLocationIdentity } from "./watchLocationIdentity";
|
|
|
36
36
|
* recorded-state validation supplies the actual verdict. Content witnesses
|
|
37
37
|
* preserve captured native input aliases, then reject only an observed normal
|
|
38
38
|
* directory excluded in both lexical and native spellings. Unknown, missing and
|
|
39
|
-
* linked ancestry remains conservative. Membership rejection
|
|
40
|
-
* notification authority
|
|
41
|
-
*
|
|
39
|
+
* linked ancestry remains conservative. Membership rejection withdraws
|
|
40
|
+
* notification authority except below such a proven excluded directory, so a
|
|
41
|
+
* recursive backend's writes to a cache or output tree cost no proof. Named
|
|
42
|
+
* events also compare current native identity and case policy with the retained
|
|
42
43
|
* identity transaction. Retargeting withdraws notification authority without
|
|
43
44
|
* changing the meaning of earlier recorded event spellings.
|
|
44
45
|
*
|
|
@@ -48,8 +49,8 @@ import { watchLocationIdentity } from "./watchLocationIdentity";
|
|
|
48
49
|
* A lexical nonmatch is uncertainty rather than native alias exclusion.
|
|
49
50
|
* Changed native identity premises also withdraw notification proof while
|
|
50
51
|
* membership and content witnesses keep their independent classifications.
|
|
51
|
-
* Content exclusion
|
|
52
|
-
* spellings; captured native input aliases remain content witnesses.
|
|
52
|
+
* Content and membership exclusion require normal directory identity and both
|
|
53
|
+
* policy spellings; captured native input aliases remain content witnesses.
|
|
53
54
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
54
55
|
* One root, directory index and filter set define the tracker; broker and local
|
|
55
56
|
* paths share those decisions rather than duplicating backend-specific policies.
|
|
@@ -145,6 +146,53 @@ export async function createProjectMutationTracker(
|
|
|
145
146
|
.filter((directory) => directory.relevant)
|
|
146
147
|
.map((directory) => paths.resolve(directory.path)),
|
|
147
148
|
);
|
|
149
|
+
// Whether an event path lies below a directory the walk excludes, proven by
|
|
150
|
+
// an observed normal directory excluded in both its lexical and its native
|
|
151
|
+
// spelling. A missing ancestor, one outside the root, or a link before that
|
|
152
|
+
// directory proves nothing. Content stops at the excluded directory, since a
|
|
153
|
+
// captured input reached through a deeper link is already caught by its
|
|
154
|
+
// identity above. Membership has no identity to catch a new file created
|
|
155
|
+
// through such a link (`node_modules/linked -> src`), so for it the whole
|
|
156
|
+
// path must be links-free.
|
|
157
|
+
const excludedFromWalk = (changed: string, wholePath: boolean): boolean => {
|
|
158
|
+
const relative = paths.relative(root, paths.dirname(changed));
|
|
159
|
+
if (
|
|
160
|
+
relative === ".." ||
|
|
161
|
+
relative.startsWith(".." + paths.sep) ||
|
|
162
|
+
paths.isAbsolute(relative)
|
|
163
|
+
)
|
|
164
|
+
return false;
|
|
165
|
+
let directory = root;
|
|
166
|
+
let excluded = false;
|
|
167
|
+
for (const component of relative.split(paths.sep).filter(Boolean)) {
|
|
168
|
+
directory = paths.join(directory, component);
|
|
169
|
+
try {
|
|
170
|
+
const before = filesystem.lstat(directory);
|
|
171
|
+
if (!before.isDirectory() || before.isSymbolicLink()) return false;
|
|
172
|
+
const physical = filesystem.realpath(directory);
|
|
173
|
+
const after = filesystem.lstat(directory);
|
|
174
|
+
if (
|
|
175
|
+
!after.isDirectory() ||
|
|
176
|
+
after.isSymbolicLink() ||
|
|
177
|
+
before.dev !== after.dev ||
|
|
178
|
+
before.ino !== after.ino
|
|
179
|
+
)
|
|
180
|
+
return false;
|
|
181
|
+
if (
|
|
182
|
+
!excluded &&
|
|
183
|
+
!isProjectWalkDirectory(directory, policy, filesystem.platform) &&
|
|
184
|
+
!isProjectWalkDirectory(physical, policy, filesystem.platform)
|
|
185
|
+
) {
|
|
186
|
+
if (!wholePath) return true;
|
|
187
|
+
excluded = true;
|
|
188
|
+
}
|
|
189
|
+
} catch {
|
|
190
|
+
// Missing/deleted ancestors and unknown native spellings remain events.
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return excluded;
|
|
195
|
+
};
|
|
148
196
|
const reportsMembership = (location: string, filename: string): boolean => {
|
|
149
197
|
const changed = paths.join(location, filename);
|
|
150
198
|
const current = createHostPathIdentityContext(filesystem);
|
|
@@ -169,8 +217,13 @@ export async function createProjectMutationTracker(
|
|
|
169
217
|
filesystem,
|
|
170
218
|
);
|
|
171
219
|
// Current realpath cannot identify a deleted alias. Policy checks only
|
|
172
|
-
// lexical spellings, so rejection cannot establish unchanged program state
|
|
173
|
-
|
|
220
|
+
// lexical spellings, so rejection cannot establish unchanged program state,
|
|
221
|
+
// except below a directory the walk provably excludes. A recursive backend
|
|
222
|
+
// (macOS, Windows) hears every write under the root, a cache or an output
|
|
223
|
+
// directory among them, and withdrawing authority for each sent every later
|
|
224
|
+
// delivery to the whole-snapshot proof.
|
|
225
|
+
if (!membership && !excludedFromWalk(changed, true))
|
|
226
|
+
tracker.unverified = true;
|
|
174
227
|
return membership;
|
|
175
228
|
};
|
|
176
229
|
// Content belongs to the walk too. A recursive native backend can report
|
|
@@ -201,39 +254,7 @@ export async function createProjectMutationTracker(
|
|
|
201
254
|
tracker.unverified = true;
|
|
202
255
|
return true;
|
|
203
256
|
}
|
|
204
|
-
|
|
205
|
-
if (
|
|
206
|
-
relative === ".." ||
|
|
207
|
-
relative.startsWith(".." + paths.sep) ||
|
|
208
|
-
paths.isAbsolute(relative)
|
|
209
|
-
)
|
|
210
|
-
return true;
|
|
211
|
-
let directory = root;
|
|
212
|
-
for (const component of relative.split(paths.sep).filter(Boolean)) {
|
|
213
|
-
directory = paths.join(directory, component);
|
|
214
|
-
try {
|
|
215
|
-
const before = filesystem.lstat(directory);
|
|
216
|
-
if (!before.isDirectory() || before.isSymbolicLink()) return true;
|
|
217
|
-
const physical = filesystem.realpath(directory);
|
|
218
|
-
const after = filesystem.lstat(directory);
|
|
219
|
-
if (
|
|
220
|
-
!after.isDirectory() ||
|
|
221
|
-
after.isSymbolicLink() ||
|
|
222
|
-
before.dev !== after.dev ||
|
|
223
|
-
before.ino !== after.ino
|
|
224
|
-
)
|
|
225
|
-
return true;
|
|
226
|
-
if (
|
|
227
|
-
!isProjectWalkDirectory(directory, policy, filesystem.platform) &&
|
|
228
|
-
!isProjectWalkDirectory(physical, policy, filesystem.platform)
|
|
229
|
-
)
|
|
230
|
-
return false;
|
|
231
|
-
} catch {
|
|
232
|
-
// Missing/deleted ancestors and unknown native spellings remain events.
|
|
233
|
-
return true;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return true;
|
|
257
|
+
return !excludedFromWalk(changed, false);
|
|
237
258
|
};
|
|
238
259
|
const reportsNewMembership = (
|
|
239
260
|
location: string,
|