diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index 1ddbd1ea331..1069a1bc97e 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -107,7 +107,7 @@ class CompilerBaselineRunner extends RunnerBase { } const output = Harness.Compiler.compileFiles( - toBeCompiled, otherFiles, harnessSettings, /*options*/ tsConfigOptions, /*currentDirectory*/ undefined); + toBeCompiled, otherFiles, harnessSettings, /*options*/ tsConfigOptions, /*currentDirectory*/ harnessSettings['currentDirectory']); options = output.options; result = output.result; diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 92482386138..5b26829cf4a 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -953,6 +953,7 @@ namespace Harness { { name: "noErrorTruncation", type: "boolean" }, { name: "suppressOutputPathCheck", type: "boolean" }, { name: "noImplicitReferences", type: "boolean" }, + { name: "currentDirectory", type: "string" }, { name: "symlink", type: "string" } ]; diff --git a/tests/baselines/reference/library-reference-11.trace.json b/tests/baselines/reference/library-reference-11.trace.json index e81a7e3e158..62d828d57d6 100644 --- a/tests/baselines/reference/library-reference-11.trace.json +++ b/tests/baselines/reference/library-reference-11.trace.json @@ -1,14 +1,14 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/jquery/package.json' does not exist.", + "File '/types/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", + "File '/node_modules/jquery/package.json' does not exist.", + "File '/node_modules/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/@types/'", + "File '/node_modules/@types/jquery/package.json' does not exist.", + "File '/node_modules/@types/jquery/index.d.ts' does not exist.", "Looking up in 'node_modules' folder, initial location '/a/b'", "File '/a/b/node_modules/jquery.ts' does not exist.", "File '/a/b/node_modules/jquery.d.ts' does not exist.", diff --git a/tests/baselines/reference/library-reference-12.trace.json b/tests/baselines/reference/library-reference-12.trace.json index d46fc884f35..abe1f6c0f46 100644 --- a/tests/baselines/reference/library-reference-12.trace.json +++ b/tests/baselines/reference/library-reference-12.trace.json @@ -1,14 +1,14 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/jquery/package.json' does not exist.", + "File '/types/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", + "File '/node_modules/jquery/package.json' does not exist.", + "File '/node_modules/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/@types/'", + "File '/node_modules/@types/jquery/package.json' does not exist.", + "File '/node_modules/@types/jquery/index.d.ts' does not exist.", "Looking up in 'node_modules' folder, initial location '/a/b'", "File '/a/b/node_modules/jquery.ts' does not exist.", "File '/a/b/node_modules/jquery.d.ts' does not exist.", diff --git a/tests/baselines/reference/library-reference-15.trace.json b/tests/baselines/reference/library-reference-15.trace.json index 09c891bc5b1..b8029a0b61f 100644 --- a/tests/baselines/reference/library-reference-15.trace.json +++ b/tests/baselines/reference/library-reference-15.trace.json @@ -1,44 +1,24 @@ [ - "======== Resolving type reference directive 'jquery', containing file not set, root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/index.d.ts' does not exist.", - "Looking up in 'node_modules' folder, initial location 'C:\\github\\TypeScript'", - "File 'C:/github/TypeScript/node_modules/jquery.ts' does not exist.", - "File 'C:/github/TypeScript/node_modules/jquery.d.ts' does not exist.", - "File 'C:/github/TypeScript/node_modules/jquery/package.json' does not exist.", - "File 'C:/github/TypeScript/node_modules/jquery/index.ts' does not exist.", - "File 'C:/github/TypeScript/node_modules/jquery/index.d.ts' does not exist.", - "File 'C:/github/TypeScript/node_modules/@types/jquery.ts' does not exist.", - "File 'C:/github/TypeScript/node_modules/@types/jquery.d.ts' does not exist.", - "File 'C:/github/TypeScript/node_modules/@types/jquery/package.json' does not exist.", - "File 'C:/github/TypeScript/node_modules/@types/jquery/index.ts' does not exist.", - "File 'C:/github/TypeScript/node_modules/@types/jquery/index.d.ts' does not exist.", - "File 'C:/github/node_modules/jquery.ts' does not exist.", - "File 'C:/github/node_modules/jquery.d.ts' does not exist.", - "File 'C:/github/node_modules/jquery/package.json' does not exist.", - "File 'C:/github/node_modules/jquery/index.ts' does not exist.", - "File 'C:/github/node_modules/jquery/index.d.ts' does not exist.", - "File 'C:/github/node_modules/@types/jquery.ts' does not exist.", - "File 'C:/github/node_modules/@types/jquery.d.ts' does not exist.", - "File 'C:/github/node_modules/@types/jquery/package.json' does not exist.", - "File 'C:/github/node_modules/@types/jquery/index.ts' does not exist.", - "File 'C:/github/node_modules/@types/jquery/index.d.ts' does not exist.", - "File 'C:/node_modules/jquery.ts' does not exist.", - "File 'C:/node_modules/jquery.d.ts' does not exist.", - "File 'C:/node_modules/jquery/package.json' does not exist.", - "File 'C:/node_modules/jquery/index.ts' does not exist.", - "File 'C:/node_modules/jquery/index.d.ts' does not exist.", - "File 'C:/node_modules/@types/jquery.ts' does not exist.", - "File 'C:/node_modules/@types/jquery.d.ts' does not exist.", - "File 'C:/node_modules/@types/jquery/package.json' does not exist.", - "File 'C:/node_modules/@types/jquery/index.ts' does not exist.", - "File 'C:/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file not set, root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/jquery/package.json' does not exist.", + "File '/types/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", + "File '/node_modules/jquery/package.json' does not exist.", + "File '/node_modules/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/@types/'", + "File '/node_modules/@types/jquery/package.json' does not exist.", + "File '/node_modules/@types/jquery/index.d.ts' does not exist.", + "Looking up in 'node_modules' folder, initial location '/'", + "File '/node_modules/jquery.ts' does not exist.", + "File '/node_modules/jquery.d.ts' does not exist.", + "File '/node_modules/jquery/package.json' does not exist.", + "File '/node_modules/jquery/index.ts' does not exist.", + "File '/node_modules/jquery/index.d.ts' does not exist.", + "File '/node_modules/@types/jquery.ts' does not exist.", + "File '/node_modules/@types/jquery.d.ts' does not exist.", + "File '/node_modules/@types/jquery/package.json' does not exist.", + "File '/node_modules/@types/jquery/index.ts' does not exist.", + "File '/node_modules/@types/jquery/index.d.ts' does not exist.", "======== Type reference directive 'jquery' was not resolved. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/library-reference-5.trace.json b/tests/baselines/reference/library-reference-5.trace.json index cf016cbe431..ad34e9e3159 100644 --- a/tests/baselines/reference/library-reference-5.trace.json +++ b/tests/baselines/reference/library-reference-5.trace.json @@ -1,68 +1,30 @@ [ - "======== Resolving type reference directive 'foo', containing file '/src/root.ts', root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/foo/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/foo/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/foo/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/foo/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/foo/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/foo/index.d.ts' does not exist.", - "Looking up in 'node_modules' folder, initial location '/src'", - "File '/src/node_modules/foo.ts' does not exist.", - "File '/src/node_modules/foo.d.ts' does not exist.", - "File '/src/node_modules/foo/package.json' does not exist.", - "File '/src/node_modules/foo/index.ts' does not exist.", - "File '/src/node_modules/foo/index.d.ts' does not exist.", - "File '/src/node_modules/@types/foo.ts' does not exist.", - "File '/src/node_modules/@types/foo.d.ts' does not exist.", - "File '/src/node_modules/@types/foo/package.json' does not exist.", - "File '/src/node_modules/@types/foo/index.ts' does not exist.", - "File '/src/node_modules/@types/foo/index.d.ts' does not exist.", - "File '/node_modules/foo.ts' does not exist.", - "File '/node_modules/foo.d.ts' does not exist.", + "======== Resolving type reference directive 'foo', containing file '/src/root.ts', root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/foo/package.json' does not exist.", + "File '/types/foo/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", "File '/node_modules/foo/package.json' does not exist.", - "File '/node_modules/foo/index.ts' does not exist.", "File '/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", - "======== Type reference directive 'foo' was successfully resolved to '/node_modules/foo/index.d.ts', primary: false. ========", - "======== Resolving type reference directive 'bar', containing file '/src/root.ts', root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/bar/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/bar/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/bar/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/bar/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/bar/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/bar/index.d.ts' does not exist.", - "Looking up in 'node_modules' folder, initial location '/src'", - "File '/src/node_modules/bar.ts' does not exist.", - "File '/src/node_modules/bar.d.ts' does not exist.", - "File '/src/node_modules/bar/package.json' does not exist.", - "File '/src/node_modules/bar/index.ts' does not exist.", - "File '/src/node_modules/bar/index.d.ts' does not exist.", - "File '/src/node_modules/@types/bar.ts' does not exist.", - "File '/src/node_modules/@types/bar.d.ts' does not exist.", - "File '/src/node_modules/@types/bar/package.json' does not exist.", - "File '/src/node_modules/@types/bar/index.ts' does not exist.", - "File '/src/node_modules/@types/bar/index.d.ts' does not exist.", - "File '/node_modules/bar.ts' does not exist.", - "File '/node_modules/bar.d.ts' does not exist.", + "======== Type reference directive 'foo' was successfully resolved to '/node_modules/foo/index.d.ts', primary: true. ========", + "======== Resolving type reference directive 'bar', containing file '/src/root.ts', root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/bar/package.json' does not exist.", + "File '/types/bar/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", "File '/node_modules/bar/package.json' does not exist.", - "File '/node_modules/bar/index.ts' does not exist.", "File '/node_modules/bar/index.d.ts' exist - use it as a name resolution result.", - "======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: false. ========", - "======== Resolving type reference directive 'alpha', containing file '/node_modules/foo/index.d.ts', root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/alpha/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/alpha/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/alpha/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/alpha/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/alpha/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/alpha/index.d.ts' does not exist.", + "======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: true. ========", + "======== Resolving type reference directive 'alpha', containing file '/node_modules/foo/index.d.ts', root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/alpha/package.json' does not exist.", + "File '/types/alpha/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", + "File '/node_modules/alpha/package.json' does not exist.", + "File '/node_modules/alpha/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/@types/'", + "File '/node_modules/@types/alpha/package.json' does not exist.", + "File '/node_modules/@types/alpha/index.d.ts' does not exist.", "Looking up in 'node_modules' folder, initial location '/node_modules/foo'", "File '/node_modules/foo/node_modules/alpha.ts' does not exist.", "File '/node_modules/foo/node_modules/alpha.d.ts' does not exist.", @@ -70,16 +32,16 @@ "File '/node_modules/foo/node_modules/alpha/index.ts' does not exist.", "File '/node_modules/foo/node_modules/alpha/index.d.ts' exist - use it as a name resolution result.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/foo/node_modules/alpha/index.d.ts', primary: false. ========", - "======== Resolving type reference directive 'alpha', containing file '/node_modules/bar/index.d.ts', root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/alpha/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/alpha/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/alpha/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/alpha/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/alpha/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/alpha/index.d.ts' does not exist.", + "======== Resolving type reference directive 'alpha', containing file '/node_modules/bar/index.d.ts', root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/alpha/package.json' does not exist.", + "File '/types/alpha/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", + "File '/node_modules/alpha/package.json' does not exist.", + "File '/node_modules/alpha/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/@types/'", + "File '/node_modules/@types/alpha/package.json' does not exist.", + "File '/node_modules/@types/alpha/index.d.ts' does not exist.", "Looking up in 'node_modules' folder, initial location '/node_modules/bar'", "File '/node_modules/bar/node_modules/alpha.ts' does not exist.", "File '/node_modules/bar/node_modules/alpha.d.ts' does not exist.", diff --git a/tests/baselines/reference/library-reference-7.trace.json b/tests/baselines/reference/library-reference-7.trace.json index bed3cb4fe40..9c6b19390d0 100644 --- a/tests/baselines/reference/library-reference-7.trace.json +++ b/tests/baselines/reference/library-reference-7.trace.json @@ -1,14 +1,14 @@ [ - "======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory 'C:\\github\\TypeScript'. ========", - "Resolving with primary search path 'C:\\github\\TypeScript/types/'", - "File 'C:\\github\\TypeScript/types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/types/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/'", - "File 'C:\\github\\TypeScript/node_modules/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/jquery/index.d.ts' does not exist.", - "Resolving with primary search path 'C:\\github\\TypeScript/node_modules/@types/'", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/package.json' does not exist.", - "File 'C:\\github\\TypeScript/node_modules/@types/jquery/index.d.ts' does not exist.", + "======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory '/'. ========", + "Resolving with primary search path '/types/'", + "File '/types/jquery/package.json' does not exist.", + "File '/types/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/'", + "File '/node_modules/jquery/package.json' does not exist.", + "File '/node_modules/jquery/index.d.ts' does not exist.", + "Resolving with primary search path '/node_modules/@types/'", + "File '/node_modules/@types/jquery/package.json' does not exist.", + "File '/node_modules/@types/jquery/index.d.ts' does not exist.", "Looking up in 'node_modules' folder, initial location '/src'", "File '/src/node_modules/jquery.ts' does not exist.", "File '/src/node_modules/jquery.d.ts' does not exist.", diff --git a/tests/cases/conformance/references/library-reference-11.ts b/tests/cases/conformance/references/library-reference-11.ts index 39c8af56543..6708ceb4ab3 100644 --- a/tests/cases/conformance/references/library-reference-11.ts +++ b/tests/cases/conformance/references/library-reference-11.ts @@ -1,5 +1,6 @@ // @noImplicitReferences: true // @traceResolution: true +// @currentDirectory: / // package.json in a secondary reference can refer to another file diff --git a/tests/cases/conformance/references/library-reference-12.ts b/tests/cases/conformance/references/library-reference-12.ts index c61d6d916ff..3db7fd3bc6f 100644 --- a/tests/cases/conformance/references/library-reference-12.ts +++ b/tests/cases/conformance/references/library-reference-12.ts @@ -1,5 +1,6 @@ // @noImplicitReferences: true // @traceResolution: true +// @currentDirectory: / // package.json in a secondary reference can refer to another file diff --git a/tests/cases/conformance/references/library-reference-15.ts b/tests/cases/conformance/references/library-reference-15.ts index 92c96e74c97..dd2179d1af6 100644 --- a/tests/cases/conformance/references/library-reference-15.ts +++ b/tests/cases/conformance/references/library-reference-15.ts @@ -1,6 +1,7 @@ // @noImplicitReferences: true // @traceResolution: true // @types: jquery +// @currentDirectory: / // @filename: /a/types/jquery/index.d.ts declare var $: { foo(): void }; diff --git a/tests/cases/conformance/references/library-reference-5.ts b/tests/cases/conformance/references/library-reference-5.ts index 4660da00a2a..1fe327a1c69 100644 --- a/tests/cases/conformance/references/library-reference-5.ts +++ b/tests/cases/conformance/references/library-reference-5.ts @@ -1,5 +1,6 @@ // @noImplicitReferences: true // @traceResolution: true +// @currentDirectory: / // Secondary references may not be duplicated if they disagree in content diff --git a/tests/cases/conformance/references/library-reference-7.ts b/tests/cases/conformance/references/library-reference-7.ts index e938aef7d3a..a5052415562 100644 --- a/tests/cases/conformance/references/library-reference-7.ts +++ b/tests/cases/conformance/references/library-reference-7.ts @@ -1,5 +1,6 @@ // @noImplicitReferences: true // @traceResolution: true +// @currentDirectory: / // Secondary references are possible