diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.errors.txt b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.errors.txt new file mode 100644 index 00000000000..2dffc5530f8 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.errors.txt @@ -0,0 +1,14 @@ +/index.ts(1,19): error TS2307: Cannot find module 'foo'. + + +==== /node_modules/foo/package.json (0 errors) ==== + { "name": "foo", "version": "1.2.3", "main": "src/index.js" } + +==== /node_modules/foo/src/index.d.ts (0 errors) ==== + export const x: number; + +==== /index.ts (1 errors) ==== + import { x } from "foo"; + ~~~~~ +!!! error TS2307: Cannot find module 'foo'. + \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.js b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.js new file mode 100644 index 00000000000..1aa0a624d8d --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts] //// + +//// [package.json] +{ "name": "foo", "version": "1.2.3", "main": "src/index.js" } + +//// [index.d.ts] +export const x: number; + +//// [index.ts] +import { x } from "foo"; + + +//// [index.js] +"use strict"; +exports.__esModule = true; diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.symbols b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.symbols new file mode 100644 index 00000000000..7a5c1d7ea27 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.symbols @@ -0,0 +1,8 @@ +=== /node_modules/foo/src/index.d.ts === +export const x: number; +>x : Symbol(x, Decl(index.d.ts, 0, 12)) + +=== /index.ts === +import { x } from "foo"; +>x : Symbol(x, Decl(index.ts, 0, 8)) + diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json new file mode 100644 index 00000000000..d02e83a9a70 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json @@ -0,0 +1,37 @@ +[ + "======== Resolving module 'foo' from '/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", + "'package.json' does not have a 'typings' field.", + "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'src/index.js' that references '/node_modules/foo/src/index.js'.", + "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/src/i.d.ts@1.2.3'.", + "File '/node_modules/foo.ts' does not exist.", + "File '/node_modules/foo.tsx' does not exist.", + "File '/node_modules/foo.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' does not have a 'types' field.", + "File '/node_modules/foo/index.ts' does not exist.", + "File '/node_modules/foo/index.tsx' does not exist.", + "File '/node_modules/foo/index.d.ts' does not exist.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "Loading module 'foo' from 'node_modules' folder, target file type 'JavaScript'.", + "'package.json' does not have a 'typings' field.", + "'package.json' does not have a 'types' field.", + "'package.json' has 'main' field 'src/index.js' that references '/node_modules/foo/src/index.js'.", + "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/src/i.d.ts@1.2.3'.", + "File '/node_modules/foo.js' does not exist.", + "File '/node_modules/foo.jsx' does not exist.", + "'package.json' has 'main' field 'src/index.js' that references '/node_modules/foo/src/index.js'.", + "File '/node_modules/foo/src/index.js' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/foo/src/index.js', target file type 'JavaScript'.", + "File '/node_modules/foo/src/index.js.js' does not exist.", + "File '/node_modules/foo/src/index.js.jsx' does not exist.", + "File name '/node_modules/foo/src/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/foo/src/index.js' does not exist.", + "File '/node_modules/foo/src/index.jsx' does not exist.", + "Directory '/node_modules/foo/src/index.js' does not exist, skipping all lookups in it.", + "File '/node_modules/foo/index.js' does not exist.", + "File '/node_modules/foo/index.jsx' does not exist.", + "======== Module name 'foo' was not resolved. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.types b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.types new file mode 100644 index 00000000000..32a66be06a6 --- /dev/null +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.types @@ -0,0 +1,8 @@ +=== /node_modules/foo/src/index.d.ts === +export const x: number; +>x : number + +=== /index.ts === +import { x } from "foo"; +>x : any + diff --git a/tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts b/tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts new file mode 100644 index 00000000000..4af56e48e1c --- /dev/null +++ b/tests/cases/compiler/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.ts @@ -0,0 +1,10 @@ +// @traceResolution: true + +// @Filename: /node_modules/foo/package.json +{ "name": "foo", "version": "1.2.3", "main": "src/index.js" } + +// @Filename: /node_modules/foo/src/index.d.ts +export const x: number; + +// @Filename: /index.ts +import { x } from "foo";