Skip to content

Commit 972e9a7

Browse files
authored
Added affectsSourceFile to importHelpers and jsxImportSource (#59195)
Co-authored-by: Armando Aguirre Sepulveda <araguir@microsoft.com>
1 parent 635db12 commit 972e9a7

File tree

6 files changed

+987
-6
lines changed

6 files changed

+987
-6
lines changed

Diff for: src/compiler/commandLineParser.ts

+2
Original file line numberDiff line numberDiff line change
@@ -795,6 +795,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [
795795
type: "boolean",
796796
affectsEmit: true,
797797
affectsBuildInfo: true,
798+
affectsSourceFile: true,
798799
category: Diagnostics.Emit,
799800
description: Diagnostics.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file,
800801
defaultValueDescription: false,
@@ -1265,6 +1266,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [
12651266
affectsEmit: true,
12661267
affectsBuildInfo: true,
12671268
affectsModuleResolution: true,
1269+
affectsSourceFile: true,
12681270
category: Diagnostics.Language_and_Environment,
12691271
description: Diagnostics.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk,
12701272
defaultValueDescription: "react",

Diff for: src/testRunner/tests.ts

+1
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ export * from "./unittests/tsserver/pasteEdits.js";
200200
export * from "./unittests/tsserver/plugins.js";
201201
export * from "./unittests/tsserver/pluginsAsync.js";
202202
export * from "./unittests/tsserver/projectErrors.js";
203+
export * from "./unittests/tsserver/projectImportHelpers.js";
203204
export * from "./unittests/tsserver/projectReferenceCompileOnSave.js";
204205
export * from "./unittests/tsserver/projectReferenceErrors.js";
205206
export * from "./unittests/tsserver/projectReferences.js";
+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import * as ts from "../../_namespaces/ts.js";
2+
import { jsonToReadableText } from "../helpers.js";
3+
import {
4+
baselineTsserverLogs,
5+
openFilesForSession,
6+
TestSession,
7+
} from "../helpers/tsserver.js";
8+
import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js";
9+
10+
describe("unittests:: tsserver:: projectImportHelpers::", () => {
11+
it("import helpers sucessfully", () => {
12+
const type1 = {
13+
path: "/a/type.ts",
14+
content: `
15+
export type Foo {
16+
bar: number;
17+
};`,
18+
};
19+
const file1 = {
20+
path: "/a/file1.ts",
21+
content: `
22+
import { Foo } from "./type";
23+
const a: Foo = { bar : 1 };
24+
a.bar;`,
25+
};
26+
const file2 = {
27+
path: "/a/file2.ts",
28+
content: `
29+
import { Foo } from "./type";
30+
const a: Foo = { bar : 2 };
31+
a.bar;`,
32+
};
33+
34+
const config1 = {
35+
path: "/a/tsconfig.json",
36+
content: jsonToReadableText({
37+
extends: "../tsconfig.json",
38+
compilerOptions: {
39+
importHelpers: true,
40+
},
41+
}),
42+
};
43+
44+
const file3 = {
45+
path: "/file3.js",
46+
content: "console.log('noop');",
47+
};
48+
const config2 = {
49+
path: "/tsconfig.json",
50+
content: jsonToReadableText({
51+
include: ["**/*"],
52+
}),
53+
};
54+
55+
const host = createServerHost([config2, config1, type1, file1, file2, file3]);
56+
const session = new TestSession(host);
57+
58+
openFilesForSession([file3, file1], session);
59+
60+
session.executeCommandSeq<ts.server.protocol.ReferencesRequest>({
61+
command: ts.server.protocol.CommandTypes.References,
62+
arguments: {
63+
file: file1.path,
64+
line: 4,
65+
offset: 3,
66+
},
67+
});
68+
69+
baselineTsserverLogs("importHelpers", "import helpers successfully", session);
70+
});
71+
});

Diff for: tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan,-and-orphan-script-info-changes.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ ScriptInfos::
200200
/user/username/projects/myproject/tsconfig.json
201201

202202
DocumentRegistry::
203-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
203+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
204204
/user/username/projects/myproject/index.ts: TS 1
205205
/user/username/projects/myproject/module1.d.ts: TS 1
206206
/a/lib/lib.d.ts: TS 1
@@ -265,7 +265,7 @@ Info seq [hh:mm:ss:mss] Files (2)
265265

266266
Info seq [hh:mm:ss:mss] -----------------------------------------------
267267
DocumentRegistry::
268-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
268+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
269269
/user/username/projects/myproject/index.ts: TS 1
270270
/a/lib/lib.d.ts: TS 1
271271
Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/module1.d.ts 1:: WatchInfo: /user/username/projects/myproject/module1.d.ts 500 undefined WatchType: Closed Script info
@@ -359,7 +359,7 @@ Info seq [hh:mm:ss:mss] Files (3)
359359

360360
Info seq [hh:mm:ss:mss] -----------------------------------------------
361361
DocumentRegistry::
362-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
362+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
363363
/user/username/projects/myproject/index.ts: TS 1
364364
/a/lib/lib.d.ts: TS 1
365365
/user/username/projects/myproject/module1.d.ts: TS 1

Diff for: tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ ScriptInfos::
200200
/user/username/projects/myproject/tsconfig.json
201201

202202
DocumentRegistry::
203-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
203+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
204204
/user/username/projects/myproject/index.ts: TS 1
205205
/user/username/projects/myproject/module1.d.ts: TS 1
206206
/a/lib/lib.d.ts: TS 1
@@ -265,7 +265,7 @@ Info seq [hh:mm:ss:mss] Files (2)
265265

266266
Info seq [hh:mm:ss:mss] -----------------------------------------------
267267
DocumentRegistry::
268-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
268+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
269269
/user/username/projects/myproject/index.ts: TS 1
270270
/a/lib/lib.d.ts: TS 1
271271
Before request
@@ -351,7 +351,7 @@ Info seq [hh:mm:ss:mss] Files (3)
351351

352352
Info seq [hh:mm:ss:mss] -----------------------------------------------
353353
DocumentRegistry::
354-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
354+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
355355
/user/username/projects/myproject/index.ts: TS 1
356356
/a/lib/lib.d.ts: TS 1
357357
/user/username/projects/myproject/module1.d.ts: TS 1

0 commit comments

Comments
 (0)