-
Notifications
You must be signed in to change notification settings - Fork 12.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
With
allowJs
, process JS files found searching node_modules when th…
…ey have a realpath outside node_modules (#56946)
- Loading branch information
1 parent
8179321
commit 385db44
Showing
5 changed files
with
250 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
tests/baselines/reference/allowJsCrossMonorepoPackage.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
//// [tests/cases/compiler/allowJsCrossMonorepoPackage.ts] //// | ||
|
||
=== /packages/main/index.ts === | ||
import { x } from "shared"; | ||
>x : Symbol(x, Decl(index.ts, 0, 8)) | ||
|
||
=== /node_modules/pkg/index.d.ts === | ||
export declare function pkg(): "pkg"; | ||
>pkg : Symbol(pkg, Decl(index.d.ts, 0, 0)) | ||
|
||
=== /packages/shared/utils.js === | ||
export { pkg } from "pkg"; | ||
>pkg : Symbol(pkg, Decl(utils.js, 0, 8)) | ||
|
||
=== /packages/shared/index.js === | ||
import { pkg } from "./utils.js"; | ||
>pkg : Symbol(pkg, Decl(index.js, 0, 8)) | ||
|
||
export const x = pkg(); | ||
>x : Symbol(x, Decl(index.js, 1, 12)) | ||
>pkg : Symbol(pkg, Decl(index.js, 0, 8)) | ||
|
159 changes: 159 additions & 0 deletions
159
tests/baselines/reference/allowJsCrossMonorepoPackage.trace.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
[ | ||
"======== Resolving module 'shared' from '/packages/main/index.ts'. ========", | ||
"Explicitly specified module resolution kind: 'Bundler'.", | ||
"Resolving in CJS mode with conditions 'import', 'types'.", | ||
"Found 'package.json' at '/packages/main/package.json'.", | ||
"Loading module 'shared' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Found 'package.json' at '/packages/main/node_modules/shared/package.json'.", | ||
"Using 'exports' subpath '.' with target './index.js'.", | ||
"File name '/packages/main/node_modules/shared/index.js' has a '.js' extension - stripping it.", | ||
"File '/packages/main/node_modules/shared/index.ts' does not exist.", | ||
"File '/packages/main/node_modules/shared/index.tsx' does not exist.", | ||
"File '/packages/main/node_modules/shared/index.d.ts' does not exist.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"File '/node_modules/shared.ts' does not exist.", | ||
"File '/node_modules/shared.tsx' does not exist.", | ||
"File '/node_modules/shared.d.ts' does not exist.", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", | ||
"File '/packages/main/node_modules/shared/package.json' exists according to earlier cached lookups.", | ||
"Using 'exports' subpath '.' with target './index.js'.", | ||
"File name '/packages/main/node_modules/shared/index.js' has a '.js' extension - stripping it.", | ||
"File '/packages/main/node_modules/shared/index.js' exists - use it as a name resolution result.", | ||
"Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update.", | ||
"File '/packages/main/package.json' exists according to earlier cached lookups.", | ||
"Loading module 'shared' from 'node_modules' folder, target file types: TypeScript, Declaration.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"File '/packages/main/node_modules/shared/package.json' exists according to earlier cached lookups.", | ||
"File '/packages/main/node_modules/shared.ts' does not exist.", | ||
"File '/packages/main/node_modules/shared.tsx' does not exist.", | ||
"File '/packages/main/node_modules/shared.d.ts' does not exist.", | ||
"'package.json' does not have a 'typesVersions' field.", | ||
"'package.json' does not have a 'typings' field.", | ||
"'package.json' does not have a 'types' field.", | ||
"'package.json' does not have a 'main' field.", | ||
"File '/packages/main/node_modules/shared/index.ts' does not exist.", | ||
"File '/packages/main/node_modules/shared/index.tsx' does not exist.", | ||
"File '/packages/main/node_modules/shared/index.d.ts' does not exist.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"File '/node_modules/shared.ts' does not exist.", | ||
"File '/node_modules/shared.tsx' does not exist.", | ||
"File '/node_modules/shared.d.ts' does not exist.", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Resolving real path for '/packages/main/node_modules/shared/index.js', result '/packages/shared/index.js'.", | ||
"======== Module name 'shared' was successfully resolved to '/packages/shared/index.js' with Package ID 'shared/index.js@1.0.0'. ========", | ||
"======== Resolving module './utils.js' from '/packages/shared/index.js'. ========", | ||
"Explicitly specified module resolution kind: 'Bundler'.", | ||
"Resolving in CJS mode with conditions 'import', 'types'.", | ||
"Loading module as file / folder, candidate module location '/packages/shared/utils.js', target file types: TypeScript, JavaScript, Declaration, JSON.", | ||
"File name '/packages/shared/utils.js' has a '.js' extension - stripping it.", | ||
"File '/packages/shared/utils.ts' does not exist.", | ||
"File '/packages/shared/utils.tsx' does not exist.", | ||
"File '/packages/shared/utils.d.ts' does not exist.", | ||
"File '/packages/shared/utils.js' exists - use it as a name resolution result.", | ||
"======== Module name './utils.js' was successfully resolved to '/packages/shared/utils.js'. ========", | ||
"======== Resolving module 'pkg' from '/packages/shared/utils.js'. ========", | ||
"Explicitly specified module resolution kind: 'Bundler'.", | ||
"Resolving in CJS mode with conditions 'import', 'types'.", | ||
"Found 'package.json' at '/packages/shared/package.json'.", | ||
"Loading module 'pkg' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Directory '/packages/shared/node_modules' does not exist, skipping all lookups in it.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"File '/node_modules/pkg/package.json' does not exist.", | ||
"File '/node_modules/pkg.ts' does not exist.", | ||
"File '/node_modules/pkg.tsx' does not exist.", | ||
"File '/node_modules/pkg.d.ts' does not exist.", | ||
"File '/node_modules/pkg/index.ts' does not exist.", | ||
"File '/node_modules/pkg/index.tsx' does not exist.", | ||
"File '/node_modules/pkg/index.d.ts' exists - use it as a name resolution result.", | ||
"Resolving real path for '/node_modules/pkg/index.d.ts', result '/node_modules/pkg/index.d.ts'.", | ||
"======== Module name 'pkg' was successfully resolved to '/node_modules/pkg/index.d.ts'. ========", | ||
"======== Resolving module '@typescript/lib-es5' from '/packages/main/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", | ||
"Explicitly specified module resolution kind: 'Node10'.", | ||
"Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-es5'", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-es5'", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-es5'", | ||
"Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: JavaScript.", | ||
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"======== Module name '@typescript/lib-es5' was not resolved. ========", | ||
"======== Resolving module '@typescript/lib-decorators' from '/packages/main/__lib_node_modules_lookup_lib.decorators.d.ts__.ts'. ========", | ||
"Explicitly specified module resolution kind: 'Node10'.", | ||
"Loading module '@typescript/lib-decorators' from 'node_modules' folder, target file types: TypeScript, Declaration.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-decorators'", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-decorators'", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-decorators'", | ||
"Loading module '@typescript/lib-decorators' from 'node_modules' folder, target file types: JavaScript.", | ||
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"======== Module name '@typescript/lib-decorators' was not resolved. ========", | ||
"======== Resolving module '@typescript/lib-decorators/legacy' from '/packages/main/__lib_node_modules_lookup_lib.decorators.legacy.d.ts__.ts'. ========", | ||
"Explicitly specified module resolution kind: 'Node10'.", | ||
"Loading module '@typescript/lib-decorators/legacy' from 'node_modules' folder, target file types: TypeScript, Declaration.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-decorators/legacy'", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-decorators/legacy'", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-decorators/legacy'", | ||
"Loading module '@typescript/lib-decorators/legacy' from 'node_modules' folder, target file types: JavaScript.", | ||
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"======== Module name '@typescript/lib-decorators/legacy' was not resolved. ========", | ||
"======== Resolving module '@typescript/lib-dom' from '/packages/main/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", | ||
"Explicitly specified module resolution kind: 'Node10'.", | ||
"Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-dom'", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-dom'", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-dom'", | ||
"Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: JavaScript.", | ||
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"======== Module name '@typescript/lib-dom' was not resolved. ========", | ||
"======== Resolving module '@typescript/lib-webworker/importscripts' from '/packages/main/__lib_node_modules_lookup_lib.webworker.importscripts.d.ts__.ts'. ========", | ||
"Explicitly specified module resolution kind: 'Node10'.", | ||
"Loading module '@typescript/lib-webworker/importscripts' from 'node_modules' folder, target file types: TypeScript, Declaration.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-webworker/importscripts'", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-webworker/importscripts'", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-webworker/importscripts'", | ||
"Loading module '@typescript/lib-webworker/importscripts' from 'node_modules' folder, target file types: JavaScript.", | ||
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"======== Module name '@typescript/lib-webworker/importscripts' was not resolved. ========", | ||
"======== Resolving module '@typescript/lib-scripthost' from '/packages/main/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ========", | ||
"Explicitly specified module resolution kind: 'Node10'.", | ||
"Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration.", | ||
"Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", | ||
"Directory '/packages/main/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-scripthost'", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-scripthost'", | ||
"Directory '/node_modules/@types' does not exist, skipping all lookups in it.", | ||
"Scoped package detected, looking in 'typescript__lib-scripthost'", | ||
"Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: JavaScript.", | ||
"Searching all ancestor node_modules directories for fallback extensions: JavaScript.", | ||
"Directory '/packages/node_modules' does not exist, skipping all lookups in it.", | ||
"======== Module name '@typescript/lib-scripthost' was not resolved. ========" | ||
] |
23 changes: 23 additions & 0 deletions
23
tests/baselines/reference/allowJsCrossMonorepoPackage.types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
//// [tests/cases/compiler/allowJsCrossMonorepoPackage.ts] //// | ||
|
||
=== /packages/main/index.ts === | ||
import { x } from "shared"; | ||
>x : "pkg" | ||
|
||
=== /node_modules/pkg/index.d.ts === | ||
export declare function pkg(): "pkg"; | ||
>pkg : () => "pkg" | ||
|
||
=== /packages/shared/utils.js === | ||
export { pkg } from "pkg"; | ||
>pkg : () => "pkg" | ||
|
||
=== /packages/shared/index.js === | ||
import { pkg } from "./utils.js"; | ||
>pkg : () => "pkg" | ||
|
||
export const x = pkg(); | ||
>x : "pkg" | ||
>pkg() : "pkg" | ||
>pkg : () => "pkg" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// @Filename: /node_modules/pkg/index.d.ts | ||
export declare function pkg(): "pkg"; | ||
|
||
// @Filename: /packages/shared/package.json | ||
{ | ||
"name": "shared", | ||
"version": "1.0.0", | ||
"type": "module", | ||
"exports": "./index.js" | ||
} | ||
|
||
// @Filename: /packages/shared/utils.js | ||
export { pkg } from "pkg"; | ||
|
||
// @Filename: /packages/shared/index.js | ||
import { pkg } from "./utils.js"; | ||
export const x = pkg(); | ||
|
||
// @Filename: /packages/main/package.json | ||
{ | ||
"name": "main", | ||
"version": "1.0.0", | ||
"type": "module", | ||
"dependencies": { | ||
"shared": "workspace:*" | ||
} | ||
} | ||
|
||
// @Filename: /packages/main/tsconfig.json | ||
{ | ||
"compilerOptions": { | ||
"noEmit": true, | ||
"checkJs": true, | ||
"strict": true, | ||
"module": "esnext", | ||
"moduleResolution": "bundler", | ||
"traceResolution": true, | ||
} | ||
} | ||
|
||
// @link: /packages/shared -> /packages/main/node_modules/shared | ||
|
||
// @Filename: /packages/main/index.ts | ||
import { x } from "shared"; |