Skip to content

Commit 9af3cf7

Browse files
alan-agius4AndrewKushnir
authored andcommitted
build: migrate to in-repo ts_project with strict deps (angular#64306)
This commit migrates the vscode-ng-language-service to use the in-repo `ts_project` macro, which has strict dependency checking enabled. This improves build-time dependency validation and helps ensure that all dependencies are explicitly declared. As part of this change, redundant `tsconfig.json` files have been removed in favor of a centralized configuration, and `jasmine_test` rules have been updated to the standard macro. A minor code adjustment in `server/src/session.ts` was also made to improve error handling. PR Close angular#64306
1 parent 1c07cb0 commit 9af3cf7

File tree

26 files changed

+39
-163
lines changed

26 files changed

+39
-163
lines changed

tools/defaults.bzl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ def _determine_tsconfig(testonly):
7878
if native.package_name().startswith("tools"):
7979
return "//tools:tsconfig_test" if testonly else "//tools:tsconfig_build"
8080

81+
if native.package_name().startswith("vscode-ng-language-service"):
82+
return "//vscode-ng-language-service:tsconfig_test" if testonly else "//vscode-ng-language-service:tsconfig_build"
83+
8184
fail("Failing... a tsconfig value must be provided.")
8285

8386
def ts_project(

vscode-ng-language-service/BUILD.bazel

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,20 @@ js_library(
1414
)
1515

1616
ts_config(
17-
name = "tsconfig",
17+
name = "tsconfig_build",
1818
src = "tsconfig.json",
1919
visibility = ["//visibility:public"],
2020
)
2121

22+
ts_config(
23+
name = "tsconfig_test",
24+
src = "tsconfig-test.json",
25+
visibility = ["//visibility:public"],
26+
deps = [
27+
":tsconfig_build",
28+
],
29+
)
30+
2231
expand_template_rule(
2332
name = "package_json_expanded",
2433
out = "package_expanded.json",

vscode-ng-language-service/client/BUILD.bazel

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,4 @@
11
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2-
load("@aspect_rules_ts//ts:defs.bzl", "ts_config")
3-
4-
ts_config(
5-
name = "tsconfig",
6-
src = "tsconfig.json",
7-
visibility = ["//vscode-ng-language-service/client:__subpackages__"],
8-
deps = [
9-
"//vscode-ng-language-service:tsconfig",
10-
"//vscode-ng-language-service/common:tsconfig",
11-
],
12-
)
132

143
esbuild(
154
name = "index",

vscode-ng-language-service/client/src/BUILD.bazel

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
load("@aspect_rules_ts//ts:defs.bzl", "ts_project")
1+
load("//tools:defaults.bzl", "ts_project")
22

33
ts_project(
44
name = "src",
55
srcs = glob(["*.ts"]),
6-
declaration = True,
7-
source_map = True,
8-
tsconfig = "//vscode-ng-language-service/client:tsconfig",
96
visibility = [
107
"//vscode-ng-language-service/client:__subpackages__",
118
],

vscode-ng-language-service/client/src/tests/BUILD.bazel

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,10 @@
1-
load("@aspect_rules_jasmine//jasmine:defs.bzl", "jasmine_test")
2-
load("@aspect_rules_ts//ts:defs.bzl", "ts_config", "ts_project")
3-
4-
ts_config(
5-
name = "tsconfig",
6-
src = "tsconfig.json",
7-
deps = [
8-
"//vscode-ng-language-service:tsconfig",
9-
"//vscode-ng-language-service/client:tsconfig",
10-
],
11-
)
1+
load("@devinfra//bazel/jasmine:jasmine.bzl", "jasmine_test")
2+
load("//tools:defaults.bzl", "ts_project")
123

134
ts_project(
145
name = "tests",
6+
testonly = True,
157
srcs = glob(["*.ts"]),
16-
declaration = True,
17-
source_map = True,
18-
tsconfig = ":tsconfig",
198
deps = [
209
"//vscode-ng-language-service:node_modules/@types/jasmine",
2110
"//vscode-ng-language-service:node_modules/@types/vscode",

vscode-ng-language-service/client/src/tests/tsconfig.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

vscode-ng-language-service/client/src/tests/tsconfig.tsbuildinfo

Lines changed: 0 additions & 1 deletion
This file was deleted.

vscode-ng-language-service/client/tsconfig.json

Lines changed: 0 additions & 10 deletions
This file was deleted.

vscode-ng-language-service/common/BUILD.bazel

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,8 @@
1-
load("@aspect_rules_ts//ts:defs.bzl", "ts_config", "ts_project")
2-
3-
ts_config(
4-
name = "tsconfig",
5-
src = "tsconfig.json",
6-
visibility = [
7-
"//vscode-ng-language-service/client:__subpackages__",
8-
"//vscode-ng-language-service/common:__subpackages__",
9-
"//vscode-ng-language-service/integration:__subpackages__",
10-
"//vscode-ng-language-service/server:__subpackages__",
11-
],
12-
deps = ["//vscode-ng-language-service:tsconfig"],
13-
)
1+
load("//tools:defaults.bzl", "ts_project")
142

153
ts_project(
164
name = "common",
175
srcs = glob(["*.ts"]),
18-
declaration = True,
19-
source_map = True,
20-
tsconfig = ":tsconfig",
216
visibility = [
227
"//vscode-ng-language-service/client:__subpackages__",
238
"//vscode-ng-language-service/common:__subpackages__",

vscode-ng-language-service/common/tests/BUILD.bazel

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,10 @@
1-
load("@aspect_rules_jasmine//jasmine:defs.bzl", "jasmine_test")
2-
load("@aspect_rules_ts//ts:defs.bzl", "ts_config", "ts_project")
3-
4-
ts_config(
5-
name = "tsconfig",
6-
src = "tsconfig.json",
7-
deps = [
8-
"//vscode-ng-language-service:tsconfig",
9-
"//vscode-ng-language-service/common:tsconfig",
10-
],
11-
)
1+
load("@devinfra//bazel/jasmine:jasmine.bzl", "jasmine_test")
2+
load("//tools:defaults.bzl", "ts_project")
123

134
ts_project(
145
name = "tests",
6+
testonly = True,
157
srcs = glob(["*.ts"]),
16-
declaration = True,
17-
source_map = True,
18-
tsconfig = ":tsconfig",
198
deps = [
209
"//vscode-ng-language-service:node_modules/@types/jasmine",
2110
"//vscode-ng-language-service/common",

0 commit comments

Comments
 (0)