Skip to content

Commit 4f1640d

Browse files
committed
Verify the output file paths for the json module emit
1 parent 23a7e2f commit 4f1640d

31 files changed

+189
-29
lines changed

tests/baselines/reference/requireOfJsonFile.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ if (x) {
1515
"b": "hello"
1616
}
1717

18-
//// [b.json]
18+
//// [out/b.json]
1919
{
2020
"a": true,
2121
"b": "hello"
2222
}
23-
//// [file1.js]
23+
//// [out/file1.js]
2424
"use strict";
2525
exports.__esModule = true;
2626
var b1 = require("./b.json");

tests/baselines/reference/requireOfJsonFileNonRelative.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ if (x) {
2121
"b": "hello"
2222
}
2323

24-
//// [file1.js]
24+
//// [out/file1.js]
2525
"use strict";
2626
exports.__esModule = true;
2727
var b1 = require("b.json");

tests/baselines/reference/requireOfJsonFileNonRelativeWithoutExtension.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ import e = require("e"); // Should fail
2222
"b": "hello"
2323
}
2424

25-
//// [file1.js]
25+
//// [out/file1.js]
2626
"use strict";
2727
exports.__esModule = true;

tests/baselines/reference/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ let fnumber: number = f;
1313
//// [f.ts]
1414
export = 10;
1515

16-
//// [f.js]
16+
//// [out/node_modules/f.js]
1717
"use strict";
1818
module.exports = 10;
19-
//// [file1.js]
19+
//// [out/projects/file1.js]
2020
"use strict";
2121
exports.__esModule = true;
2222
var f = require("f"); // should work to f.ts

tests/baselines/reference/requireOfJsonFileTypes.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,24 +45,24 @@ booleanLiteral = g[0];
4545
//// [g.json]
4646
[true, false]
4747

48-
//// [b.json]
48+
//// [out/b.json]
4949
{
5050
"a": true,
5151
"b": "hello",
5252
"c": null,
5353
"d": false
5454
}
55-
//// [c.json]
55+
//// [out/c.json]
5656
["a", null, "string"]
57-
//// [d.json]
57+
//// [out/d.json]
5858
"dConfig"
59-
//// [e.json]
59+
//// [out/e.json]
6060
-10
61-
//// [f.json]
61+
//// [out/f.json]
6262
[-10, 30]
63-
//// [g.json]
63+
//// [out/g.json]
6464
[true, false]
65-
//// [file1.js]
65+
//// [out/file1.js]
6666
"use strict";
6767
exports.__esModule = true;
6868
var b = require("./b.json");

tests/baselines/reference/requireOfJsonFileWithAmd.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ if (x) {
1515
"b": "hello"
1616
}
1717

