@ttsc/unplugin 0.31.5 → 0.31.6

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.
@@ -19,10 +19,12 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker.cj
19
19
  * directory excluded in both lexical and native spellings. Unknown, missing and
20
20
  * linked ancestry remains conservative. Membership rejection withdraws
21
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
24
- * identity transaction. Retargeting withdraws notification authority without
25
- * changing the meaning of earlier recorded event spellings.
22
+ * recursive backend's writes to a cache or output tree cost no proof, nor does
23
+ * an edit to an existing unlinked file whose every name the program cannot
24
+ * admit (samchon/ttsc#1737). Named events also compare current native identity
25
+ * and case policy with the retained identity transaction. Retargeting withdraws
26
+ * notification authority without changing the meaning of earlier recorded event
27
+ * spellings.
26
28
  *
27
29
  * @evidence contracts/common.md#principled-implementation
28
30
  * The project walk and membership policy own structural relevance; content
@@ -19,10 +19,12 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker.mj
19
19
  * directory excluded in both lexical and native spellings. Unknown, missing and
20
20
  * linked ancestry remains conservative. Membership rejection withdraws
21
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
24
- * identity transaction. Retargeting withdraws notification authority without
25
- * changing the meaning of earlier recorded event spellings.
22
+ * recursive backend's writes to a cache or output tree cost no proof, nor does
23
+ * an edit to an existing unlinked file whose every name the program cannot
24
+ * admit (samchon/ttsc#1737). Named events also compare current native identity
25
+ * and case policy with the retained identity transaction. Retargeting withdraws
26
+ * notification authority without changing the meaning of earlier recorded event
27
+ * spellings.
26
28
  *
27
29
  * @evidence contracts/common.md#principled-implementation
28
30
  * The project walk and membership policy own structural relevance; content
@@ -19,10 +19,12 @@ import type { TtscProjectMutationTracker } from "./TtscProjectMutationTracker";
19
19
  * directory excluded in both lexical and native spellings. Unknown, missing and
20
20
  * linked ancestry remains conservative. Membership rejection withdraws
21
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
24
- * identity transaction. Retargeting withdraws notification authority without
25
- * changing the meaning of earlier recorded event spellings.
22
+ * recursive backend's writes to a cache or output tree cost no proof, nor does
23
+ * an edit to an existing unlinked file whose every name the program cannot
24
+ * admit (samchon/ttsc#1737). Named events also compare current native identity
25
+ * and case policy with the retained identity transaction. Retargeting withdraws
26
+ * notification authority without changing the meaning of earlier recorded event
27
+ * spellings.
26
28
  *
27
29
  * @evidence contracts/common.md#principled-implementation
28
30
  * The project walk and membership policy own structural relevance; content
@@ -35,10 +35,12 @@ var watchLocationIdentity = require('./watchLocationIdentity.js');
35
35
  * directory excluded in both lexical and native spellings. Unknown, missing and
36
36
  * linked ancestry remains conservative. Membership rejection withdraws
37
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
40
- * identity transaction. Retargeting withdraws notification authority without
41
- * changing the meaning of earlier recorded event spellings.
38
+ * recursive backend's writes to a cache or output tree cost no proof, nor does
39
+ * an edit to an existing unlinked file whose every name the program cannot
40
+ * admit (samchon/ttsc#1737). Named events also compare current native identity
41
+ * and case policy with the retained identity transaction. Retargeting withdraws
42
+ * notification authority without changing the meaning of earlier recorded event
43
+ * spellings.
42
44
  *
43
45
  * @evidence contracts/common.md#principled-implementation
44
46
  * The project walk and membership policy own structural relevance; content
@@ -173,6 +175,23 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
173
175
  }
174
176
  return excluded;
175
177
  };
178
+ // Whether an event names an existing file no spelling can make a program
179
+ // member: a regular file with no second hard link, whose own and physical
180
+ // names are both names the program cannot admit. A directory alias can move
181
+ // a file into the program but cannot rename it, and a removed name, a link
182
+ // or a directory stays conservative.
183
+ const existingNonProgramFile = (changed) => {
184
+ try {
185
+ const stats = filesystem.lstat(changed);
186
+ if (!stats.isFile() || stats.nlink > 1n)
187
+ return false;
188
+ return (!isPossibleProgramFileName.isPossibleProgramFileName(paths.basename(changed), policy) &&
189
+ !isPossibleProgramFileName.isPossibleProgramFileName(paths.basename(filesystem.realpath(changed)), policy));
190
+ }
191
+ catch {
192
+ return false;
193
+ }
194
+ };
176
195
  const reportsMembership = (location, filename) => {
177
196
  const changed = paths.join(location, filename);
178
197
  const current = createHostPathIdentityContext.createHostPathIdentityContext(filesystem);
@@ -192,8 +211,12 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
192
211
  // except below a directory the walk provably excludes. A recursive backend
193
212
  // (macOS, Windows) hears every write under the root, a cache or an output
194
213
  // directory among them, and withdrawing authority for each sent every later
195
- // delivery to the whole-snapshot proof.
196
- if (!membership && !excludedFromWalk(changed, true))
214
+ // delivery to the whole-snapshot proof. An existing file whose every name
215
+ // the program cannot admit is no member either, a stylesheet or an asset
216
+ // edited in a source directory among them, on every backend.
217
+ if (!membership &&
218
+ !excludedFromWalk(changed, true) &&
219
+ !existingNonProgramFile(changed))
197
220
  tracker.unverified = true;
198
221
  return membership;
199
222
  };
@@ -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","isProjectWalkDirectory","pathIdentityKey","reportsProgramMembership","isPossibleProgramFileName","usesWatchBroker","registerBrokeredMutationTracker","closeDirectoryWatches","openDirectoryWatch","recordProjectMutation","recordProjectChange","settleOpenedDirectoryWatches","pathIsWithin"],"mappings":"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"}
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","isPossibleProgramFileName","pathIdentityKey","reportsProgramMembership","usesWatchBroker","registerBrokeredMutationTracker","closeDirectoryWatches","openDirectoryWatch","recordProjectMutation","recordProjectChange","settleOpenedDirectoryWatches","pathIsWithin"],"mappings":"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"}
@@ -33,10 +33,12 @@ import { watchLocationIdentity } from './watchLocationIdentity.mjs';
33
33
  * directory excluded in both lexical and native spellings. Unknown, missing and
34
34
  * linked ancestry remains conservative. Membership rejection withdraws
35
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
38
- * identity transaction. Retargeting withdraws notification authority without
39
- * changing the meaning of earlier recorded event spellings.
36
+ * recursive backend's writes to a cache or output tree cost no proof, nor does
37
+ * an edit to an existing unlinked file whose every name the program cannot
38
+ * admit (samchon/ttsc#1737). Named events also compare current native identity
39
+ * and case policy with the retained identity transaction. Retargeting withdraws
40
+ * notification authority without changing the meaning of earlier recorded event
41
+ * spellings.
40
42
  *
41
43
  * @evidence contracts/common.md#principled-implementation
42
44
  * The project walk and membership policy own structural relevance; content
@@ -171,6 +173,23 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
171
173
  }
172
174
  return excluded;
173
175
  };
176
+ // Whether an event names an existing file no spelling can make a program
177
+ // member: a regular file with no second hard link, whose own and physical
178
+ // names are both names the program cannot admit. A directory alias can move
179
+ // a file into the program but cannot rename it, and a removed name, a link
180
+ // or a directory stays conservative.
181
+ const existingNonProgramFile = (changed) => {
182
+ try {
183
+ const stats = filesystem.lstat(changed);
184
+ if (!stats.isFile() || stats.nlink > 1n)
185
+ return false;
186
+ return (!isPossibleProgramFileName(paths.basename(changed), policy) &&
187
+ !isPossibleProgramFileName(paths.basename(filesystem.realpath(changed)), policy));
188
+ }
189
+ catch {
190
+ return false;
191
+ }
192
+ };
174
193
  const reportsMembership = (location, filename) => {
175
194
  const changed = paths.join(location, filename);
176
195
  const current = createHostPathIdentityContext(filesystem);
@@ -190,8 +209,12 @@ async function createProjectMutationTracker(directories, covered, filesystem = D
190
209
  // except below a directory the walk provably excludes. A recursive backend
191
210
  // (macOS, Windows) hears every write under the root, a cache or an output
192
211
  // directory among them, and withdrawing authority for each sent every later
193
- // delivery to the whole-snapshot proof.
194
- if (!membership && !excludedFromWalk(changed, true))
212
+ // delivery to the whole-snapshot proof. An existing file whose every name
213
+ // the program cannot admit is no member either, a stylesheet or an asset
214
+ // edited in a source directory among them, on every backend.
215
+ if (!membership &&
216
+ !excludedFromWalk(changed, true) &&
217
+ !existingNonProgramFile(changed))
195
218
  tracker.unverified = true;
196
219
  return membership;
197
220
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createProjectMutationTracker.mjs","sources":["../../../../src/core/transform/tracker/createProjectMutationTracker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
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.5",
3
+ "version": "0.31.6",
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.5"
205
+ "ttsc": "^0.31.6"
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.5"
220
+ "ttsc": "0.31.6"
221
221
  },
222
222
  "repository": {
223
223
  "type": "git",
@@ -38,10 +38,12 @@ import { watchLocationIdentity } from "./watchLocationIdentity";
38
38
  * directory excluded in both lexical and native spellings. Unknown, missing and
39
39
  * linked ancestry remains conservative. Membership rejection withdraws
40
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
43
- * identity transaction. Retargeting withdraws notification authority without
44
- * changing the meaning of earlier recorded event spellings.
41
+ * recursive backend's writes to a cache or output tree cost no proof, nor does
42
+ * an edit to an existing unlinked file whose every name the program cannot
43
+ * admit (samchon/ttsc#1737). Named events also compare current native identity
44
+ * and case policy with the retained identity transaction. Retargeting withdraws
45
+ * notification authority without changing the meaning of earlier recorded event
46
+ * spellings.
45
47
  *
46
48
  * @evidence contracts/common.md#principled-implementation
47
49
  * The project walk and membership policy own structural relevance; content
@@ -193,6 +195,26 @@ export async function createProjectMutationTracker(
193
195
  }
194
196
  return excluded;
195
197
  };
198
+ // Whether an event names an existing file no spelling can make a program
199
+ // member: a regular file with no second hard link, whose own and physical
200
+ // names are both names the program cannot admit. A directory alias can move
201
+ // a file into the program but cannot rename it, and a removed name, a link
202
+ // or a directory stays conservative.
203
+ const existingNonProgramFile = (changed: string): boolean => {
204
+ try {
205
+ const stats = filesystem.lstat(changed);
206
+ if (!stats.isFile() || stats.nlink > 1n) return false;
207
+ return (
208
+ !isPossibleProgramFileName(paths.basename(changed), policy) &&
209
+ !isPossibleProgramFileName(
210
+ paths.basename(filesystem.realpath(changed)),
211
+ policy,
212
+ )
213
+ );
214
+ } catch {
215
+ return false;
216
+ }
217
+ };
196
218
  const reportsMembership = (location: string, filename: string): boolean => {
197
219
  const changed = paths.join(location, filename);
198
220
  const current = createHostPathIdentityContext(filesystem);
@@ -221,8 +243,14 @@ export async function createProjectMutationTracker(
221
243
  // except below a directory the walk provably excludes. A recursive backend
222
244
  // (macOS, Windows) hears every write under the root, a cache or an output
223
245
  // directory among them, and withdrawing authority for each sent every later
224
- // delivery to the whole-snapshot proof.
225
- if (!membership && !excludedFromWalk(changed, true))
246
+ // delivery to the whole-snapshot proof. An existing file whose every name
247
+ // the program cannot admit is no member either, a stylesheet or an asset
248
+ // edited in a source directory among them, on every backend.
249
+ if (
250
+ !membership &&
251
+ !excludedFromWalk(changed, true) &&
252
+ !existingNonProgramFile(changed)
253
+ )
226
254
  tracker.unverified = true;
227
255
  return membership;
228
256
  };