@ttsc/unplugin 0.31.0 → 0.31.1
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/bun/bun.d.cts +3 -2
- package/lib/core/bun/bun.d.mts +3 -2
- package/lib/core/bun/bun.d.ts +3 -2
- package/lib/core/bun/bun.js +8 -4
- package/lib/core/bun/bun.js.map +1 -1
- package/lib/core/bun/bun.mjs +8 -4
- package/lib/core/bun/bun.mjs.map +1 -1
- package/lib/core/observer/createInputObserver.js +6 -5
- package/lib/core/observer/createInputObserver.js.map +1 -1
- package/lib/core/observer/createInputObserver.mjs +6 -5
- package/lib/core/observer/createInputObserver.mjs.map +1 -1
- package/lib/core/observer/openIsolatedRecursiveWatch.d.cts +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.d.mts +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.d.ts +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.js +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.js.map +1 -1
- package/lib/core/observer/openIsolatedRecursiveWatch.mjs +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.mjs.map +1 -1
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.cts +12 -3
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.mts +12 -3
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.ts +12 -3
- package/lib/core/transform/cache/selectCachedGenerationAction.d.cts +2 -0
- package/lib/core/transform/cache/selectCachedGenerationAction.d.mts +2 -0
- package/lib/core/transform/cache/selectCachedGenerationAction.d.ts +2 -0
- package/lib/core/transform/cache/selectCachedGenerationAction.js +1 -1
- package/lib/core/transform/cache/selectCachedGenerationAction.js.map +1 -1
- package/lib/core/transform/cache/selectCachedGenerationAction.mjs +1 -1
- package/lib/core/transform/cache/selectCachedGenerationAction.mjs.map +1 -1
- package/lib/core/transform/deliverCachedTransform.d.cts +36 -0
- package/lib/core/transform/deliverCachedTransform.d.mts +36 -0
- package/lib/core/transform/deliverCachedTransform.d.ts +36 -0
- package/lib/core/transform/deliverCachedTransform.js +73 -0
- package/lib/core/transform/deliverCachedTransform.js.map +1 -0
- package/lib/core/transform/deliverCachedTransform.mjs +71 -0
- package/lib/core/transform/deliverCachedTransform.mjs.map +1 -0
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.cts +2 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.mts +2 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.ts +2 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.js +6 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.js.map +1 -1
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.mjs +6 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.mjs.map +1 -1
- package/lib/core/transform/envelope/selectExternalInputPaths.d.cts +3 -5
- package/lib/core/transform/envelope/selectExternalInputPaths.d.mts +3 -5
- package/lib/core/transform/envelope/selectExternalInputPaths.d.ts +3 -5
- package/lib/core/transform/envelope/selectExternalInputPaths.js +8 -7
- package/lib/core/transform/envelope/selectExternalInputPaths.js.map +1 -1
- package/lib/core/transform/envelope/selectExternalInputPaths.mjs +8 -7
- package/lib/core/transform/envelope/selectExternalInputPaths.mjs.map +1 -1
- package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.cts +15 -12
- package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.mts +15 -12
- package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.ts +15 -12
- package/lib/core/transform/generation/selectTransformAttemptDisposition.d.cts +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.d.mts +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.d.ts +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.js +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.js.map +1 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.mjs +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.mjs.map +1 -1
- package/lib/core/transform/generation/transformProject.d.cts +9 -7
- package/lib/core/transform/generation/transformProject.d.mts +9 -7
- package/lib/core/transform/generation/transformProject.d.ts +9 -7
- package/lib/core/transform/generation/transformProject.js +14 -9
- package/lib/core/transform/generation/transformProject.js.map +1 -1
- package/lib/core/transform/generation/transformProject.mjs +14 -9
- package/lib/core/transform/generation/transformProject.mjs.map +1 -1
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.cts +11 -4
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.mts +11 -4
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.ts +11 -4
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.js +44 -7
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.js.map +1 -1
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.mjs +44 -7
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/WatchBroker.d.cts +14 -4
- package/lib/core/transform/tracker/broker/WatchBroker.d.mts +14 -4
- package/lib/core/transform/tracker/broker/WatchBroker.d.ts +14 -4
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.cts +63 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.mts +63 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.ts +63 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.js +89 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.js.map +1 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.mjs +89 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.mjs.map +1 -0
- package/lib/core/transform/tracker/broker/drainWatchBroker.d.cts +8 -8
- package/lib/core/transform/tracker/broker/drainWatchBroker.d.mts +8 -8
- package/lib/core/transform/tracker/broker/drainWatchBroker.d.ts +8 -8
- package/lib/core/transform/tracker/broker/drainWatchBroker.js +12 -13
- package/lib/core/transform/tracker/broker/drainWatchBroker.js.map +1 -1
- package/lib/core/transform/tracker/broker/drainWatchBroker.mjs +12 -13
- package/lib/core/transform/tracker/broker/drainWatchBroker.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/getWatchBroker.d.cts +18 -15
- package/lib/core/transform/tracker/broker/getWatchBroker.d.mts +18 -15
- package/lib/core/transform/tracker/broker/getWatchBroker.d.ts +18 -15
- package/lib/core/transform/tracker/broker/getWatchBroker.js +87 -17
- package/lib/core/transform/tracker/broker/getWatchBroker.js.map +1 -1
- package/lib/core/transform/tracker/broker/getWatchBroker.mjs +87 -17
- package/lib/core/transform/tracker/broker/getWatchBroker.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/openBrokeredWatch.d.cts +5 -5
- package/lib/core/transform/tracker/broker/openBrokeredWatch.d.mts +5 -5
- package/lib/core/transform/tracker/broker/openBrokeredWatch.d.ts +5 -5
- package/lib/core/transform/tracker/broker/openBrokeredWatch.js +11 -14
- package/lib/core/transform/tracker/broker/openBrokeredWatch.js.map +1 -1
- package/lib/core/transform/tracker/broker/openBrokeredWatch.mjs +11 -14
- package/lib/core/transform/tracker/broker/openBrokeredWatch.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/usesWatchBroker.d.cts +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.d.mts +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.d.ts +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.js +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.mjs +7 -7
- package/lib/core/transform/tracker/broker/watchBrokerSource.d.cts +9 -10
- package/lib/core/transform/tracker/broker/watchBrokerSource.d.mts +9 -10
- package/lib/core/transform/tracker/broker/watchBrokerSource.d.ts +9 -10
- package/lib/core/transform/tracker/broker/watchBrokerSource.js +10 -11
- package/lib/core/transform/tracker/broker/watchBrokerSource.js.map +1 -1
- package/lib/core/transform/tracker/broker/watchBrokerSource.mjs +10 -11
- package/lib/core/transform/tracker/broker/watchBrokerSource.mjs.map +1 -1
- package/lib/core/transform/transformTtsc.d.cts +7 -4
- package/lib/core/transform/transformTtsc.d.mts +7 -4
- package/lib/core/transform/transformTtsc.d.ts +7 -4
- package/lib/core/transform/transformTtsc.js +37 -92
- package/lib/core/transform/transformTtsc.js.map +1 -1
- package/lib/core/transform/transformTtsc.mjs +37 -92
- package/lib/core/transform/transformTtsc.mjs.map +1 -1
- package/lib/core/transform/validation/TtscGenerationProof.d.cts +105 -0
- package/lib/core/transform/validation/TtscGenerationProof.d.mts +105 -0
- package/lib/core/transform/validation/TtscGenerationProof.d.ts +105 -0
- package/lib/core/transform/validation/TtscGenerationProof.js +149 -0
- package/lib/core/transform/validation/TtscGenerationProof.js.map +1 -0
- package/lib/core/transform/validation/TtscGenerationProof.mjs +149 -0
- package/lib/core/transform/validation/TtscGenerationProof.mjs.map +1 -0
- package/lib/core/transform/validation/matchesCachedSource.d.cts +18 -15
- package/lib/core/transform/validation/matchesCachedSource.d.mts +18 -15
- package/lib/core/transform/validation/matchesCachedSource.d.ts +18 -15
- package/lib/core/transform/validation/matchesCachedSource.js +28 -22
- package/lib/core/transform/validation/matchesCachedSource.js.map +1 -1
- package/lib/core/transform/validation/matchesCachedSource.mjs +28 -22
- package/lib/core/transform/validation/matchesCachedSource.mjs.map +1 -1
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.cts +3 -2
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.mts +3 -2
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.ts +3 -2
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.js +4 -4
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.js.map +1 -1
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.mjs +4 -4
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.mjs.map +1 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.cts +2 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.mts +2 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.ts +2 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.js +2 -2
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.js.map +1 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.mjs +2 -2
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.mjs.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.cts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.mts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.ts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.js +5 -3
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.js.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.mjs +5 -3
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.mjs.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputs.d.cts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputs.d.mts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputs.d.ts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputs.js +5 -5
- package/lib/core/transform/validation/matchesUniversalHostInputs.js.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputs.mjs +5 -5
- package/lib/core/transform/validation/matchesUniversalHostInputs.mjs.map +1 -1
- package/lib/core/transform/validation/nativeInputPredicatesHold.d.cts +5 -4
- package/lib/core/transform/validation/nativeInputPredicatesHold.d.mts +5 -4
- package/lib/core/transform/validation/nativeInputPredicatesHold.d.ts +5 -4
- package/lib/core/transform/validation/nativeInputPredicatesHold.js +31 -12
- package/lib/core/transform/validation/nativeInputPredicatesHold.js.map +1 -1
- package/lib/core/transform/validation/nativeInputPredicatesHold.mjs +31 -12
- package/lib/core/transform/validation/nativeInputPredicatesHold.mjs.map +1 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.cts +2 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.mts +2 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.ts +2 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.js +2 -2
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.js.map +1 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.mjs +2 -2
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.mjs.map +1 -1
- package/lib/core/transform/watch/notifyWatchInputs.js +3 -0
- package/lib/core/transform/watch/notifyWatchInputs.js.map +1 -1
- package/lib/core/transform/watch/notifyWatchInputs.mjs +3 -0
- package/lib/core/transform/watch/notifyWatchInputs.mjs.map +1 -1
- package/lib/core/turbopack/turbopack.js +2 -1
- package/lib/core/turbopack/turbopack.js.map +1 -1
- package/lib/core/turbopack/turbopack.mjs +2 -1
- package/lib/core/turbopack/turbopack.mjs.map +1 -1
- package/package.json +3 -3
- package/src/core/bun/bun.ts +8 -4
- package/src/core/observer/createInputObserver.ts +6 -5
- package/src/core/observer/openIsolatedRecursiveWatch.ts +11 -12
- package/src/core/transform/cache/TtscCachedProjectTransform.ts +13 -3
- package/src/core/transform/cache/selectCachedGenerationAction.ts +9 -1
- package/src/core/transform/deliverCachedTransform.ts +97 -0
- package/src/core/transform/envelope/selectDeclaredProjectInputKeys.ts +5 -2
- package/src/core/transform/envelope/selectExternalInputPaths.ts +7 -7
- package/src/core/transform/filesystem/TtscTransformFilesystemOperations.ts +15 -12
- package/src/core/transform/generation/selectTransformAttemptDisposition.ts +3 -1
- package/src/core/transform/generation/transformProject.ts +13 -9
- package/src/core/transform/inputs/preparePluginBuildEnvironments.ts +41 -7
- package/src/core/transform/tracker/broker/WatchBroker.ts +15 -4
- package/src/core/transform/tracker/broker/WatchBrokerTransport.ts +82 -0
- package/src/core/transform/tracker/broker/drainWatchBroker.ts +12 -13
- package/src/core/transform/tracker/broker/getWatchBroker.ts +89 -18
- package/src/core/transform/tracker/broker/openBrokeredWatch.ts +11 -14
- package/src/core/transform/tracker/broker/usesWatchBroker.ts +7 -7
- package/src/core/transform/tracker/broker/watchBrokerSource.ts +10 -11
- package/src/core/transform/transformTtsc.ts +36 -92
- package/src/core/transform/validation/TtscGenerationProof.ts +201 -0
- package/src/core/transform/validation/matchesCachedSource.ts +27 -21
- package/src/core/transform/validation/matchesCompleteInputSnapshot.ts +5 -3
- package/src/core/transform/validation/matchesNarrowPersistentInputs.ts +3 -1
- package/src/core/transform/validation/matchesUniversalHostInputTrees.ts +6 -2
- package/src/core/transform/validation/matchesUniversalHostInputs.ts +6 -4
- package/src/core/transform/validation/nativeInputPredicatesHold.ts +36 -14
- package/src/core/transform/validation/notificationsProveProgramUnchanged.ts +3 -1
- package/src/core/transform/watch/notifyWatchInputs.ts +3 -0
- package/src/core/turbopack/turbopack.ts +2 -1
|
@@ -37,7 +37,7 @@ import type { TtscTransformHooks } from "./watch/TtscTransformHooks.cjs";
|
|
|
37
37
|
* per build, not per compilation.
|
|
38
38
|
* @evidence contracts/common.md#principled-implementation Project selection and generation-qualified cache admission preserve compiler disk authority; fresh-only success additionally needs an explicit nonwatching lifecycle, coherent project declaration and actual host-cache withdrawal, because incomplete observation cannot support watch invalidation.
|
|
39
39
|
* @evidence contracts/common.md#clear-and-simple-design One delivery coordinator composes project selection, cache admission, compilation, output selection and host notifications; dedicated owners handle proof and lifetime internals.
|
|
40
|
-
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines
|
|
40
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines; incomplete local results can share only explicitly nonwatching first deliveries in their exact pass. Unknown/watching lifecycles or unsupported withdrawal reject and evict them rather than invent persistent records or dependency closure.
|
|
41
41
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs and argument tags explain project scope, no-transform outcomes, cache epochs and per-build notification responsibilities with links to maintained reference context.
|
|
42
42
|
* @evidence contracts/performance.md#efficient-algorithms
|
|
43
43
|
* Selection/key construction pays ancestor/config/alias/option/path text work.
|
|
@@ -45,15 +45,18 @@ import type { TtscTransformHooks } from "./watch/TtscTransformHooks.cjs";
|
|
|
45
45
|
* replay source/project/external/universal proofs before selecting output.
|
|
46
46
|
* In-flight/valid completed reuse avoids compilation, not those checks or
|
|
47
47
|
* output/map/notification/record work. Capture misses pay whole native compile
|
|
48
|
-
* and input populations
|
|
48
|
+
* and input populations. The common proof owner skips redundant environment
|
|
49
|
+
* preparation for proven first deliveries and shares synchronous native proof
|
|
50
|
+
* queries; persistent/repeated delivery establishes fresh authority. Concurrent supersession can repeat the outer loop
|
|
49
51
|
* without a delivery-level retry/time bound here.
|
|
50
52
|
* @evidence contracts/performance.md#reuse-equivalent-work Cache identity covers config/options/plugins/aliases; current generations, pass-qualified terminal verdicts and in-flight Promises are shared only while their source and dependency proof remains valid.
|
|
51
53
|
* @evidence contracts/performance.md#bound-retention-and-release-resources
|
|
52
54
|
* Optional cache state retains current generation Promises/results and
|
|
53
55
|
* per-key dependency/case facts without a byte/key cap here. Native tasks
|
|
54
56
|
* belong to compiler/capture owners; uncached captures retain no notification
|
|
55
|
-
* or persistent clock probe. Fresh-only delivery
|
|
56
|
-
*
|
|
57
|
+
* or persistent clock probe. Fresh-only delivery releases capture resources,
|
|
58
|
+
* retaining only an explicitly admitted local pass result; rejected or failed
|
|
59
|
+
* incomplete handoff detaches its generation. Eviction/disposal attempt independent resource release
|
|
57
60
|
* and native failures need not close every handle or remove every probe.
|
|
58
61
|
* @evidence contracts/portability.md#os-neutral-implementation Native module paths and project coordinates use supported path/filesystem abstractions, while actual case policy and watcher capability come from generation proof rather than OS-name assumptions.
|
|
59
62
|
*/
|
|
@@ -37,7 +37,7 @@ import type { TtscTransformHooks } from "./watch/TtscTransformHooks.mjs";
|
|
|
37
37
|
* per build, not per compilation.
|
|
38
38
|
* @evidence contracts/common.md#principled-implementation Project selection and generation-qualified cache admission preserve compiler disk authority; fresh-only success additionally needs an explicit nonwatching lifecycle, coherent project declaration and actual host-cache withdrawal, because incomplete observation cannot support watch invalidation.
|
|
39
39
|
* @evidence contracts/common.md#clear-and-simple-design One delivery coordinator composes project selection, cache admission, compilation, output selection and host notifications; dedicated owners handle proof and lifetime internals.
|
|
40
|
-
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines
|
|
40
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines; incomplete local results can share only explicitly nonwatching first deliveries in their exact pass. Unknown/watching lifecycles or unsupported withdrawal reject and evict them rather than invent persistent records or dependency closure.
|
|
41
41
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs and argument tags explain project scope, no-transform outcomes, cache epochs and per-build notification responsibilities with links to maintained reference context.
|
|
42
42
|
* @evidence contracts/performance.md#efficient-algorithms
|
|
43
43
|
* Selection/key construction pays ancestor/config/alias/option/path text work.
|
|
@@ -45,15 +45,18 @@ import type { TtscTransformHooks } from "./watch/TtscTransformHooks.mjs";
|
|
|
45
45
|
* replay source/project/external/universal proofs before selecting output.
|
|
46
46
|
* In-flight/valid completed reuse avoids compilation, not those checks or
|
|
47
47
|
* output/map/notification/record work. Capture misses pay whole native compile
|
|
48
|
-
* and input populations
|
|
48
|
+
* and input populations. The common proof owner skips redundant environment
|
|
49
|
+
* preparation for proven first deliveries and shares synchronous native proof
|
|
50
|
+
* queries; persistent/repeated delivery establishes fresh authority. Concurrent supersession can repeat the outer loop
|
|
49
51
|
* without a delivery-level retry/time bound here.
|
|
50
52
|
* @evidence contracts/performance.md#reuse-equivalent-work Cache identity covers config/options/plugins/aliases; current generations, pass-qualified terminal verdicts and in-flight Promises are shared only while their source and dependency proof remains valid.
|
|
51
53
|
* @evidence contracts/performance.md#bound-retention-and-release-resources
|
|
52
54
|
* Optional cache state retains current generation Promises/results and
|
|
53
55
|
* per-key dependency/case facts without a byte/key cap here. Native tasks
|
|
54
56
|
* belong to compiler/capture owners; uncached captures retain no notification
|
|
55
|
-
* or persistent clock probe. Fresh-only delivery
|
|
56
|
-
*
|
|
57
|
+
* or persistent clock probe. Fresh-only delivery releases capture resources,
|
|
58
|
+
* retaining only an explicitly admitted local pass result; rejected or failed
|
|
59
|
+
* incomplete handoff detaches its generation. Eviction/disposal attempt independent resource release
|
|
57
60
|
* and native failures need not close every handle or remove every probe.
|
|
58
61
|
* @evidence contracts/portability.md#os-neutral-implementation Native module paths and project coordinates use supported path/filesystem abstractions, while actual case policy and watcher capability come from generation proof rather than OS-name assumptions.
|
|
59
62
|
*/
|
|
@@ -37,7 +37,7 @@ import type { TtscTransformHooks } from "./watch/TtscTransformHooks";
|
|
|
37
37
|
* per build, not per compilation.
|
|
38
38
|
* @evidence contracts/common.md#principled-implementation Project selection and generation-qualified cache admission preserve compiler disk authority; fresh-only success additionally needs an explicit nonwatching lifecycle, coherent project declaration and actual host-cache withdrawal, because incomplete observation cannot support watch invalidation.
|
|
39
39
|
* @evidence contracts/common.md#clear-and-simple-design One delivery coordinator composes project selection, cache admission, compilation, output selection and host notifications; dedicated owners handle proof and lifetime internals.
|
|
40
|
-
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines
|
|
40
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines; incomplete local results can share only explicitly nonwatching first deliveries in their exact pass. Unknown/watching lifecycles or unsupported withdrawal reject and evict them rather than invent persistent records or dependency closure.
|
|
41
41
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs and argument tags explain project scope, no-transform outcomes, cache epochs and per-build notification responsibilities with links to maintained reference context.
|
|
42
42
|
* @evidence contracts/performance.md#efficient-algorithms
|
|
43
43
|
* Selection/key construction pays ancestor/config/alias/option/path text work.
|
|
@@ -45,15 +45,18 @@ import type { TtscTransformHooks } from "./watch/TtscTransformHooks";
|
|
|
45
45
|
* replay source/project/external/universal proofs before selecting output.
|
|
46
46
|
* In-flight/valid completed reuse avoids compilation, not those checks or
|
|
47
47
|
* output/map/notification/record work. Capture misses pay whole native compile
|
|
48
|
-
* and input populations
|
|
48
|
+
* and input populations. The common proof owner skips redundant environment
|
|
49
|
+
* preparation for proven first deliveries and shares synchronous native proof
|
|
50
|
+
* queries; persistent/repeated delivery establishes fresh authority. Concurrent supersession can repeat the outer loop
|
|
49
51
|
* without a delivery-level retry/time bound here.
|
|
50
52
|
* @evidence contracts/performance.md#reuse-equivalent-work Cache identity covers config/options/plugins/aliases; current generations, pass-qualified terminal verdicts and in-flight Promises are shared only while their source and dependency proof remains valid.
|
|
51
53
|
* @evidence contracts/performance.md#bound-retention-and-release-resources
|
|
52
54
|
* Optional cache state retains current generation Promises/results and
|
|
53
55
|
* per-key dependency/case facts without a byte/key cap here. Native tasks
|
|
54
56
|
* belong to compiler/capture owners; uncached captures retain no notification
|
|
55
|
-
* or persistent clock probe. Fresh-only delivery
|
|
56
|
-
*
|
|
57
|
+
* or persistent clock probe. Fresh-only delivery releases capture resources,
|
|
58
|
+
* retaining only an explicitly admitted local pass result; rejected or failed
|
|
59
|
+
* incomplete handoff detaches its generation. Eviction/disposal attempt independent resource release
|
|
57
60
|
* and native failures need not close every handle or remove every probe.
|
|
58
61
|
* @evidence contracts/portability.md#os-neutral-implementation Native module paths and project coordinates use supported path/filesystem abstractions, while actual case policy and watcher capability come from generation proof rather than OS-name assumptions.
|
|
59
62
|
*/
|
|
@@ -8,34 +8,26 @@ var TRANSFORM_CACHE_DEPENDENCY_WITNESSES = require('./cache/TRANSFORM_CACHE_DEPE
|
|
|
8
8
|
var TRANSFORM_RESULT_FILESYSTEM = require('./cache/TRANSFORM_RESULT_FILESYSTEM.js');
|
|
9
9
|
var awaitOrEvict = require('./cache/awaitOrEvict.js');
|
|
10
10
|
var createTransformCacheKey = require('./cache/createTransformCacheKey.js');
|
|
11
|
-
var disposeCachedTransform = require('./cache/disposeCachedTransform.js');
|
|
12
11
|
var evictGeneration = require('./cache/evictGeneration.js');
|
|
13
12
|
var replaysTerminalGeneration = require('./cache/replaysTerminalGeneration.js');
|
|
14
13
|
var selectCachedGenerationAction = require('./cache/selectCachedGenerationAction.js');
|
|
15
|
-
var selectOrEvict = require('./cache/selectOrEvict.js');
|
|
16
14
|
var transformCacheEpoch = require('./cache/transformCacheEpoch.js');
|
|
17
15
|
var transformCacheTrustsNotifications = require('./cache/transformCacheTrustsNotifications.js');
|
|
18
16
|
var transformFilesystem = require('./cache/transformFilesystem.js');
|
|
19
17
|
var withdrawGenerationNotifications = require('./cache/withdrawGenerationNotifications.js');
|
|
20
|
-
var
|
|
21
|
-
var reportSuccessDiagnostics = require('./diagnostics/reportSuccessDiagnostics.js');
|
|
22
|
-
var TtscMissingProgramOutputError = require('./errors/TtscMissingProgramOutputError.js');
|
|
18
|
+
var deliverCachedTransform = require('./deliverCachedTransform.js');
|
|
23
19
|
var TtscUnstableGenerationError = require('./errors/TtscUnstableGenerationError.js');
|
|
24
20
|
var transformProject = require('./generation/transformProject.js');
|
|
25
21
|
var preparePluginBuildEnvironments = require('./inputs/preparePluginBuildEnvironments.js');
|
|
26
22
|
var TRANSFORM_CACHE_SESSIONS = require('./session/TRANSFORM_CACHE_SESSIONS.js');
|
|
27
23
|
var settleProjectMutationEvents = require('./tracker/settleProjectMutationEvents.js');
|
|
28
24
|
var resolveProjectSelection = require('./tsconfig/resolveProjectSelection.js');
|
|
29
|
-
var createTransformResult = require('./utils/createTransformResult.js');
|
|
30
25
|
var isDeclarationFile = require('./utils/isDeclarationFile.js');
|
|
31
26
|
var isHostWrapperQuery = require('./utils/isHostWrapperQuery.js');
|
|
32
27
|
var pluginsAreDisabled = require('./utils/pluginsAreDisabled.js');
|
|
33
28
|
var stripQuery = require('./utils/stripQuery.js');
|
|
34
|
-
var
|
|
35
|
-
var notifyFailedGenerationInputs = require('./watch/notifyFailedGenerationInputs.js');
|
|
29
|
+
var TtscGenerationProof = require('./validation/TtscGenerationProof.js');
|
|
36
30
|
var notifyRejectedGenerationInputs = require('./watch/notifyRejectedGenerationInputs.js');
|
|
37
|
-
var notifyVolatileDelivery = require('./watch/notifyVolatileDelivery.js');
|
|
38
|
-
var notifyWatchInputs = require('./watch/notifyWatchInputs.js');
|
|
39
31
|
var prepareProjectRecordDirectories = require('./watch/prepareProjectRecordDirectories.js');
|
|
40
32
|
|
|
41
33
|
/**
|
|
@@ -73,7 +65,7 @@ var prepareProjectRecordDirectories = require('./watch/prepareProjectRecordDirec
|
|
|
73
65
|
* per build, not per compilation.
|
|
74
66
|
* @evidence contracts/common.md#principled-implementation Project selection and generation-qualified cache admission preserve compiler disk authority; fresh-only success additionally needs an explicit nonwatching lifecycle, coherent project declaration and actual host-cache withdrawal, because incomplete observation cannot support watch invalidation.
|
|
75
67
|
* @evidence contracts/common.md#clear-and-simple-design One delivery coordinator composes project selection, cache admission, compilation, output selection and host notifications; dedicated owners handle proof and lifetime internals.
|
|
76
|
-
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines
|
|
68
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines; incomplete local results can share only explicitly nonwatching first deliveries in their exact pass. Unknown/watching lifecycles or unsupported withdrawal reject and evict them rather than invent persistent records or dependency closure.
|
|
77
69
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs and argument tags explain project scope, no-transform outcomes, cache epochs and per-build notification responsibilities with links to maintained reference context.
|
|
78
70
|
* @evidence contracts/performance.md#efficient-algorithms
|
|
79
71
|
* Selection/key construction pays ancestor/config/alias/option/path text work.
|
|
@@ -81,15 +73,18 @@ var prepareProjectRecordDirectories = require('./watch/prepareProjectRecordDirec
|
|
|
81
73
|
* replay source/project/external/universal proofs before selecting output.
|
|
82
74
|
* In-flight/valid completed reuse avoids compilation, not those checks or
|
|
83
75
|
* output/map/notification/record work. Capture misses pay whole native compile
|
|
84
|
-
* and input populations
|
|
76
|
+
* and input populations. The common proof owner skips redundant environment
|
|
77
|
+
* preparation for proven first deliveries and shares synchronous native proof
|
|
78
|
+
* queries; persistent/repeated delivery establishes fresh authority. Concurrent supersession can repeat the outer loop
|
|
85
79
|
* without a delivery-level retry/time bound here.
|
|
86
80
|
* @evidence contracts/performance.md#reuse-equivalent-work Cache identity covers config/options/plugins/aliases; current generations, pass-qualified terminal verdicts and in-flight Promises are shared only while their source and dependency proof remains valid.
|
|
87
81
|
* @evidence contracts/performance.md#bound-retention-and-release-resources
|
|
88
82
|
* Optional cache state retains current generation Promises/results and
|
|
89
83
|
* per-key dependency/case facts without a byte/key cap here. Native tasks
|
|
90
84
|
* belong to compiler/capture owners; uncached captures retain no notification
|
|
91
|
-
* or persistent clock probe. Fresh-only delivery
|
|
92
|
-
*
|
|
85
|
+
* or persistent clock probe. Fresh-only delivery releases capture resources,
|
|
86
|
+
* retaining only an explicitly admitted local pass result; rejected or failed
|
|
87
|
+
* incomplete handoff detaches its generation. Eviction/disposal attempt independent resource release
|
|
93
88
|
* and native failures need not close every handle or remove every probe.
|
|
94
89
|
* @evidence contracts/portability.md#os-neutral-implementation Native module paths and project coordinates use supported path/filesystem abstractions, while actual case policy and watcher capability come from generation proof rather than OS-name assumptions.
|
|
95
90
|
*/
|
|
@@ -190,16 +185,19 @@ async function transformTtsc(id, source, options, aliases, cache, hooks) {
|
|
|
190
185
|
if (!transformCacheTrustsNotifications.transformCacheTrustsNotifications(cache)) {
|
|
191
186
|
withdrawGenerationNotifications.withdrawGenerationNotifications(cached);
|
|
192
187
|
}
|
|
193
|
-
await preparePluginBuildEnvironments.preparePluginBuildEnvironments(cached.result, filesystem, cached);
|
|
194
|
-
if (cache?.get(key) !== transformed)
|
|
195
|
-
continue;
|
|
196
188
|
if (epoch === undefined) {
|
|
197
189
|
await settleProjectMutationEvents.settleProjectMutationEvents(cached);
|
|
198
190
|
if (cache?.get(key) !== transformed) {
|
|
199
191
|
continue;
|
|
200
192
|
}
|
|
201
193
|
}
|
|
194
|
+
await TtscGenerationProof.TtscGenerationProof.prepare(cached, file, epoch);
|
|
195
|
+
if (cache?.get(key) !== transformed)
|
|
196
|
+
continue;
|
|
197
|
+
// No await between this observation and synchronous admission.
|
|
198
|
+
const proof = TtscGenerationProof.TtscGenerationProof.create(cached, file, epoch);
|
|
202
199
|
const action = selectCachedGenerationAction.selectCachedGenerationAction({
|
|
200
|
+
proof,
|
|
203
201
|
cache,
|
|
204
202
|
cached,
|
|
205
203
|
epoch,
|
|
@@ -212,37 +210,17 @@ async function transformTtsc(id, source, options, aliases, cache, hooks) {
|
|
|
212
210
|
continue;
|
|
213
211
|
}
|
|
214
212
|
if (action === "serve") {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
catch (error) {
|
|
229
|
-
if (!(error instanceof TtscMissingProgramOutputError.TtscMissingProgramOutputError)) {
|
|
230
|
-
notifyFailedGenerationInputs.notifyFailedGenerationInputs(hooks, cached, file, watchSelection);
|
|
231
|
-
throw error;
|
|
232
|
-
}
|
|
233
|
-
// The compile is fine and simply has nothing for this module, so the
|
|
234
|
-
// module goes back to the host untransformed rather than failing the
|
|
235
|
-
// build (samchon/ttsc#1308). Its project config and selection inputs
|
|
236
|
-
// still decide whether a later generation will contain this module,
|
|
237
|
-
// so hosts must receive the same universal watch-input batch.
|
|
238
|
-
reportMissingProgramOutput.reportMissingProgramOutput(cached, error, epoch);
|
|
239
|
-
notifyWatchInputs.notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
240
|
-
markCachedSourceServed.markCachedSourceServed(cached, file);
|
|
241
|
-
return undefined;
|
|
242
|
-
}
|
|
243
|
-
notifyWatchInputs.notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
244
|
-
markCachedSourceServed.markCachedSourceServed(cached, file);
|
|
245
|
-
return createTransformResult.createTransformResult(file, source, output);
|
|
213
|
+
return deliverCachedTransform.deliverCachedTransform({
|
|
214
|
+
cache,
|
|
215
|
+
cached,
|
|
216
|
+
generation: transformed,
|
|
217
|
+
key,
|
|
218
|
+
epoch,
|
|
219
|
+
file,
|
|
220
|
+
source,
|
|
221
|
+
hooks,
|
|
222
|
+
selection: watchSelection,
|
|
223
|
+
});
|
|
246
224
|
}
|
|
247
225
|
transformed = undefined;
|
|
248
226
|
}
|
|
@@ -304,50 +282,17 @@ async function transformTtsc(id, source, options, aliases, cache, hooks) {
|
|
|
304
282
|
policies.set(key, reported);
|
|
305
283
|
}
|
|
306
284
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
hooks.markVolatile === undefined ||
|
|
319
|
-
(hooks.project?.watching !== undefined &&
|
|
320
|
-
hooks.project.watching !== hooks.watching))) {
|
|
321
|
-
throw new Error("@ttsc/unplugin: plugin input observation is unavailable; fresh output " +
|
|
322
|
-
"requires an explicitly nonwatching host with supported cache withdrawal. " +
|
|
323
|
-
"Watching, unknown or contradictory lifecycles cannot safely observe its changes.");
|
|
324
|
-
}
|
|
325
|
-
hooks?.markVolatile?.();
|
|
326
|
-
}
|
|
327
|
-
reportSuccessDiagnostics.reportSuccessDiagnostics(cached, epoch);
|
|
328
|
-
let output;
|
|
329
|
-
try {
|
|
330
|
-
output = selectOrEvict.selectOrEvict(cache, key, generation, epoch, {
|
|
331
|
-
file,
|
|
332
|
-
projectRoot,
|
|
333
|
-
result,
|
|
334
|
-
tsconfig: cached.tsconfig,
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
catch (error) {
|
|
338
|
-
if (!(error instanceof TtscMissingProgramOutputError.TtscMissingProgramOutputError)) {
|
|
339
|
-
notifyFailedGenerationInputs.notifyFailedGenerationInputs(hooks, cached, file, watchSelection);
|
|
340
|
-
throw error;
|
|
341
|
-
}
|
|
342
|
-
reportMissingProgramOutput.reportMissingProgramOutput(cached, error, epoch);
|
|
343
|
-
notifyWatchInputs.notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
344
|
-
markCachedSourceServed.markCachedSourceServed(cached, file);
|
|
345
|
-
return undefined;
|
|
346
|
-
}
|
|
347
|
-
notifyWatchInputs.notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
348
|
-
markCachedSourceServed.markCachedSourceServed(cached, file);
|
|
349
|
-
notifyVolatileDelivery.notifyVolatileDelivery(hooks, cached, file);
|
|
350
|
-
return createTransformResult.createTransformResult(file, source, output);
|
|
285
|
+
return deliverCachedTransform.deliverCachedTransform({
|
|
286
|
+
cache,
|
|
287
|
+
cached,
|
|
288
|
+
generation,
|
|
289
|
+
key,
|
|
290
|
+
epoch,
|
|
291
|
+
file,
|
|
292
|
+
source,
|
|
293
|
+
hooks,
|
|
294
|
+
selection: watchSelection,
|
|
295
|
+
});
|
|
351
296
|
}
|
|
352
297
|
}
|
|
353
298
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTtsc.js","sources":["../../../src/core/transform/transformTtsc.ts"],"sourcesContent":[null],"names":["transformFilesystem","stripQuery","isHostWrapperQuery","isDeclarationFile","pluginsAreDisabled","prepareProjectRecordDirectories","resolveProjectSelection","createAliasPaths","createTransformCacheKey","transformCacheEpoch","TERMINAL_TRANSFORM_GENERATIONS","TtscUnstableGenerationError","preparePluginBuildEnvironments","replaysTerminalGeneration","notifyRejectedGenerationInputs","evictGeneration","awaitOrEvict","TRANSFORM_RESULT_FILESYSTEM","transformCacheTrustsNotifications","withdrawGenerationNotifications","settleProjectMutationEvents","
|
|
1
|
+
{"version":3,"file":"transformTtsc.js","sources":["../../../src/core/transform/transformTtsc.ts"],"sourcesContent":[null],"names":["transformFilesystem","stripQuery","isHostWrapperQuery","isDeclarationFile","pluginsAreDisabled","prepareProjectRecordDirectories","resolveProjectSelection","createAliasPaths","createTransformCacheKey","transformCacheEpoch","TERMINAL_TRANSFORM_GENERATIONS","TtscUnstableGenerationError","preparePluginBuildEnvironments","replaysTerminalGeneration","notifyRejectedGenerationInputs","evictGeneration","awaitOrEvict","TRANSFORM_RESULT_FILESYSTEM","transformCacheTrustsNotifications","withdrawGenerationNotifications","settleProjectMutationEvents","TtscGenerationProof","selectCachedGenerationAction","deliverCachedTransform","transformProject","TRANSFORM_CACHE_SESSIONS","TRANSFORM_CACHE_CASE_POLICIES","TRANSFORM_CACHE_DEPENDENCY_WITNESSES"],"mappings":"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"}
|
|
@@ -6,34 +6,26 @@ import { TRANSFORM_CACHE_DEPENDENCY_WITNESSES } from './cache/TRANSFORM_CACHE_DE
|
|
|
6
6
|
import { TRANSFORM_RESULT_FILESYSTEM } from './cache/TRANSFORM_RESULT_FILESYSTEM.mjs';
|
|
7
7
|
import { awaitOrEvict } from './cache/awaitOrEvict.mjs';
|
|
8
8
|
import { createTransformCacheKey } from './cache/createTransformCacheKey.mjs';
|
|
9
|
-
import { disposeCachedTransform } from './cache/disposeCachedTransform.mjs';
|
|
10
9
|
import { evictGeneration } from './cache/evictGeneration.mjs';
|
|
11
10
|
import { replaysTerminalGeneration } from './cache/replaysTerminalGeneration.mjs';
|
|
12
11
|
import { selectCachedGenerationAction } from './cache/selectCachedGenerationAction.mjs';
|
|
13
|
-
import { selectOrEvict } from './cache/selectOrEvict.mjs';
|
|
14
12
|
import { transformCacheEpoch } from './cache/transformCacheEpoch.mjs';
|
|
15
13
|
import { transformCacheTrustsNotifications } from './cache/transformCacheTrustsNotifications.mjs';
|
|
16
14
|
import { transformFilesystem } from './cache/transformFilesystem.mjs';
|
|
17
15
|
import { withdrawGenerationNotifications } from './cache/withdrawGenerationNotifications.mjs';
|
|
18
|
-
import {
|
|
19
|
-
import { reportSuccessDiagnostics } from './diagnostics/reportSuccessDiagnostics.mjs';
|
|
20
|
-
import { TtscMissingProgramOutputError } from './errors/TtscMissingProgramOutputError.mjs';
|
|
16
|
+
import { deliverCachedTransform } from './deliverCachedTransform.mjs';
|
|
21
17
|
import { TtscUnstableGenerationError } from './errors/TtscUnstableGenerationError.mjs';
|
|
22
18
|
import { transformProject } from './generation/transformProject.mjs';
|
|
23
19
|
import { preparePluginBuildEnvironments } from './inputs/preparePluginBuildEnvironments.mjs';
|
|
24
20
|
import { TRANSFORM_CACHE_SESSIONS } from './session/TRANSFORM_CACHE_SESSIONS.mjs';
|
|
25
21
|
import { settleProjectMutationEvents } from './tracker/settleProjectMutationEvents.mjs';
|
|
26
22
|
import { resolveProjectSelection } from './tsconfig/resolveProjectSelection.mjs';
|
|
27
|
-
import { createTransformResult } from './utils/createTransformResult.mjs';
|
|
28
23
|
import { isDeclarationFile } from './utils/isDeclarationFile.mjs';
|
|
29
24
|
import { isHostWrapperQuery } from './utils/isHostWrapperQuery.mjs';
|
|
30
25
|
import { pluginsAreDisabled } from './utils/pluginsAreDisabled.mjs';
|
|
31
26
|
import { stripQuery } from './utils/stripQuery.mjs';
|
|
32
|
-
import {
|
|
33
|
-
import { notifyFailedGenerationInputs } from './watch/notifyFailedGenerationInputs.mjs';
|
|
27
|
+
import { TtscGenerationProof } from './validation/TtscGenerationProof.mjs';
|
|
34
28
|
import { notifyRejectedGenerationInputs } from './watch/notifyRejectedGenerationInputs.mjs';
|
|
35
|
-
import { notifyVolatileDelivery } from './watch/notifyVolatileDelivery.mjs';
|
|
36
|
-
import { notifyWatchInputs } from './watch/notifyWatchInputs.mjs';
|
|
37
29
|
import { prepareProjectRecordDirectories } from './watch/prepareProjectRecordDirectories.mjs';
|
|
38
30
|
|
|
39
31
|
/**
|
|
@@ -71,7 +63,7 @@ import { prepareProjectRecordDirectories } from './watch/prepareProjectRecordDir
|
|
|
71
63
|
* per build, not per compilation.
|
|
72
64
|
* @evidence contracts/common.md#principled-implementation Project selection and generation-qualified cache admission preserve compiler disk authority; fresh-only success additionally needs an explicit nonwatching lifecycle, coherent project declaration and actual host-cache withdrawal, because incomplete observation cannot support watch invalidation.
|
|
73
65
|
* @evidence contracts/common.md#clear-and-simple-design One delivery coordinator composes project selection, cache admission, compilation, output selection and host notifications; dedicated owners handle proof and lifetime internals.
|
|
74
|
-
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines
|
|
66
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Wrapper modules cannot poison source baselines; incomplete local results can share only explicitly nonwatching first deliveries in their exact pass. Unknown/watching lifecycles or unsupported withdrawal reject and evict them rather than invent persistent records or dependency closure.
|
|
75
67
|
* @evidence contracts/common.md#meaningful-documentation Native paragraphs and argument tags explain project scope, no-transform outcomes, cache epochs and per-build notification responsibilities with links to maintained reference context.
|
|
76
68
|
* @evidence contracts/performance.md#efficient-algorithms
|
|
77
69
|
* Selection/key construction pays ancestor/config/alias/option/path text work.
|
|
@@ -79,15 +71,18 @@ import { prepareProjectRecordDirectories } from './watch/prepareProjectRecordDir
|
|
|
79
71
|
* replay source/project/external/universal proofs before selecting output.
|
|
80
72
|
* In-flight/valid completed reuse avoids compilation, not those checks or
|
|
81
73
|
* output/map/notification/record work. Capture misses pay whole native compile
|
|
82
|
-
* and input populations
|
|
74
|
+
* and input populations. The common proof owner skips redundant environment
|
|
75
|
+
* preparation for proven first deliveries and shares synchronous native proof
|
|
76
|
+
* queries; persistent/repeated delivery establishes fresh authority. Concurrent supersession can repeat the outer loop
|
|
83
77
|
* without a delivery-level retry/time bound here.
|
|
84
78
|
* @evidence contracts/performance.md#reuse-equivalent-work Cache identity covers config/options/plugins/aliases; current generations, pass-qualified terminal verdicts and in-flight Promises are shared only while their source and dependency proof remains valid.
|
|
85
79
|
* @evidence contracts/performance.md#bound-retention-and-release-resources
|
|
86
80
|
* Optional cache state retains current generation Promises/results and
|
|
87
81
|
* per-key dependency/case facts without a byte/key cap here. Native tasks
|
|
88
82
|
* belong to compiler/capture owners; uncached captures retain no notification
|
|
89
|
-
* or persistent clock probe. Fresh-only delivery
|
|
90
|
-
*
|
|
83
|
+
* or persistent clock probe. Fresh-only delivery releases capture resources,
|
|
84
|
+
* retaining only an explicitly admitted local pass result; rejected or failed
|
|
85
|
+
* incomplete handoff detaches its generation. Eviction/disposal attempt independent resource release
|
|
91
86
|
* and native failures need not close every handle or remove every probe.
|
|
92
87
|
* @evidence contracts/portability.md#os-neutral-implementation Native module paths and project coordinates use supported path/filesystem abstractions, while actual case policy and watcher capability come from generation proof rather than OS-name assumptions.
|
|
93
88
|
*/
|
|
@@ -188,16 +183,19 @@ async function transformTtsc(id, source, options, aliases, cache, hooks) {
|
|
|
188
183
|
if (!transformCacheTrustsNotifications(cache)) {
|
|
189
184
|
withdrawGenerationNotifications(cached);
|
|
190
185
|
}
|
|
191
|
-
await preparePluginBuildEnvironments(cached.result, filesystem, cached);
|
|
192
|
-
if (cache?.get(key) !== transformed)
|
|
193
|
-
continue;
|
|
194
186
|
if (epoch === undefined) {
|
|
195
187
|
await settleProjectMutationEvents(cached);
|
|
196
188
|
if (cache?.get(key) !== transformed) {
|
|
197
189
|
continue;
|
|
198
190
|
}
|
|
199
191
|
}
|
|
192
|
+
await TtscGenerationProof.prepare(cached, file, epoch);
|
|
193
|
+
if (cache?.get(key) !== transformed)
|
|
194
|
+
continue;
|
|
195
|
+
// No await between this observation and synchronous admission.
|
|
196
|
+
const proof = TtscGenerationProof.create(cached, file, epoch);
|
|
200
197
|
const action = selectCachedGenerationAction({
|
|
198
|
+
proof,
|
|
201
199
|
cache,
|
|
202
200
|
cached,
|
|
203
201
|
epoch,
|
|
@@ -210,37 +208,17 @@ async function transformTtsc(id, source, options, aliases, cache, hooks) {
|
|
|
210
208
|
continue;
|
|
211
209
|
}
|
|
212
210
|
if (action === "serve") {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
if (!(error instanceof TtscMissingProgramOutputError)) {
|
|
228
|
-
notifyFailedGenerationInputs(hooks, cached, file, watchSelection);
|
|
229
|
-
throw error;
|
|
230
|
-
}
|
|
231
|
-
// The compile is fine and simply has nothing for this module, so the
|
|
232
|
-
// module goes back to the host untransformed rather than failing the
|
|
233
|
-
// build (samchon/ttsc#1308). Its project config and selection inputs
|
|
234
|
-
// still decide whether a later generation will contain this module,
|
|
235
|
-
// so hosts must receive the same universal watch-input batch.
|
|
236
|
-
reportMissingProgramOutput(cached, error, epoch);
|
|
237
|
-
notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
238
|
-
markCachedSourceServed(cached, file);
|
|
239
|
-
return undefined;
|
|
240
|
-
}
|
|
241
|
-
notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
242
|
-
markCachedSourceServed(cached, file);
|
|
243
|
-
return createTransformResult(file, source, output);
|
|
211
|
+
return deliverCachedTransform({
|
|
212
|
+
cache,
|
|
213
|
+
cached,
|
|
214
|
+
generation: transformed,
|
|
215
|
+
key,
|
|
216
|
+
epoch,
|
|
217
|
+
file,
|
|
218
|
+
source,
|
|
219
|
+
hooks,
|
|
220
|
+
selection: watchSelection,
|
|
221
|
+
});
|
|
244
222
|
}
|
|
245
223
|
transformed = undefined;
|
|
246
224
|
}
|
|
@@ -302,50 +280,17 @@ async function transformTtsc(id, source, options, aliases, cache, hooks) {
|
|
|
302
280
|
policies.set(key, reported);
|
|
303
281
|
}
|
|
304
282
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
hooks.markVolatile === undefined ||
|
|
317
|
-
(hooks.project?.watching !== undefined &&
|
|
318
|
-
hooks.project.watching !== hooks.watching))) {
|
|
319
|
-
throw new Error("@ttsc/unplugin: plugin input observation is unavailable; fresh output " +
|
|
320
|
-
"requires an explicitly nonwatching host with supported cache withdrawal. " +
|
|
321
|
-
"Watching, unknown or contradictory lifecycles cannot safely observe its changes.");
|
|
322
|
-
}
|
|
323
|
-
hooks?.markVolatile?.();
|
|
324
|
-
}
|
|
325
|
-
reportSuccessDiagnostics(cached, epoch);
|
|
326
|
-
let output;
|
|
327
|
-
try {
|
|
328
|
-
output = selectOrEvict(cache, key, generation, epoch, {
|
|
329
|
-
file,
|
|
330
|
-
projectRoot,
|
|
331
|
-
result,
|
|
332
|
-
tsconfig: cached.tsconfig,
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
catch (error) {
|
|
336
|
-
if (!(error instanceof TtscMissingProgramOutputError)) {
|
|
337
|
-
notifyFailedGenerationInputs(hooks, cached, file, watchSelection);
|
|
338
|
-
throw error;
|
|
339
|
-
}
|
|
340
|
-
reportMissingProgramOutput(cached, error, epoch);
|
|
341
|
-
notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
342
|
-
markCachedSourceServed(cached, file);
|
|
343
|
-
return undefined;
|
|
344
|
-
}
|
|
345
|
-
notifyWatchInputs(hooks, cached, file, watchSelection);
|
|
346
|
-
markCachedSourceServed(cached, file);
|
|
347
|
-
notifyVolatileDelivery(hooks, cached, file);
|
|
348
|
-
return createTransformResult(file, source, output);
|
|
283
|
+
return deliverCachedTransform({
|
|
284
|
+
cache,
|
|
285
|
+
cached,
|
|
286
|
+
generation,
|
|
287
|
+
key,
|
|
288
|
+
epoch,
|
|
289
|
+
file,
|
|
290
|
+
source,
|
|
291
|
+
hooks,
|
|
292
|
+
selection: watchSelection,
|
|
293
|
+
});
|
|
349
294
|
}
|
|
350
295
|
}
|
|
351
296
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTtsc.mjs","sources":["../../../src/core/transform/transformTtsc.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transformTtsc.mjs","sources":["../../../src/core/transform/transformTtsc.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|