Skip to content

Commit 6ba17c8

Browse files
committed
Merge branch 'bug/bundler-at-types' into try-bundler
2 parents ee87f10 + 0caa3a4 commit 6ba17c8

6 files changed

+399
-289
lines changed

package-lock.json

+270-270
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/compiler/moduleNameResolver.ts

+21-19
Original file line numberDiff line numberDiff line change
@@ -2756,27 +2756,31 @@ function loadModuleFromImmediateNodeModulesDirectory(extensions: Extensions, mod
27562756

27572757
function loadModuleFromSpecificNodeModulesDirectory(extensions: Extensions, moduleName: string, nodeModulesDirectory: string, nodeModulesDirectoryExists: boolean, state: ModuleResolutionState, cache: ModuleResolutionCache | undefined, redirectedReference: ResolvedProjectReference | undefined): Resolved | undefined {
27582758
const candidate = normalizePath(combinePaths(nodeModulesDirectory, moduleName));
2759+
const { packageName, rest } = parsePackageName(moduleName);
2760+
const packageDirectory = combinePaths(nodeModulesDirectory, packageName);
27592761

2762+
let rootPackageInfo: PackageJsonInfo | undefined;
27602763
// First look for a nested package.json, as in `node_modules/foo/bar/package.json`.
27612764
let packageInfo = getPackageJsonInfo(candidate, !nodeModulesDirectoryExists, state);
27622765
// But only if we're not respecting export maps (if we are, we might redirect around this location)
2763-
if (!(state.features & NodeResolutionFeatures.Exports)) {
2764-
if (packageInfo) {
2765-
const fromFile = loadModuleFromFile(extensions, candidate, !nodeModulesDirectoryExists, state);
2766-
if (fromFile) {
2767-
return noPackageId(fromFile);
2768-
}
2769-
2770-
const fromDirectory = loadNodeModuleFromDirectoryWorker(
2771-
extensions,
2772-
candidate,
2773-
!nodeModulesDirectoryExists,
2774-
state,
2775-
packageInfo.contents.packageJsonContent,
2776-
getVersionPathsOfPackageJsonInfo(packageInfo, state),
2777-
);
2778-
return withPackageId(packageInfo, fromDirectory);
2766+
if (rest !== "" && packageInfo && (
2767+
!(state.features & NodeResolutionFeatures.Exports) ||
2768+
!hasProperty((rootPackageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state))?.contents.packageJsonContent ?? emptyArray, "exports")
2769+
)) {
2770+
const fromFile = loadModuleFromFile(extensions, candidate, !nodeModulesDirectoryExists, state);
2771+
if (fromFile) {
2772+
return noPackageId(fromFile);
27792773
}
2774+
2775+
const fromDirectory = loadNodeModuleFromDirectoryWorker(
2776+
extensions,
2777+
candidate,
2778+
!nodeModulesDirectoryExists,
2779+
state,
2780+
packageInfo.contents.packageJsonContent,
2781+
getVersionPathsOfPackageJsonInfo(packageInfo, state),
2782+
);
2783+
return withPackageId(packageInfo, fromDirectory);
27802784
}
27812785

27822786
const loader: ResolutionKindSpecificLoader = (extensions, candidate, onlyRecordFailures, state) => {
@@ -2803,11 +2807,9 @@ function loadModuleFromSpecificNodeModulesDirectory(extensions: Extensions, modu
28032807
return withPackageId(packageInfo, pathAndExtension);
28042808
};
28052809

2806-
const { packageName, rest } = parsePackageName(moduleName);
2807-
const packageDirectory = combinePaths(nodeModulesDirectory, packageName);
28082810
if (rest !== "") {
28092811
// Previous `packageInfo` may have been from a nested package.json; ensure we have the one from the package root now.
2810-
packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
2812+
packageInfo = rootPackageInfo ?? getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
28112813
}
28122814
// package exports are higher priority than file/directory/typesVersions lookups and (and, if there's exports present, blocks them)
28132815
if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[
2+
"======== Resolving module '@restart/hooks/useMergedRefs' from '/main.ts'. ========",
3+
"Explicitly specified module resolution kind: 'Bundler'.",
4+
"File '/package.json' does not exist.",
5+
"Loading module '@restart/hooks/useMergedRefs' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.",
6+
"Found 'package.json' at '/node_modules/@restart/hooks/useMergedRefs/package.json'.",
7+
"Found 'package.json' at '/node_modules/@restart/hooks/package.json'.",
8+
"File '/node_modules/@restart/hooks/useMergedRefs.ts' does not exist.",
9+
"File '/node_modules/@restart/hooks/useMergedRefs.tsx' does not exist.",
10+
"File '/node_modules/@restart/hooks/useMergedRefs.d.ts' does not exist.",
11+
"'package.json' does not have a 'typesVersions' field.",
12+
"'package.json' does not have a 'typings' field.",
13+
"'package.json' has 'types' field '../esm/useMergedRefs.d.ts' that references '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'.",
14+
"File '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts' exist - use it as a name resolution result.",
15+
"Resolving real path for '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts', result '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'.",
16+
"======== Module name '@restart/hooks/useMergedRefs' was successfully resolved to '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'. ========"
17+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[
2+
"File '/node_modules/@restart/hooks/esm/package.json' does not exist.",
3+
"Found 'package.json' at '/node_modules/@restart/hooks/package.json'.",
4+
"File '/package.json' does not exist.",
5+
"======== Resolving module '@restart/hooks/useMergedRefs' from '/main.ts'. ========",
6+
"Explicitly specified module resolution kind: 'Node16'.",
7+
"Resolving in CJS mode with conditions 'node', 'require', 'types'.",
8+
"File '/package.json' does not exist according to earlier cached lookups.",
9+
"Loading module '@restart/hooks/useMergedRefs' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
10+
"Found 'package.json' at '/node_modules/@restart/hooks/useMergedRefs/package.json'.",
11+
"File '/node_modules/@restart/hooks/package.json' exists according to earlier cached lookups.",
12+
"File '/node_modules/@restart/hooks/useMergedRefs.ts' does not exist.",
13+
"File '/node_modules/@restart/hooks/useMergedRefs.tsx' does not exist.",
14+
"File '/node_modules/@restart/hooks/useMergedRefs.d.ts' does not exist.",
15+
"'package.json' does not have a 'typesVersions' field.",
16+
"'package.json' does not have a 'typings' field.",
17+
"'package.json' has 'types' field '../esm/useMergedRefs.d.ts' that references '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'.",
18+
"File '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts' exist - use it as a name resolution result.",
19+
"Resolving real path for '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts', result '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'.",
20+
"======== Module name '@restart/hooks/useMergedRefs' was successfully resolved to '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'. ========",
21+
"File 'package.json' does not exist.",
22+
"File '/package.json' does not exist according to earlier cached lookups.",
23+
"File 'package.json' does not exist according to earlier cached lookups.",
24+
"File '/package.json' does not exist according to earlier cached lookups.",
25+
"File 'package.json' does not exist according to earlier cached lookups.",
26+
"File '/package.json' does not exist according to earlier cached lookups.",
27+
"File 'package.json' does not exist according to earlier cached lookups.",
28+
"File '/package.json' does not exist according to earlier cached lookups.",
29+
"File 'package.json' does not exist according to earlier cached lookups.",
30+
"File '/package.json' does not exist according to earlier cached lookups."
31+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[
2+
"File '/node_modules/@restart/hooks/esm/package.json' does not exist.",
3+
"Found 'package.json' at '/node_modules/@restart/hooks/package.json'.",
4+
"File '/package.json' does not exist.",
5+
"======== Resolving module '@restart/hooks/useMergedRefs' from '/main.ts'. ========",
6+
"Explicitly specified module resolution kind: 'NodeNext'.",
7+
"Resolving in CJS mode with conditions 'node', 'require', 'types'.",
8+
"File '/package.json' does not exist according to earlier cached lookups.",
9+
"Loading module '@restart/hooks/useMergedRefs' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.",
10+
"Found 'package.json' at '/node_modules/@restart/hooks/useMergedRefs/package.json'.",
11+
"File '/node_modules/@restart/hooks/package.json' exists according to earlier cached lookups.",
12+
"File '/node_modules/@restart/hooks/useMergedRefs.ts' does not exist.",
13+
"File '/node_modules/@restart/hooks/useMergedRefs.tsx' does not exist.",
14+
"File '/node_modules/@restart/hooks/useMergedRefs.d.ts' does not exist.",
15+
"'package.json' does not have a 'typesVersions' field.",
16+
"'package.json' does not have a 'typings' field.",
17+
"'package.json' has 'types' field '../esm/useMergedRefs.d.ts' that references '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'.",
18+
"File '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts' exist - use it as a name resolution result.",
19+
"Resolving real path for '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts', result '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'.",
20+
"======== Module name '@restart/hooks/useMergedRefs' was successfully resolved to '/node_modules/@restart/hooks/esm/useMergedRefs.d.ts'. ========",
21+
"File 'package.json' does not exist.",
22+
"File '/package.json' does not exist according to earlier cached lookups.",
23+
"File 'package.json' does not exist according to earlier cached lookups.",
24+
"File '/package.json' does not exist according to earlier cached lookups.",
25+
"File 'package.json' does not exist according to earlier cached lookups.",
26+
"File '/package.json' does not exist according to earlier cached lookups.",
27+
"File 'package.json' does not exist according to earlier cached lookups.",
28+
"File '/package.json' does not exist according to earlier cached lookups.",
29+
"File 'package.json' does not exist according to earlier cached lookups.",
30+
"File '/package.json' does not exist according to earlier cached lookups."
31+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// @moduleResolution: node16,nodenext,bundler
2+
// @noEmit: true
3+
// @noTypesAndSymbols: true
4+
// @traceResolution: true
5+
// @strict: true
6+
7+
// @Filename: /node_modules/@restart/hooks/package.json
8+
{
9+
"name": "@restart/hooks",
10+
"version": "0.3.25",
11+
"main": "cjs/index.js",
12+
"types": "cjs/index.d.ts",
13+
"module": "esm/index.js"
14+
}
15+
16+
// @Filename: /node_modules/@restart/hooks/useMergedRefs/package.json
17+
{
18+
"name": "@restart/hooks/useMergedRefs",
19+
"private": true,
20+
"main": "../cjs/useMergedRefs.js",
21+
"module": "../esm/useMergedRefs.js",
22+
"types": "../esm/useMergedRefs.d.ts"
23+
}
24+
25+
// @Filename: /node_modules/@restart/hooks/esm/useMergedRefs.d.ts
26+
export {};
27+
28+
// @Filename: /main.ts
29+
import {} from "@restart/hooks/useMergedRefs";

0 commit comments

Comments
 (0)