18-
//// [file1.js]
18+
//// [out/file1.js]
1919
define(["require", "exports", "./b", "./b.json"], function (require, exports, b1, b2) {
2020
"use strict";
2121
exports.__esModule = true;

tests/baselines/reference/requireOfJsonFileWithEmptyObject.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ if (x) {
1212
{
1313
}
1414

15-
//// [b.json]
15+
//// [out/b.json]
1616
{}
17-
//// [file1.js]
17+
//// [out/file1.js]
1818
"use strict";
1919
exports.__esModule = true;
2020
var b1 = require("./b.json");

tests/baselines/reference/requireOfJsonFileWithEmptyObjectWithErrors.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ if (x) {
1313
{
1414
}
1515

16-
//// [b.json]
16+
//// [out/b.json]
1717
{}
18-
//// [file1.js]
18+
//// [out/file1.js]
1919
"use strict";
2020
exports.__esModule = true;
2121
var b1 = require("./b.json");

tests/baselines/reference/requireOfJsonFileWithErrors.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ if (x) {
1515
"b": "hello"
1616
}
1717

18-
//// [b.json]
18+
//// [out/b.json]
1919
{
2020
'a': true,
2121
"b": "hello"
2222
}
23-
//// [file1.js]
23+
//// [out/file1.js]
2424
"use strict";
2525
exports.__esModule = true;
2626
var b1 = require("./b.json");

tests/baselines/reference/requireOfJsonFileWithNoContent.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ if (x) {
1212
//// [b.json]
1313

1414

15-
//// [b.json]
16-
//// [file1.js]
15+
//// [out/b.json]
16+
//// [out/file1.js]
1717
"use strict";
1818
exports.__esModule = true;
1919
var b1 = require("./b.json");

tests/baselines/reference/requireOfJsonFileWithoutAllowJs.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ if (x) {
1515
"b": "hello"
1616
}
1717

18-
//// [b.json]
18+
//// [out/b.json]
1919
{
2020
"a": true,
2121
"b": "hello"
2222
}
23-
//// [file1.js]
23+
//// [out/file1.js]
2424
"use strict";
2525
exports.__esModule = true;
2626
var b1 = require("./b.json");

tests/baselines/reference/requireOfJsonFileWithoutExtension.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ if (x) {
1515
"b": "hello"
1616
}
1717

18-
//// [b.json]
18+
//// [out/b.json]
1919
{
2020
"a": true,
2121
"b": "hello"
2222
}
23-
//// [file1.js]
23+
//// [out/file1.js]
2424
"use strict";
2525
exports.__esModule = true;
2626
var b1 = require("./b"); // This should not resolve

tests/baselines/reference/requireOfJsonFileWithoutExtensionResolvesToTs.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ if (x2) {
2424
//// [c.ts]
2525
export = { a: true, b: "hello" };
2626

27-
//// [c.js]
27+
//// [out/c.js]
2828
"use strict";
2929
module.exports = { a: true, b: "hello" };
30-
//// [c.json]
30+
//// [out/c.json]
3131
{
3232
"a": true,
3333
"b": "hello"
3434
}
35-
//// [file1.js]
35+
//// [out/file1.js]
3636
"use strict";
3737
exports.__esModule = true;
3838
var c1 = require("./c"); // resolves to c.ts
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
error TS5055: Cannot write file 'tests/cases/compiler/b.json' because it would overwrite input file.
2+
Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig.
3+
4+
5+
!!! error TS5055: Cannot write file 'tests/cases/compiler/b.json' because it would overwrite input file.
6+
!!! error TS5055: Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig.
7+
==== tests/cases/compiler/file1.ts (0 errors) ====
8+
import b1 = require('./b.json');
9+
let x = b1.a;
10+
import b2 = require('./b.json');
11+
if (x) {
12+
let b = b2.b;
13+
x = (b1.b === b);
14+
}
15+
16+
==== tests/cases/compiler/b.json (0 errors) ====
17+
{
18+
"a": true,
19+
"b": "hello"
20+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//// [tests/cases/compiler/requireOfJsonFileWithoutOutDir.ts] ////
2+
3+
//// [file1.ts]
4+
import b1 = require('./b.json');
5+
let x = b1.a;
6+
import b2 = require('./b.json');
7+
if (x) {
8+
let b = b2.b;
9+
x = (b1.b === b);
10+
}
11+
12+
//// [b.json]
13+
{
14+
"a": true,
15+
"b": "hello"
16+
}
17+
18+
//// [tests/cases/compiler/file1.js]
19+
"use strict";
20+
exports.__esModule = true;
21+
var b1 = require("./b.json");
22+
var x = b1.a;
23+
var b2 = require("./b.json");
24+
if (x) {
25+
var b = b2.b;
26+
x = (b1.b === b);
27+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
=== tests/cases/compiler/file1.ts ===
2+
import b1 = require('./b.json');
3+
>b1 : Symbol(b1, Decl(file1.ts, 0, 0))
4+
5+
let x = b1.a;
6+
>x : Symbol(x, Decl(file1.ts, 1, 3))
7+
>b1.a : Symbol("a", Decl(b.json, 0, 1))
8+
>b1 : Symbol(b1, Decl(file1.ts, 0, 0))
9+
>a : Symbol("a", Decl(b.json, 0, 1))
10+
11+
import b2 = require('./b.json');
12+
>b2 : Symbol(b2, Decl(file1.ts, 1, 13))
13+
14+
if (x) {
15+
>x : Symbol(x, Decl(file1.ts, 1, 3))
16+
17+
let b = b2.b;
18+
>b : Symbol(b, Decl(file1.ts, 4, 7))
19+
>b2.b : Symbol("b", Decl(b.json, 1, 14))
20+
>b2 : Symbol(b2, Decl(file1.ts, 1, 13))
21+
>b : Symbol("b", Decl(b.json, 1, 14))
22+
23+
x = (b1.b === b);
24+
>x : Symbol(x, Decl(file1.ts, 1, 3))
25+
>b1.b : Symbol("b", Decl(b.json, 1, 14))
26+
>b1 : Symbol(b1, Decl(file1.ts, 0, 0))
27+
>b : Symbol("b", Decl(b.json, 1, 14))
28+
>b : Symbol(b, Decl(file1.ts, 4, 7))
29+
}
30+
31+
=== tests/cases/compiler/b.json ===
32+
{
33+
"a": true,
34+
>"a" : Symbol("a", Decl(b.json, 0, 1))
35+
36+
"b": "hello"
37+
>"b" : Symbol("b", Decl(b.json, 1, 14))
38+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
=== tests/cases/compiler/file1.ts ===
2+
import b1 = require('./b.json');
3+
>b1 : { "a": boolean; "b": string; }
4+
5+
let x = b1.a;
6+
>x : boolean
7+
>b1.a : boolean
8+
>b1 : { "a": boolean; "b": string; }
9+
>a : boolean
10+
11+
import b2 = require('./b.json');
12+
>b2 : { "a": boolean; "b": string; }
13+
14+
if (x) {
15+
>x : boolean
16+
17+
let b = b2.b;
18+
>b : string
19+
>b2.b : string
20+
>b2 : { "a": boolean; "b": string; }
21+
>b : string
22+
23+
x = (b1.b === b);
24+
>x = (b1.b === b) : boolean
25+
>x : boolean
26+
>(b1.b === b) : boolean
27+
>b1.b === b : boolean
28+
>b1.b : string
29+
>b1 : { "a": boolean; "b": string; }
30+
>b : string
31+
>b : string
32+
}
33+
34+
=== tests/cases/compiler/b.json ===
35+
{
36+
>{ "a": true, "b": "hello"} : { "a": boolean; "b": string; }
37+
38+
"a": true,
39+
>"a" : boolean
40+
>true : true
41+
42+
"b": "hello"
43+
>"b" : string
44+
>"hello" : "hello"
45+
}

tests/cases/compiler/requireOfJsonFile.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: file1.ts
67
import b1 = require('./b.json');

tests/cases/compiler/requireOfJsonFileNonRelative.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: /src/projects/file1.ts
67
import b1 = require('b.json');

tests/cases/compiler/requireOfJsonFileNonRelativeWithoutExtension.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: /src/projects/file1.ts
67
import d = require("d.json"); // Should fail

tests/cases/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: /src/projects/file1.ts
67
import f = require("f"); // should work to f.ts

tests/cases/compiler/requireOfJsonFileTypes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// @outdir: out/
33
// @allowJs: true
44
// @strictNullChecks: true
5+
// @fullEmitPaths: true
56

67
// @Filename: file1.ts
78
import b = require('./b.json');

tests/cases/compiler/requireOfJsonFileWithAmd.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: amd
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: file1.ts
67
import b1 = require('./b');

tests/cases/compiler/requireOfJsonFileWithEmptyObject.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: file1.ts
67
import b1 = require('./b.json');

tests/cases/compiler/requireOfJsonFileWithEmptyObjectWithErrors.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: file1.ts
67
import b1 = require('./b.json');

tests/cases/compiler/requireOfJsonFileWithErrors.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: file1.ts
67
import b1 = require('./b.json');

tests/cases/compiler/requireOfJsonFileWithNoContent.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// @module: commonjs
22
// @outdir: out/
33
// @allowJs: true
4+
// @fullEmitPaths: true
45

56
// @Filename: file1.ts
67
import b1 = require('./b.json');

0 commit comments

Comments
 (0)