Skip to content

Commit 3a7983a

Browse files
TypeScript BotArmando Aguirre
TypeScript Bot
and
Armando Aguirre
authored
🤖 Pick PR #59195 (Added affectsSourceFile to importHe...) into release-5.5 (#59231)
Co-authored-by: Armando Aguirre <[email protected]>
1 parent 315f9f9 commit 3a7983a

File tree

6 files changed

+972
-6
lines changed

6 files changed

+972
-6
lines changed

‎src/compiler/commandLineParser.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [
800800
type: "boolean",
801801
affectsEmit: true,
802802
affectsBuildInfo: true,
803+
affectsSourceFile: true,
803804
category: Diagnostics.Emit,
804805
description: Diagnostics.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file,
805806
defaultValueDescription: false,
@@ -1270,6 +1271,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [
12701271
affectsEmit: true,
12711272
affectsBuildInfo: true,
12721273
affectsModuleResolution: true,
1274+
affectsSourceFile: true,
12731275
category: Diagnostics.Language_and_Environment,
12741276
description: Diagnostics.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk,
12751277
defaultValueDescription: "react",

‎src/testRunner/tests.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ export * from "./unittests/tsserver/pasteEdits.js";
198198
export * from "./unittests/tsserver/plugins.js";
199199
export * from "./unittests/tsserver/pluginsAsync.js";
200200
export * from "./unittests/tsserver/projectErrors.js";
201+
export * from "./unittests/tsserver/projectImportHelpers.js";
201202
export * from "./unittests/tsserver/projectReferenceCompileOnSave.js";
202203
export * from "./unittests/tsserver/projectReferenceErrors.js";
203204
export * from "./unittests/tsserver/projectReferences.js";
Lines changed: 71 additions & 0 deletions
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+
});

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ ScriptInfos::
193193
/user/username/projects/myproject/tsconfig.json
194194

195195
DocumentRegistry::
196-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
196+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
197197
/user/username/projects/myproject/index.ts: TS 1
198198
/user/username/projects/myproject/module1.d.ts: TS 1
199199
/a/lib/lib.d.ts: TS 1
@@ -254,7 +254,7 @@ Info seq [hh:mm:ss:mss] Files (2)
254254

255255
Info seq [hh:mm:ss:mss] -----------------------------------------------
256256
DocumentRegistry::
257-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
257+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
258258
/user/username/projects/myproject/index.ts: TS 1
259259
/a/lib/lib.d.ts: TS 1
260260
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
@@ -344,7 +344,7 @@ Info seq [hh:mm:ss:mss] Files (3)
344344

345345
Info seq [hh:mm:ss:mss] -----------------------------------------------
346346
DocumentRegistry::
347-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
347+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
348348
/user/username/projects/myproject/index.ts: TS 1
349349
/a/lib/lib.d.ts: TS 1
350350
/user/username/projects/myproject/module1.d.ts: TS 1

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ ScriptInfos::
193193
/user/username/projects/myproject/tsconfig.json
194194

195195
DocumentRegistry::
196-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
196+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
197197
/user/username/projects/myproject/index.ts: TS 1
198198
/user/username/projects/myproject/module1.d.ts: TS 1
199199
/a/lib/lib.d.ts: TS 1
@@ -254,7 +254,7 @@ Info seq [hh:mm:ss:mss] Files (2)
254254

255255
Info seq [hh:mm:ss:mss] -----------------------------------------------
256256
DocumentRegistry::
257-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
257+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
258258
/user/username/projects/myproject/index.ts: TS 1
259259
/a/lib/lib.d.ts: TS 1
260260
Before request
@@ -336,7 +336,7 @@ Info seq [hh:mm:ss:mss] Files (3)
336336

337337
Info seq [hh:mm:ss:mss] -----------------------------------------------
338338
DocumentRegistry::
339-
Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined
339+
Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined
340340
/user/username/projects/myproject/index.ts: TS 1
341341
/a/lib/lib.d.ts: TS 1
342342
/user/username/projects/myproject/module1.d.ts: TS 1

0 commit comments

Comments
 (0)