From a7a2d7d8c2273bf9524cd3b5f32689464bc3870a Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Mon, 5 Aug 2019 15:15:25 -0700 Subject: [PATCH 1/4] Resolve module specifier relative to moduleFile.originalFileName --- src/compiler/moduleSpecifiers.ts | 2 +- src/testRunner/tsconfig.json | 1 + .../unittests/config/projectReferences.ts | 1 - .../unittests/tsbuild/moduleSpecifiers.ts | 59 +++++++++++++++++++ 4 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 src/testRunner/unittests/tsbuild/moduleSpecifiers.ts diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index bc448698c699e..fbed429e31273 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -93,7 +93,7 @@ namespace ts.moduleSpecifiers { const info = getInfo(importingSourceFile.path, host); const moduleSourceFile = getSourceFileOfNode(moduleSymbol.valueDeclaration || getNonAugmentationDeclaration(moduleSymbol)); - const modulePaths = getAllModulePaths(files, importingSourceFile.path, moduleSourceFile.fileName, info.getCanonicalFileName, host, redirectTargetsMap); + const modulePaths = getAllModulePaths(files, importingSourceFile.path, moduleSourceFile.originalFileName, info.getCanonicalFileName, host, redirectTargetsMap); const preferences = getPreferences(userPreferences, compilerOptions, importingSourceFile); const global = mapDefined(modulePaths, moduleFileName => tryGetModuleNameAsNodeModule(moduleFileName, info, host, compilerOptions)); diff --git a/src/testRunner/tsconfig.json b/src/testRunner/tsconfig.json index 8c8e90c8d9fcf..fd9398ce21cf1 100644 --- a/src/testRunner/tsconfig.json +++ b/src/testRunner/tsconfig.json @@ -97,6 +97,7 @@ "unittests/tsbuild/inferredTypeFromTransitiveModule.ts", "unittests/tsbuild/lateBoundSymbol.ts", "unittests/tsbuild/missingExtendedFile.ts", + "unittests/tsbuild/moduleSpecifiers.ts", "unittests/tsbuild/outFile.ts", "unittests/tsbuild/referencesWithRootDirInParent.ts", "unittests/tsbuild/resolveJsonModule.ts", diff --git a/src/testRunner/unittests/config/projectReferences.ts b/src/testRunner/unittests/config/projectReferences.ts index 9bbef4e631f89..305cc726c9772 100644 --- a/src/testRunner/unittests/config/projectReferences.ts +++ b/src/testRunner/unittests/config/projectReferences.ts @@ -348,5 +348,4 @@ namespace ts { }); }); }); - } diff --git a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts new file mode 100644 index 0000000000000..f62de117117de --- /dev/null +++ b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts @@ -0,0 +1,59 @@ +namespace ts { + // https://github.com/microsoft/TypeScript/issues/31696 + it("unittests:: tsbuild:: synthesized module specifiers to referenced projects resolve correctly", () => { + const fs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false, { + files: { + "/src/common/nominal.ts": "export declare type Nominal = T & {\n\t[Symbol.species]: Name;\n};\n", + "/src/common/tsconfig.json": JSON.stringify({ + extends: "../../tsconfig.base.json", + compilerOptions: { composite: true }, + include: ["nominal.ts"] + }), + "/src/sub-project/index.ts": "import { Nominal } from '../common/nominal';\n\nexport type MyNominal = Nominal;\n", + "/src/sub-project/tsconfig.json": JSON.stringify({ + extends: "../../tsconfig.base.json", + compilerOptions: { composite: true }, + references: [{ path: "../common" }], + include: ["./index.ts"] + }), + "/src/sub-project-2/index.ts": + "import { MyNominal } from '../sub-project/index';\n\n" + + "const variable = {\n\tkey: 'value' as MyNominal,\n};\n\n" + + "export function getVar(): keyof typeof variable {\n\treturn 'key';\n}\n", + "/src/sub-project-2/tsconfig.json": JSON.stringify({ + extends: "../../tsconfig.base.json", + compilerOptions: { composite: true }, + references: [{ path: "../sub-project" }], + include: ["./index.ts"] + }), + "/src/tsconfig.json": JSON.stringify({ + compilerOptions: { composite: true }, + references: [{ path: "./sub-project" }, { path: "./sub-project-2" }], + include: [] + }), + "/tsconfig.base.json": JSON.stringify({ + compilerOptions: { + rootDir: "./", + outDir: "lib", + lib: ["dom", "es2015", "es2015.symbol.wellknown"] + }, + }), + "/tsconfig.json": JSON.stringify({ + compilerOptions: { composite: true }, + references: [{ path: "./src" }], + include: [] + }) + }, + cwd: "/" + }); + const sys = new fakes.System(fs, { executingFilePath: "/", newLine: "\n" }); + const host = new fakes.SolutionBuilderHost(sys); + const builder = createSolutionBuilder(host, ["/tsconfig.json"], { dry: false, force: false, verbose: false }); + builder.build("/tsconfig.json"); + + const data = host.vfs.readFileSync("/lib/src/sub-project-2/index.d.ts", "utf8"); + + // Prior to fixing GH31696 the import below was `import("../../lib/src/common/nonterminal")` + assert.equal(data, `declare const variable: {\n key: import("../common/nominal").Nominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n`); + }); +} \ No newline at end of file From 583cb51058b8f4a8780f973b6a1b6e767df9d8de Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Mon, 5 Aug 2019 16:55:55 -0700 Subject: [PATCH 2/4] Use baseline testing for outputs --- src/harness/vfs.ts | 26 +++- .../unittests/tsbuild/moduleSpecifiers.ts | 9 +- .../lib/src/common/nominal.d.ts | 4 + .../lib/src/common/nominal.js | 3 + .../lib/src/common/tsconfig.tsbuildinfo | 88 ++++++++++++++ .../lib/src/sub-project-2/index.d.ts | 6 + .../lib/src/sub-project-2/index.js | 10 ++ .../src/sub-project-2/tsconfig.tsbuildinfo | 112 ++++++++++++++++++ .../lib/src/sub-project/index.d.ts | 3 + .../lib/src/sub-project/index.js | 3 + .../lib/src/sub-project/tsconfig.tsbuildinfo | 101 ++++++++++++++++ 11 files changed, 358 insertions(+), 7 deletions(-) create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo diff --git a/src/harness/vfs.ts b/src/harness/vfs.ts index b20c04937f878..5ef5851433a75 100644 --- a/src/harness/vfs.ts +++ b/src/harness/vfs.ts @@ -1525,8 +1525,11 @@ namespace vfs { return typeof value === "string" || Buffer.isBuffer(value) ? new File(value) : new Directory(value); } - export function formatPatch(patch: FileSet) { - return formatPatchWorker("", patch); + export function formatPatch(patch: FileSet): string; + export function formatPatch(patch: FileSet | undefined): string | null; + export function formatPatch(patch: FileSet | undefined) { + // tslint:disable-next-line:no-null-keyword + return patch ? formatPatchWorker("", patch) : null; } function formatPatchWorker(dirname: string, container: FileSet): string { @@ -1559,5 +1562,24 @@ namespace vfs { } return text; } + + export function iteratePatch(patch: FileSet | undefined): IterableIterator<[string, string]> | null { + // tslint:disable-next-line:no-null-keyword + return patch ? Harness.Compiler.iterateOutputs(iteratePatchWorker("", patch)) : null; + } + + function* iteratePatchWorker(dirname: string, container: FileSet): IterableIterator { + for (const name of Object.keys(container)) { + const entry = normalizeFileSetEntry(container[name]); + const file = dirname ? vpath.combine(dirname, name) : name; + if (entry instanceof Directory) { + yield* ts.arrayFrom(iteratePatchWorker(file, entry.files)); + } + else if (entry instanceof File) { + const content = typeof entry.data === "string" ? entry.data : entry.data.toString("utf8"); + yield new documents.TextDocument(file, content); + } + } + } } // tslint:enable:no-null-keyword \ No newline at end of file diff --git a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts index f62de117117de..826f518408fb6 100644 --- a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts +++ b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts @@ -1,7 +1,7 @@ namespace ts { // https://github.com/microsoft/TypeScript/issues/31696 it("unittests:: tsbuild:: synthesized module specifiers to referenced projects resolve correctly", () => { - const fs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false, { + const baseFs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false, { files: { "/src/common/nominal.ts": "export declare type Nominal = T & {\n\t[Symbol.species]: Name;\n};\n", "/src/common/tsconfig.json": JSON.stringify({ @@ -46,14 +46,13 @@ namespace ts { }, cwd: "/" }); + const fs = baseFs.makeReadonly().shadow(); const sys = new fakes.System(fs, { executingFilePath: "/", newLine: "\n" }); const host = new fakes.SolutionBuilderHost(sys); const builder = createSolutionBuilder(host, ["/tsconfig.json"], { dry: false, force: false, verbose: false }); builder.build("/tsconfig.json"); - const data = host.vfs.readFileSync("/lib/src/sub-project-2/index.d.ts", "utf8"); - - // Prior to fixing GH31696 the import below was `import("../../lib/src/common/nonterminal")` - assert.equal(data, `declare const variable: {\n key: import("../common/nominal").Nominal;\n};\nexport declare function getVar(): keyof typeof variable;\nexport {};\n`); + // Prior to fixing GH31696 the import in `/lib/src/sub-project-2/index.d.ts` was `import("../../lib/src/common/nonterminal")`, which was invalid. + Harness.Baseline.runMultifileBaseline("tsbuild/moduleSpecifiers", "", () => vfs.iteratePatch(fs.diff(baseFs))); }); } \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts new file mode 100644 index 0000000000000..a1a51d37b21a8 --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts @@ -0,0 +1,4 @@ +/*====== /lib/src/common/nominal.d.ts ======*/ +export declare type Nominal = T & { + [Symbol.species]: Name; +}; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js new file mode 100644 index 0000000000000..6f15f7ae46d30 --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js @@ -0,0 +1,3 @@ +/*====== /lib/src/common/nominal.js ======*/ +"use strict"; +exports.__esModule = true; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo new file mode 100644 index 0000000000000..a121310b669bf --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo @@ -0,0 +1,88 @@ +/*====== /lib/src/common/tsconfig.tsbuildinfo ======*/ +{ + "program": { + "fileInfos": { + "../../../.ts/lib.es5.d.ts": { + "version": "354625479304", + "signature": "354625479304" + }, + "../../../.ts/lib.es2015.d.ts": { + "version": "57263133672", + "signature": "57263133672" + }, + "../../../.ts/lib.dom.d.ts": { + "version": "-1041975536091", + "signature": "-1041975536091" + }, + "../../../.ts/lib.es2015.core.d.ts": { + "version": "370321249768", + "signature": "370321249768" + }, + "../../../.ts/lib.es2015.collection.d.ts": { + "version": "-95997535017", + "signature": "-95997535017" + }, + "../../../.ts/lib.es2015.generator.d.ts": { + "version": "10837180865", + "signature": "10837180865" + }, + "../../../.ts/lib.es2015.iterable.d.ts": { + "version": "232404497324", + "signature": "232404497324" + }, + "../../../.ts/lib.es2015.promise.d.ts": { + "version": "235321148269", + "signature": "235321148269" + }, + "../../../.ts/lib.es2015.proxy.d.ts": { + "version": "55479865087", + "signature": "55479865087" + }, + "../../../.ts/lib.es2015.reflect.d.ts": { + "version": "30748787093", + "signature": "30748787093" + }, + "../../../.ts/lib.es2015.symbol.d.ts": { + "version": "9409688441", + "signature": "9409688441" + }, + "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { + "version": "-67261006573", + "signature": "-67261006573" + }, + "../../../src/common/nominal.ts": { + "version": "-18967128381", + "signature": "-24498031910" + } + }, + "options": { + "rootDir": "../../..", + "outDir": "../..", + "lib": [ + "lib.dom.d.ts", + "lib.es2015.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ], + "composite": true, + "configFilePath": "../../../src/common/tsconfig.json" + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../../../.ts/lib.dom.d.ts", + "../../../.ts/lib.es2015.collection.d.ts", + "../../../.ts/lib.es2015.core.d.ts", + "../../../.ts/lib.es2015.d.ts", + "../../../.ts/lib.es2015.generator.d.ts", + "../../../.ts/lib.es2015.iterable.d.ts", + "../../../.ts/lib.es2015.promise.d.ts", + "../../../.ts/lib.es2015.proxy.d.ts", + "../../../.ts/lib.es2015.reflect.d.ts", + "../../../.ts/lib.es2015.symbol.d.ts", + "../../../.ts/lib.es2015.symbol.wellknown.d.ts", + "../../../.ts/lib.es5.d.ts", + "../../../src/common/nominal.ts" + ] + }, + "version": "FakeTSVersion" +} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts new file mode 100644 index 0000000000000..0a8d5afe0f0f2 --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts @@ -0,0 +1,6 @@ +/*====== /lib/src/sub-project-2/index.d.ts ======*/ +declare const variable: { + key: import("../common/nominal").Nominal; +}; +export declare function getVar(): keyof typeof variable; +export {}; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js new file mode 100644 index 0000000000000..22bdf78eb5db5 --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js @@ -0,0 +1,10 @@ +/*====== /lib/src/sub-project-2/index.js ======*/ +"use strict"; +exports.__esModule = true; +var variable = { + key: 'value' +}; +function getVar() { + return 'key'; +} +exports.getVar = getVar; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo new file mode 100644 index 0000000000000..b21e383b201d7 --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo @@ -0,0 +1,112 @@ +/*====== /lib/src/sub-project-2/tsconfig.tsbuildinfo ======*/ +{ + "program": { + "fileInfos": { + "../../../.ts/lib.es5.d.ts": { + "version": "354625479304", + "signature": "354625479304" + }, + "../../../.ts/lib.es2015.d.ts": { + "version": "57263133672", + "signature": "57263133672" + }, + "../../../.ts/lib.dom.d.ts": { + "version": "-1041975536091", + "signature": "-1041975536091" + }, + "../../../.ts/lib.es2015.core.d.ts": { + "version": "370321249768", + "signature": "370321249768" + }, + "../../../.ts/lib.es2015.collection.d.ts": { + "version": "-95997535017", + "signature": "-95997535017" + }, + "../../../.ts/lib.es2015.generator.d.ts": { + "version": "10837180865", + "signature": "10837180865" + }, + "../../../.ts/lib.es2015.iterable.d.ts": { + "version": "232404497324", + "signature": "232404497324" + }, + "../../../.ts/lib.es2015.promise.d.ts": { + "version": "235321148269", + "signature": "235321148269" + }, + "../../../.ts/lib.es2015.proxy.d.ts": { + "version": "55479865087", + "signature": "55479865087" + }, + "../../../.ts/lib.es2015.reflect.d.ts": { + "version": "30748787093", + "signature": "30748787093" + }, + "../../../.ts/lib.es2015.symbol.d.ts": { + "version": "9409688441", + "signature": "9409688441" + }, + "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { + "version": "-67261006573", + "signature": "-67261006573" + }, + "../../../src/common/nominal.ts": { + "version": "-24498031910", + "signature": "-24498031910" + }, + "../../../src/sub-project/index.ts": { + "version": "-18559108619", + "signature": "-18559108619" + }, + "../../../src/sub-project-2/index.ts": { + "version": "12009947381", + "signature": "-33844181688" + } + }, + "options": { + "rootDir": "../../..", + "outDir": "../..", + "lib": [ + "lib.dom.d.ts", + "lib.es2015.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ], + "composite": true, + "configFilePath": "../../../src/sub-project-2/tsconfig.json" + }, + "referencedMap": { + "../../../src/sub-project-2/index.ts": [ + "../sub-project/index.d.ts" + ], + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "exportedModulesMap": { + "../../../src/sub-project-2/index.ts": [ + "../common/nominal.d.ts" + ], + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../../../.ts/lib.dom.d.ts", + "../../../.ts/lib.es2015.collection.d.ts", + "../../../.ts/lib.es2015.core.d.ts", + "../../../.ts/lib.es2015.d.ts", + "../../../.ts/lib.es2015.generator.d.ts", + "../../../.ts/lib.es2015.iterable.d.ts", + "../../../.ts/lib.es2015.promise.d.ts", + "../../../.ts/lib.es2015.proxy.d.ts", + "../../../.ts/lib.es2015.reflect.d.ts", + "../../../.ts/lib.es2015.symbol.d.ts", + "../../../.ts/lib.es2015.symbol.wellknown.d.ts", + "../../../.ts/lib.es5.d.ts", + "../../../src/common/nominal.ts", + "../../../src/sub-project-2/index.ts", + "../../../src/sub-project/index.ts" + ] + }, + "version": "FakeTSVersion" +} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts new file mode 100644 index 0000000000000..674451d89ccfc --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts @@ -0,0 +1,3 @@ +/*====== /lib/src/sub-project/index.d.ts ======*/ +import { Nominal } from '../common/nominal'; +export declare type MyNominal = Nominal; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js new file mode 100644 index 0000000000000..85344fdbb6f96 --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js @@ -0,0 +1,3 @@ +/*====== /lib/src/sub-project/index.js ======*/ +"use strict"; +exports.__esModule = true; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo new file mode 100644 index 0000000000000..623f107b1093b --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo @@ -0,0 +1,101 @@ +/*====== /lib/src/sub-project/tsconfig.tsbuildinfo ======*/ +{ + "program": { + "fileInfos": { + "../../../.ts/lib.es5.d.ts": { + "version": "354625479304", + "signature": "354625479304" + }, + "../../../.ts/lib.es2015.d.ts": { + "version": "57263133672", + "signature": "57263133672" + }, + "../../../.ts/lib.dom.d.ts": { + "version": "-1041975536091", + "signature": "-1041975536091" + }, + "../../../.ts/lib.es2015.core.d.ts": { + "version": "370321249768", + "signature": "370321249768" + }, + "../../../.ts/lib.es2015.collection.d.ts": { + "version": "-95997535017", + "signature": "-95997535017" + }, + "../../../.ts/lib.es2015.generator.d.ts": { + "version": "10837180865", + "signature": "10837180865" + }, + "../../../.ts/lib.es2015.iterable.d.ts": { + "version": "232404497324", + "signature": "232404497324" + }, + "../../../.ts/lib.es2015.promise.d.ts": { + "version": "235321148269", + "signature": "235321148269" + }, + "../../../.ts/lib.es2015.proxy.d.ts": { + "version": "55479865087", + "signature": "55479865087" + }, + "../../../.ts/lib.es2015.reflect.d.ts": { + "version": "30748787093", + "signature": "30748787093" + }, + "../../../.ts/lib.es2015.symbol.d.ts": { + "version": "9409688441", + "signature": "9409688441" + }, + "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { + "version": "-67261006573", + "signature": "-67261006573" + }, + "../../../src/common/nominal.ts": { + "version": "-24498031910", + "signature": "-24498031910" + }, + "../../../src/sub-project/index.ts": { + "version": "-22894055505", + "signature": "-18559108619" + } + }, + "options": { + "rootDir": "../../..", + "outDir": "../..", + "lib": [ + "lib.dom.d.ts", + "lib.es2015.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ], + "composite": true, + "configFilePath": "../../../src/sub-project/tsconfig.json" + }, + "referencedMap": { + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "exportedModulesMap": { + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../../../.ts/lib.dom.d.ts", + "../../../.ts/lib.es2015.collection.d.ts", + "../../../.ts/lib.es2015.core.d.ts", + "../../../.ts/lib.es2015.d.ts", + "../../../.ts/lib.es2015.generator.d.ts", + "../../../.ts/lib.es2015.iterable.d.ts", + "../../../.ts/lib.es2015.promise.d.ts", + "../../../.ts/lib.es2015.proxy.d.ts", + "../../../.ts/lib.es2015.reflect.d.ts", + "../../../.ts/lib.es2015.symbol.d.ts", + "../../../.ts/lib.es2015.symbol.wellknown.d.ts", + "../../../.ts/lib.es5.d.ts", + "../../../src/common/nominal.ts", + "../../../src/sub-project/index.ts" + ] + }, + "version": "FakeTSVersion" +} \ No newline at end of file From 43ba04fdf0e2e6418eefb77acd9ace506d1940c7 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Tue, 6 Aug 2019 10:59:34 -0700 Subject: [PATCH 3/4] Added skipLibCheck to test --- src/testRunner/unittests/tsbuild/moduleSpecifiers.ts | 3 ++- .../moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo | 1 + .../lib/src/sub-project-2/tsconfig.tsbuildinfo | 1 + .../moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts index 826f518408fb6..5cbf7bcaa0e2a 100644 --- a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts +++ b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts @@ -1,6 +1,6 @@ namespace ts { // https://github.com/microsoft/TypeScript/issues/31696 - it("unittests:: tsbuild:: synthesized module specifiers to referenced projects resolve correctly", () => { + it("unittests:: tsbuild:: moduleSpecifiers:: synthesized module specifiers to referenced projects resolve correctly", () => { const baseFs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false, { files: { "/src/common/nominal.ts": "export declare type Nominal = T & {\n\t[Symbol.species]: Name;\n};\n", @@ -33,6 +33,7 @@ namespace ts { }), "/tsconfig.base.json": JSON.stringify({ compilerOptions: { + skipLibCheck: true, rootDir: "./", outDir: "lib", lib: ["dom", "es2015", "es2015.symbol.wellknown"] diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo index a121310b669bf..2139982b0e32a 100644 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo @@ -56,6 +56,7 @@ } }, "options": { + "skipLibCheck": true, "rootDir": "../../..", "outDir": "../..", "lib": [ diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo index b21e383b201d7..b974d6595fb2c 100644 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo @@ -64,6 +64,7 @@ } }, "options": { + "skipLibCheck": true, "rootDir": "../../..", "outDir": "../..", "lib": [ diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo index 623f107b1093b..edf3325b5697b 100644 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo @@ -60,6 +60,7 @@ } }, "options": { + "skipLibCheck": true, "rootDir": "../../..", "outDir": "../..", "lib": [ From a752e5e1b03051fa1c3cc9d359771f1cb440f001 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Tue, 6 Aug 2019 13:23:28 -0700 Subject: [PATCH 4/4] Switch to using vfs.formatPatch for output --- .../unittests/tsbuild/moduleSpecifiers.ts | 123 ++++--- .../initial-build/resolves-correctly.js | 348 ++++++++++++++++++ .../lib/src/common/nominal.d.ts | 4 - .../lib/src/common/nominal.js | 3 - .../lib/src/common/tsconfig.tsbuildinfo | 89 ----- .../lib/src/sub-project-2/index.d.ts | 6 - .../lib/src/sub-project-2/index.js | 10 - .../src/sub-project-2/tsconfig.tsbuildinfo | 113 ------ .../lib/src/sub-project/index.d.ts | 3 - .../lib/src/sub-project/index.js | 3 - .../lib/src/sub-project/tsconfig.tsbuildinfo | 102 ----- 11 files changed, 429 insertions(+), 375 deletions(-) create mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/initial-build/resolves-correctly.js delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js delete mode 100644 tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo diff --git a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts index 5cbf7bcaa0e2a..ad0a229e876dd 100644 --- a/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts +++ b/src/testRunner/unittests/tsbuild/moduleSpecifiers.ts @@ -3,47 +3,86 @@ namespace ts { it("unittests:: tsbuild:: moduleSpecifiers:: synthesized module specifiers to referenced projects resolve correctly", () => { const baseFs = vfs.createFromFileSystem(Harness.IO, /*ignoreCase*/ false, { files: { - "/src/common/nominal.ts": "export declare type Nominal = T & {\n\t[Symbol.species]: Name;\n};\n", - "/src/common/tsconfig.json": JSON.stringify({ - extends: "../../tsconfig.base.json", - compilerOptions: { composite: true }, - include: ["nominal.ts"] - }), - "/src/sub-project/index.ts": "import { Nominal } from '../common/nominal';\n\nexport type MyNominal = Nominal;\n", - "/src/sub-project/tsconfig.json": JSON.stringify({ - extends: "../../tsconfig.base.json", - compilerOptions: { composite: true }, - references: [{ path: "../common" }], - include: ["./index.ts"] - }), - "/src/sub-project-2/index.ts": - "import { MyNominal } from '../sub-project/index';\n\n" + - "const variable = {\n\tkey: 'value' as MyNominal,\n};\n\n" + - "export function getVar(): keyof typeof variable {\n\treturn 'key';\n}\n", - "/src/sub-project-2/tsconfig.json": JSON.stringify({ - extends: "../../tsconfig.base.json", - compilerOptions: { composite: true }, - references: [{ path: "../sub-project" }], - include: ["./index.ts"] - }), - "/src/tsconfig.json": JSON.stringify({ - compilerOptions: { composite: true }, - references: [{ path: "./sub-project" }, { path: "./sub-project-2" }], - include: [] - }), - "/tsconfig.base.json": JSON.stringify({ - compilerOptions: { - skipLibCheck: true, - rootDir: "./", - outDir: "lib", - lib: ["dom", "es2015", "es2015.symbol.wellknown"] + "/src/common/nominal.ts": utils.dedent` + export declare type Nominal = T & { + [Symbol.species]: Name; + }; + `, + "/src/common/tsconfig.json": utils.dedent` + { + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "composite": true + }, + "include": ["nominal.ts"] + }`, + "/src/sub-project/index.ts": utils.dedent` + import { Nominal } from '../common/nominal'; + + export type MyNominal = Nominal; + `, + "/src/sub-project/tsconfig.json": utils.dedent` + { + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "composite": true + }, + "references": [ + { "path": "../common" } + ], + "include": ["./index.ts"] + }`, + "/src/sub-project-2/index.ts": utils.dedent` + import { MyNominal } from '../sub-project/index'; + + const variable = { + key: 'value' as MyNominal, + }; + + export function getVar(): keyof typeof variable { + return 'key'; + } + `, + "/src/sub-project-2/tsconfig.json": utils.dedent` + { + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "composite": true + }, + "references": [ + { "path": "../sub-project" } + ], + "include": ["./index.ts"] + }`, + "/src/tsconfig.json": utils.dedent` + { + "compilerOptions": { + "composite": true + }, + "references": [ + { "path": "./sub-project" }, + { "path": "./sub-project-2" } + ], + "include": [] + }`, + "/tsconfig.base.json": utils.dedent` + { + "compilerOptions": { + "skipLibCheck": true, + "rootDir": "./", + "outDir": "lib", + "lib": ["dom", "es2015", "es2015.symbol.wellknown"] + } + }`, + "/tsconfig.json": utils.dedent`{ + "compilerOptions": { + "composite": true }, - }), - "/tsconfig.json": JSON.stringify({ - compilerOptions: { composite: true }, - references: [{ path: "./src" }], - include: [] - }) + "references": [ + { "path": "./src" } + ], + "include": [] + }` }, cwd: "/" }); @@ -51,9 +90,9 @@ namespace ts { const sys = new fakes.System(fs, { executingFilePath: "/", newLine: "\n" }); const host = new fakes.SolutionBuilderHost(sys); const builder = createSolutionBuilder(host, ["/tsconfig.json"], { dry: false, force: false, verbose: false }); - builder.build("/tsconfig.json"); + builder.build(); // Prior to fixing GH31696 the import in `/lib/src/sub-project-2/index.d.ts` was `import("../../lib/src/common/nonterminal")`, which was invalid. - Harness.Baseline.runMultifileBaseline("tsbuild/moduleSpecifiers", "", () => vfs.iteratePatch(fs.diff(baseFs))); + Harness.Baseline.runBaseline("tsbuild/moduleSpecifiers/initial-build/resolves-correctly.js", vfs.formatPatch(fs.diff(baseFs))); }); } \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/initial-build/resolves-correctly.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/initial-build/resolves-correctly.js new file mode 100644 index 0000000000000..d8c1cfb360ead --- /dev/null +++ b/tests/baselines/reference/tsbuild/moduleSpecifiers/initial-build/resolves-correctly.js @@ -0,0 +1,348 @@ +//// [/lib/src/common/nominal.d.ts] +export declare type Nominal = T & { + [Symbol.species]: Name; +}; + + +//// [/lib/src/common/nominal.js] +"use strict"; +exports.__esModule = true; + + +//// [/lib/src/common/tsconfig.tsbuildinfo] +{ + "program": { + "fileInfos": { + "../../../.ts/lib.es5.d.ts": { + "version": "354625479304", + "signature": "354625479304" + }, + "../../../.ts/lib.es2015.d.ts": { + "version": "57263133672", + "signature": "57263133672" + }, + "../../../.ts/lib.dom.d.ts": { + "version": "-1041975536091", + "signature": "-1041975536091" + }, + "../../../.ts/lib.es2015.core.d.ts": { + "version": "370321249768", + "signature": "370321249768" + }, + "../../../.ts/lib.es2015.collection.d.ts": { + "version": "-95997535017", + "signature": "-95997535017" + }, + "../../../.ts/lib.es2015.generator.d.ts": { + "version": "10837180865", + "signature": "10837180865" + }, + "../../../.ts/lib.es2015.iterable.d.ts": { + "version": "232404497324", + "signature": "232404497324" + }, + "../../../.ts/lib.es2015.promise.d.ts": { + "version": "235321148269", + "signature": "235321148269" + }, + "../../../.ts/lib.es2015.proxy.d.ts": { + "version": "55479865087", + "signature": "55479865087" + }, + "../../../.ts/lib.es2015.reflect.d.ts": { + "version": "30748787093", + "signature": "30748787093" + }, + "../../../.ts/lib.es2015.symbol.d.ts": { + "version": "9409688441", + "signature": "9409688441" + }, + "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { + "version": "-67261006573", + "signature": "-67261006573" + }, + "../../../src/common/nominal.ts": { + "version": "-24498031910", + "signature": "-24498031910" + } + }, + "options": { + "skipLibCheck": true, + "rootDir": "../../..", + "outDir": "../..", + "lib": [ + "lib.dom.d.ts", + "lib.es2015.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ], + "composite": true, + "configFilePath": "../../../src/common/tsconfig.json" + }, + "referencedMap": {}, + "exportedModulesMap": {}, + "semanticDiagnosticsPerFile": [ + "../../../.ts/lib.dom.d.ts", + "../../../.ts/lib.es2015.collection.d.ts", + "../../../.ts/lib.es2015.core.d.ts", + "../../../.ts/lib.es2015.d.ts", + "../../../.ts/lib.es2015.generator.d.ts", + "../../../.ts/lib.es2015.iterable.d.ts", + "../../../.ts/lib.es2015.promise.d.ts", + "../../../.ts/lib.es2015.proxy.d.ts", + "../../../.ts/lib.es2015.reflect.d.ts", + "../../../.ts/lib.es2015.symbol.d.ts", + "../../../.ts/lib.es2015.symbol.wellknown.d.ts", + "../../../.ts/lib.es5.d.ts", + "../../../src/common/nominal.ts" + ] + }, + "version": "FakeTSVersion" +} + +//// [/lib/src/sub-project/index.d.ts] +import { Nominal } from '../common/nominal'; +export declare type MyNominal = Nominal; + + +//// [/lib/src/sub-project/index.js] +"use strict"; +exports.__esModule = true; + + +//// [/lib/src/sub-project/tsconfig.tsbuildinfo] +{ + "program": { + "fileInfos": { + "../../../.ts/lib.es5.d.ts": { + "version": "354625479304", + "signature": "354625479304" + }, + "../../../.ts/lib.es2015.d.ts": { + "version": "57263133672", + "signature": "57263133672" + }, + "../../../.ts/lib.dom.d.ts": { + "version": "-1041975536091", + "signature": "-1041975536091" + }, + "../../../.ts/lib.es2015.core.d.ts": { + "version": "370321249768", + "signature": "370321249768" + }, + "../../../.ts/lib.es2015.collection.d.ts": { + "version": "-95997535017", + "signature": "-95997535017" + }, + "../../../.ts/lib.es2015.generator.d.ts": { + "version": "10837180865", + "signature": "10837180865" + }, + "../../../.ts/lib.es2015.iterable.d.ts": { + "version": "232404497324", + "signature": "232404497324" + }, + "../../../.ts/lib.es2015.promise.d.ts": { + "version": "235321148269", + "signature": "235321148269" + }, + "../../../.ts/lib.es2015.proxy.d.ts": { + "version": "55479865087", + "signature": "55479865087" + }, + "../../../.ts/lib.es2015.reflect.d.ts": { + "version": "30748787093", + "signature": "30748787093" + }, + "../../../.ts/lib.es2015.symbol.d.ts": { + "version": "9409688441", + "signature": "9409688441" + }, + "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { + "version": "-67261006573", + "signature": "-67261006573" + }, + "../../../src/common/nominal.ts": { + "version": "-24498031910", + "signature": "-24498031910" + }, + "../../../src/sub-project/index.ts": { + "version": "-22894055505", + "signature": "-18559108619" + } + }, + "options": { + "skipLibCheck": true, + "rootDir": "../../..", + "outDir": "../..", + "lib": [ + "lib.dom.d.ts", + "lib.es2015.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ], + "composite": true, + "configFilePath": "../../../src/sub-project/tsconfig.json" + }, + "referencedMap": { + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "exportedModulesMap": { + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../../../.ts/lib.dom.d.ts", + "../../../.ts/lib.es2015.collection.d.ts", + "../../../.ts/lib.es2015.core.d.ts", + "../../../.ts/lib.es2015.d.ts", + "../../../.ts/lib.es2015.generator.d.ts", + "../../../.ts/lib.es2015.iterable.d.ts", + "../../../.ts/lib.es2015.promise.d.ts", + "../../../.ts/lib.es2015.proxy.d.ts", + "../../../.ts/lib.es2015.reflect.d.ts", + "../../../.ts/lib.es2015.symbol.d.ts", + "../../../.ts/lib.es2015.symbol.wellknown.d.ts", + "../../../.ts/lib.es5.d.ts", + "../../../src/common/nominal.ts", + "../../../src/sub-project/index.ts" + ] + }, + "version": "FakeTSVersion" +} + +//// [/lib/src/sub-project-2/index.d.ts] +declare const variable: { + key: import("../common/nominal").Nominal; +}; +export declare function getVar(): keyof typeof variable; +export {}; + + +//// [/lib/src/sub-project-2/index.js] +"use strict"; +exports.__esModule = true; +var variable = { + key: 'value' +}; +function getVar() { + return 'key'; +} +exports.getVar = getVar; + + +//// [/lib/src/sub-project-2/tsconfig.tsbuildinfo] +{ + "program": { + "fileInfos": { + "../../../.ts/lib.es5.d.ts": { + "version": "354625479304", + "signature": "354625479304" + }, + "../../../.ts/lib.es2015.d.ts": { + "version": "57263133672", + "signature": "57263133672" + }, + "../../../.ts/lib.dom.d.ts": { + "version": "-1041975536091", + "signature": "-1041975536091" + }, + "../../../.ts/lib.es2015.core.d.ts": { + "version": "370321249768", + "signature": "370321249768" + }, + "../../../.ts/lib.es2015.collection.d.ts": { + "version": "-95997535017", + "signature": "-95997535017" + }, + "../../../.ts/lib.es2015.generator.d.ts": { + "version": "10837180865", + "signature": "10837180865" + }, + "../../../.ts/lib.es2015.iterable.d.ts": { + "version": "232404497324", + "signature": "232404497324" + }, + "../../../.ts/lib.es2015.promise.d.ts": { + "version": "235321148269", + "signature": "235321148269" + }, + "../../../.ts/lib.es2015.proxy.d.ts": { + "version": "55479865087", + "signature": "55479865087" + }, + "../../../.ts/lib.es2015.reflect.d.ts": { + "version": "30748787093", + "signature": "30748787093" + }, + "../../../.ts/lib.es2015.symbol.d.ts": { + "version": "9409688441", + "signature": "9409688441" + }, + "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { + "version": "-67261006573", + "signature": "-67261006573" + }, + "../../../src/common/nominal.ts": { + "version": "-24498031910", + "signature": "-24498031910" + }, + "../../../src/sub-project/index.ts": { + "version": "-18559108619", + "signature": "-18559108619" + }, + "../../../src/sub-project-2/index.ts": { + "version": "-13939373533", + "signature": "-33844181688" + } + }, + "options": { + "skipLibCheck": true, + "rootDir": "../../..", + "outDir": "../..", + "lib": [ + "lib.dom.d.ts", + "lib.es2015.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ], + "composite": true, + "configFilePath": "../../../src/sub-project-2/tsconfig.json" + }, + "referencedMap": { + "../../../src/sub-project-2/index.ts": [ + "../sub-project/index.d.ts" + ], + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "exportedModulesMap": { + "../../../src/sub-project-2/index.ts": [ + "../common/nominal.d.ts" + ], + "../../../src/sub-project/index.ts": [ + "../common/nominal.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + "../../../.ts/lib.dom.d.ts", + "../../../.ts/lib.es2015.collection.d.ts", + "../../../.ts/lib.es2015.core.d.ts", + "../../../.ts/lib.es2015.d.ts", + "../../../.ts/lib.es2015.generator.d.ts", + "../../../.ts/lib.es2015.iterable.d.ts", + "../../../.ts/lib.es2015.promise.d.ts", + "../../../.ts/lib.es2015.proxy.d.ts", + "../../../.ts/lib.es2015.reflect.d.ts", + "../../../.ts/lib.es2015.symbol.d.ts", + "../../../.ts/lib.es2015.symbol.wellknown.d.ts", + "../../../.ts/lib.es5.d.ts", + "../../../src/common/nominal.ts", + "../../../src/sub-project-2/index.ts", + "../../../src/sub-project/index.ts" + ] + }, + "version": "FakeTSVersion" +} + diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts deleted file mode 100644 index a1a51d37b21a8..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/*====== /lib/src/common/nominal.d.ts ======*/ -export declare type Nominal = T & { - [Symbol.species]: Name; -}; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js deleted file mode 100644 index 6f15f7ae46d30..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/nominal.js +++ /dev/null @@ -1,3 +0,0 @@ -/*====== /lib/src/common/nominal.js ======*/ -"use strict"; -exports.__esModule = true; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo deleted file mode 100644 index 2139982b0e32a..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/common/tsconfig.tsbuildinfo +++ /dev/null @@ -1,89 +0,0 @@ -/*====== /lib/src/common/tsconfig.tsbuildinfo ======*/ -{ - "program": { - "fileInfos": { - "../../../.ts/lib.es5.d.ts": { - "version": "354625479304", - "signature": "354625479304" - }, - "../../../.ts/lib.es2015.d.ts": { - "version": "57263133672", - "signature": "57263133672" - }, - "../../../.ts/lib.dom.d.ts": { - "version": "-1041975536091", - "signature": "-1041975536091" - }, - "../../../.ts/lib.es2015.core.d.ts": { - "version": "370321249768", - "signature": "370321249768" - }, - "../../../.ts/lib.es2015.collection.d.ts": { - "version": "-95997535017", - "signature": "-95997535017" - }, - "../../../.ts/lib.es2015.generator.d.ts": { - "version": "10837180865", - "signature": "10837180865" - }, - "../../../.ts/lib.es2015.iterable.d.ts": { - "version": "232404497324", - "signature": "232404497324" - }, - "../../../.ts/lib.es2015.promise.d.ts": { - "version": "235321148269", - "signature": "235321148269" - }, - "../../../.ts/lib.es2015.proxy.d.ts": { - "version": "55479865087", - "signature": "55479865087" - }, - "../../../.ts/lib.es2015.reflect.d.ts": { - "version": "30748787093", - "signature": "30748787093" - }, - "../../../.ts/lib.es2015.symbol.d.ts": { - "version": "9409688441", - "signature": "9409688441" - }, - "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { - "version": "-67261006573", - "signature": "-67261006573" - }, - "../../../src/common/nominal.ts": { - "version": "-18967128381", - "signature": "-24498031910" - } - }, - "options": { - "skipLibCheck": true, - "rootDir": "../../..", - "outDir": "../..", - "lib": [ - "lib.dom.d.ts", - "lib.es2015.d.ts", - "lib.es2015.symbol.wellknown.d.ts" - ], - "composite": true, - "configFilePath": "../../../src/common/tsconfig.json" - }, - "referencedMap": {}, - "exportedModulesMap": {}, - "semanticDiagnosticsPerFile": [ - "../../../.ts/lib.dom.d.ts", - "../../../.ts/lib.es2015.collection.d.ts", - "../../../.ts/lib.es2015.core.d.ts", - "../../../.ts/lib.es2015.d.ts", - "../../../.ts/lib.es2015.generator.d.ts", - "../../../.ts/lib.es2015.iterable.d.ts", - "../../../.ts/lib.es2015.promise.d.ts", - "../../../.ts/lib.es2015.proxy.d.ts", - "../../../.ts/lib.es2015.reflect.d.ts", - "../../../.ts/lib.es2015.symbol.d.ts", - "../../../.ts/lib.es2015.symbol.wellknown.d.ts", - "../../../.ts/lib.es5.d.ts", - "../../../src/common/nominal.ts" - ] - }, - "version": "FakeTSVersion" -} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts deleted file mode 100644 index 0a8d5afe0f0f2..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/*====== /lib/src/sub-project-2/index.d.ts ======*/ -declare const variable: { - key: import("../common/nominal").Nominal; -}; -export declare function getVar(): keyof typeof variable; -export {}; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js deleted file mode 100644 index 22bdf78eb5db5..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/index.js +++ /dev/null @@ -1,10 +0,0 @@ -/*====== /lib/src/sub-project-2/index.js ======*/ -"use strict"; -exports.__esModule = true; -var variable = { - key: 'value' -}; -function getVar() { - return 'key'; -} -exports.getVar = getVar; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo deleted file mode 100644 index b974d6595fb2c..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project-2/tsconfig.tsbuildinfo +++ /dev/null @@ -1,113 +0,0 @@ -/*====== /lib/src/sub-project-2/tsconfig.tsbuildinfo ======*/ -{ - "program": { - "fileInfos": { - "../../../.ts/lib.es5.d.ts": { - "version": "354625479304", - "signature": "354625479304" - }, - "../../../.ts/lib.es2015.d.ts": { - "version": "57263133672", - "signature": "57263133672" - }, - "../../../.ts/lib.dom.d.ts": { - "version": "-1041975536091", - "signature": "-1041975536091" - }, - "../../../.ts/lib.es2015.core.d.ts": { - "version": "370321249768", - "signature": "370321249768" - }, - "../../../.ts/lib.es2015.collection.d.ts": { - "version": "-95997535017", - "signature": "-95997535017" - }, - "../../../.ts/lib.es2015.generator.d.ts": { - "version": "10837180865", - "signature": "10837180865" - }, - "../../../.ts/lib.es2015.iterable.d.ts": { - "version": "232404497324", - "signature": "232404497324" - }, - "../../../.ts/lib.es2015.promise.d.ts": { - "version": "235321148269", - "signature": "235321148269" - }, - "../../../.ts/lib.es2015.proxy.d.ts": { - "version": "55479865087", - "signature": "55479865087" - }, - "../../../.ts/lib.es2015.reflect.d.ts": { - "version": "30748787093", - "signature": "30748787093" - }, - "../../../.ts/lib.es2015.symbol.d.ts": { - "version": "9409688441", - "signature": "9409688441" - }, - "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { - "version": "-67261006573", - "signature": "-67261006573" - }, - "../../../src/common/nominal.ts": { - "version": "-24498031910", - "signature": "-24498031910" - }, - "../../../src/sub-project/index.ts": { - "version": "-18559108619", - "signature": "-18559108619" - }, - "../../../src/sub-project-2/index.ts": { - "version": "12009947381", - "signature": "-33844181688" - } - }, - "options": { - "skipLibCheck": true, - "rootDir": "../../..", - "outDir": "../..", - "lib": [ - "lib.dom.d.ts", - "lib.es2015.d.ts", - "lib.es2015.symbol.wellknown.d.ts" - ], - "composite": true, - "configFilePath": "../../../src/sub-project-2/tsconfig.json" - }, - "referencedMap": { - "../../../src/sub-project-2/index.ts": [ - "../sub-project/index.d.ts" - ], - "../../../src/sub-project/index.ts": [ - "../common/nominal.d.ts" - ] - }, - "exportedModulesMap": { - "../../../src/sub-project-2/index.ts": [ - "../common/nominal.d.ts" - ], - "../../../src/sub-project/index.ts": [ - "../common/nominal.d.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../.ts/lib.dom.d.ts", - "../../../.ts/lib.es2015.collection.d.ts", - "../../../.ts/lib.es2015.core.d.ts", - "../../../.ts/lib.es2015.d.ts", - "../../../.ts/lib.es2015.generator.d.ts", - "../../../.ts/lib.es2015.iterable.d.ts", - "../../../.ts/lib.es2015.promise.d.ts", - "../../../.ts/lib.es2015.proxy.d.ts", - "../../../.ts/lib.es2015.reflect.d.ts", - "../../../.ts/lib.es2015.symbol.d.ts", - "../../../.ts/lib.es2015.symbol.wellknown.d.ts", - "../../../.ts/lib.es5.d.ts", - "../../../src/common/nominal.ts", - "../../../src/sub-project-2/index.ts", - "../../../src/sub-project/index.ts" - ] - }, - "version": "FakeTSVersion" -} \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts deleted file mode 100644 index 674451d89ccfc..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -/*====== /lib/src/sub-project/index.d.ts ======*/ -import { Nominal } from '../common/nominal'; -export declare type MyNominal = Nominal; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js deleted file mode 100644 index 85344fdbb6f96..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/index.js +++ /dev/null @@ -1,3 +0,0 @@ -/*====== /lib/src/sub-project/index.js ======*/ -"use strict"; -exports.__esModule = true; diff --git a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo b/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo deleted file mode 100644 index edf3325b5697b..0000000000000 --- a/tests/baselines/reference/tsbuild/moduleSpecifiers/lib/src/sub-project/tsconfig.tsbuildinfo +++ /dev/null @@ -1,102 +0,0 @@ -/*====== /lib/src/sub-project/tsconfig.tsbuildinfo ======*/ -{ - "program": { - "fileInfos": { - "../../../.ts/lib.es5.d.ts": { - "version": "354625479304", - "signature": "354625479304" - }, - "../../../.ts/lib.es2015.d.ts": { - "version": "57263133672", - "signature": "57263133672" - }, - "../../../.ts/lib.dom.d.ts": { - "version": "-1041975536091", - "signature": "-1041975536091" - }, - "../../../.ts/lib.es2015.core.d.ts": { - "version": "370321249768", - "signature": "370321249768" - }, - "../../../.ts/lib.es2015.collection.d.ts": { - "version": "-95997535017", - "signature": "-95997535017" - }, - "../../../.ts/lib.es2015.generator.d.ts": { - "version": "10837180865", - "signature": "10837180865" - }, - "../../../.ts/lib.es2015.iterable.d.ts": { - "version": "232404497324", - "signature": "232404497324" - }, - "../../../.ts/lib.es2015.promise.d.ts": { - "version": "235321148269", - "signature": "235321148269" - }, - "../../../.ts/lib.es2015.proxy.d.ts": { - "version": "55479865087", - "signature": "55479865087" - }, - "../../../.ts/lib.es2015.reflect.d.ts": { - "version": "30748787093", - "signature": "30748787093" - }, - "../../../.ts/lib.es2015.symbol.d.ts": { - "version": "9409688441", - "signature": "9409688441" - }, - "../../../.ts/lib.es2015.symbol.wellknown.d.ts": { - "version": "-67261006573", - "signature": "-67261006573" - }, - "../../../src/common/nominal.ts": { - "version": "-24498031910", - "signature": "-24498031910" - }, - "../../../src/sub-project/index.ts": { - "version": "-22894055505", - "signature": "-18559108619" - } - }, - "options": { - "skipLibCheck": true, - "rootDir": "../../..", - "outDir": "../..", - "lib": [ - "lib.dom.d.ts", - "lib.es2015.d.ts", - "lib.es2015.symbol.wellknown.d.ts" - ], - "composite": true, - "configFilePath": "../../../src/sub-project/tsconfig.json" - }, - "referencedMap": { - "../../../src/sub-project/index.ts": [ - "../common/nominal.d.ts" - ] - }, - "exportedModulesMap": { - "../../../src/sub-project/index.ts": [ - "../common/nominal.d.ts" - ] - }, - "semanticDiagnosticsPerFile": [ - "../../../.ts/lib.dom.d.ts", - "../../../.ts/lib.es2015.collection.d.ts", - "../../../.ts/lib.es2015.core.d.ts", - "../../../.ts/lib.es2015.d.ts", - "../../../.ts/lib.es2015.generator.d.ts", - "../../../.ts/lib.es2015.iterable.d.ts", - "../../../.ts/lib.es2015.promise.d.ts", - "../../../.ts/lib.es2015.proxy.d.ts", - "../../../.ts/lib.es2015.reflect.d.ts", - "../../../.ts/lib.es2015.symbol.d.ts", - "../../../.ts/lib.es2015.symbol.wellknown.d.ts", - "../../../.ts/lib.es5.d.ts", - "../../../src/common/nominal.ts", - "../../../src/sub-project/index.ts" - ] - }, - "version": "FakeTSVersion" -} \ No newline at end of file