From ed9c522fd6e171a3750c75fd2eb325b5a51efee9 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 6 Oct 2021 13:17:27 -0700 Subject: [PATCH] Accept new moduleResolution options on commandline (#46239) --- src/compiler/commandLineParser.ts | 2 + src/testRunner/compilerRunner.ts | 1 + .../unittests/config/commandLineParsing.ts | 2 +- ...commonjs,moduleresolution=node).errors.txt | 16 ++++++++ ...(module=commonjs,moduleresolution=node).js | 19 ++++++++++ ...le=commonjs,moduleresolution=node).symbols | 11 ++++++ ...dule=commonjs,moduleresolution=node).types | 14 +++++++ ...odule=commonjs,moduleresolution=node12).js | 19 ++++++++++ ...=commonjs,moduleresolution=node12).symbols | 13 +++++++ ...le=commonjs,moduleresolution=node12).types | 14 +++++++ ...ule=commonjs,moduleresolution=nodenext).js | 19 ++++++++++ ...ommonjs,moduleresolution=nodenext).symbols | 13 +++++++ ...=commonjs,moduleresolution=nodenext).types | 14 +++++++ ...e=node12,moduleresolution=node).errors.txt | 16 ++++++++ ...le(module=node12,moduleresolution=node).js | 38 +++++++++++++++++++ ...dule=node12,moduleresolution=node).symbols | 11 ++++++ ...module=node12,moduleresolution=node).types | 14 +++++++ ...(module=node12,moduleresolution=node12).js | 38 +++++++++++++++++++ ...le=node12,moduleresolution=node12).symbols | 13 +++++++ ...dule=node12,moduleresolution=node12).types | 14 +++++++ ...odule=node12,moduleresolution=nodenext).js | 38 +++++++++++++++++++ ...=node12,moduleresolution=nodenext).symbols | 13 +++++++ ...le=node12,moduleresolution=nodenext).types | 14 +++++++ ...nodenext,moduleresolution=node).errors.txt | 16 ++++++++ ...(module=nodenext,moduleresolution=node).js | 38 +++++++++++++++++++ ...le=nodenext,moduleresolution=node).symbols | 11 ++++++ ...dule=nodenext,moduleresolution=node).types | 14 +++++++ ...odule=nodenext,moduleresolution=node12).js | 38 +++++++++++++++++++ ...=nodenext,moduleresolution=node12).symbols | 13 +++++++ ...le=nodenext,moduleresolution=node12).types | 14 +++++++ ...ule=nodenext,moduleresolution=nodenext).js | 38 +++++++++++++++++++ ...odenext,moduleresolution=nodenext).symbols | 13 +++++++ ...=nodenext,moduleresolution=nodenext).types | 14 +++++++ .../compiler/moduleResolutionWithModule.ts | 13 +++++++ 34 files changed, 587 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).errors.txt create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).errors.txt create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).errors.txt create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).types create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).js create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).symbols create mode 100644 tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types create mode 100644 tests/cases/compiler/moduleResolutionWithModule.ts diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 03a452296b7..676b995d8c9 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -748,6 +748,8 @@ namespace ts { type: new Map(getEntries({ node: ModuleResolutionKind.NodeJs, classic: ModuleResolutionKind.Classic, + node12: ModuleResolutionKind.Node12, + nodenext: ModuleResolutionKind.NodeNext, })), affectsModuleResolution: true, paramType: Diagnostics.STRATEGY, diff --git a/src/testRunner/compilerRunner.ts b/src/testRunner/compilerRunner.ts index 46c96659bb6..166ed164f77 100644 --- a/src/testRunner/compilerRunner.ts +++ b/src/testRunner/compilerRunner.ts @@ -117,6 +117,7 @@ namespace Harness { class CompilerTest { private static varyBy: readonly string[] = [ "module", + "moduleResolution", "target", "jsx", "removeComments", diff --git a/src/testRunner/unittests/config/commandLineParsing.ts b/src/testRunner/unittests/config/commandLineParsing.ts index 3891229b649..500f249288d 100644 --- a/src/testRunner/unittests/config/commandLineParsing.ts +++ b/src/testRunner/unittests/config/commandLineParsing.ts @@ -237,7 +237,7 @@ namespace ts { start: undefined, length: undefined, }, { - messageText: "Argument for '--moduleResolution' option must be: 'node', 'classic'.", + messageText: "Argument for '--moduleResolution' option must be: 'node', 'classic', 'node12', 'nodenext'.", category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).errors.txt b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).errors.txt new file mode 100644 index 00000000000..dc0e81b0259 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/index.ts(1,20): error TS2307: Cannot find module 'pkg' or its corresponding type declarations. + + +==== tests/cases/compiler/node_modules/pkg/package.json (0 errors) ==== + { + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" + } +==== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts (0 errors) ==== + export declare function thing(): void; +==== tests/cases/compiler/index.ts (1 errors) ==== + import * as p from "pkg"; + ~~~~~ +!!! error TS2307: Cannot find module 'pkg' or its corresponding type declarations. + p.thing(); \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).js b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).js new file mode 100644 index 00000000000..843190b26d3 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +exports.__esModule = true; +var p = require("pkg"); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).symbols new file mode 100644 index 00000000000..40ac39fdf75 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).symbols @@ -0,0 +1,11 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p : Symbol(p, Decl(index.ts, 0, 6)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).types b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).types new file mode 100644 index 00000000000..45eed8eb127 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : any + +p.thing(); +>p.thing() : any +>p.thing : any +>p : any +>thing : any + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).js b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).js new file mode 100644 index 00000000000..843190b26d3 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +exports.__esModule = true; +var p = require("pkg"); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).symbols new file mode 100644 index 00000000000..8ab99790e5f --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p.thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) +>p : Symbol(p, Decl(index.ts, 0, 6)) +>thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).types b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).types new file mode 100644 index 00000000000..c49641fe551 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=node12).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : typeof p + +p.thing(); +>p.thing() : void +>p.thing : () => void +>p : typeof p +>thing : () => void + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).js b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).js new file mode 100644 index 00000000000..843190b26d3 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +exports.__esModule = true; +var p = require("pkg"); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).symbols new file mode 100644 index 00000000000..8ab99790e5f --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p.thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) +>p : Symbol(p, Decl(index.ts, 0, 6)) +>thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types new file mode 100644 index 00000000000..c49641fe551 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=commonjs,moduleresolution=nodenext).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : typeof p + +p.thing(); +>p.thing() : void +>p.thing : () => void +>p : typeof p +>thing : () => void + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).errors.txt b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).errors.txt new file mode 100644 index 00000000000..dc0e81b0259 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/index.ts(1,20): error TS2307: Cannot find module 'pkg' or its corresponding type declarations. + + +==== tests/cases/compiler/node_modules/pkg/package.json (0 errors) ==== + { + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" + } +==== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts (0 errors) ==== + export declare function thing(): void; +==== tests/cases/compiler/index.ts (1 errors) ==== + import * as p from "pkg"; + ~~~~~ +!!! error TS2307: Cannot find module 'pkg' or its corresponding type declarations. + p.thing(); \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).js b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).js new file mode 100644 index 00000000000..1e4231d994c --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const p = __importStar(require("pkg")); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).symbols new file mode 100644 index 00000000000..40ac39fdf75 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).symbols @@ -0,0 +1,11 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p : Symbol(p, Decl(index.ts, 0, 6)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).types b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).types new file mode 100644 index 00000000000..45eed8eb127 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : any + +p.thing(); +>p.thing() : any +>p.thing : any +>p : any +>thing : any + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).js b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).js new file mode 100644 index 00000000000..1e4231d994c --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const p = __importStar(require("pkg")); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).symbols new file mode 100644 index 00000000000..8ab99790e5f --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p.thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) +>p : Symbol(p, Decl(index.ts, 0, 6)) +>thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).types b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).types new file mode 100644 index 00000000000..c49641fe551 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=node12).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : typeof p + +p.thing(); +>p.thing() : void +>p.thing : () => void +>p : typeof p +>thing : () => void + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).js b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).js new file mode 100644 index 00000000000..1e4231d994c --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const p = __importStar(require("pkg")); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).symbols new file mode 100644 index 00000000000..8ab99790e5f --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p.thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) +>p : Symbol(p, Decl(index.ts, 0, 6)) +>thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).types new file mode 100644 index 00000000000..c49641fe551 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=node12,moduleresolution=nodenext).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : typeof p + +p.thing(); +>p.thing() : void +>p.thing : () => void +>p : typeof p +>thing : () => void + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).errors.txt b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).errors.txt new file mode 100644 index 00000000000..dc0e81b0259 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/index.ts(1,20): error TS2307: Cannot find module 'pkg' or its corresponding type declarations. + + +==== tests/cases/compiler/node_modules/pkg/package.json (0 errors) ==== + { + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" + } +==== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts (0 errors) ==== + export declare function thing(): void; +==== tests/cases/compiler/index.ts (1 errors) ==== + import * as p from "pkg"; + ~~~~~ +!!! error TS2307: Cannot find module 'pkg' or its corresponding type declarations. + p.thing(); \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).js b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).js new file mode 100644 index 00000000000..1e4231d994c --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const p = __importStar(require("pkg")); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).symbols new file mode 100644 index 00000000000..40ac39fdf75 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).symbols @@ -0,0 +1,11 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p : Symbol(p, Decl(index.ts, 0, 6)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).types b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).types new file mode 100644 index 00000000000..45eed8eb127 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : any + +p.thing(); +>p.thing() : any +>p.thing : any +>p : any +>thing : any + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).js b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).js new file mode 100644 index 00000000000..1e4231d994c --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const p = __importStar(require("pkg")); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).symbols new file mode 100644 index 00000000000..8ab99790e5f --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p.thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) +>p : Symbol(p, Decl(index.ts, 0, 6)) +>thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).types b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).types new file mode 100644 index 00000000000..c49641fe551 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=node12).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : typeof p + +p.thing(); +>p.thing() : void +>p.thing : () => void +>p : typeof p +>thing : () => void + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).js b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).js new file mode 100644 index 00000000000..1e4231d994c --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/moduleResolutionWithModule.ts] //// + +//// [package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +//// [entrypoint.d.ts] +export declare function thing(): void; +//// [index.ts] +import * as p from "pkg"; +p.thing(); + +//// [index.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const p = __importStar(require("pkg")); +p.thing(); diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).symbols b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).symbols new file mode 100644 index 00000000000..8ab99790e5f --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : Symbol(thing, Decl(entrypoint.d.ts, 0, 0)) + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : Symbol(p, Decl(index.ts, 0, 6)) + +p.thing(); +>p.thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) +>p : Symbol(p, Decl(index.ts, 0, 6)) +>thing : Symbol(p.thing, Decl(entrypoint.d.ts, 0, 0)) + diff --git a/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types new file mode 100644 index 00000000000..c49641fe551 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionWithModule(module=nodenext,moduleresolution=nodenext).types @@ -0,0 +1,14 @@ +=== tests/cases/compiler/node_modules/pkg/entrypoint.d.ts === +export declare function thing(): void; +>thing : () => void + +=== tests/cases/compiler/index.ts === +import * as p from "pkg"; +>p : typeof p + +p.thing(); +>p.thing() : void +>p.thing : () => void +>p : typeof p +>thing : () => void + diff --git a/tests/cases/compiler/moduleResolutionWithModule.ts b/tests/cases/compiler/moduleResolutionWithModule.ts new file mode 100644 index 00000000000..de0c873cdd0 --- /dev/null +++ b/tests/cases/compiler/moduleResolutionWithModule.ts @@ -0,0 +1,13 @@ +// @moduleResolution: node,node12,nodenext +// @module: commonjs,node12,nodenext +// @filename: node_modules/pkg/package.json +{ + "name": "pkg", + "version": "0.0.1", + "exports": "./entrypoint.js" +} +// @filename: node_modules/pkg/entrypoint.d.ts +export declare function thing(): void; +// @filename: index.ts +import * as p from "pkg"; +p.thing(); \ No newline at end of file