@ttsc/unplugin 0.30.3 → 0.30.4

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/index.js CHANGED
@@ -99,6 +99,10 @@ const unpluginFactory = (rawOptions = {}, meta) => {
99
99
  configureServer(server) {
100
100
  serveInputs.attach(server);
101
101
  },
102
+ watchChange(id, change) {
103
+ if (change.event === "delete")
104
+ serveInputs.forget(transform.stripQuery(id));
105
+ },
102
106
  // Vite calls buildEnd when the dev server closes, and Rollup calls it at
103
107
  // the end of every build phase; drop every poller and, once the last
104
108
  // overlapping container has closed, every generation-owned filesystem
@@ -243,6 +247,13 @@ const unpluginFactory = (rawOptions = {}, meta) => {
243
247
  if (!isTransformTarget(file)) {
244
248
  return undefined;
245
249
  }
250
+ // The project-root observer is already live when a Vite serve transform
251
+ // begins. Its sequence token lets registration prove only inputs that
252
+ // could have changed during compilation, instead of synchronously
253
+ // re-reading every input in a large compiler graph.
254
+ const serveStartedAt = viteCommand === "serve" && viteWatching
255
+ ? serveInputs.begin()
256
+ : undefined;
246
257
  return transform.transformTtsc(file, source, options$1, aliases, transformCache, {
247
258
  // A watcherless server has no invalidation channel and needs no
248
259
  // watch-input derivation. Every other host keeps its native contract.
@@ -250,7 +261,7 @@ const unpluginFactory = (rawOptions = {}, meta) => {
250
261
  ? undefined
251
262
  : (inputs, failed) => {
252
263
  if (viteCommand === "serve") {
253
- serveInputs.replace(file, inputs, failed);
264
+ serveInputs.replace(file, inputs, failed, serveStartedAt);
254
265
  }
255
266
  else {
256
267
  const native = this.getNativeBuildContext?.();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/core/index.ts"],"sourcesContent":[null],"names":["typescriptTransformSourcePattern","options","resolveOptions","createEsbuildOptions","createTtscTransformCache","createViteServeInputWatch","resetTtscTransformCache","beginTtscTransformBuild","stripQuery","transformTtsc","createUnplugin","isDeclarationFile"],"mappings":";;;;;;;;;;;;;AAyBA,MAAM,IAAI,GAAG,eAAe;AAC5B;;;;;;;;AAQG;AACI,MAAM,iBAAiB,GAAGA;AACjC;AACA,MAAM,kBAAkB,GAAG,oCAAoC;AAC/D;;;AAGG;AACH,MAAM,oBAAoB,GAAG,IAAI;AAEjC;;;;;;;;;;;;;AAaG;AACH,MAAM,eAAe,GAGjB,CAAC,UAAU,GAAG,EAAE,EAAE,IAAI,KAAI;AAC5B,IAAA,MAAMC,SAAO,GAAGC,sBAAc,CAAC,UAAU,CAAC;AAC1C,IAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AAChC,QAAA,OAAOC,4BAAoB,CAACF,SAAO,EAAE,iBAAiB,CAAC;IACzD;AACA,IAAA,MAAM,cAAc,GAAGG,kCAAwB,EAAE;AACjD,IAAA,MAAM,WAAW,GAAGC,mCAAyB,EAAE;AAC/C,IAAA,IAAI,OAAgB;AACpB,IAAA,IAAI,WAA+B;IACnC,IAAI,YAAY,GAAG,IAAI;;;;;IAKvB,IAAI,iBAAiB,GAAG,KAAK;;;;;AAK7B,IAAA,IAAI,eAAe,GAAG,IAAI,OAAO,EAAU;IAC3C,IAAI,mBAAmB,GAAG,CAAC;IAE3B,OAAO;QACL,IAAI;AACJ,QAAA,OAAO,EAAE,KAAK;AAEd,QAAA,IAAI,EAAE;AACJ,YAAA,cAAc,CAAC,MAAM,EAAA;AACnB,gBAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK;;;;;AAK9B,gBAAA,WAAW,GAAG,MAAM,CAAC,OAAO;;;;;;;;;gBAS5B,YAAY;AACT,oBAAA,MAA2C,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI;;;;;;gBAMrE,iBAAiB;AACd,oBAAA,MAA0C,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI;YACpE,CAAC;;;;AAID,YAAA,eAAe,CAAC,MAAM,EAAA;AACpB,gBAAA,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5B,CAAC;;;;;;;;;;;;;;;;AAgBD,YAAA,MAAM,QAAQ,GAAA;AACZ,gBAAA,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAChC,mBAAmB,IAAI,CAAC;gBAC1B;AACA,gBAAA,IAAI,mBAAmB,KAAK,CAAC,EAAE;AAC7B,oBAAA,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,iBAAiB,EAAE;wBACjDC,iCAAuB,CAAC,cAAc,CAAC;oBACzC;AACA,oBAAA,MAAM,WAAW,CAAC,OAAO,EAAE;gBAC7B;YACF,CAAC;;;;;;;;;;;;;;;AAeD,YAAA,MAAM,YAAY,GAAA;AAChB,gBAAA,eAAe,GAAG,IAAI,OAAO,EAAU;gBACvC,mBAAmB,GAAG,CAAC;gBACvBA,iCAAuB,CAAC,cAAc,CAAC;AACvC,gBAAA,MAAM,WAAW,CAAC,OAAO,EAAE;YAC7B,CAAC;AACF,SAAA;;;;;;;;;;;;;;;AAgBD,QAAA,MAAM,EAAE;YACN,QAAQ,GAAA;gBACN,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE;oBACjCA,iCAAuB,CAAC,cAAc,CAAC;gBACzC;YACF,CAAC;YACD,YAAY,GAAA;gBACVA,iCAAuB,CAAC,cAAc,CAAC;YACzC,CAAC;AACF,SAAA;AACD,QAAA,QAAQ,EAAE;YACR,QAAQ,GAAA;gBACN,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,EAAE;oBACjCA,iCAAuB,CAAC,cAAc,CAAC;gBACzC;YACF,CAAC;YACD,YAAY,GAAA;gBACVA,iCAAuB,CAAC,cAAc,CAAC;YACzC,CAAC;AACF,SAAA;;;;AAKD,QAAA,OAAO,CAAC,QAAQ,EAAA;YACd,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAK;gBACrCA,iCAAuB,CAAC,cAAc,CAAC;AACzC,YAAA,CAAC,CAAC;QACJ,CAAC;AACD,QAAA,MAAM,CAAC,QAAQ,EAAA;YACb,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAK;gBACrCA,iCAAuB,CAAC,cAAc,CAAC;AACzC,YAAA,CAAC,CAAC;QACJ,CAAC;AACD,QAAA,IAAI,EAAE;;;;AAIJ,YAAA,aAAa,EAAE;gBACb,QAAQ,GAAA;oBACNC,iCAAuB,CAAC,cAAc,CAAC;gBACzC,CAAC;AACF,aAAA;AACF,SAAA;QACD,UAAU,GAAA;AACR,YAAA,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAc,CAAC,EAAE;AACrE,gBAAA,eAAe,CAAC,GAAG,CAAC,IAAc,CAAC;gBACnC,mBAAmB,IAAI,CAAC;YAC1B;;;;;;;;;;;;;;;;;;;;AAoBA,YAAA,IAAI,WAAW,KAAK,OAAO,IAAI,YAAY,EAAE;gBAC3CD,iCAAuB,CAAC,cAAc,CAAC;YACzC;iBAAO;gBACLC,iCAAuB,CAAC,cAAc,CAAC;YACzC;QACF,CAAC;AAED,QAAA,gBAAgB,CAAC,EAAE,EAAA;AACjB,YAAA,MAAM,IAAI,GAAGC,oBAAU,CAAC,EAAE,CAAC;AAC3B,YAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC;QAChC,CAAC;AAED,QAAA,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,EAAA;AACxB,YAAA,MAAM,IAAI,GAAGA,oBAAU,CAAC,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC5B,gBAAA,OAAO,SAAS;YAClB;YACA,OAAOC,uBAAa,CAAC,IAAI,EAAE,MAAM,EAAER,SAAO,EAAE,OAAO,EAAE,cAAc,EAAE;;;AAGnE,gBAAA,aAAa,EACX,WAAW,KAAK,OAAO,IAAI,CAAC;AAC1B,sBAAE;AACF,sBAAE,CAAC,MAAM,EAAE,MAAM,KAAI;AACjB,wBAAA,IAAI,WAAW,KAAK,OAAO,EAAE;4BAC3B,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;wBAC3C;6BAAO;AACL,4BAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,IAAI;AAC7C,4BAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,gCAAA,IACE,MAAM,EAAE,SAAS,KAAK,QAAQ;AAC9B,oCAAA,MAAM,CAAC,aAAa,KAAK,SAAS,EAClC;;;AAGA,oCAAA,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;wCAClC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;;wCAClD,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;gCACrD;AAAO,qCAAA,IAAI,MAAM,EAAE,SAAS,KAAK,MAAM,EAAE;oCACvC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;gCAC/C;qCAAO;AACL,oCAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;gCAC/B;4BACF;wBACF;oBACF,CAAC;;;;gBAIP,YAAY,EAAE,MAAK;AACjB,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,IAAI;AAC7C,oBAAA,IACE,MAAM,EAAE,SAAS,KAAK,SAAS;AAC/B,wBAAA,MAAM,EAAE,SAAS,KAAK,QAAQ,EAC9B;wBACA,MAAM,CAAC,aAAa,EAAE,SAAS,GAAG,KAAK,CAAC;oBAC1C;gBACF,CAAC;AACF,aAAA,CAAC;QACJ,CAAC;KACF;AACH,CAAC;AAED,MAAM,QAAQ,GACZS,yBAAc,CAAC,eAAe;AAwDhC;;;;;;;;;;;AAWG;AACG,SAAU,iBAAiB,CAAC,EAAU,EAAA;AAC1C,IAAA,QACE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1B,QAAA,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,CAACC,2BAAiB,CAAC,EAAE,CAAC;AACtB,QAAA,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/core/index.ts"],"sourcesContent":[null],"names":["typescriptTransformSourcePattern","options","resolveOptions","createEsbuildOptions","createTtscTransformCache","createViteServeInputWatch","stripQuery","resetTtscTransformCache","beginTtscTransformBuild","transformTtsc","createUnplugin","isDeclarationFile"],"mappings":"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"}
@@ -96,6 +96,10 @@ const unpluginFactory = (rawOptions = {}, meta) => {
96
96
  configureServer(server) {
97
97
  serveInputs.attach(server);
98
98
  },
99
+ watchChange(id, change) {
100
+ if (change.event === "delete")
101
+ serveInputs.forget(stripQuery(id));
102
+ },
99
103
  // Vite calls buildEnd when the dev server closes, and Rollup calls it at
100
104
  // the end of every build phase; drop every poller and, once the last
101
105
  // overlapping container has closed, every generation-owned filesystem
@@ -240,6 +244,13 @@ const unpluginFactory = (rawOptions = {}, meta) => {
240
244
  if (!isTransformTarget(file)) {
241
245
  return undefined;
242
246
  }
247
+ // The project-root observer is already live when a Vite serve transform
248
+ // begins. Its sequence token lets registration prove only inputs that
249
+ // could have changed during compilation, instead of synchronously
250
+ // re-reading every input in a large compiler graph.
251
+ const serveStartedAt = viteCommand === "serve" && viteWatching
252
+ ? serveInputs.begin()
253
+ : undefined;
243
254
  return transformTtsc(file, source, options, aliases, transformCache, {
244
255
  // A watcherless server has no invalidation channel and needs no
245
256
  // watch-input derivation. Every other host keeps its native contract.
@@ -247,7 +258,7 @@ const unpluginFactory = (rawOptions = {}, meta) => {
247
258
  ? undefined
248
259
  : (inputs, failed) => {
249
260
  if (viteCommand === "serve") {
250
- serveInputs.replace(file, inputs, failed);
261
+ serveInputs.replace(file, inputs, failed, serveStartedAt);
251
262
  }
252
263
  else {
253
264
  const native = this.getNativeBuildContext?.();
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/core/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/core/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -56,6 +56,8 @@ interface TtscProjectMutationTracker {
56
56
  * whole, which cannot answer for one name.
57
57
  */
58
58
  covered?: ReadonlySet<string>;
59
+ /** Whether this is the repository-owned backend with content-event coverage. */
60
+ contentAuthoritative?: boolean;
59
61
  /**
60
62
  * Wait until every event this tracker's watcher has already dispatched has
61
63
  * been applied to it.
@@ -69,6 +71,8 @@ interface TtscProjectMutationTracker {
69
71
  drain?: () => Promise<void>;
70
72
  failed: boolean;
71
73
  membershipChanged: boolean;
74
+ /** Compare event and input paths through this tracker's filesystem identity. */
75
+ overlaps?: (input: string, changed: string) => boolean;
72
76
  settle?: Promise<void>;
73
77
  }
74
78
  /**
@@ -303,7 +307,7 @@ export interface TtscTransformFilesystemOperations {
303
307
  * native abort Node's Windows fs-event backend can raise when a watched
304
308
  * temporary tree is deleted.
305
309
  */
306
- watch?(directory: string, listener: (eventType: string, filename: string | null) => void, onError: () => void): {
310
+ watch?(directory: string, listener: (eventType: string, filename: string | null) => void, onError: () => void, recursive?: boolean): {
307
311
  close: () => void;
308
312
  };
309
313
  }
@@ -469,10 +473,14 @@ interface TtscHostInputValidation {
469
473
  readonly entries: Map<string, {
470
474
  path: string;
471
475
  /**
472
- * Whether the recorded state of this input came from reading its bytes.
473
- * An input that existed but could not be read records a missing state, so
474
- * no signature may stand in for it: its metadata holds still while the
475
- * bytes behind it appear.
476
+ * Whether the recorded state of this input has been matched to readable
477
+ * bytes. Capture sets it immediately for compiler-proven inputs; a
478
+ * current module supplied from an editor buffer can earn it later after
479
+ * its disk bytes match the recorded source.
480
+ *
481
+ * An input that still cannot be read records a missing state, so no
482
+ * signature may stand in for it: its metadata holds still while the bytes
483
+ * behind it appear.
476
484
  */
477
485
  readable: boolean;
478
486
  realpath: string | null;
@@ -56,6 +56,8 @@ interface TtscProjectMutationTracker {
56
56
  * whole, which cannot answer for one name.
57
57
  */
58
58
  covered?: ReadonlySet<string>;
59
+ /** Whether this is the repository-owned backend with content-event coverage. */
60
+ contentAuthoritative?: boolean;
59
61
  /**
60
62
  * Wait until every event this tracker's watcher has already dispatched has
61
63
  * been applied to it.
@@ -69,6 +71,8 @@ interface TtscProjectMutationTracker {
69
71
  drain?: () => Promise<void>;
70
72
  failed: boolean;
71
73
  membershipChanged: boolean;
74
+ /** Compare event and input paths through this tracker's filesystem identity. */
75
+ overlaps?: (input: string, changed: string) => boolean;
72
76
  settle?: Promise<void>;
73
77
  }
74
78
  /**
@@ -303,7 +307,7 @@ export interface TtscTransformFilesystemOperations {
303
307
  * native abort Node's Windows fs-event backend can raise when a watched
304
308
  * temporary tree is deleted.
305
309
  */
306
- watch?(directory: string, listener: (eventType: string, filename: string | null) => void, onError: () => void): {
310
+ watch?(directory: string, listener: (eventType: string, filename: string | null) => void, onError: () => void, recursive?: boolean): {
307
311
  close: () => void;
308
312
  };
309
313
  }
@@ -469,10 +473,14 @@ interface TtscHostInputValidation {
469
473
  readonly entries: Map<string, {
470
474
  path: string;
471
475
  /**
472
- * Whether the recorded state of this input came from reading its bytes.
473
- * An input that existed but could not be read records a missing state, so
474
- * no signature may stand in for it: its metadata holds still while the
475
- * bytes behind it appear.
476
+ * Whether the recorded state of this input has been matched to readable
477
+ * bytes. Capture sets it immediately for compiler-proven inputs; a
478
+ * current module supplied from an editor buffer can earn it later after
479
+ * its disk bytes match the recorded source.
480
+ *
481
+ * An input that still cannot be read records a missing state, so no
482
+ * signature may stand in for it: its metadata holds still while the bytes
483
+ * behind it appear.
476
484
  */
477
485
  readable: boolean;
478
486
  realpath: string | null;
@@ -56,6 +56,8 @@ interface TtscProjectMutationTracker {
56
56
  * whole, which cannot answer for one name.
57
57
  */
58
58
  covered?: ReadonlySet<string>;
59
+ /** Whether this is the repository-owned backend with content-event coverage. */
60
+ contentAuthoritative?: boolean;
59
61
  /**
60
62
  * Wait until every event this tracker's watcher has already dispatched has
61
63
  * been applied to it.
@@ -69,6 +71,8 @@ interface TtscProjectMutationTracker {
69
71
  drain?: () => Promise<void>;
70
72
  failed: boolean;
71
73
  membershipChanged: boolean;
74
+ /** Compare event and input paths through this tracker's filesystem identity. */
75
+ overlaps?: (input: string, changed: string) => boolean;
72
76
  settle?: Promise<void>;
73
77
  }
74
78
  /**
@@ -303,7 +307,7 @@ export interface TtscTransformFilesystemOperations {
303
307
  * native abort Node's Windows fs-event backend can raise when a watched
304
308
  * temporary tree is deleted.
305
309
  */
306
- watch?(directory: string, listener: (eventType: string, filename: string | null) => void, onError: () => void): {
310
+ watch?(directory: string, listener: (eventType: string, filename: string | null) => void, onError: () => void, recursive?: boolean): {
307
311
  close: () => void;
308
312
  };
309
313
  }
@@ -469,10 +473,14 @@ interface TtscHostInputValidation {
469
473
  readonly entries: Map<string, {
470
474
  path: string;
471
475
  /**
472
- * Whether the recorded state of this input came from reading its bytes.
473
- * An input that existed but could not be read records a missing state, so
474
- * no signature may stand in for it: its metadata holds still while the
475
- * bytes behind it appear.
476
+ * Whether the recorded state of this input has been matched to readable
477
+ * bytes. Capture sets it immediately for compiler-proven inputs; a
478
+ * current module supplied from an editor buffer can earn it later after
479
+ * its disk bytes match the recorded source.
480
+ *
481
+ * An input that still cannot be read records a missing state, so no
482
+ * signature may stand in for it: its metadata holds still while the bytes
483
+ * behind it appear.
476
484
  */
477
485
  readable: boolean;
478
486
  realpath: string | null;