Skip to content

Commit 3e9bea2

Browse files
authored
Fix yarn workspace isolation for node-client (#97)
* Update .gitignore to allow tracking .yarnrc.yml files Change .yarn* to .yarn/ and .pnp.* to be more specific. This allows .yarnrc.yml configuration files to be tracked. * Add .yarnrc.yml files for yarn workspace isolation Add standalone .yarnrc.yml to spec/node-client/ so Yarn 4 treats it as an independent project rather than detecting it as a workspace member of the root project. * Remove npm install workaround from node client test With yarn workspace isolation fixed, we no longer need to run npm install on every test run. The test now just executes the pre-built node client directly. - Remove npm install command from test - Delete package-lock.json (use yarn consistently) - Update yarn.lock files * Trigger gh actions
1 parent 69349e2 commit 3e9bea2

File tree

7 files changed

+4290
-3125
lines changed

7 files changed

+4290
-3125
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ coverage
1010

1111
node_modules
1212
.bundle
13-
.yarn*
13+
.yarn/
14+
.pnp.*
1415

1516
# Workspace
1617
.idea

.yarnrc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nodeLinker: node-modules

spec/integration/ruby_server_nodejs_client_spec.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@
99

1010
let(:node_client_dir) { File.expand_path('../node-client', __dir__) }
1111
let(:node_cmd) do
12-
# Use npm for dependency management (avoids yarn workspace detection issues)
13-
# Run npm install first to ensure dependencies are available
1412
[
15-
"cd #{node_client_dir} && npm install --silent 2>/dev/null && node dist/client.js",
13+
"cd #{node_client_dir} && node dist/client.js",
1614
server_url,
1715
grpc_method,
1816
basic_username,

spec/node-client/.yarnrc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
nodeLinker: node-modules
2+

spec/node-client/package-lock.json

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

spec/node-client/yarn.lock

Lines changed: 89 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,96 @@
1-
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2-
# yarn lockfile v1
1+
# This file is generated by running "yarn install" inside your project.
2+
# Manual changes might be lost - proceed with caution!
33

4+
__metadata:
5+
version: 8
6+
cacheKey: 10c0
47

5-
"@improbable-eng/[email protected]":
6-
version "0.15.0"
7-
resolved "https://registry.npmjs.org/@improbable-eng/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.15.0.tgz"
8-
integrity sha512-HLgJfVolGGpjc9DWPhmMmXJx8YGzkek7jcCFO1YYkSOoO81MWRZentPOd/JiKiZuU08wtc4BG+WNuGzsQB5jZA==
8+
"@improbable-eng/grpc-web-node-http-transport@npm:0.15.0":
9+
version: 0.15.0
10+
resolution: "@improbable-eng/grpc-web-node-http-transport@npm:0.15.0"
11+
peerDependencies:
12+
"@improbable-eng/grpc-web": ">=0.13.0"
13+
checksum: 10c0/3a33cbc8b5182fa7caed005fe09eadb6018dcbbd981bbd49fd512a6b82275c329e945aadce394125e17708949aac951ac3235925df32f841c62adceb24f16762
14+
languageName: node
15+
linkType: hard
916

10-
"@improbable-eng/grpc-web@>=0.13.0", "@improbable-eng/[email protected]":
11-
version "0.15.0"
12-
resolved "https://registry.npmjs.org/@improbable-eng/grpc-web/-/grpc-web-0.15.0.tgz"
13-
integrity sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==
17+
"@improbable-eng/grpc-web@npm:0.15.0":
18+
version: 0.15.0
19+
resolution: "@improbable-eng/grpc-web@npm:0.15.0"
1420
dependencies:
15-
browser-headers "^0.4.1"
21+
browser-headers: "npm:^0.4.1"
22+
peerDependencies:
23+
google-protobuf: ^3.14.0
24+
checksum: 10c0/98949a73bf98a54e5df02a3a13e3dadad83a610a35ed57600e566a842777e02bec71de413e42a7728267a38c5ccf30af67fe516486e68546c2701e95d2446f5c
25+
languageName: node
26+
linkType: hard
1627

17-
"@types/google-protobuf@^3.15.12":
18-
version "3.15.12"
19-
resolved "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.12.tgz"
20-
integrity sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==
28+
"@types/google-protobuf@npm:^3.15.12":
29+
version: 3.15.12
30+
resolution: "@types/google-protobuf@npm:3.15.12"
31+
checksum: 10c0/721783234e627f367dd710c345a1eaa9dca4ac64910032cef0c851c1821e05d06ffb51e9d1693080f1c0797a8674f89130fa56a390395ec7791ea8506d2f3bfb
32+
languageName: node
33+
linkType: hard
2134

22-
"@types/node@^22.14.1":
23-
version "22.19.2"
24-
resolved "https://registry.npmjs.org/@types/node/-/node-22.19.2.tgz"
25-
integrity sha512-LPM2G3Syo1GLzXLGJAKdqoU35XvrWzGJ21/7sgZTUpbkBaOasTj8tjwn6w+hCkqaa1TfJ/w67rJSwYItlJ2mYw==
35+
"@types/node@npm:^22.14.1":
36+
version: 22.19.2
37+
resolution: "@types/node@npm:22.19.2"
2638
dependencies:
27-
undici-types "~6.21.0"
28-
29-
browser-headers@^0.4.1:
30-
version "0.4.1"
31-
resolved "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz"
32-
integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==
33-
34-
google-protobuf@^3.14.0, google-protobuf@^3.21.4:
35-
version "3.21.4"
36-
resolved "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz"
37-
integrity sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==
38-
39-
typescript@^5.8.3:
40-
version "5.9.3"
41-
resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz"
42-
integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==
43-
44-
undici-types@~6.21.0:
45-
version "6.21.0"
46-
resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz"
47-
integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==
39+
undici-types: "npm:~6.21.0"
40+
checksum: 10c0/fd56fc727bdc2cd9582e05db5daab6c8eb7bc5e5640a54cbc64ccc160a61cf50940742be5536f83796bffc83ce7709d5580a9ca85806f57501958821d230ab78
41+
languageName: node
42+
linkType: hard
43+
44+
"browser-headers@npm:^0.4.1":
45+
version: 0.4.1
46+
resolution: "browser-headers@npm:0.4.1"
47+
checksum: 10c0/3b08864bb955b295ab3dd6ab775c7798096c2e85486571803b4070ec484de83ccceebe531a8b00d5daf4463fada5e7ca18cd1a71cc1ee0dfdbab705332318cef
48+
languageName: node
49+
linkType: hard
50+
51+
"google-protobuf@npm:^3.21.4":
52+
version: 3.21.4
53+
resolution: "google-protobuf@npm:3.21.4"
54+
checksum: 10c0/28f2800f7fe1a8fc55eb58ba76e158268407bfb3b90646eaf8a177dd92a2e522459b773f8132ae546e60ac3b6f5947557a1cf3d963a05bb594f43bcde640f54f
55+
languageName: node
56+
linkType: hard
57+
58+
"grpc-web-node-ts-client@workspace:.":
59+
version: 0.0.0-use.local
60+
resolution: "grpc-web-node-ts-client@workspace:."
61+
dependencies:
62+
"@improbable-eng/grpc-web": "npm:0.15.0"
63+
"@improbable-eng/grpc-web-node-http-transport": "npm:0.15.0"
64+
"@types/google-protobuf": "npm:^3.15.12"
65+
"@types/node": "npm:^22.14.1"
66+
google-protobuf: "npm:^3.21.4"
67+
typescript: "npm:^5.8.3"
68+
languageName: unknown
69+
linkType: soft
70+
71+
"typescript@npm:^5.8.3":
72+
version: 5.9.3
73+
resolution: "typescript@npm:5.9.3"
74+
bin:
75+
tsc: bin/tsc
76+
tsserver: bin/tsserver
77+
checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5
78+
languageName: node
79+
linkType: hard
80+
81+
"typescript@patch:typescript@npm%3A^5.8.3#optional!builtin<compat/typescript>":
82+
version: 5.9.3
83+
resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin<compat/typescript>::version=5.9.3&hash=5786d5"
84+
bin:
85+
tsc: bin/tsc
86+
tsserver: bin/tsserver
87+
checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430
88+
languageName: node
89+
linkType: hard
90+
91+
"undici-types@npm:~6.21.0":
92+
version: 6.21.0
93+
resolution: "undici-types@npm:6.21.0"
94+
checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
95+
languageName: node
96+
linkType: hard

0 commit comments

Comments
 (0)