@ttsc/unplugin 0.34.1 → 0.34.2
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/README.md +1 -0
- package/lib/api.js +4 -0
- package/lib/api.js.map +1 -1
- package/lib/api.mjs +2 -0
- package/lib/api.mjs.map +1 -1
- package/lib/core/bridge/TtscProjectRecord.d.cts +4 -1
- package/lib/core/bridge/TtscProjectRecord.d.mts +4 -1
- package/lib/core/bridge/TtscProjectRecord.d.ts +4 -1
- package/lib/core/bridge/projectRecordArgumentsMatch.d.cts +18 -0
- package/lib/core/bridge/projectRecordArgumentsMatch.d.mts +18 -0
- package/lib/core/bridge/projectRecordArgumentsMatch.d.ts +18 -0
- package/lib/core/bridge/projectRecordArgumentsMatch.js +36 -0
- package/lib/core/bridge/projectRecordArgumentsMatch.js.map +1 -0
- package/lib/core/bridge/projectRecordArgumentsMatch.mjs +34 -0
- package/lib/core/bridge/projectRecordArgumentsMatch.mjs.map +1 -0
- package/lib/core/bridge/projectRecordMoved.d.cts +14 -12
- package/lib/core/bridge/projectRecordMoved.d.mts +14 -12
- package/lib/core/bridge/projectRecordMoved.d.ts +14 -12
- package/lib/core/bridge/projectRecordMoved.js +17 -12
- package/lib/core/bridge/projectRecordMoved.js.map +1 -1
- package/lib/core/bridge/projectRecordMoved.mjs +17 -12
- package/lib/core/bridge/projectRecordMoved.mjs.map +1 -1
- package/lib/core/bridge/readProjectRecordFile.d.cts +4 -3
- package/lib/core/bridge/readProjectRecordFile.d.mts +4 -3
- package/lib/core/bridge/readProjectRecordFile.d.ts +4 -3
- package/lib/core/bridge/readProjectRecordFile.js +26 -3
- package/lib/core/bridge/readProjectRecordFile.js.map +1 -1
- package/lib/core/bridge/readProjectRecordFile.mjs +26 -3
- package/lib/core/bridge/readProjectRecordFile.mjs.map +1 -1
- package/lib/core/bridge/refreshProjectRecordFile.d.cts +3 -2
- package/lib/core/bridge/refreshProjectRecordFile.d.mts +3 -2
- package/lib/core/bridge/refreshProjectRecordFile.d.ts +3 -2
- package/lib/core/bridge/refreshProjectRecordFile.js +9 -3
- package/lib/core/bridge/refreshProjectRecordFile.js.map +1 -1
- package/lib/core/bridge/refreshProjectRecordFile.mjs +9 -3
- package/lib/core/bridge/refreshProjectRecordFile.mjs.map +1 -1
- package/lib/core/bridge/refreshProjectRecordFiles.d.cts +1 -1
- package/lib/core/bridge/refreshProjectRecordFiles.d.mts +1 -1
- package/lib/core/bridge/refreshProjectRecordFiles.d.ts +1 -1
- package/lib/core/bridge/refreshProjectRecordFiles.js +2 -2
- package/lib/core/bridge/refreshProjectRecordFiles.js.map +1 -1
- package/lib/core/bridge/refreshProjectRecordFiles.mjs +2 -2
- package/lib/core/bridge/refreshProjectRecordFiles.mjs.map +1 -1
- package/lib/core/index.d.cts +2 -0
- package/lib/core/index.d.mts +2 -0
- package/lib/core/index.d.ts +2 -0
- package/lib/core/index.js +4 -0
- package/lib/core/index.js.map +1 -1
- package/lib/core/index.mjs +2 -0
- package/lib/core/index.mjs.map +1 -1
- package/lib/core/next/next.js +5 -2
- package/lib/core/next/next.js.map +1 -1
- package/lib/core/next/next.mjs +5 -2
- package/lib/core/next/next.mjs.map +1 -1
- package/lib/core/options/ResolvedTtscUnpluginOptions.d.cts +2 -0
- package/lib/core/options/ResolvedTtscUnpluginOptions.d.mts +2 -0
- package/lib/core/options/ResolvedTtscUnpluginOptions.d.ts +2 -0
- package/lib/core/options/TtscUnpluginOptions.d.cts +8 -0
- package/lib/core/options/TtscUnpluginOptions.d.mts +8 -0
- package/lib/core/options/TtscUnpluginOptions.d.ts +8 -0
- package/lib/core/options/resolveOptions.d.cts +4 -3
- package/lib/core/options/resolveOptions.d.mts +4 -3
- package/lib/core/options/resolveOptions.d.ts +4 -3
- package/lib/core/options/resolveOptions.js +5 -3
- package/lib/core/options/resolveOptions.js.map +1 -1
- package/lib/core/options/resolveOptions.mjs +5 -3
- package/lib/core/options/resolveOptions.mjs.map +1 -1
- package/lib/core/rollup/rollupDeliveryOptions.d.cts +6 -6
- package/lib/core/rollup/rollupDeliveryOptions.d.mts +6 -6
- package/lib/core/rollup/rollupDeliveryOptions.d.ts +6 -6
- package/lib/core/rollup/rollupDeliveryOptions.js +9 -6
- package/lib/core/rollup/rollupDeliveryOptions.js.map +1 -1
- package/lib/core/rollup/rollupDeliveryOptions.mjs +9 -6
- package/lib/core/rollup/rollupDeliveryOptions.mjs.map +1 -1
- package/lib/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.d.cts +10 -0
- package/lib/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.d.mts +10 -0
- package/lib/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.d.ts +10 -0
- package/lib/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.js +13 -0
- package/lib/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.js.map +1 -0
- package/lib/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.mjs +11 -0
- package/lib/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.mjs.map +1 -0
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.cts +6 -0
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.mts +6 -0
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.ts +6 -0
- package/lib/core/transform/cache/createTransformCacheKey.d.cts +11 -8
- package/lib/core/transform/cache/createTransformCacheKey.d.mts +11 -8
- package/lib/core/transform/cache/createTransformCacheKey.d.ts +11 -8
- package/lib/core/transform/cache/createTransformCacheKey.js +11 -8
- package/lib/core/transform/cache/createTransformCacheKey.js.map +1 -1
- package/lib/core/transform/cache/createTransformCacheKey.mjs +11 -8
- package/lib/core/transform/cache/createTransformCacheKey.mjs.map +1 -1
- package/lib/core/transform/generation/TtscCompilerMembershipHint.d.cts +20 -0
- package/lib/core/transform/generation/TtscCompilerMembershipHint.d.mts +20 -0
- package/lib/core/transform/generation/TtscCompilerMembershipHint.d.ts +20 -0
- package/lib/core/transform/generation/applyCompilerMembership.d.cts +15 -0
- package/lib/core/transform/generation/applyCompilerMembership.d.mts +15 -0
- package/lib/core/transform/generation/applyCompilerMembership.d.ts +15 -0
- package/lib/core/transform/generation/applyCompilerMembership.js +41 -0
- package/lib/core/transform/generation/applyCompilerMembership.js.map +1 -0
- package/lib/core/transform/generation/applyCompilerMembership.mjs +39 -0
- package/lib/core/transform/generation/applyCompilerMembership.mjs.map +1 -0
- package/lib/core/transform/generation/captureTransformGeneration.d.cts +7 -0
- package/lib/core/transform/generation/captureTransformGeneration.d.mts +7 -0
- package/lib/core/transform/generation/captureTransformGeneration.d.ts +7 -0
- package/lib/core/transform/generation/captureTransformGeneration.js +20 -7
- package/lib/core/transform/generation/captureTransformGeneration.js.map +1 -1
- package/lib/core/transform/generation/captureTransformGeneration.mjs +20 -7
- package/lib/core/transform/generation/captureTransformGeneration.mjs.map +1 -1
- package/lib/core/transform/generation/onlyLearnedCompileFacts.d.cts +5 -5
- package/lib/core/transform/generation/onlyLearnedCompileFacts.d.mts +5 -5
- package/lib/core/transform/generation/onlyLearnedCompileFacts.d.ts +5 -5
- package/lib/core/transform/generation/onlyLearnedCompileFacts.js +7 -5
- package/lib/core/transform/generation/onlyLearnedCompileFacts.js.map +1 -1
- package/lib/core/transform/generation/onlyLearnedCompileFacts.mjs +7 -5
- package/lib/core/transform/generation/onlyLearnedCompileFacts.mjs.map +1 -1
- package/lib/core/transform/generation/primeCompilerMembership.d.cts +22 -0
- package/lib/core/transform/generation/primeCompilerMembership.d.mts +22 -0
- package/lib/core/transform/generation/primeCompilerMembership.d.ts +22 -0
- package/lib/core/transform/generation/primeCompilerMembership.js +32 -0
- package/lib/core/transform/generation/primeCompilerMembership.js.map +1 -0
- package/lib/core/transform/generation/primeCompilerMembership.mjs +30 -0
- package/lib/core/transform/generation/primeCompilerMembership.mjs.map +1 -0
- package/lib/core/transform/generation/selectReportedMembershipPolicy.d.cts +7 -7
- package/lib/core/transform/generation/selectReportedMembershipPolicy.d.mts +7 -7
- package/lib/core/transform/generation/selectReportedMembershipPolicy.d.ts +7 -7
- package/lib/core/transform/generation/selectReportedMembershipPolicy.js +43 -9
- package/lib/core/transform/generation/selectReportedMembershipPolicy.js.map +1 -1
- package/lib/core/transform/generation/selectReportedMembershipPolicy.mjs +43 -9
- package/lib/core/transform/generation/selectReportedMembershipPolicy.mjs.map +1 -1
- package/lib/core/transform/generation/transformProject.d.cts +7 -0
- package/lib/core/transform/generation/transformProject.d.mts +7 -0
- package/lib/core/transform/generation/transformProject.d.ts +7 -0
- package/lib/core/transform/generation/transformProject.js +3 -0
- package/lib/core/transform/generation/transformProject.js.map +1 -1
- package/lib/core/transform/generation/transformProject.mjs +3 -0
- package/lib/core/transform/generation/transformProject.mjs.map +1 -1
- package/lib/core/transform/project/isPossibleProgramFileName.d.cts +13 -11
- package/lib/core/transform/project/isPossibleProgramFileName.d.mts +13 -11
- package/lib/core/transform/project/isPossibleProgramFileName.d.ts +13 -11
- package/lib/core/transform/project/isPossibleProgramFileName.js +21 -13
- package/lib/core/transform/project/isPossibleProgramFileName.js.map +1 -1
- package/lib/core/transform/project/isPossibleProgramFileName.mjs +21 -13
- package/lib/core/transform/project/isPossibleProgramFileName.mjs.map +1 -1
- package/lib/core/transform/session/sharedCompileIdentity.d.cts +8 -5
- package/lib/core/transform/session/sharedCompileIdentity.d.mts +8 -5
- package/lib/core/transform/session/sharedCompileIdentity.d.ts +8 -5
- package/lib/core/transform/session/sharedCompileIdentity.js +8 -5
- package/lib/core/transform/session/sharedCompileIdentity.js.map +1 -1
- package/lib/core/transform/session/sharedCompileIdentity.mjs +8 -5
- package/lib/core/transform/session/sharedCompileIdentity.mjs.map +1 -1
- package/lib/core/transform/transformTtsc.js +18 -0
- package/lib/core/transform/transformTtsc.js.map +1 -1
- package/lib/core/transform/transformTtsc.mjs +18 -0
- package/lib/core/transform/transformTtsc.mjs.map +1 -1
- package/lib/core/transform/tsconfig/TtscCompilerArgumentsWitness.d.cts +19 -0
- package/lib/core/transform/tsconfig/TtscCompilerArgumentsWitness.d.mts +19 -0
- package/lib/core/transform/tsconfig/TtscCompilerArgumentsWitness.d.ts +19 -0
- package/lib/core/transform/tsconfig/captureCompilerArguments.d.cts +14 -0
- package/lib/core/transform/tsconfig/captureCompilerArguments.d.mts +14 -0
- package/lib/core/transform/tsconfig/captureCompilerArguments.d.ts +14 -0
- package/lib/core/transform/tsconfig/captureCompilerArguments.js +26 -0
- package/lib/core/transform/tsconfig/captureCompilerArguments.js.map +1 -0
- package/lib/core/transform/tsconfig/captureCompilerArguments.mjs +24 -0
- package/lib/core/transform/tsconfig/captureCompilerArguments.mjs.map +1 -0
- package/lib/core/transform/tsconfig/compilerEnvironmentIdentity.d.cts +13 -0
- package/lib/core/transform/tsconfig/compilerEnvironmentIdentity.d.mts +13 -0
- package/lib/core/transform/tsconfig/compilerEnvironmentIdentity.d.ts +13 -0
- package/lib/core/transform/tsconfig/compilerEnvironmentIdentity.js +23 -0
- package/lib/core/transform/tsconfig/compilerEnvironmentIdentity.js.map +1 -0
- package/lib/core/transform/tsconfig/compilerEnvironmentIdentity.mjs +21 -0
- package/lib/core/transform/tsconfig/compilerEnvironmentIdentity.mjs.map +1 -0
- package/lib/core/transform/tsconfig/resolveCompilerEnvironment.d.cts +17 -0
- package/lib/core/transform/tsconfig/resolveCompilerEnvironment.d.mts +17 -0
- package/lib/core/transform/tsconfig/resolveCompilerEnvironment.d.ts +17 -0
- package/lib/core/transform/tsconfig/resolveCompilerEnvironment.js +57 -0
- package/lib/core/transform/tsconfig/resolveCompilerEnvironment.js.map +1 -0
- package/lib/core/transform/tsconfig/resolveCompilerEnvironment.mjs +55 -0
- package/lib/core/transform/tsconfig/resolveCompilerEnvironment.mjs.map +1 -0
- package/lib/core/transform/tsconfig/transformScratchEnvironment.d.cts +6 -6
- package/lib/core/transform/tsconfig/transformScratchEnvironment.d.mts +6 -6
- package/lib/core/transform/tsconfig/transformScratchEnvironment.d.ts +6 -6
- package/lib/core/transform/tsconfig/transformScratchEnvironment.js +7 -7
- package/lib/core/transform/tsconfig/transformScratchEnvironment.js.map +1 -1
- package/lib/core/transform/tsconfig/transformScratchEnvironment.mjs +7 -7
- package/lib/core/transform/tsconfig/transformScratchEnvironment.mjs.map +1 -1
- package/lib/core/transform/watch/notifyProjectRecord.js +3 -0
- package/lib/core/transform/watch/notifyProjectRecord.js.map +1 -1
- package/lib/core/transform/watch/notifyProjectRecord.mjs +3 -0
- package/lib/core/transform/watch/notifyProjectRecord.mjs.map +1 -1
- package/lib/core/tsconfig/ITtscProjectMembershipPolicy.d.cts +14 -1
- package/lib/core/tsconfig/ITtscProjectMembershipPolicy.d.mts +14 -1
- package/lib/core/tsconfig/ITtscProjectMembershipPolicy.d.ts +14 -1
- package/lib/core/tsconfig/mergeMembershipPolicyOverlay.d.cts +4 -3
- package/lib/core/tsconfig/mergeMembershipPolicyOverlay.d.mts +4 -3
- package/lib/core/tsconfig/mergeMembershipPolicyOverlay.d.ts +4 -3
- package/lib/core/tsconfig/mergeMembershipPolicyOverlay.js +36 -6
- package/lib/core/tsconfig/mergeMembershipPolicyOverlay.js.map +1 -1
- package/lib/core/tsconfig/mergeMembershipPolicyOverlay.mjs +36 -6
- package/lib/core/tsconfig/mergeMembershipPolicyOverlay.mjs.map +1 -1
- package/lib/core/tsconfig/readProjectMembershipPolicy.d.cts +3 -2
- package/lib/core/tsconfig/readProjectMembershipPolicy.d.mts +3 -2
- package/lib/core/tsconfig/readProjectMembershipPolicy.d.ts +3 -2
- package/lib/core/tsconfig/readProjectMembershipPolicy.js +49 -15
- package/lib/core/tsconfig/readProjectMembershipPolicy.js.map +1 -1
- package/lib/core/tsconfig/readProjectMembershipPolicy.mjs +49 -15
- package/lib/core/tsconfig/readProjectMembershipPolicy.mjs.map +1 -1
- package/lib/core/tsconfig/resolveMembershipInputExtensions.d.cts +16 -0
- package/lib/core/tsconfig/resolveMembershipInputExtensions.d.mts +16 -0
- package/lib/core/tsconfig/resolveMembershipInputExtensions.d.ts +16 -0
- package/lib/core/tsconfig/resolveMembershipInputExtensions.js +45 -0
- package/lib/core/tsconfig/resolveMembershipInputExtensions.js.map +1 -0
- package/lib/core/tsconfig/resolveMembershipInputExtensions.mjs +43 -0
- package/lib/core/tsconfig/resolveMembershipInputExtensions.mjs.map +1 -0
- package/lib/core/turbopack/turbopack.d.cts +2 -2
- package/lib/core/turbopack/turbopack.d.mts +2 -2
- package/lib/core/turbopack/turbopack.d.ts +2 -2
- package/lib/core/turbopack/turbopack.js +15 -7
- package/lib/core/turbopack/turbopack.js.map +1 -1
- package/lib/core/turbopack/turbopack.mjs +15 -7
- package/lib/core/turbopack/turbopack.mjs.map +1 -1
- package/lib/core/unplugin.js +21 -8
- package/lib/core/unplugin.js.map +1 -1
- package/lib/core/unplugin.mjs +21 -8
- package/lib/core/unplugin.mjs.map +1 -1
- package/package.json +3 -3
- package/src/core/bridge/TtscProjectRecord.ts +4 -1
- package/src/core/bridge/projectRecordArgumentsMatch.ts +37 -0
- package/src/core/bridge/projectRecordMoved.ts +17 -11
- package/src/core/bridge/readProjectRecordFile.ts +39 -3
- package/src/core/bridge/refreshProjectRecordFile.ts +9 -2
- package/src/core/bridge/refreshProjectRecordFiles.ts +7 -1
- package/src/core/index.ts +2 -0
- package/src/core/next/next.ts +18 -2
- package/src/core/options/ResolvedTtscUnpluginOptions.ts +3 -0
- package/src/core/options/TtscUnpluginOptions.ts +9 -0
- package/src/core/options/resolveOptions.ts +5 -3
- package/src/core/rollup/rollupDeliveryOptions.ts +9 -5
- package/src/core/transform/cache/TRANSFORM_CACHE_MEMBERSHIP_POLICIES.ts +14 -0
- package/src/core/transform/cache/TtscCachedProjectTransform.ts +7 -0
- package/src/core/transform/cache/createTransformCacheKey.ts +13 -8
- package/src/core/transform/generation/TtscCompilerMembershipHint.ts +24 -0
- package/src/core/transform/generation/applyCompilerMembership.ts +44 -0
- package/src/core/transform/generation/captureTransformGeneration.ts +43 -10
- package/src/core/transform/generation/onlyLearnedCompileFacts.ts +7 -5
- package/src/core/transform/generation/primeCompilerMembership.ts +39 -0
- package/src/core/transform/generation/selectReportedMembershipPolicy.ts +59 -13
- package/src/core/transform/generation/transformProject.ts +12 -0
- package/src/core/transform/project/isPossibleProgramFileName.ts +28 -15
- package/src/core/transform/session/sharedCompileIdentity.ts +10 -5
- package/src/core/transform/transformTtsc.ts +21 -0
- package/src/core/transform/tsconfig/TtscCompilerArgumentsWitness.ts +19 -0
- package/src/core/transform/tsconfig/captureCompilerArguments.ts +25 -0
- package/src/core/transform/tsconfig/compilerEnvironmentIdentity.ts +20 -0
- package/src/core/transform/tsconfig/resolveCompilerEnvironment.ts +61 -0
- package/src/core/transform/tsconfig/transformScratchEnvironment.ts +7 -6
- package/src/core/transform/watch/notifyProjectRecord.ts +3 -0
- package/src/core/tsconfig/ITtscProjectMembershipPolicy.ts +15 -1
- package/src/core/tsconfig/mergeMembershipPolicyOverlay.ts +31 -6
- package/src/core/tsconfig/readProjectMembershipPolicy.ts +61 -17
- package/src/core/tsconfig/resolveMembershipInputExtensions.ts +45 -0
- package/src/core/turbopack/turbopack.ts +27 -7
- package/src/core/unplugin.ts +34 -9
package/README.md
CHANGED
|
@@ -346,6 +346,7 @@ const options: TtscUnpluginOptions = {
|
|
|
346
346
|
|
|
347
347
|
- `project`: path to the `tsconfig.json` used by the bundler. When omitted, each file starts from its nearest `tsconfig.json`. A solution config that admits no files itself, one with `"files": []` and `references` such as the create-vite `react-ts` template's, is followed to the first referenced project that admits the file.
|
|
348
348
|
- `compilerOptions`: temporary override layered on the selected project config.
|
|
349
|
+
- `runExternalCode`: invocation-scoped permission for TypeScript 7.1 content mappers; see the [bundler guide](https://ttsc.dev/docs/setup/unplugin/).
|
|
349
350
|
- `plugins`: direct `ttsc` plugin list override, or `false` to disable plugins.
|
|
350
351
|
|
|
351
352
|
#### Path Aliases
|
package/lib/api.js
CHANGED
|
@@ -20,6 +20,8 @@ var collectProjectInputHashes = require('./core/transform/project/collectProject
|
|
|
20
20
|
var collectProjectInputHashSnapshot = require('./core/transform/project/collectProjectInputHashSnapshot.js');
|
|
21
21
|
var isProjectWalkPath = require('./core/transform/project/isProjectWalkPath.js');
|
|
22
22
|
var transformTtsc = require('./core/transform/transformTtsc.js');
|
|
23
|
+
var compilerEnvironmentIdentity = require('./core/transform/tsconfig/compilerEnvironmentIdentity.js');
|
|
24
|
+
var resolveCompilerEnvironment = require('./core/transform/tsconfig/resolveCompilerEnvironment.js');
|
|
23
25
|
var captureWatchInputBaseline = require('./core/transform/watch/captureWatchInputBaseline.js');
|
|
24
26
|
var captureWatchInputFileBaseline = require('./core/transform/watch/captureWatchInputFileBaseline.js');
|
|
25
27
|
var isWatchInputKeyBaseline = require('./core/transform/watch/isWatchInputKeyBaseline.js');
|
|
@@ -56,6 +58,8 @@ exports.collectProjectInputHashes = collectProjectInputHashes.collectProjectInpu
|
|
|
56
58
|
exports.collectProjectInputHashSnapshot = collectProjectInputHashSnapshot.collectProjectInputHashSnapshot;
|
|
57
59
|
exports.isProjectWalkPath = isProjectWalkPath.isProjectWalkPath;
|
|
58
60
|
exports.transformTtsc = transformTtsc.transformTtsc;
|
|
61
|
+
exports.compilerEnvironmentIdentity = compilerEnvironmentIdentity.compilerEnvironmentIdentity;
|
|
62
|
+
exports.resolveCompilerEnvironment = resolveCompilerEnvironment.resolveCompilerEnvironment;
|
|
59
63
|
exports.captureWatchInputBaseline = captureWatchInputBaseline.captureWatchInputBaseline;
|
|
60
64
|
exports.captureWatchInputFileBaseline = captureWatchInputFileBaseline.captureWatchInputFileBaseline;
|
|
61
65
|
exports.isWatchInputKeyBaseline = isWatchInputKeyBaseline.isWatchInputKeyBaseline;
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/api.mjs
CHANGED
|
@@ -18,6 +18,8 @@ export { collectProjectInputHashes } from './core/transform/project/collectProje
|
|
|
18
18
|
export { collectProjectInputHashSnapshot } from './core/transform/project/collectProjectInputHashSnapshot.mjs';
|
|
19
19
|
export { isProjectWalkPath } from './core/transform/project/isProjectWalkPath.mjs';
|
|
20
20
|
export { transformTtsc } from './core/transform/transformTtsc.mjs';
|
|
21
|
+
export { compilerEnvironmentIdentity } from './core/transform/tsconfig/compilerEnvironmentIdentity.mjs';
|
|
22
|
+
export { resolveCompilerEnvironment } from './core/transform/tsconfig/resolveCompilerEnvironment.mjs';
|
|
21
23
|
export { captureWatchInputBaseline } from './core/transform/watch/captureWatchInputBaseline.mjs';
|
|
22
24
|
export { captureWatchInputFileBaseline } from './core/transform/watch/captureWatchInputFileBaseline.mjs';
|
|
23
25
|
export { isWatchInputKeyBaseline } from './core/transform/watch/isWatchInputKeyBaseline.mjs';
|
package/lib/api.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TtscCompilerArgumentsWitness } from "../transform/tsconfig/TtscCompilerArgumentsWitness.cjs";
|
|
1
2
|
import type { TtscWatchInputEvidence } from "../transform/watch/TtscWatchInputEvidence.cjs";
|
|
2
3
|
import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembershipPolicy.cjs";
|
|
3
4
|
/**
|
|
@@ -19,7 +20,7 @@ import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembe
|
|
|
19
20
|
* (`refreshProjectRecordFiles`).
|
|
20
21
|
*
|
|
21
22
|
* @evidence contracts/common.md#principled-implementation
|
|
22
|
-
*
|
|
23
|
+
* The optional captured invocation, input evidence and separate membership policy express the generation's
|
|
23
24
|
* file/predicate and root-population dependencies; signal changes record bytes
|
|
24
25
|
* without claiming that an observer already owns a new generation.
|
|
25
26
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
@@ -48,6 +49,8 @@ import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembe
|
|
|
48
49
|
* and independently imposes no population or byte bound.
|
|
49
50
|
*/
|
|
50
51
|
export interface TtscProjectRecord {
|
|
52
|
+
/** Captured invocation; older records without it require a fresh delivery. */
|
|
53
|
+
compilerArguments?: TtscCompilerArgumentsWitness;
|
|
51
54
|
/**
|
|
52
55
|
* The paths the generation's plugins reported as dependencies outside the
|
|
53
56
|
* project walk (`TtscCachedProjectTransform.externalDependencyInputs`),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TtscCompilerArgumentsWitness } from "../transform/tsconfig/TtscCompilerArgumentsWitness.mjs";
|
|
1
2
|
import type { TtscWatchInputEvidence } from "../transform/watch/TtscWatchInputEvidence.mjs";
|
|
2
3
|
import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembershipPolicy.mjs";
|
|
3
4
|
/**
|
|
@@ -19,7 +20,7 @@ import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembe
|
|
|
19
20
|
* (`refreshProjectRecordFiles`).
|
|
20
21
|
*
|
|
21
22
|
* @evidence contracts/common.md#principled-implementation
|
|
22
|
-
*
|
|
23
|
+
* The optional captured invocation, input evidence and separate membership policy express the generation's
|
|
23
24
|
* file/predicate and root-population dependencies; signal changes record bytes
|
|
24
25
|
* without claiming that an observer already owns a new generation.
|
|
25
26
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
@@ -48,6 +49,8 @@ import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembe
|
|
|
48
49
|
* and independently imposes no population or byte bound.
|
|
49
50
|
*/
|
|
50
51
|
export interface TtscProjectRecord {
|
|
52
|
+
/** Captured invocation; older records without it require a fresh delivery. */
|
|
53
|
+
compilerArguments?: TtscCompilerArgumentsWitness;
|
|
51
54
|
/**
|
|
52
55
|
* The paths the generation's plugins reported as dependencies outside the
|
|
53
56
|
* project walk (`TtscCachedProjectTransform.externalDependencyInputs`),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TtscCompilerArgumentsWitness } from "../transform/tsconfig/TtscCompilerArgumentsWitness";
|
|
1
2
|
import type { TtscWatchInputEvidence } from "../transform/watch/TtscWatchInputEvidence";
|
|
2
3
|
import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembershipPolicy";
|
|
3
4
|
/**
|
|
@@ -19,7 +20,7 @@ import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembe
|
|
|
19
20
|
* (`refreshProjectRecordFiles`).
|
|
20
21
|
*
|
|
21
22
|
* @evidence contracts/common.md#principled-implementation
|
|
22
|
-
*
|
|
23
|
+
* The optional captured invocation, input evidence and separate membership policy express the generation's
|
|
23
24
|
* file/predicate and root-population dependencies; signal changes record bytes
|
|
24
25
|
* without claiming that an observer already owns a new generation.
|
|
25
26
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
@@ -48,6 +49,8 @@ import type { ITtscProjectMembershipPolicy } from "../tsconfig/ITtscProjectMembe
|
|
|
48
49
|
* and independently imposes no population or byte bound.
|
|
49
50
|
*/
|
|
50
51
|
export interface TtscProjectRecord {
|
|
52
|
+
/** Captured invocation; older records without it require a fresh delivery. */
|
|
53
|
+
compilerArguments?: TtscCompilerArgumentsWitness;
|
|
51
54
|
/**
|
|
52
55
|
* The paths the generation's plugins reported as dependencies outside the
|
|
53
56
|
* project walk (`TtscCachedProjectTransform.externalDependencyInputs`),
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TtscProjectRecord } from "./TtscProjectRecord.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Require a record's captured invocation to match the current host context.
|
|
4
|
+
*
|
|
5
|
+
* A supplied identity describes the active adapter's explicit override too.
|
|
6
|
+
* Generic detached readers instead replay the recorded override against current
|
|
7
|
+
* inheritance. Older records lack that authority and require a new delivery.
|
|
8
|
+
*
|
|
9
|
+
* @evidence contracts/common.md#principled-implementation Recorded effective arguments must match the active context or a current derivation using the recorded override; absent witnesses never certify unknown prior arguments.
|
|
10
|
+
* @evidence contracts/common.md#clear-and-simple-design One predicate serves detached proof and watching bridge admission before filesystem evidence can authorize host cache restoration.
|
|
11
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Malformed inherited transport declines reuse rather than restoring a result compiled under different permission.
|
|
12
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states active versus generic comparison and legacy migration.
|
|
13
|
+
* @evidence contracts/portability.md#os-neutral-implementation The shared environment owner applies native Windows name selection and preserves argv/cwd spelling without platform guesses.
|
|
14
|
+
* @evidence contracts/performance.md#efficient-algorithms An active digest requires scalar comparison; generic replay additionally snapshots environment keys and encodes/hashes argument bytes through existing owners.
|
|
15
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Current inheritance is observed on each generic proof; no prior environment verdict is retained.
|
|
16
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Only call-local environment/encoding data is allocated; the record owner retains the witness.
|
|
17
|
+
*/
|
|
18
|
+
export declare function projectRecordArgumentsMatch(record: TtscProjectRecord, currentIdentity?: string): boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TtscProjectRecord } from "./TtscProjectRecord.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Require a record's captured invocation to match the current host context.
|
|
4
|
+
*
|
|
5
|
+
* A supplied identity describes the active adapter's explicit override too.
|
|
6
|
+
* Generic detached readers instead replay the recorded override against current
|
|
7
|
+
* inheritance. Older records lack that authority and require a new delivery.
|
|
8
|
+
*
|
|
9
|
+
* @evidence contracts/common.md#principled-implementation Recorded effective arguments must match the active context or a current derivation using the recorded override; absent witnesses never certify unknown prior arguments.
|
|
10
|
+
* @evidence contracts/common.md#clear-and-simple-design One predicate serves detached proof and watching bridge admission before filesystem evidence can authorize host cache restoration.
|
|
11
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Malformed inherited transport declines reuse rather than restoring a result compiled under different permission.
|
|
12
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states active versus generic comparison and legacy migration.
|
|
13
|
+
* @evidence contracts/portability.md#os-neutral-implementation The shared environment owner applies native Windows name selection and preserves argv/cwd spelling without platform guesses.
|
|
14
|
+
* @evidence contracts/performance.md#efficient-algorithms An active digest requires scalar comparison; generic replay additionally snapshots environment keys and encodes/hashes argument bytes through existing owners.
|
|
15
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Current inheritance is observed on each generic proof; no prior environment verdict is retained.
|
|
16
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Only call-local environment/encoding data is allocated; the record owner retains the witness.
|
|
17
|
+
*/
|
|
18
|
+
export declare function projectRecordArgumentsMatch(record: TtscProjectRecord, currentIdentity?: string): boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TtscProjectRecord } from "./TtscProjectRecord";
|
|
2
|
+
/**
|
|
3
|
+
* Require a record's captured invocation to match the current host context.
|
|
4
|
+
*
|
|
5
|
+
* A supplied identity describes the active adapter's explicit override too.
|
|
6
|
+
* Generic detached readers instead replay the recorded override against current
|
|
7
|
+
* inheritance. Older records lack that authority and require a new delivery.
|
|
8
|
+
*
|
|
9
|
+
* @evidence contracts/common.md#principled-implementation Recorded effective arguments must match the active context or a current derivation using the recorded override; absent witnesses never certify unknown prior arguments.
|
|
10
|
+
* @evidence contracts/common.md#clear-and-simple-design One predicate serves detached proof and watching bridge admission before filesystem evidence can authorize host cache restoration.
|
|
11
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Malformed inherited transport declines reuse rather than restoring a result compiled under different permission.
|
|
12
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states active versus generic comparison and legacy migration.
|
|
13
|
+
* @evidence contracts/portability.md#os-neutral-implementation The shared environment owner applies native Windows name selection and preserves argv/cwd spelling without platform guesses.
|
|
14
|
+
* @evidence contracts/performance.md#efficient-algorithms An active digest requires scalar comparison; generic replay additionally snapshots environment keys and encodes/hashes argument bytes through existing owners.
|
|
15
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Current inheritance is observed on each generic proof; no prior environment verdict is retained.
|
|
16
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Only call-local environment/encoding data is allocated; the record owner retains the witness.
|
|
17
|
+
*/
|
|
18
|
+
export declare function projectRecordArgumentsMatch(record: TtscProjectRecord, currentIdentity?: string): boolean;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var captureCompilerArguments = require('../transform/tsconfig/captureCompilerArguments.js');
|
|
4
|
+
var resolveCompilerEnvironment = require('../transform/tsconfig/resolveCompilerEnvironment.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Require a record's captured invocation to match the current host context.
|
|
8
|
+
*
|
|
9
|
+
* A supplied identity describes the active adapter's explicit override too.
|
|
10
|
+
* Generic detached readers instead replay the recorded override against current
|
|
11
|
+
* inheritance. Older records lack that authority and require a new delivery.
|
|
12
|
+
*
|
|
13
|
+
* @evidence contracts/common.md#principled-implementation Recorded effective arguments must match the active context or a current derivation using the recorded override; absent witnesses never certify unknown prior arguments.
|
|
14
|
+
* @evidence contracts/common.md#clear-and-simple-design One predicate serves detached proof and watching bridge admission before filesystem evidence can authorize host cache restoration.
|
|
15
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Malformed inherited transport declines reuse rather than restoring a result compiled under different permission.
|
|
16
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states active versus generic comparison and legacy migration.
|
|
17
|
+
* @evidence contracts/portability.md#os-neutral-implementation The shared environment owner applies native Windows name selection and preserves argv/cwd spelling without platform guesses.
|
|
18
|
+
* @evidence contracts/performance.md#efficient-algorithms An active digest requires scalar comparison; generic replay additionally snapshots environment keys and encodes/hashes argument bytes through existing owners.
|
|
19
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Current inheritance is observed on each generic proof; no prior environment verdict is retained.
|
|
20
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Only call-local environment/encoding data is allocated; the record owner retains the witness.
|
|
21
|
+
*/
|
|
22
|
+
function projectRecordArgumentsMatch(record, currentIdentity) {
|
|
23
|
+
if (record.compilerArguments === undefined)
|
|
24
|
+
return false;
|
|
25
|
+
try {
|
|
26
|
+
return (record.compilerArguments.identity ===
|
|
27
|
+
(currentIdentity ??
|
|
28
|
+
captureCompilerArguments.captureCompilerArguments(resolveCompilerEnvironment.resolveCompilerEnvironment(record.compilerArguments.runExternalCode)).identity));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.projectRecordArgumentsMatch = projectRecordArgumentsMatch;
|
|
36
|
+
//# sourceMappingURL=projectRecordArgumentsMatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectRecordArgumentsMatch.js","sources":["../../../src/core/bridge/projectRecordArgumentsMatch.ts"],"sourcesContent":[null],"names":["captureCompilerArguments","resolveCompilerEnvironment"],"mappings":";;;;;AAIA;;;;;;;;;;;;;;;AAeG;AACG,SAAU,2BAA2B,CACzC,MAAyB,EACzB,eAAwB,EAAA;AAExB,IAAA,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;AAAE,QAAA,OAAO,KAAK;AACxD,IAAA,IAAI;AACF,QAAA,QACE,MAAM,CAAC,iBAAiB,CAAC,QAAQ;AACjC,aAAC,eAAe;AACd,gBAAAA,iDAAwB,CACtBC,qDAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CACrE,CAAC,QAAQ,CAAC;IAEjB;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;AACF;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { captureCompilerArguments } from '../transform/tsconfig/captureCompilerArguments.mjs';
|
|
2
|
+
import { resolveCompilerEnvironment } from '../transform/tsconfig/resolveCompilerEnvironment.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Require a record's captured invocation to match the current host context.
|
|
6
|
+
*
|
|
7
|
+
* A supplied identity describes the active adapter's explicit override too.
|
|
8
|
+
* Generic detached readers instead replay the recorded override against current
|
|
9
|
+
* inheritance. Older records lack that authority and require a new delivery.
|
|
10
|
+
*
|
|
11
|
+
* @evidence contracts/common.md#principled-implementation Recorded effective arguments must match the active context or a current derivation using the recorded override; absent witnesses never certify unknown prior arguments.
|
|
12
|
+
* @evidence contracts/common.md#clear-and-simple-design One predicate serves detached proof and watching bridge admission before filesystem evidence can authorize host cache restoration.
|
|
13
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Malformed inherited transport declines reuse rather than restoring a result compiled under different permission.
|
|
14
|
+
* @evidence contracts/common.md#meaningful-documentation Native prose states active versus generic comparison and legacy migration.
|
|
15
|
+
* @evidence contracts/portability.md#os-neutral-implementation The shared environment owner applies native Windows name selection and preserves argv/cwd spelling without platform guesses.
|
|
16
|
+
* @evidence contracts/performance.md#efficient-algorithms An active digest requires scalar comparison; generic replay additionally snapshots environment keys and encodes/hashes argument bytes through existing owners.
|
|
17
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Current inheritance is observed on each generic proof; no prior environment verdict is retained.
|
|
18
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Only call-local environment/encoding data is allocated; the record owner retains the witness.
|
|
19
|
+
*/
|
|
20
|
+
function projectRecordArgumentsMatch(record, currentIdentity) {
|
|
21
|
+
if (record.compilerArguments === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
try {
|
|
24
|
+
return (record.compilerArguments.identity ===
|
|
25
|
+
(currentIdentity ??
|
|
26
|
+
captureCompilerArguments(resolveCompilerEnvironment(record.compilerArguments.runExternalCode)).identity));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { projectRecordArgumentsMatch };
|
|
34
|
+
//# sourceMappingURL=projectRecordArgumentsMatch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectRecordArgumentsMatch.mjs","sources":["../../../src/core/bridge/projectRecordArgumentsMatch.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;;;;;;;;;;;AAeG;AACG,SAAU,2BAA2B,CACzC,MAAyB,EACzB,eAAwB,EAAA;AAExB,IAAA,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;AAAE,QAAA,OAAO,KAAK;AACxD,IAAA,IAAI;AACF,QAAA,QACE,MAAM,CAAC,iBAAiB,CAAC,QAAQ;AACjC,aAAC,eAAe;AACd,gBAAA,wBAAwB,CACtB,0BAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CACrE,CAAC,QAAQ,CAAC;IAEjB;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;AACF;;;;"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import type { TtscTransformFilesystemOperations } from "../transform/filesystem/TtscTransformFilesystemOperations.cjs";
|
|
2
2
|
import type { TtscProjectRecord } from "./TtscProjectRecord.cjs";
|
|
3
3
|
/**
|
|
4
|
-
* The first recorded input or membership state that current replay
|
|
5
|
-
* establish as unchanged, or nothing when all recorded checks hold. This
|
|
6
|
-
* proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
4
|
+
* The first invocation, recorded input or membership state that current replay
|
|
5
|
+
* cannot establish as unchanged, or nothing when all recorded checks hold. This
|
|
6
|
+
* is the proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
7
7
|
* separable from the move it follows with, so a harness or a maintainer can ask
|
|
8
8
|
* the same question of a record without moving it.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
10
|
+
* The captured invocation must match the active context before each recorded
|
|
11
|
+
* input is proven against the disk the way a delivery proves a generation
|
|
12
|
+
* (`watchInputEvidenceMatchesDisk`), and the walk is run again under the
|
|
13
|
+
* recorded policy and its digest compared (`membershipRecordDigest`). A plugin
|
|
14
|
+
* source is proven by the metadata of its files where that metadata holds
|
|
15
|
+
* (`pluginSourceFilesDigest`), which stands for their bytes only against a
|
|
16
|
+
* clock reference minted since any rollback, so the proof mints one first, as a
|
|
17
|
+
* delivery does. It holds no generation, so the reference is minted in the
|
|
17
18
|
* probe directory this process keeps (`refreshProcessClockReference`).
|
|
18
19
|
*
|
|
19
20
|
* @returns The tsconfig when it is gone, which a build start answers by
|
|
20
21
|
* removing the record rather than moving it, the first input whose state
|
|
21
|
-
* moved, the project root when
|
|
22
|
+
* moved, the project root when invocation or root membership differs, or
|
|
23
|
+
* `undefined`.
|
|
22
24
|
* @evidence contracts/common.md#principled-implementation
|
|
23
25
|
* Each codec is re-proved against the same filesystem view and membership is
|
|
24
26
|
* re-walked under the stored policy. A fresh process clock reference prevents
|
|
@@ -47,4 +49,4 @@ import type { TtscProjectRecord } from "./TtscProjectRecord.cjs";
|
|
|
47
49
|
* than treating prior successful replay or watcher silence as present validity.
|
|
48
50
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The proof owns no independent cache or watcher; its returned mismatch is caller-owned and the process-clock service owns the native reference lifecycle.
|
|
49
51
|
*/
|
|
50
|
-
export declare function projectRecordMoved(record: TtscProjectRecord, filesystem?: TtscTransformFilesystemOperations): string | undefined;
|
|
52
|
+
export declare function projectRecordMoved(record: TtscProjectRecord, filesystem?: TtscTransformFilesystemOperations, compilerArgumentsIdentity?: string): string | undefined;
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import type { TtscTransformFilesystemOperations } from "../transform/filesystem/TtscTransformFilesystemOperations.mjs";
|
|
2
2
|
import type { TtscProjectRecord } from "./TtscProjectRecord.mjs";
|
|
3
3
|
/**
|
|
4
|
-
* The first recorded input or membership state that current replay
|
|
5
|
-
* establish as unchanged, or nothing when all recorded checks hold. This
|
|
6
|
-
* proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
4
|
+
* The first invocation, recorded input or membership state that current replay
|
|
5
|
+
* cannot establish as unchanged, or nothing when all recorded checks hold. This
|
|
6
|
+
* is the proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
7
7
|
* separable from the move it follows with, so a harness or a maintainer can ask
|
|
8
8
|
* the same question of a record without moving it.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
10
|
+
* The captured invocation must match the active context before each recorded
|
|
11
|
+
* input is proven against the disk the way a delivery proves a generation
|
|
12
|
+
* (`watchInputEvidenceMatchesDisk`), and the walk is run again under the
|
|
13
|
+
* recorded policy and its digest compared (`membershipRecordDigest`). A plugin
|
|
14
|
+
* source is proven by the metadata of its files where that metadata holds
|
|
15
|
+
* (`pluginSourceFilesDigest`), which stands for their bytes only against a
|
|
16
|
+
* clock reference minted since any rollback, so the proof mints one first, as a
|
|
17
|
+
* delivery does. It holds no generation, so the reference is minted in the
|
|
17
18
|
* probe directory this process keeps (`refreshProcessClockReference`).
|
|
18
19
|
*
|
|
19
20
|
* @returns The tsconfig when it is gone, which a build start answers by
|
|
20
21
|
* removing the record rather than moving it, the first input whose state
|
|
21
|
-
* moved, the project root when
|
|
22
|
+
* moved, the project root when invocation or root membership differs, or
|
|
23
|
+
* `undefined`.
|
|
22
24
|
* @evidence contracts/common.md#principled-implementation
|
|
23
25
|
* Each codec is re-proved against the same filesystem view and membership is
|
|
24
26
|
* re-walked under the stored policy. A fresh process clock reference prevents
|
|
@@ -47,4 +49,4 @@ import type { TtscProjectRecord } from "./TtscProjectRecord.mjs";
|
|
|
47
49
|
* than treating prior successful replay or watcher silence as present validity.
|
|
48
50
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The proof owns no independent cache or watcher; its returned mismatch is caller-owned and the process-clock service owns the native reference lifecycle.
|
|
49
51
|
*/
|
|
50
|
-
export declare function projectRecordMoved(record: TtscProjectRecord, filesystem?: TtscTransformFilesystemOperations): string | undefined;
|
|
52
|
+
export declare function projectRecordMoved(record: TtscProjectRecord, filesystem?: TtscTransformFilesystemOperations, compilerArgumentsIdentity?: string): string | undefined;
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import type { TtscTransformFilesystemOperations } from "../transform/filesystem/TtscTransformFilesystemOperations";
|
|
2
2
|
import type { TtscProjectRecord } from "./TtscProjectRecord";
|
|
3
3
|
/**
|
|
4
|
-
* The first recorded input or membership state that current replay
|
|
5
|
-
* establish as unchanged, or nothing when all recorded checks hold. This
|
|
6
|
-
* proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
4
|
+
* The first invocation, recorded input or membership state that current replay
|
|
5
|
+
* cannot establish as unchanged, or nothing when all recorded checks hold. This
|
|
6
|
+
* is the proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
7
7
|
* separable from the move it follows with, so a harness or a maintainer can ask
|
|
8
8
|
* the same question of a record without moving it.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
10
|
+
* The captured invocation must match the active context before each recorded
|
|
11
|
+
* input is proven against the disk the way a delivery proves a generation
|
|
12
|
+
* (`watchInputEvidenceMatchesDisk`), and the walk is run again under the
|
|
13
|
+
* recorded policy and its digest compared (`membershipRecordDigest`). A plugin
|
|
14
|
+
* source is proven by the metadata of its files where that metadata holds
|
|
15
|
+
* (`pluginSourceFilesDigest`), which stands for their bytes only against a
|
|
16
|
+
* clock reference minted since any rollback, so the proof mints one first, as a
|
|
17
|
+
* delivery does. It holds no generation, so the reference is minted in the
|
|
17
18
|
* probe directory this process keeps (`refreshProcessClockReference`).
|
|
18
19
|
*
|
|
19
20
|
* @returns The tsconfig when it is gone, which a build start answers by
|
|
20
21
|
* removing the record rather than moving it, the first input whose state
|
|
21
|
-
* moved, the project root when
|
|
22
|
+
* moved, the project root when invocation or root membership differs, or
|
|
23
|
+
* `undefined`.
|
|
22
24
|
* @evidence contracts/common.md#principled-implementation
|
|
23
25
|
* Each codec is re-proved against the same filesystem view and membership is
|
|
24
26
|
* re-walked under the stored policy. A fresh process clock reference prevents
|
|
@@ -47,4 +49,4 @@ import type { TtscProjectRecord } from "./TtscProjectRecord";
|
|
|
47
49
|
* than treating prior successful replay or watcher silence as present validity.
|
|
48
50
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The proof owns no independent cache or watcher; its returned mismatch is caller-owned and the process-clock service owns the native reference lifecycle.
|
|
49
51
|
*/
|
|
50
|
-
export declare function projectRecordMoved(record: TtscProjectRecord, filesystem?: TtscTransformFilesystemOperations): string | undefined;
|
|
52
|
+
export declare function projectRecordMoved(record: TtscProjectRecord, filesystem?: TtscTransformFilesystemOperations, compilerArgumentsIdentity?: string): string | undefined;
|
|
@@ -5,26 +5,29 @@ var DEFAULT_FILESYSTEM_OPERATIONS = require('../transform/filesystem/DEFAULT_FIL
|
|
|
5
5
|
var walkProjectInputs = require('../transform/project/walkProjectInputs.js');
|
|
6
6
|
var watchInputEvidenceMatchesDisk = require('../transform/watch/watchInputEvidenceMatchesDisk.js');
|
|
7
7
|
var membershipRecordDigest = require('./membershipRecordDigest.js');
|
|
8
|
+
var projectRecordArgumentsMatch = require('./projectRecordArgumentsMatch.js');
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
|
-
* The first recorded input or membership state that current replay
|
|
11
|
-
* establish as unchanged, or nothing when all recorded checks hold. This
|
|
12
|
-
* proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
11
|
+
* The first invocation, recorded input or membership state that current replay
|
|
12
|
+
* cannot establish as unchanged, or nothing when all recorded checks hold. This
|
|
13
|
+
* is the proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
13
14
|
* separable from the move it follows with, so a harness or a maintainer can ask
|
|
14
15
|
* the same question of a record without moving it.
|
|
15
16
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
17
|
+
* The captured invocation must match the active context before each recorded
|
|
18
|
+
* input is proven against the disk the way a delivery proves a generation
|
|
19
|
+
* (`watchInputEvidenceMatchesDisk`), and the walk is run again under the
|
|
20
|
+
* recorded policy and its digest compared (`membershipRecordDigest`). A plugin
|
|
21
|
+
* source is proven by the metadata of its files where that metadata holds
|
|
22
|
+
* (`pluginSourceFilesDigest`), which stands for their bytes only against a
|
|
23
|
+
* clock reference minted since any rollback, so the proof mints one first, as a
|
|
24
|
+
* delivery does. It holds no generation, so the reference is minted in the
|
|
23
25
|
* probe directory this process keeps (`refreshProcessClockReference`).
|
|
24
26
|
*
|
|
25
27
|
* @returns The tsconfig when it is gone, which a build start answers by
|
|
26
28
|
* removing the record rather than moving it, the first input whose state
|
|
27
|
-
* moved, the project root when
|
|
29
|
+
* moved, the project root when invocation or root membership differs, or
|
|
30
|
+
* `undefined`.
|
|
28
31
|
* @evidence contracts/common.md#principled-implementation
|
|
29
32
|
* Each codec is re-proved against the same filesystem view and membership is
|
|
30
33
|
* re-walked under the stored policy. A fresh process clock reference prevents
|
|
@@ -53,9 +56,11 @@ var membershipRecordDigest = require('./membershipRecordDigest.js');
|
|
|
53
56
|
* than treating prior successful replay or watcher silence as present validity.
|
|
54
57
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The proof owns no independent cache or watcher; its returned mismatch is caller-owned and the process-clock service owns the native reference lifecycle.
|
|
55
58
|
*/
|
|
56
|
-
function projectRecordMoved(record, filesystem = DEFAULT_FILESYSTEM_OPERATIONS.DEFAULT_FILESYSTEM_OPERATIONS) {
|
|
59
|
+
function projectRecordMoved(record, filesystem = DEFAULT_FILESYSTEM_OPERATIONS.DEFAULT_FILESYSTEM_OPERATIONS, compilerArgumentsIdentity) {
|
|
57
60
|
if (!filesystem.exists(record.tsconfig))
|
|
58
61
|
return record.tsconfig;
|
|
62
|
+
if (!projectRecordArgumentsMatch.projectRecordArgumentsMatch(record, compilerArgumentsIdentity))
|
|
63
|
+
return record.root;
|
|
59
64
|
refreshProcessClockReference.refreshProcessClockReference(record.root, filesystem);
|
|
60
65
|
for (const [input, evidence] of Object.entries(record.inputs)) {
|
|
61
66
|
if (evidence === null || typeof evidence !== "object")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectRecordMoved.js","sources":["../../../src/core/bridge/projectRecordMoved.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","refreshProcessClockReference","watchInputEvidenceMatchesDisk","walkProjectInputs","membershipRecordDigest"],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectRecordMoved.js","sources":["../../../src/core/bridge/projectRecordMoved.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","projectRecordArgumentsMatch","refreshProcessClockReference","watchInputEvidenceMatchesDisk","walkProjectInputs","membershipRecordDigest"],"mappings":";;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDG;AACG,SAAU,kBAAkB,CAChC,MAAyB,EACzB,UAAA,GAAgDA,2DAA6B,EAC7E,yBAAkC,EAAA;IAElC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ;AAC/D,IAAA,IAAI,CAACC,uDAA2B,CAAC,MAAM,EAAE,yBAAyB,CAAC;QACjE,OAAO,MAAM,CAAC,IAAI;AACpB,IAAAC,yDAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,IAAA,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AAC7D,QAAA,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;AAAE,YAAA,OAAO,KAAK;AACnE,QAAA,IACE,CAACC,2DAA6B,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC;AAExE,YAAA,OAAO,KAAK;IAChB;AACA,IAAA,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;AAAE,QAAA,OAAO,SAAS;AAChD,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU;AACpC,IAAA,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAGC,mCAAiB,CACjD,MAAM,CAAC,IAAI,EACX,UAAU,EACV,MAAM,CACP;AACD,IAAA,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI;AACjC,IAAA,OAAOC,6CAAsB,CAAC,MAAM,EAAE,WAAW,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC;AAClB,UAAE;AACF,UAAE,MAAM,CAAC,IAAI;AACjB;;;;"}
|
|
@@ -3,26 +3,29 @@ import { DEFAULT_FILESYSTEM_OPERATIONS } from '../transform/filesystem/DEFAULT_F
|
|
|
3
3
|
import { walkProjectInputs } from '../transform/project/walkProjectInputs.mjs';
|
|
4
4
|
import { watchInputEvidenceMatchesDisk } from '../transform/watch/watchInputEvidenceMatchesDisk.mjs';
|
|
5
5
|
import { membershipRecordDigest } from './membershipRecordDigest.mjs';
|
|
6
|
+
import { projectRecordArgumentsMatch } from './projectRecordArgumentsMatch.mjs';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
|
-
* The first recorded input or membership state that current replay
|
|
9
|
-
* establish as unchanged, or nothing when all recorded checks hold. This
|
|
10
|
-
* proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
9
|
+
* The first invocation, recorded input or membership state that current replay
|
|
10
|
+
* cannot establish as unchanged, or nothing when all recorded checks hold. This
|
|
11
|
+
* is the proof a build start makes of a record (`refreshProjectRecordFiles`),
|
|
11
12
|
* separable from the move it follows with, so a harness or a maintainer can ask
|
|
12
13
|
* the same question of a record without moving it.
|
|
13
14
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
15
|
+
* The captured invocation must match the active context before each recorded
|
|
16
|
+
* input is proven against the disk the way a delivery proves a generation
|
|
17
|
+
* (`watchInputEvidenceMatchesDisk`), and the walk is run again under the
|
|
18
|
+
* recorded policy and its digest compared (`membershipRecordDigest`). A plugin
|
|
19
|
+
* source is proven by the metadata of its files where that metadata holds
|
|
20
|
+
* (`pluginSourceFilesDigest`), which stands for their bytes only against a
|
|
21
|
+
* clock reference minted since any rollback, so the proof mints one first, as a
|
|
22
|
+
* delivery does. It holds no generation, so the reference is minted in the
|
|
21
23
|
* probe directory this process keeps (`refreshProcessClockReference`).
|
|
22
24
|
*
|
|
23
25
|
* @returns The tsconfig when it is gone, which a build start answers by
|
|
24
26
|
* removing the record rather than moving it, the first input whose state
|
|
25
|
-
* moved, the project root when
|
|
27
|
+
* moved, the project root when invocation or root membership differs, or
|
|
28
|
+
* `undefined`.
|
|
26
29
|
* @evidence contracts/common.md#principled-implementation
|
|
27
30
|
* Each codec is re-proved against the same filesystem view and membership is
|
|
28
31
|
* re-walked under the stored policy. A fresh process clock reference prevents
|
|
@@ -51,9 +54,11 @@ import { membershipRecordDigest } from './membershipRecordDigest.mjs';
|
|
|
51
54
|
* than treating prior successful replay or watcher silence as present validity.
|
|
52
55
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The proof owns no independent cache or watcher; its returned mismatch is caller-owned and the process-clock service owns the native reference lifecycle.
|
|
53
56
|
*/
|
|
54
|
-
function projectRecordMoved(record, filesystem = DEFAULT_FILESYSTEM_OPERATIONS) {
|
|
57
|
+
function projectRecordMoved(record, filesystem = DEFAULT_FILESYSTEM_OPERATIONS, compilerArgumentsIdentity) {
|
|
55
58
|
if (!filesystem.exists(record.tsconfig))
|
|
56
59
|
return record.tsconfig;
|
|
60
|
+
if (!projectRecordArgumentsMatch(record, compilerArgumentsIdentity))
|
|
61
|
+
return record.root;
|
|
57
62
|
refreshProcessClockReference(record.root, filesystem);
|
|
58
63
|
for (const [input, evidence] of Object.entries(record.inputs)) {
|
|
59
64
|
if (evidence === null || typeof evidence !== "object")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectRecordMoved.mjs","sources":["../../../src/core/bridge/projectRecordMoved.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectRecordMoved.mjs","sources":["../../../src/core/bridge/projectRecordMoved.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDG;AACG,SAAU,kBAAkB,CAChC,MAAyB,EACzB,UAAA,GAAgD,6BAA6B,EAC7E,yBAAkC,EAAA;IAElC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ;AAC/D,IAAA,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,yBAAyB,CAAC;QACjE,OAAO,MAAM,CAAC,IAAI;AACpB,IAAA,4BAA4B,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,IAAA,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AAC7D,QAAA,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;AAAE,YAAA,OAAO,KAAK;AACnE,QAAA,IACE,CAAC,6BAA6B,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC;AAExE,YAAA,OAAO,KAAK;IAChB;AACA,IAAA,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;AAAE,QAAA,OAAO,SAAS;AAChD,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU;AACpC,IAAA,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,CACjD,MAAM,CAAC,IAAI,EACX,UAAU,EACV,MAAM,CACP;AACD,IAAA,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI;AACjC,IAAA,OAAO,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC;AAClB,UAAE;AACF,UAAE,MAAM,CAAC,IAAI;AACjB;;;;"}
|
|
@@ -6,9 +6,10 @@ import type { TtscProjectRecord } from "./TtscProjectRecord.cjs";
|
|
|
6
6
|
* run over it (`refreshProjectRecordFiles`), and the next generation's delivery
|
|
7
7
|
* writes it whole.
|
|
8
8
|
*
|
|
9
|
-
* Validate consumed input codecs and
|
|
10
|
-
* parsed record. A JSON object header
|
|
11
|
-
* can safely interpret its nested
|
|
9
|
+
* Validate the optional invocation witness, consumed input codecs and
|
|
10
|
+
* membership policy before exposing the parsed record. A JSON object header
|
|
11
|
+
* alone does not establish that observers can safely interpret its nested
|
|
12
|
+
* evidence.
|
|
12
13
|
*
|
|
13
14
|
* @evidence contracts/common.md#principled-implementation Structural guards validate the record, every consumed input codec and membership policy; predicate proof uses the existing producer-schema normalizer rather than inventing missing observations.
|
|
14
15
|
* @evidence contracts/common.md#clear-and-simple-design This disk boundary owns untrusted JSON parsing and small schema predicates; filesystem replay and state-change decisions remain with the existing record consumers.
|
|
@@ -6,9 +6,10 @@ import type { TtscProjectRecord } from "./TtscProjectRecord.mjs";
|
|
|
6
6
|
* run over it (`refreshProjectRecordFiles`), and the next generation's delivery
|
|
7
7
|
* writes it whole.
|
|
8
8
|
*
|
|
9
|
-
* Validate consumed input codecs and
|
|
10
|
-
* parsed record. A JSON object header
|
|
11
|
-
* can safely interpret its nested
|
|
9
|
+
* Validate the optional invocation witness, consumed input codecs and
|
|
10
|
+
* membership policy before exposing the parsed record. A JSON object header
|
|
11
|
+
* alone does not establish that observers can safely interpret its nested
|
|
12
|
+
* evidence.
|
|
12
13
|
*
|
|
13
14
|
* @evidence contracts/common.md#principled-implementation Structural guards validate the record, every consumed input codec and membership policy; predicate proof uses the existing producer-schema normalizer rather than inventing missing observations.
|
|
14
15
|
* @evidence contracts/common.md#clear-and-simple-design This disk boundary owns untrusted JSON parsing and small schema predicates; filesystem replay and state-change decisions remain with the existing record consumers.
|
|
@@ -6,9 +6,10 @@ import type { TtscProjectRecord } from "./TtscProjectRecord";
|
|
|
6
6
|
* run over it (`refreshProjectRecordFiles`), and the next generation's delivery
|
|
7
7
|
* writes it whole.
|
|
8
8
|
*
|
|
9
|
-
* Validate consumed input codecs and
|
|
10
|
-
* parsed record. A JSON object header
|
|
11
|
-
* can safely interpret its nested
|
|
9
|
+
* Validate the optional invocation witness, consumed input codecs and
|
|
10
|
+
* membership policy before exposing the parsed record. A JSON object header
|
|
11
|
+
* alone does not establish that observers can safely interpret its nested
|
|
12
|
+
* evidence.
|
|
12
13
|
*
|
|
13
14
|
* @evidence contracts/common.md#principled-implementation Structural guards validate the record, every consumed input codec and membership policy; predicate proof uses the existing producer-schema normalizer rather than inventing missing observations.
|
|
14
15
|
* @evidence contracts/common.md#clear-and-simple-design This disk boundary owns untrusted JSON parsing and small schema predicates; filesystem replay and state-change decisions remain with the existing record consumers.
|