@@ -164,49 +164,14 @@ private Container resolvePathExpr1(RelevantPathExpr expr) {
164164 )
165165}
166166
167- /**
168- * Removes the scope from a package name, e.g. `@foo/bar` -> `bar`.
169- */
170- bindingset [ name]
171- private string stripPackageScope ( string name ) { result = name .regexpReplaceAll ( "^@[^/]+/" , "" ) }
172-
173- private File guessPackageJsonMain1 ( PackageJsonEx pkg ) {
174- not exists ( pkg .getMainFile ( ) ) and
175- exists ( Folder folder , Folder subfolder |
176- folder = pkg .getFolder ( ) and
177- (
178- subfolder = folder or
179- subfolder = folder .getChildContainer ( getASrcFolderName ( ) ) or
180- subfolder =
181- folder
182- .getChildContainer ( getASrcFolderName ( ) )
183- .( Folder )
184- .getChildContainer ( getASrcFolderName ( ) )
185- )
186- |
187- result = subfolder .getJavaScriptFileOrTypings ( "index" )
188- or
189- result = subfolder .getJavaScriptFileOrTypings ( stripPackageScope ( pkg .getDeclaredPackageName ( ) ) )
190- )
191- }
192-
193- private File guessPackageJsonMain2 ( PackageJsonEx pkg ) {
194- not exists ( pkg .getMainFile ( ) ) and
195- not exists ( guessPackageJsonMain1 ( pkg ) ) and
196- result = pkg .getAFileInFilesArray ( )
197- }
198-
199- private File getFileFromFolderImport ( Folder folder ) {
167+ File getFileFromFolderImport ( Folder folder ) {
200168 result = folder .getJavaScriptFileOrTypings ( "index" )
201169 or
202170 // Note that unlike "exports" paths, "main" and "module" also take effect when the package
203171 // is imported via a relative path, e.g. `require("..")` targeting a folder with a package.json file.
204- exists ( PackageJsonEx pkg | pkg .getFolder ( ) = folder |
205- result = pkg .getMainFile ( )
206- or
207- result = guessPackageJsonMain1 ( pkg )
208- or
209- result = guessPackageJsonMain2 ( pkg )
172+ exists ( PackageJsonEx pkg |
173+ pkg .getFolder ( ) = folder and
174+ result = pkg .getMainFileOrBestGuess ( )
210175 )
211176}
212177
0 commit comments