MCPcopy Create free account
hub / github.com/microsoft/typescript-go / newResolutionState

Function newResolutionState

internal/module/resolver.go:99–143  ·  view source on GitHub ↗
(
	name string,
	containingDirectory string,
	isTypeReferenceDirective bool,
	resolutionMode core.ResolutionMode,
	compilerOptions *core.CompilerOptions,
	redirectedReference ResolvedProjectReference,
	resolver *Resolver,
	traceBuilder *tracer,
)

Source from the content-addressed store, hash-verified

97}
98
99func newResolutionState(
100 name string,
101 containingDirectory string,
102 isTypeReferenceDirective bool,
103 resolutionMode core.ResolutionMode,
104 compilerOptions *core.CompilerOptions,
105 redirectedReference ResolvedProjectReference,
106 resolver *Resolver,
107 traceBuilder *tracer,
108) *resolutionState {
109 state := &resolutionState{
110 name: name,
111 containingDirectory: containingDirectory,
112 compilerOptions: GetCompilerOptionsWithRedirect(compilerOptions, redirectedReference),
113 resolver: resolver,
114 tracer: traceBuilder,
115 }
116
117 if isTypeReferenceDirective {
118 state.extensions = extensionsDeclaration
119 } else if compilerOptions.NoDtsResolution == core.TSTrue {
120 state.extensions = extensionsImplementationFiles
121 } else {
122 state.extensions = extensionsTypeScript | extensionsJavaScript | extensionsDeclaration
123 }
124
125 if !isTypeReferenceDirective && compilerOptions.GetResolveJsonModule() {
126 state.extensions |= extensionsJson
127 }
128
129 switch compilerOptions.GetModuleResolutionKind() {
130 case core.ModuleResolutionKindNode16:
131 state.features = NodeResolutionFeaturesNode16Default
132 state.esmMode = resolutionMode == core.ModuleKindESNext
133 state.conditions = GetConditions(compilerOptions, resolutionMode)
134 case core.ModuleResolutionKindNodeNext:
135 state.features = NodeResolutionFeaturesNodeNextDefault
136 state.esmMode = resolutionMode == core.ModuleKindESNext
137 state.conditions = GetConditions(compilerOptions, resolutionMode)
138 case core.ModuleResolutionKindBundler:
139 state.features = getNodeResolutionFeatures(compilerOptions)
140 state.conditions = GetConditions(compilerOptions, resolutionMode)
141 }
142 return state
143}
144
145func GetCompilerOptionsWithRedirect(compilerOptions *core.CompilerOptions, redirectedReference ResolvedProjectReference) *core.CompilerOptions {
146 if redirectedReference == nil {

Callers 5

ResolveModuleNameMethod · 0.85
resolveConfigMethod · 0.85

Calls 5

GetConditionsFunction · 0.85
GetResolveJsonModuleMethod · 0.80

Tested by

no test coverage detected