@@ -30018,7 +30018,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
30018
30018
// #38720/60122, allow null as jsxFragmentFactory
30019
30019
let jsxFactorySym: Symbol | undefined;
30020
30020
if (!(isJsxOpeningFragment(node) && jsxFactoryNamespace === "null")) {
30021
- jsxFactorySym = resolveName(jsxFactoryLocation, jsxFactoryNamespace, compilerOptions.jsx === JsxEmit.Preserve ? SymbolFlags.Value & ~SymbolFlags.Enum : SymbolFlags.Value, jsxFactoryRefErr, /*isUse*/ true);
30021
+ jsxFactorySym = resolveName(
30022
+ jsxFactoryLocation,
30023
+ jsxFactoryNamespace,
30024
+ (compilerOptions.jsx === JsxEmit.Preserve || compilerOptions.jsx === JsxEmit.ReactNative) ? SymbolFlags.Value & ~SymbolFlags.Enum : SymbolFlags.Value,
30025
+ jsxFactoryRefErr,
30026
+ /*isUse*/ true,
30027
+ );
30022
30028
}
30023
30029
30024
30030
if (jsxFactorySym) {
@@ -30037,7 +30043,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
30037
30043
const file = getSourceFileOfNode(node);
30038
30044
const localJsxNamespace = getLocalJsxNamespace(file);
30039
30045
if (localJsxNamespace) {
30040
- resolveName(jsxFactoryLocation, localJsxNamespace, compilerOptions.jsx === JsxEmit.Preserve ? SymbolFlags.Value & ~SymbolFlags.Enum : SymbolFlags.Value, jsxFactoryRefErr, /*isUse*/ true);
30046
+ resolveName(
30047
+ jsxFactoryLocation,
30048
+ localJsxNamespace,
30049
+ (compilerOptions.jsx === JsxEmit.Preserve || compilerOptions.jsx === JsxEmit.ReactNative) ? SymbolFlags.Value & ~SymbolFlags.Enum : SymbolFlags.Value,
30050
+ jsxFactoryRefErr,
30051
+ /*isUse*/ true,
30052
+ );
30041
30053
}
30042
30054
}
30043
30055
}
@@ -36825,7 +36837,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
36825
36837
36826
36838
const jsxFactoryRefErr = diagnostics ? Diagnostics.Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found : undefined;
36827
36839
const jsxFactorySymbol = getJsxNamespaceContainerForImplicitImport(node) ??
36828
- resolveName(node, jsxFragmentFactoryName, compilerOptions.jsx === JsxEmit.Preserve ? SymbolFlags.Value & ~SymbolFlags.Enum : SymbolFlags.Value, /*nameNotFoundMessage*/ jsxFactoryRefErr, /*isUse*/ true);
36840
+ resolveName(
36841
+ node,
36842
+ jsxFragmentFactoryName,
36843
+ (compilerOptions.jsx === JsxEmit.Preserve || compilerOptions.jsx === JsxEmit.ReactNative) ? SymbolFlags.Value & ~SymbolFlags.Enum : SymbolFlags.Value,
36844
+ /*nameNotFoundMessage*/ jsxFactoryRefErr,
36845
+ /*isUse*/ true,
36846
+ );
36829
36847
36830
36848
if (jsxFactorySymbol === undefined) return sourceFileLinks.jsxFragmentType = errorType;
36831
36849
if (jsxFactorySymbol.escapedName === ReactNames.Fragment) return sourceFileLinks.jsxFragmentType = getTypeOfSymbol(jsxFactorySymbol);
0 commit comments