@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
|
@@ -4,6 +4,7 @@ var JAVASCRIPT_INPUT_EXTENSIONS = require('./JAVASCRIPT_INPUT_EXTENSIONS.js');
|
|
|
4
4
|
var OUTPUT_DIRECTORY_OPTIONS = require('./OUTPUT_DIRECTORY_OPTIONS.js');
|
|
5
5
|
var flattenDirectoryExclusionOrigins = require('./flattenDirectoryExclusionOrigins.js');
|
|
6
6
|
var resolveConfigDirTemplatePath = require('./resolveConfigDirTemplatePath.js');
|
|
7
|
+
var resolveMembershipInputExtensions = require('./resolveMembershipInputExtensions.js');
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Apply the caller's compiler-options overlay on top of a policy read from the
|
|
@@ -15,9 +16,10 @@ var resolveConfigDirTemplatePath = require('./resolveConfigDirTemplatePath.js');
|
|
|
15
16
|
* turns it off gets the narrower rule for the same reason.
|
|
16
17
|
*
|
|
17
18
|
* @evidence contracts/common.md#principled-implementation
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
19
|
+
* Extension option provenance preserves explicit false and null clearing
|
|
20
|
+
* while recomputing implicit JavaScript and JSON defaults. Mapper suffixes
|
|
21
|
+
* remain independent. Output paths update their own exclusion provenance;
|
|
22
|
+
* missing legacy provenance preserves authored extension/exclusion lists.
|
|
21
23
|
*
|
|
22
24
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
23
25
|
* The operation clones extension and exclusion state rather than mutating
|
|
@@ -63,8 +65,33 @@ function mergeMembershipPolicyOverlay(policy, compilerOptions, baseDir) {
|
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
67
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
const extensionOptionOrigins = policy.extensionOptionOrigins === undefined
|
|
69
|
+
? undefined
|
|
70
|
+
: { ...policy.extensionOptionOrigins };
|
|
71
|
+
if (extensionOptionOrigins === undefined) {
|
|
72
|
+
applyFlag("allowJs", JAVASCRIPT_INPUT_EXTENSIONS.JAVASCRIPT_INPUT_EXTENSIONS);
|
|
73
|
+
applyFlag("resolveJsonModule", [".json"]);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
for (const key of ["allowJs", "checkJs", "resolveJsonModule"]) {
|
|
77
|
+
if (!Object.hasOwn(compilerOptions, key))
|
|
78
|
+
continue;
|
|
79
|
+
const value = compilerOptions[key];
|
|
80
|
+
if (value === null)
|
|
81
|
+
delete extensionOptionOrigins[key];
|
|
82
|
+
else if (typeof value === "boolean")
|
|
83
|
+
extensionOptionOrigins[key] = value;
|
|
84
|
+
}
|
|
85
|
+
for (const key of ["module", "moduleResolution"]) {
|
|
86
|
+
if (!Object.hasOwn(compilerOptions, key))
|
|
87
|
+
continue;
|
|
88
|
+
const value = compilerOptions[key];
|
|
89
|
+
if (value === null)
|
|
90
|
+
delete extensionOptionOrigins[key];
|
|
91
|
+
else if (typeof value === "string")
|
|
92
|
+
extensionOptionOrigins[key] = value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
68
95
|
const inheritedOrigins = policy.directoryExclusionOrigins;
|
|
69
96
|
const directoryExclusionOrigins = {
|
|
70
97
|
declarationDir: inheritedOrigins?.declarationDir,
|
|
@@ -85,7 +112,10 @@ function mergeMembershipPolicyOverlay(policy, compilerOptions, baseDir) {
|
|
|
85
112
|
rootFileSpecs: policy.rootFileSpecs,
|
|
86
113
|
directoryExclusionOrigins,
|
|
87
114
|
excludedDirectories: flattenDirectoryExclusionOrigins.flattenDirectoryExclusionOrigins(directoryExclusionOrigins),
|
|
88
|
-
|
|
115
|
+
extensionOptionOrigins,
|
|
116
|
+
inputExtensions: extensionOptionOrigins === undefined
|
|
117
|
+
? [...inputExtensions]
|
|
118
|
+
: resolveMembershipInputExtensions.resolveMembershipInputExtensions(extensionOptionOrigins),
|
|
89
119
|
sources: policy.sources,
|
|
90
120
|
useCaseSensitiveFileNames: policy.useCaseSensitiveFileNames,
|
|
91
121
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeMembershipPolicyOverlay.js","sources":["../../../src/core/tsconfig/mergeMembershipPolicyOverlay.ts"],"sourcesContent":[null],"names":["JAVASCRIPT_INPUT_EXTENSIONS","OUTPUT_DIRECTORY_OPTIONS","resolveConfigDirTemplatePath","flattenDirectoryExclusionOrigins"],"mappings":"
|
|
1
|
+
{"version":3,"file":"mergeMembershipPolicyOverlay.js","sources":["../../../src/core/tsconfig/mergeMembershipPolicyOverlay.ts"],"sourcesContent":[null],"names":["JAVASCRIPT_INPUT_EXTENSIONS","OUTPUT_DIRECTORY_OPTIONS","resolveConfigDirTemplatePath","flattenDirectoryExclusionOrigins","resolveMembershipInputExtensions"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { JAVASCRIPT_INPUT_EXTENSIONS } from './JAVASCRIPT_INPUT_EXTENSIONS.mjs';
|
|
|
2
2
|
import { OUTPUT_DIRECTORY_OPTIONS } from './OUTPUT_DIRECTORY_OPTIONS.mjs';
|
|
3
3
|
import { flattenDirectoryExclusionOrigins } from './flattenDirectoryExclusionOrigins.mjs';
|
|
4
4
|
import { resolveConfigDirTemplatePath } from './resolveConfigDirTemplatePath.mjs';
|
|
5
|
+
import { resolveMembershipInputExtensions } from './resolveMembershipInputExtensions.mjs';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Apply the caller's compiler-options overlay on top of a policy read from the
|
|
@@ -13,9 +14,10 @@ import { resolveConfigDirTemplatePath } from './resolveConfigDirTemplatePath.mjs
|
|
|
13
14
|
* turns it off gets the narrower rule for the same reason.
|
|
14
15
|
*
|
|
15
16
|
* @evidence contracts/common.md#principled-implementation
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* Extension option provenance preserves explicit false and null clearing
|
|
18
|
+
* while recomputing implicit JavaScript and JSON defaults. Mapper suffixes
|
|
19
|
+
* remain independent. Output paths update their own exclusion provenance;
|
|
20
|
+
* missing legacy provenance preserves authored extension/exclusion lists.
|
|
19
21
|
*
|
|
20
22
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
21
23
|
* The operation clones extension and exclusion state rather than mutating
|
|
@@ -61,8 +63,33 @@ function mergeMembershipPolicyOverlay(policy, compilerOptions, baseDir) {
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
const extensionOptionOrigins = policy.extensionOptionOrigins === undefined
|
|
67
|
+
? undefined
|
|
68
|
+
: { ...policy.extensionOptionOrigins };
|
|
69
|
+
if (extensionOptionOrigins === undefined) {
|
|
70
|
+
applyFlag("allowJs", JAVASCRIPT_INPUT_EXTENSIONS);
|
|
71
|
+
applyFlag("resolveJsonModule", [".json"]);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
for (const key of ["allowJs", "checkJs", "resolveJsonModule"]) {
|
|
75
|
+
if (!Object.hasOwn(compilerOptions, key))
|
|
76
|
+
continue;
|
|
77
|
+
const value = compilerOptions[key];
|
|
78
|
+
if (value === null)
|
|
79
|
+
delete extensionOptionOrigins[key];
|
|
80
|
+
else if (typeof value === "boolean")
|
|
81
|
+
extensionOptionOrigins[key] = value;
|
|
82
|
+
}
|
|
83
|
+
for (const key of ["module", "moduleResolution"]) {
|
|
84
|
+
if (!Object.hasOwn(compilerOptions, key))
|
|
85
|
+
continue;
|
|
86
|
+
const value = compilerOptions[key];
|
|
87
|
+
if (value === null)
|
|
88
|
+
delete extensionOptionOrigins[key];
|
|
89
|
+
else if (typeof value === "string")
|
|
90
|
+
extensionOptionOrigins[key] = value;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
66
93
|
const inheritedOrigins = policy.directoryExclusionOrigins;
|
|
67
94
|
const directoryExclusionOrigins = {
|
|
68
95
|
declarationDir: inheritedOrigins?.declarationDir,
|
|
@@ -83,7 +110,10 @@ function mergeMembershipPolicyOverlay(policy, compilerOptions, baseDir) {
|
|
|
83
110
|
rootFileSpecs: policy.rootFileSpecs,
|
|
84
111
|
directoryExclusionOrigins,
|
|
85
112
|
excludedDirectories: flattenDirectoryExclusionOrigins(directoryExclusionOrigins),
|
|
86
|
-
|
|
113
|
+
extensionOptionOrigins,
|
|
114
|
+
inputExtensions: extensionOptionOrigins === undefined
|
|
115
|
+
? [...inputExtensions]
|
|
116
|
+
: resolveMembershipInputExtensions(extensionOptionOrigins),
|
|
87
117
|
sources: policy.sources,
|
|
88
118
|
useCaseSensitiveFileNames: policy.useCaseSensitiveFileNames,
|
|
89
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeMembershipPolicyOverlay.mjs","sources":["../../../src/core/tsconfig/mergeMembershipPolicyOverlay.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mergeMembershipPolicyOverlay.mjs","sources":["../../../src/core/tsconfig/mergeMembershipPolicyOverlay.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,8 @@ import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolic
|
|
|
10
10
|
* root matcher still applies extension, package and hidden-path admission; this
|
|
11
11
|
* policy does not enumerate every dependency in the compiler program.
|
|
12
12
|
*
|
|
13
|
-
* `allowJs`
|
|
13
|
+
* `allowJs` (implicitly enabled by `checkJs`), effective `resolveJsonModule`
|
|
14
|
+
* and literal content mapper extensions prime root-discovery suffixes, not the
|
|
14
15
|
* complete set of imported or externally observed program inputs. `outDir`,
|
|
15
16
|
* `declarationDir`, and plain `exclude` entries supply conservative directory
|
|
16
17
|
* exclusions for that discovery walk. TypeScript supplies the two output
|
|
@@ -33,7 +34,7 @@ import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolic
|
|
|
33
34
|
*
|
|
34
35
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
35
36
|
* Shared declaration readers own inheritance; this operation assembles one
|
|
36
|
-
* policy and keeps exclusion provenance so overlays can
|
|
37
|
+
* policy and keeps extension and exclusion provenance so overlays can recompute defaults. Own null options clear inherited declarations before default resolution.
|
|
37
38
|
*
|
|
38
39
|
* @evidence contracts/portability.md#os-neutral-implementation
|
|
39
40
|
* Node native paths anchor config-derived patterns; regular and native
|
|
@@ -10,7 +10,8 @@ import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolic
|
|
|
10
10
|
* root matcher still applies extension, package and hidden-path admission; this
|
|
11
11
|
* policy does not enumerate every dependency in the compiler program.
|
|
12
12
|
*
|
|
13
|
-
* `allowJs`
|
|
13
|
+
* `allowJs` (implicitly enabled by `checkJs`), effective `resolveJsonModule`
|
|
14
|
+
* and literal content mapper extensions prime root-discovery suffixes, not the
|
|
14
15
|
* complete set of imported or externally observed program inputs. `outDir`,
|
|
15
16
|
* `declarationDir`, and plain `exclude` entries supply conservative directory
|
|
16
17
|
* exclusions for that discovery walk. TypeScript supplies the two output
|
|
@@ -33,7 +34,7 @@ import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolic
|
|
|
33
34
|
*
|
|
34
35
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
35
36
|
* Shared declaration readers own inheritance; this operation assembles one
|
|
36
|
-
* policy and keeps exclusion provenance so overlays can
|
|
37
|
+
* policy and keeps extension and exclusion provenance so overlays can recompute defaults. Own null options clear inherited declarations before default resolution.
|
|
37
38
|
*
|
|
38
39
|
* @evidence contracts/portability.md#os-neutral-implementation
|
|
39
40
|
* Node native paths anchor config-derived patterns; regular and native
|
|
@@ -10,7 +10,8 @@ import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolic
|
|
|
10
10
|
* root matcher still applies extension, package and hidden-path admission; this
|
|
11
11
|
* policy does not enumerate every dependency in the compiler program.
|
|
12
12
|
*
|
|
13
|
-
* `allowJs`
|
|
13
|
+
* `allowJs` (implicitly enabled by `checkJs`), effective `resolveJsonModule`
|
|
14
|
+
* and literal content mapper extensions prime root-discovery suffixes, not the
|
|
14
15
|
* complete set of imported or externally observed program inputs. `outDir`,
|
|
15
16
|
* `declarationDir`, and plain `exclude` entries supply conservative directory
|
|
16
17
|
* exclusions for that discovery walk. TypeScript supplies the two output
|
|
@@ -33,7 +34,7 @@ import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolic
|
|
|
33
34
|
*
|
|
34
35
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
35
36
|
* Shared declaration readers own inheritance; this operation assembles one
|
|
36
|
-
* policy and keeps exclusion provenance so overlays can
|
|
37
|
+
* policy and keeps extension and exclusion provenance so overlays can recompute defaults. Own null options clear inherited declarations before default resolution.
|
|
37
38
|
*
|
|
38
39
|
* @evidence contracts/portability.md#os-neutral-implementation
|
|
39
40
|
* Node native paths anchor config-derived patterns; regular and native
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var path = require('node:path');
|
|
4
|
-
var TYPESCRIPT_TRANSFORM_EXTENSIONS = require('../source/TYPESCRIPT_TRANSFORM_EXTENSIONS.js');
|
|
5
|
-
var JAVASCRIPT_INPUT_EXTENSIONS = require('./JAVASCRIPT_INPUT_EXTENSIONS.js');
|
|
6
4
|
var OUTPUT_DIRECTORY_OPTIONS = require('./OUTPUT_DIRECTORY_OPTIONS.js');
|
|
7
5
|
var TsconfigReadTransaction = require('./TsconfigReadTransaction.js');
|
|
8
6
|
var absolutizePathsTarget = require('./absolutizePathsTarget.js');
|
|
@@ -11,6 +9,7 @@ var findDeclaredValue = require('./findDeclaredValue.js');
|
|
|
11
9
|
var flattenDirectoryExclusionOrigins = require('./flattenDirectoryExclusionOrigins.js');
|
|
12
10
|
var normalizeTypeScriptPathSeparators = require('./normalizeTypeScriptPathSeparators.js');
|
|
13
11
|
var resolveConfigDirTemplatePath = require('./resolveConfigDirTemplatePath.js');
|
|
12
|
+
var resolveMembershipInputExtensions = require('./resolveMembershipInputExtensions.js');
|
|
14
13
|
var resolveNativeRootPath = require('./resolveNativeRootPath.js');
|
|
15
14
|
var resolveRealPath = require('./resolveRealPath.js');
|
|
16
15
|
|
|
@@ -27,7 +26,8 @@ const DEFAULT_INCLUDE_SPEC = "**/*";
|
|
|
27
26
|
* root matcher still applies extension, package and hidden-path admission; this
|
|
28
27
|
* policy does not enumerate every dependency in the compiler program.
|
|
29
28
|
*
|
|
30
|
-
* `allowJs`
|
|
29
|
+
* `allowJs` (implicitly enabled by `checkJs`), effective `resolveJsonModule`
|
|
30
|
+
* and literal content mapper extensions prime root-discovery suffixes, not the
|
|
31
31
|
* complete set of imported or externally observed program inputs. `outDir`,
|
|
32
32
|
* `declarationDir`, and plain `exclude` entries supply conservative directory
|
|
33
33
|
* exclusions for that discovery walk. TypeScript supplies the two output
|
|
@@ -50,7 +50,7 @@ const DEFAULT_INCLUDE_SPEC = "**/*";
|
|
|
50
50
|
*
|
|
51
51
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
52
52
|
* Shared declaration readers own inheritance; this operation assembles one
|
|
53
|
-
* policy and keeps exclusion provenance so overlays can
|
|
53
|
+
* policy and keeps extension and exclusion provenance so overlays can recompute defaults. Own null options clear inherited declarations before default resolution.
|
|
54
54
|
*
|
|
55
55
|
* @evidence contracts/portability.md#os-neutral-implementation
|
|
56
56
|
* Node native paths anchor config-derived patterns; regular and native
|
|
@@ -107,17 +107,42 @@ function readProjectMembershipPolicy(tsconfig) {
|
|
|
107
107
|
nativepath: resolveNativeRootPath.resolveNativeRootPath(configDir),
|
|
108
108
|
},
|
|
109
109
|
};
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
|
|
110
|
+
const option = (key) => findDeclaredValue.findDeclaredValue(resolved, (parsed) => {
|
|
111
|
+
const options = parsed.compilerOptions;
|
|
112
|
+
// Boxing null stops inheritance: upstream clears the inherited value.
|
|
113
|
+
return options !== null &&
|
|
114
|
+
typeof options === "object" &&
|
|
115
|
+
Object.hasOwn(options, key)
|
|
116
|
+
? { value: options[key] }
|
|
117
|
+
: undefined;
|
|
118
|
+
}, new Set(), sources, configs)?.value.value;
|
|
119
|
+
const booleanOption = (key) => {
|
|
120
|
+
const value = option(key);
|
|
113
121
|
return typeof value === "boolean" ? value : undefined;
|
|
114
|
-
}
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
};
|
|
123
|
+
const stringOption = (key) => {
|
|
124
|
+
const value = option(key);
|
|
125
|
+
return typeof value === "string" ? value : undefined;
|
|
126
|
+
};
|
|
127
|
+
const extensions = new Set();
|
|
128
|
+
const mappers = findDeclaredValue.findDeclaredValue(resolved, (parsed) => {
|
|
129
|
+
if (!Object.prototype.hasOwnProperty.call(parsed, "contentMappers"))
|
|
130
|
+
return undefined;
|
|
131
|
+
const value = parsed.contentMappers;
|
|
132
|
+
return Array.isArray(value) ? value : [];
|
|
133
|
+
}, new Set(), sources, configs)?.value ?? [];
|
|
134
|
+
for (const mapper of mappers) {
|
|
135
|
+
const declaredExtensions = mapper !== null && typeof mapper === "object"
|
|
136
|
+
? mapper.extensions
|
|
137
|
+
: undefined;
|
|
138
|
+
if (!Array.isArray(declaredExtensions))
|
|
139
|
+
continue;
|
|
140
|
+
for (const extension of declaredExtensions)
|
|
141
|
+
if (typeof extension === "string" &&
|
|
142
|
+
extension.length > 1 &&
|
|
143
|
+
extension.startsWith(".") &&
|
|
144
|
+
!/[\\/]/.test(extension))
|
|
145
|
+
extensions.add(extension);
|
|
121
146
|
}
|
|
122
147
|
const directoryExclusionOrigins = { exclude: [], useImplicitOutputExclusions: true };
|
|
123
148
|
for (const key of OUTPUT_DIRECTORY_OPTIONS.OUTPUT_DIRECTORY_OPTIONS) {
|
|
@@ -166,11 +191,20 @@ function readProjectMembershipPolicy(tsconfig) {
|
|
|
166
191
|
directoryExclusionOrigins.exclude.push(resolveConfigDirTemplatePath.resolveConfigDirTemplatePath(excludeList.baseDir, plain, path.dirname(resolved)));
|
|
167
192
|
}
|
|
168
193
|
}
|
|
194
|
+
const extensionOptionOrigins = {
|
|
195
|
+
allowJs: booleanOption("allowJs"),
|
|
196
|
+
checkJs: booleanOption("checkJs"),
|
|
197
|
+
resolveJsonModule: booleanOption("resolveJsonModule"),
|
|
198
|
+
module: stringOption("module"),
|
|
199
|
+
moduleResolution: stringOption("moduleResolution"),
|
|
200
|
+
mapperExtensions: [...extensions],
|
|
201
|
+
};
|
|
169
202
|
return {
|
|
170
203
|
rootFileSpecs,
|
|
171
204
|
directoryExclusionOrigins,
|
|
172
205
|
excludedDirectories: flattenDirectoryExclusionOrigins.flattenDirectoryExclusionOrigins(directoryExclusionOrigins),
|
|
173
|
-
|
|
206
|
+
extensionOptionOrigins,
|
|
207
|
+
inputExtensions: resolveMembershipInputExtensions.resolveMembershipInputExtensions(extensionOptionOrigins),
|
|
174
208
|
sources: [...sources],
|
|
175
209
|
};
|
|
176
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readProjectMembershipPolicy.js","sources":["../../../src/core/tsconfig/readProjectMembershipPolicy.ts"],"sourcesContent":[null],"names":["TsconfigReadTransaction","findDeclaredFileSpecs","absolutizePathsTarget","resolveRealPath","resolveNativeRootPath","findDeclaredValue","
|
|
1
|
+
{"version":3,"file":"readProjectMembershipPolicy.js","sources":["../../../src/core/tsconfig/readProjectMembershipPolicy.ts"],"sourcesContent":[null],"names":["TsconfigReadTransaction","findDeclaredFileSpecs","absolutizePathsTarget","resolveRealPath","resolveNativeRootPath","findDeclaredValue","OUTPUT_DIRECTORY_OPTIONS","resolveConfigDirTemplatePath","normalizeTypeScriptPathSeparators","flattenDirectoryExclusionOrigins","resolveMembershipInputExtensions"],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import { TYPESCRIPT_TRANSFORM_EXTENSIONS } from '../source/TYPESCRIPT_TRANSFORM_EXTENSIONS.mjs';
|
|
3
|
-
import { JAVASCRIPT_INPUT_EXTENSIONS } from './JAVASCRIPT_INPUT_EXTENSIONS.mjs';
|
|
4
2
|
import { OUTPUT_DIRECTORY_OPTIONS } from './OUTPUT_DIRECTORY_OPTIONS.mjs';
|
|
5
3
|
import { TsconfigReadTransaction } from './TsconfigReadTransaction.mjs';
|
|
6
4
|
import { absolutizePathsTarget } from './absolutizePathsTarget.mjs';
|
|
@@ -9,6 +7,7 @@ import { findDeclaredValue } from './findDeclaredValue.mjs';
|
|
|
9
7
|
import { flattenDirectoryExclusionOrigins } from './flattenDirectoryExclusionOrigins.mjs';
|
|
10
8
|
import { normalizeTypeScriptPathSeparators } from './normalizeTypeScriptPathSeparators.mjs';
|
|
11
9
|
import { resolveConfigDirTemplatePath } from './resolveConfigDirTemplatePath.mjs';
|
|
10
|
+
import { resolveMembershipInputExtensions } from './resolveMembershipInputExtensions.mjs';
|
|
12
11
|
import { resolveNativeRootPath } from './resolveNativeRootPath.mjs';
|
|
13
12
|
import { resolveRealPath } from './resolveRealPath.mjs';
|
|
14
13
|
|
|
@@ -25,7 +24,8 @@ const DEFAULT_INCLUDE_SPEC = "**/*";
|
|
|
25
24
|
* root matcher still applies extension, package and hidden-path admission; this
|
|
26
25
|
* policy does not enumerate every dependency in the compiler program.
|
|
27
26
|
*
|
|
28
|
-
* `allowJs`
|
|
27
|
+
* `allowJs` (implicitly enabled by `checkJs`), effective `resolveJsonModule`
|
|
28
|
+
* and literal content mapper extensions prime root-discovery suffixes, not the
|
|
29
29
|
* complete set of imported or externally observed program inputs. `outDir`,
|
|
30
30
|
* `declarationDir`, and plain `exclude` entries supply conservative directory
|
|
31
31
|
* exclusions for that discovery walk. TypeScript supplies the two output
|
|
@@ -48,7 +48,7 @@ const DEFAULT_INCLUDE_SPEC = "**/*";
|
|
|
48
48
|
*
|
|
49
49
|
* @evidence contracts/common.md#clear-and-simple-design
|
|
50
50
|
* Shared declaration readers own inheritance; this operation assembles one
|
|
51
|
-
* policy and keeps exclusion provenance so overlays can
|
|
51
|
+
* policy and keeps extension and exclusion provenance so overlays can recompute defaults. Own null options clear inherited declarations before default resolution.
|
|
52
52
|
*
|
|
53
53
|
* @evidence contracts/portability.md#os-neutral-implementation
|
|
54
54
|
* Node native paths anchor config-derived patterns; regular and native
|
|
@@ -105,17 +105,42 @@ function readProjectMembershipPolicy(tsconfig) {
|
|
|
105
105
|
nativepath: resolveNativeRootPath(configDir),
|
|
106
106
|
},
|
|
107
107
|
};
|
|
108
|
-
const
|
|
109
|
-
const
|
|
110
|
-
|
|
108
|
+
const option = (key) => findDeclaredValue(resolved, (parsed) => {
|
|
109
|
+
const options = parsed.compilerOptions;
|
|
110
|
+
// Boxing null stops inheritance: upstream clears the inherited value.
|
|
111
|
+
return options !== null &&
|
|
112
|
+
typeof options === "object" &&
|
|
113
|
+
Object.hasOwn(options, key)
|
|
114
|
+
? { value: options[key] }
|
|
115
|
+
: undefined;
|
|
116
|
+
}, new Set(), sources, configs)?.value.value;
|
|
117
|
+
const booleanOption = (key) => {
|
|
118
|
+
const value = option(key);
|
|
111
119
|
return typeof value === "boolean" ? value : undefined;
|
|
112
|
-
}
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
120
|
+
};
|
|
121
|
+
const stringOption = (key) => {
|
|
122
|
+
const value = option(key);
|
|
123
|
+
return typeof value === "string" ? value : undefined;
|
|
124
|
+
};
|
|
125
|
+
const extensions = new Set();
|
|
126
|
+
const mappers = findDeclaredValue(resolved, (parsed) => {
|
|
127
|
+
if (!Object.prototype.hasOwnProperty.call(parsed, "contentMappers"))
|
|
128
|
+
return undefined;
|
|
129
|
+
const value = parsed.contentMappers;
|
|
130
|
+
return Array.isArray(value) ? value : [];
|
|
131
|
+
}, new Set(), sources, configs)?.value ?? [];
|
|
132
|
+
for (const mapper of mappers) {
|
|
133
|
+
const declaredExtensions = mapper !== null && typeof mapper === "object"
|
|
134
|
+
? mapper.extensions
|
|
135
|
+
: undefined;
|
|
136
|
+
if (!Array.isArray(declaredExtensions))
|
|
137
|
+
continue;
|
|
138
|
+
for (const extension of declaredExtensions)
|
|
139
|
+
if (typeof extension === "string" &&
|
|
140
|
+
extension.length > 1 &&
|
|
141
|
+
extension.startsWith(".") &&
|
|
142
|
+
!/[\\/]/.test(extension))
|
|
143
|
+
extensions.add(extension);
|
|
119
144
|
}
|
|
120
145
|
const directoryExclusionOrigins = { exclude: [], useImplicitOutputExclusions: true };
|
|
121
146
|
for (const key of OUTPUT_DIRECTORY_OPTIONS) {
|
|
@@ -164,11 +189,20 @@ function readProjectMembershipPolicy(tsconfig) {
|
|
|
164
189
|
directoryExclusionOrigins.exclude.push(resolveConfigDirTemplatePath(excludeList.baseDir, plain, path.dirname(resolved)));
|
|
165
190
|
}
|
|
166
191
|
}
|
|
192
|
+
const extensionOptionOrigins = {
|
|
193
|
+
allowJs: booleanOption("allowJs"),
|
|
194
|
+
checkJs: booleanOption("checkJs"),
|
|
195
|
+
resolveJsonModule: booleanOption("resolveJsonModule"),
|
|
196
|
+
module: stringOption("module"),
|
|
197
|
+
moduleResolution: stringOption("moduleResolution"),
|
|
198
|
+
mapperExtensions: [...extensions],
|
|
199
|
+
};
|
|
167
200
|
return {
|
|
168
201
|
rootFileSpecs,
|
|
169
202
|
directoryExclusionOrigins,
|
|
170
203
|
excludedDirectories: flattenDirectoryExclusionOrigins(directoryExclusionOrigins),
|
|
171
|
-
|
|
204
|
+
extensionOptionOrigins,
|
|
205
|
+
inputExtensions: resolveMembershipInputExtensions(extensionOptionOrigins),
|
|
172
206
|
sources: [...sources],
|
|
173
207
|
};
|
|
174
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readProjectMembershipPolicy.mjs","sources":["../../../src/core/tsconfig/readProjectMembershipPolicy.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"readProjectMembershipPolicy.mjs","sources":["../../../src/core/tsconfig/readProjectMembershipPolicy.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolicy.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Prime suffix admission from explicit options and pinned TypeScript-Go
|
|
4
|
+
* defaults. Native membership reports still decide whether a primed walk was
|
|
5
|
+
* valid.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation Pinned 7.0 and 7.1 GetAllowJS, GetResolveJsonModule and GetModuleResolutionKind define these defaults: allowJs overrides checkJs; Node20/NodeNext enable implicit JSON; other modules use effective Bundler resolution unless Node16/18 or an explicit modern node resolution applies.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design One pure resolver serves config inheritance and compiler-option overlays; declared mapper suffixes are unioned independently of built-in flags.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Constants describe upstream option semantics for supported targets, without consumer names or treating prediction as a native proof.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation Prose states the provisional role and native authority; the origins type documents missing options and mapper ownership.
|
|
11
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation Only compiler option labels and extension strings are interpreted; no filesystem path or process boundary is crossed.
|
|
12
|
+
* @evidence contracts/performance.md#efficient-algorithms Fixed option branches and one Set union cost O(mapper suffix count and text); output storage follows unique suffixes.
|
|
13
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Resolves one supplied option value without coordinating requests or retaining a memo.
|
|
14
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The returned array transfers to the caller; no handle or history is retained.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveMembershipInputExtensions(origins: NonNullable<ITtscProjectMembershipPolicy["extensionOptionOrigins"]>): string[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolicy.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Prime suffix admission from explicit options and pinned TypeScript-Go
|
|
4
|
+
* defaults. Native membership reports still decide whether a primed walk was
|
|
5
|
+
* valid.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation Pinned 7.0 and 7.1 GetAllowJS, GetResolveJsonModule and GetModuleResolutionKind define these defaults: allowJs overrides checkJs; Node20/NodeNext enable implicit JSON; other modules use effective Bundler resolution unless Node16/18 or an explicit modern node resolution applies.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design One pure resolver serves config inheritance and compiler-option overlays; declared mapper suffixes are unioned independently of built-in flags.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Constants describe upstream option semantics for supported targets, without consumer names or treating prediction as a native proof.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation Prose states the provisional role and native authority; the origins type documents missing options and mapper ownership.
|
|
11
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation Only compiler option labels and extension strings are interpreted; no filesystem path or process boundary is crossed.
|
|
12
|
+
* @evidence contracts/performance.md#efficient-algorithms Fixed option branches and one Set union cost O(mapper suffix count and text); output storage follows unique suffixes.
|
|
13
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Resolves one supplied option value without coordinating requests or retaining a memo.
|
|
14
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The returned array transfers to the caller; no handle or history is retained.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveMembershipInputExtensions(origins: NonNullable<ITtscProjectMembershipPolicy["extensionOptionOrigins"]>): string[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ITtscProjectMembershipPolicy } from "./ITtscProjectMembershipPolicy";
|
|
2
|
+
/**
|
|
3
|
+
* Prime suffix admission from explicit options and pinned TypeScript-Go
|
|
4
|
+
* defaults. Native membership reports still decide whether a primed walk was
|
|
5
|
+
* valid.
|
|
6
|
+
*
|
|
7
|
+
* @evidence contracts/common.md#principled-implementation Pinned 7.0 and 7.1 GetAllowJS, GetResolveJsonModule and GetModuleResolutionKind define these defaults: allowJs overrides checkJs; Node20/NodeNext enable implicit JSON; other modules use effective Bundler resolution unless Node16/18 or an explicit modern node resolution applies.
|
|
8
|
+
* @evidence contracts/common.md#clear-and-simple-design One pure resolver serves config inheritance and compiler-option overlays; declared mapper suffixes are unioned independently of built-in flags.
|
|
9
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Constants describe upstream option semantics for supported targets, without consumer names or treating prediction as a native proof.
|
|
10
|
+
* @evidence contracts/common.md#meaningful-documentation Prose states the provisional role and native authority; the origins type documents missing options and mapper ownership.
|
|
11
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation Only compiler option labels and extension strings are interpreted; no filesystem path or process boundary is crossed.
|
|
12
|
+
* @evidence contracts/performance.md#efficient-algorithms Fixed option branches and one Set union cost O(mapper suffix count and text); output storage follows unique suffixes.
|
|
13
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Resolves one supplied option value without coordinating requests or retaining a memo.
|
|
14
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The returned array transfers to the caller; no handle or history is retained.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveMembershipInputExtensions(origins: NonNullable<ITtscProjectMembershipPolicy["extensionOptionOrigins"]>): string[];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var TYPESCRIPT_TRANSFORM_EXTENSIONS = require('../source/TYPESCRIPT_TRANSFORM_EXTENSIONS.js');
|
|
4
|
+
var JAVASCRIPT_INPUT_EXTENSIONS = require('./JAVASCRIPT_INPUT_EXTENSIONS.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Prime suffix admission from explicit options and pinned TypeScript-Go
|
|
8
|
+
* defaults. Native membership reports still decide whether a primed walk was
|
|
9
|
+
* valid.
|
|
10
|
+
*
|
|
11
|
+
* @evidence contracts/common.md#principled-implementation Pinned 7.0 and 7.1 GetAllowJS, GetResolveJsonModule and GetModuleResolutionKind define these defaults: allowJs overrides checkJs; Node20/NodeNext enable implicit JSON; other modules use effective Bundler resolution unless Node16/18 or an explicit modern node resolution applies.
|
|
12
|
+
* @evidence contracts/common.md#clear-and-simple-design One pure resolver serves config inheritance and compiler-option overlays; declared mapper suffixes are unioned independently of built-in flags.
|
|
13
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Constants describe upstream option semantics for supported targets, without consumer names or treating prediction as a native proof.
|
|
14
|
+
* @evidence contracts/common.md#meaningful-documentation Prose states the provisional role and native authority; the origins type documents missing options and mapper ownership.
|
|
15
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation Only compiler option labels and extension strings are interpreted; no filesystem path or process boundary is crossed.
|
|
16
|
+
* @evidence contracts/performance.md#efficient-algorithms Fixed option branches and one Set union cost O(mapper suffix count and text); output storage follows unique suffixes.
|
|
17
|
+
* @evidenceExclude contracts/performance.md#reuse-equivalent-work Resolves one supplied option value without coordinating requests or retaining a memo.
|
|
18
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The returned array transfers to the caller; no handle or history is retained.
|
|
19
|
+
*/
|
|
20
|
+
function resolveMembershipInputExtensions(origins) {
|
|
21
|
+
const extensions = new Set(TYPESCRIPT_TRANSFORM_EXTENSIONS.TYPESCRIPT_TRANSFORM_EXTENSIONS);
|
|
22
|
+
if (origins.allowJs ?? origins.checkJs)
|
|
23
|
+
for (const extension of JAVASCRIPT_INPUT_EXTENSIONS.JAVASCRIPT_INPUT_EXTENSIONS)
|
|
24
|
+
extensions.add(extension);
|
|
25
|
+
const module = origins.module?.toLowerCase();
|
|
26
|
+
const resolution = origins.moduleResolution?.toLowerCase();
|
|
27
|
+
const modernResolution = resolution === "node16" ||
|
|
28
|
+
resolution === "nodenext" ||
|
|
29
|
+
resolution === "bundler";
|
|
30
|
+
const bundler = modernResolution
|
|
31
|
+
? resolution === "bundler"
|
|
32
|
+
: module !== "node16" &&
|
|
33
|
+
module !== "node18" &&
|
|
34
|
+
module !== "node20" &&
|
|
35
|
+
module !== "nodenext";
|
|
36
|
+
if (origins.resolveJsonModule ??
|
|
37
|
+
(module === "node20" || module === "nodenext" || bundler))
|
|
38
|
+
extensions.add(".json");
|
|
39
|
+
for (const extension of origins.mapperExtensions)
|
|
40
|
+
extensions.add(extension);
|
|
41
|
+
return [...extensions];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.resolveMembershipInputExtensions = resolveMembershipInputExtensions;
|
|
45
|
+
//# sourceMappingURL=resolveMembershipInputExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveMembershipInputExtensions.js","sources":["../../../src/core/tsconfig/resolveMembershipInputExtensions.ts"],"sourcesContent":[null],"names":["TYPESCRIPT_TRANSFORM_EXTENSIONS","JAVASCRIPT_INPUT_EXTENSIONS"],"mappings":";;;;;AAIA;;;;;;;;;;;;;AAaG;AACG,SAAU,gCAAgC,CAC9C,OAA4E,EAAA;AAE5E,IAAA,MAAM,UAAU,GAAG,IAAI,GAAG,CAACA,+DAA+B,CAAC;AAC3D,IAAA,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;QACpC,KAAK,MAAM,SAAS,IAAIC,uDAA2B;AACjD,YAAA,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE;IAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,WAAW,EAAE;AAC1D,IAAA,MAAM,gBAAgB,GACpB,UAAU,KAAK,QAAQ;AACvB,QAAA,UAAU,KAAK,UAAU;QACzB,UAAU,KAAK,SAAS;IAC1B,MAAM,OAAO,GAAG;UACZ,UAAU,KAAK;UACf,MAAM,KAAK,QAAQ;AACnB,YAAA,MAAM,KAAK,QAAQ;AACnB,YAAA,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,UAAU;IACzB,IACE,OAAO,CAAC,iBAAiB;SACxB,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC;AAEzD,QAAA,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;AACzB,IAAA,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,gBAAgB;AAAE,QAAA,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;AAC3E,IAAA,OAAO,CAAC,GAAG,UAAU,CAAC;AACxB;;;;"}
|