Skip to content

Commit 5cb87c3

Browse files
authored
Update to rules_nodejs 3.0 (#137)
* Update to rules_nodejs 3.0 ## What? Updates to the latest version (3.0) of rules_nodejs ## Why? Required to make these rules work with the latest version * Fix wrong import * Add kwargs to rules to allow tags/visibility/etc * Fix change_import_style.ts so that it works for grpc-js The regex was stripping `-js` from the import
1 parent 41b6315 commit 5cb87c3

File tree

10 files changed

+132
-25
lines changed

10 files changed

+132
-25
lines changed

BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
load("@build_bazel_rules_nodejs//packages/typescript:index.bzl", "ts_config")
1+
load("@npm//@bazel/typescript:index.bzl", "ts_config")
22

33
package(default_visibility = ["//:__subpackages__"])
44

WORKSPACE

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
66

77
http_archive(
88
name = "build_bazel_rules_nodejs",
9-
sha256 = "9cf91081afb192338a827dce92d4fdd5eabb809e3b20439611d6f440ac9b7c4e",
10-
strip_prefix = "rules_nodejs-9ff4508deb9aece23890feb1404abb9a6c3d1b94",
11-
urls = [
12-
"https://github.com/bazelbuild/rules_nodejs/archive/9ff4508deb9aece23890feb1404abb9a6c3d1b94.tar.gz",
13-
],
14-
patches = ["//:patches/rules_nodejs.patch"],
9+
sha256 = "6142e9586162b179fdd570a55e50d1332e7d9c030efd853453438d607569721d",
10+
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/3.0.0/rules_nodejs-3.0.0.tar.gz"],
1511
)
1612

1713
http_archive(
@@ -54,10 +50,6 @@ load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dev_dependencies")
5450

5551
rules_nodejs_dev_dependencies()
5652

57-
load("@build_bazel_rules_typescript//:package.bzl", "rules_typescript_dev_dependencies")
58-
59-
rules_typescript_dev_dependencies()
60-
6153
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
6254

6355
go_rules_dependencies()

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
"google-protobuf": "3.12.2"
88
},
99
"devDependencies": {
10+
"@bazel/typescript": "3.0.0",
11+
"@bazel/concatjs": "3.0.0",
12+
"@bazel/jasmine": "3.0.0",
13+
"@bazel/rollup": "3.0.0",
1014
"@improbable-eng/grpc-web": "0.13.0",
1115
"@types/google-protobuf": "3.7.2",
1216
"@types/jasmine": "3.5.11",

src/BUILD.bazel

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
load("@build_bazel_rules_nodejs//packages/typescript:index.bzl", "ts_library")
1+
load("@rules_typescript_proto_deps//@bazel/typescript:index.bzl", "ts_library")
22
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
33

44
nodejs_binary(
55
name = "change_import_style",
66
data = [
77
":change_import_style_lib",
8+
"@rules_typescript_proto_deps//:node_modules"
89
],
910
entry_point = ":change_import_style.ts",
10-
node_modules = "@rules_typescript_proto_deps//:node_modules",
11+
templated_args = ["--bazel_patch_module_resolver"],
1112
visibility = ["//visibility:public"],
1213
)
1314

@@ -16,5 +17,5 @@ ts_library(
1617
srcs = [
1718
"change_import_style.ts",
1819
],
19-
node_modules = "@rules_typescript_proto_deps//:node_modules",
20+
deps = ["@rules_typescript_proto_deps//:node_modules"],
2021
)

src/change_import_style.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function replaceRecursiveFilePaths(args: any) {
3030
}
3131

3232
function removeJsExtensionsFromRequires(contents: string) {
33-
return contents.replace(/(require\(.*).js/g, (_, captureGroup: string) => {
33+
return contents.replace(/(require\(.*)\.js/g, (_, captureGroup: string) => {
3434
return captureGroup;
3535
});
3636
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
load("//src:typescript_proto_build.bzl", "typescript_proto_build")
22

3-
def typescript_grpc_node_library(name, proto, use_grpc_js = False):
3+
def typescript_grpc_node_library(name, proto, use_grpc_js = False, **kwargs):
44
typescript_proto_build(
55
name = name,
66
proto = proto,
77

88
generate = "grpc-node",
99
grpc_node_mode = "grpc-js" if use_grpc_js else "",
10+
**kwargs
1011
)
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
load("//src:typescript_proto_build.bzl", "typescript_proto_build")
22

3-
def typescript_grpc_web_library(name, proto):
3+
def typescript_grpc_web_library(name, proto, **kwargs):
44
typescript_proto_build(
55
name = name,
66
proto = proto,
77

88
generate = "grpc-web",
9+
**kwargs
910
)

src/typescript_proto_library.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
load("//src:typescript_proto_build.bzl", "typescript_proto_build")
22

3-
def typescript_proto_library(name, proto):
3+
def typescript_proto_library(name, proto, **kwargs):
44
typescript_proto_build(
55
name = name,
66
proto = proto,
77

88
generate = "base",
9+
**kwargs
910
)

test/BUILD.bazel

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
load("@build_bazel_rules_nodejs//packages/jasmine:index.bzl", "jasmine_node_test")
2-
load("@build_bazel_rules_nodejs//packages/rollup:index.bzl", "rollup_bundle")
3-
load("@build_bazel_rules_nodejs//packages/typescript:index.bzl", "ts_library")
4-
load("@build_bazel_rules_nodejs//packages/karma:index.bzl", "karma_web_test_suite")
1+
load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test")
2+
load("@npm//@bazel/rollup:index.bzl", "rollup_bundle")
3+
load("@npm//@bazel/typescript:index.bzl", "ts_library")
4+
load("@npm//@bazel/concatjs:index.bzl", "karma_web_test_suite")
55

66
# This test checks that the protos can be resolved in a nodejs environment
77
jasmine_node_test(
@@ -13,6 +13,7 @@ jasmine_node_test(
1313
deps = [
1414
":commonjs_test_lib",
1515
],
16+
templated_args = ["--bazel_patch_module_resolver"],
1617
)
1718

1819
ts_library(
@@ -105,6 +106,7 @@ jasmine_node_test(
105106
deps = [
106107
":pizza_service_proto_grpc_node_test",
107108
],
109+
templated_args = ["--bazel_patch_module_resolver"],
108110
)
109111

110112
karma_web_test_suite(
@@ -166,4 +168,5 @@ jasmine_node_test(
166168
data = [
167169
":test_es6_bundling",
168170
],
171+
templated_args = ["--bazel_patch_module_resolver"],
169172
)

yarn.lock

Lines changed: 107 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,38 @@
2525
dependencies:
2626
regenerator-runtime "^0.13.2"
2727

28+
29+
version "3.0.0"
30+
resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-3.0.0.tgz#8a8b0c90ffcea4ed74a7c8db8fd37af861df394e"
31+
integrity sha512-JQTKFxWY6KQwfwqQRJCJtg8sQBN0ydTvV/5umTIC9wUz+1RdVRzGVtypYuY+V8wbTWB7Pt3cr+6eq9tPjPSFWQ==
32+
dependencies:
33+
protobufjs "6.8.8"
34+
source-map-support "0.5.9"
35+
tsutils "2.27.2"
36+
37+
38+
version "3.0.0"
39+
resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-3.0.0.tgz#18541696b9d8b4e1f4383dbad00e380096957827"
40+
integrity sha512-m0VDs+05Svv6RAYdLF/hM9mTeVKhEmZh4qkT1ZEiHOAwdanfcCWjhF5UaMYPmSih6NYkpmNyParx+weBVaIpsA==
41+
dependencies:
42+
c8 "~7.1.0"
43+
jasmine-reporters "~2.3.2"
44+
45+
46+
version "3.0.0"
47+
resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-3.0.0.tgz#6e424966d5ec41f6fcdbfbe25ec88d714f081b06"
48+
integrity sha512-IEq+zbbzWC1hRsdCD/9UocznDJ5aNXlg+XcChM3+VJaloBCKoqAiGf337T6AkPZs3HuAlEHYMvqsRyEHxEQmtg==
49+
50+
51+
version "3.0.0"
52+
resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-3.0.0.tgz#7cb3bcf405c590228888be78b9e49d1dc298dfea"
53+
integrity sha512-qYsfyi/+7QOFP9uVAv3gKaqkxo+fIamFrdQ71K85FlJSowxAkwj51pxOPnIWBcMzFVNv1p2ZyfM3ZctKqGye2g==
54+
dependencies:
55+
protobufjs "6.8.8"
56+
semver "5.6.0"
57+
source-map-support "0.5.9"
58+
tsutils "2.27.2"
59+
2860
"@bcoe/v8-coverage@^0.2.3":
2961
version "0.2.3"
3062
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -155,9 +187,9 @@
155187
resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.5.11.tgz#ba8e80639dffbe277f49c708b45373a320d158e2"
156188
integrity sha512-fg1rOd/DehQTIJTifGqGVY6q92lDgnLfs7C6t1ccSwQrMyoTGSoH6wWzhJDZb6ezhsdwAX4EIBLe8w5fXWmEng==
157189

158-
"@types/long@*", "@types/long@^4.0.1":
190+
"@types/long@*", "@types/long@^4.0.0", "@types/long@^4.0.1":
159191
version "4.0.1"
160-
resolved "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
192+
resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
161193
integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
162194

163195
"@types/node@*":
@@ -170,6 +202,11 @@
170202
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.50.tgz#e9b2e85fafc15f2a8aa8fdd41091b983da5fd6ee"
171203
integrity sha512-5ImO01Fb8YsEOYpV+aeyGYztcYcjGsBvN4D7G5r1ef2cuQOpymjWNQi5V0rKHE6PC2ru3HkoUr/Br2/8GUA84w==
172204

205+
"@types/node@^10.1.0":
206+
version "10.17.50"
207+
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.50.tgz#7a20902af591282aa9176baefc37d4372131c32d"
208+
integrity sha512-vwX+/ija9xKc/z9VqMCdbf4WYcMTGsI0I/L/6shIF3qXURxZOhPQlPRHtjTpiNhAwn0paMJzlOQqw6mAGEQnTA==
209+
173210
"@types/node@^12.12.47":
174211
version "12.19.9"
175212
resolved "https://registry.npmjs.org/@types/node/-/node-12.19.9.tgz#990ad687ad8b26ef6dcc34a4f69c33d40c95b679"
@@ -498,6 +535,25 @@ c8@^7.3.0:
498535
yargs "^15.0.0"
499536
yargs-parser "^18.0.0"
500537

538+
c8@~7.1.0:
539+
version "7.1.2"
540+
resolved "https://registry.yarnpkg.com/c8/-/c8-7.1.2.tgz#3fd785e8d264175ceffe92c74607f5cfb12f018d"
541+
integrity sha512-lCEwL9lbvWOQLxoLw8RF7PM8Cdj+rKxRp/PyWC9S8xASvYHRwXQ2gxzsNTgLhQM1Utc1YDAjzQYPQIxVEyelGg==
542+
dependencies:
543+
"@bcoe/v8-coverage" "^0.2.3"
544+
"@istanbuljs/schema" "^0.1.2"
545+
find-up "^4.0.0"
546+
foreground-child "^2.0.0"
547+
furi "^2.0.0"
548+
istanbul-lib-coverage "^3.0.0"
549+
istanbul-lib-report "^3.0.0"
550+
istanbul-reports "^3.0.2"
551+
rimraf "^3.0.0"
552+
test-exclude "^6.0.0"
553+
v8-to-istanbul "^4.1.2"
554+
yargs "^15.0.0"
555+
yargs-parser "^18.0.0"
556+
501557
cache-base@^1.0.1:
502558
version "1.0.1"
503559
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -1691,7 +1747,7 @@ jasmine-core@^3.6.0, jasmine-core@~3.6.0:
16911747
resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.6.0.tgz#491f3bb23941799c353ceb7a45b38a950ebc5a20"
16921748
integrity sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==
16931749

1694-
jasmine-reporters@^2.3.2:
1750+
jasmine-reporters@^2.3.2, jasmine-reporters@~2.3.2:
16951751
version "2.3.2"
16961752
resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.3.2.tgz#898818ffc234eb8b3f635d693de4586f95548d43"
16971753
integrity sha512-u/7AT9SkuZsUfFBLLzbErohTGNsEUCKaQbsVYnLFW1gEuL2DzmBL4n8v90uZsqIqlWvWUgian8J6yOt5Fyk/+A==
@@ -2357,6 +2413,25 @@ [email protected]:
23572413
"@types/node" "^13.7.0"
23582414
long "^4.0.0"
23592415

2416+
2417+
version "6.8.8"
2418+
resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c"
2419+
integrity sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==
2420+
dependencies:
2421+
"@protobufjs/aspromise" "^1.1.2"
2422+
"@protobufjs/base64" "^1.1.2"
2423+
"@protobufjs/codegen" "^2.0.4"
2424+
"@protobufjs/eventemitter" "^1.1.0"
2425+
"@protobufjs/fetch" "^1.1.0"
2426+
"@protobufjs/float" "^1.0.2"
2427+
"@protobufjs/inquire" "^1.1.0"
2428+
"@protobufjs/path" "^1.1.2"
2429+
"@protobufjs/pool" "^1.1.0"
2430+
"@protobufjs/utf8" "^1.1.0"
2431+
"@types/long" "^4.0.0"
2432+
"@types/node" "^10.1.0"
2433+
long "^4.0.0"
2434+
23602435
protobufjs@^5.0.3:
23612436
version "5.0.3"
23622437
resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz#e4dfe9fb67c90b2630d15868249bcc4961467a17"
@@ -2586,6 +2661,11 @@ semver-regex@^2.0.0:
25862661
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
25872662
integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
25882663

2664+
2665+
version "5.6.0"
2666+
resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
2667+
integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
2668+
25892669
semver@^5.3.0:
25902670
version "5.7.1"
25912671
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
@@ -2733,6 +2813,14 @@ [email protected]:
27332813
buffer-from "^1.0.0"
27342814
source-map "^0.6.0"
27352815

2816+
2817+
version "0.5.9"
2818+
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f"
2819+
integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==
2820+
dependencies:
2821+
buffer-from "^1.0.0"
2822+
source-map "^0.6.0"
2823+
27362824
source-map-url@^0.4.0:
27372825
version "0.4.0"
27382826
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@@ -2950,6 +3038,13 @@ tslib@^1.8.1:
29503038
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
29513039
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
29523040

3041+
3042+
version "2.27.2"
3043+
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.27.2.tgz#60ba88a23d6f785ec4b89c6e8179cac9b431f1c7"
3044+
integrity sha512-qf6rmT84TFMuxAKez2pIfR8UCai49iQsfB7YWVjV1bKpy/d0PWT5rEOSM6La9PiHZ0k1RRZQiwVdVJfQ3BPHgg==
3045+
dependencies:
3046+
tslib "^1.8.1"
3047+
29533048
29543049
version "3.17.1"
29553050
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
@@ -3035,6 +3130,15 @@ [email protected]:
30353130
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
30363131
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
30373132

3133+
v8-to-istanbul@^4.1.2:
3134+
version "4.1.4"
3135+
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6"
3136+
integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==
3137+
dependencies:
3138+
"@types/istanbul-lib-coverage" "^2.0.1"
3139+
convert-source-map "^1.6.0"
3140+
source-map "^0.7.3"
3141+
30383142
v8-to-istanbul@^5.0.0:
30393143
version "5.0.1"
30403144
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz#0608f5b49a481458625edb058488607f25498ba5"

0 commit comments

Comments
 (0)