Skip to content

Commit eb1b176

Browse files
chore: make the JWT client server only
1 parent a41f5cf commit eb1b176

File tree

3 files changed

+47
-36
lines changed

3 files changed

+47
-36
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"browser": {
4040
"fs": false,
4141
"os": false,
42-
"path": false
42+
"path": false,
43+
"jsonwebtoken": "./dist/browser/jsonwebtoken-stub.js"
4344
}
4445
}

src/browser/jsonwebtoken-stub.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const browserOnlyMessage =
2+
"ReferralExchangeJwtClient is only supported in Node.js environments. " +
3+
"The browser build intentionally excludes the jsonwebtoken dependency.";
4+
5+
interface JsonWebTokenStub {
6+
sign: () => never;
7+
}
8+
9+
const jsonwebtokenStub: JsonWebTokenStub = {
10+
sign() {
11+
throw new Error(browserOnlyMessage);
12+
},
13+
};
14+
15+
export default jsonwebtokenStub;

yarn.lock

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz"
2525
integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==
2626

27-
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8":
27+
"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9":
2828
version "7.26.0"
2929
resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz"
3030
integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==
@@ -469,7 +469,7 @@
469469
slash "^3.0.0"
470470
write-file-atomic "^4.0.2"
471471

472-
"@jest/types@^29.0.0", "@jest/types@^29.6.3":
472+
"@jest/types@^29.6.3":
473473
version "29.6.3"
474474
resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz"
475475
integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
@@ -715,7 +715,7 @@
715715
dependencies:
716716
"@types/yargs-parser" "*"
717717

718-
"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/[email protected]":
718+
"@webassemblyjs/[email protected]", "@webassemblyjs/ast@^1.14.1":
719719
version "1.14.1"
720720
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz"
721721
integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==
@@ -816,7 +816,7 @@
816816
"@webassemblyjs/wasm-gen" "1.14.1"
817817
"@webassemblyjs/wasm-parser" "1.14.1"
818818

819-
"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/[email protected]":
819+
"@webassemblyjs/[email protected]", "@webassemblyjs/wasm-parser@^1.14.1":
820820
version "1.14.1"
821821
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz"
822822
integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==
@@ -904,7 +904,7 @@ ajv-keywords@^5.1.0:
904904
dependencies:
905905
fast-deep-equal "^3.1.3"
906906

907-
ajv@^6.12.5, ajv@^6.9.1:
907+
ajv@^6.12.5:
908908
version "6.12.6"
909909
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
910910
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -914,7 +914,7 @@ ajv@^6.12.5, ajv@^6.9.1:
914914
json-schema-traverse "^0.4.1"
915915
uri-js "^4.2.2"
916916

917-
ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0:
917+
ajv@^8.0.0, ajv@^8.9.0:
918918
version "8.17.1"
919919
resolved "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz"
920920
integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
@@ -968,7 +968,7 @@ asynckit@^0.4.0:
968968
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
969969
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
970970

971-
babel-jest@^29.0.0, babel-jest@^29.7.0:
971+
babel-jest@^29.7.0:
972972
version "29.7.0"
973973
resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz"
974974
integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
@@ -1056,7 +1056,7 @@ braces@^3.0.3:
10561056
dependencies:
10571057
fill-range "^7.1.1"
10581058

1059-
browserslist@^4.24.0, "browserslist@>= 4.21.0":
1059+
browserslist@^4.24.0:
10601060
version "4.24.3"
10611061
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz"
10621062
integrity sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==
@@ -1263,7 +1263,7 @@ data-urls@^3.0.2:
12631263
whatwg-mimetype "^3.0.0"
12641264
whatwg-url "^11.0.0"
12651265

1266-
debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@4:
1266+
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
12671267
version "4.4.0"
12681268
resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz"
12691269
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
@@ -1492,7 +1492,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
14921492
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
14931493
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
14941494

1495-
fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x:
1495+
fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
14961496
version "2.1.0"
14971497
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
14981498
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
@@ -2032,7 +2032,7 @@ jest-resolve-dependencies@^29.7.0:
20322032
jest-regex-util "^29.6.3"
20332033
jest-snapshot "^29.7.0"
20342034

2035-
jest-resolve@*, jest-resolve@^29.7.0:
2035+
jest-resolve@^29.7.0:
20362036
version "29.7.0"
20372037
resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz"
20382038
integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==
@@ -2185,7 +2185,7 @@ jest-worker@^29.7.0:
21852185
merge-stream "^2.0.0"
21862186
supports-color "^8.0.0"
21872187

2188-
jest@^29.0.0, jest@^29.7.0:
2188+
jest@^29.7.0:
21892189
version "29.7.0"
21902190
resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz"
21912191
integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==
@@ -2747,12 +2747,7 @@ schema-utils@^4.3.0:
27472747
ajv-formats "^2.1.1"
27482748
ajv-keywords "^5.1.0"
27492749

2750-
semver@^6.3.0:
2751-
version "6.3.1"
2752-
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
2753-
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
2754-
2755-
semver@^6.3.1:
2750+
semver@^6.3.0, semver@^6.3.1:
27562751
version "6.3.1"
27572752
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
27582753
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
@@ -2836,14 +2831,6 @@ slash@^3.0.0:
28362831
resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
28372832
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
28382833

2839-
source-map-support@~0.5.20:
2840-
version "0.5.21"
2841-
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
2842-
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
2843-
dependencies:
2844-
buffer-from "^1.0.0"
2845-
source-map "^0.6.0"
2846-
28472834
28482835
version "0.5.13"
28492836
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
@@ -2852,6 +2839,14 @@ [email protected]:
28522839
buffer-from "^1.0.0"
28532840
source-map "^0.6.0"
28542841

2842+
source-map-support@~0.5.20:
2843+
version "0.5.21"
2844+
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
2845+
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
2846+
dependencies:
2847+
buffer-from "^1.0.0"
2848+
source-map "^0.6.0"
2849+
28552850
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
28562851
version "0.6.1"
28572852
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
@@ -2874,13 +2869,6 @@ stack-utils@^2.0.3:
28742869
dependencies:
28752870
escape-string-regexp "^2.0.0"
28762871

2877-
string_decoder@^1.3.0:
2878-
version "1.3.0"
2879-
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
2880-
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
2881-
dependencies:
2882-
safe-buffer "~5.2.0"
2883-
28842872
string-length@^4.0.1:
28852873
version "4.0.2"
28862874
resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz"
@@ -2898,6 +2886,13 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
28982886
is-fullwidth-code-point "^3.0.0"
28992887
strip-ansi "^6.0.1"
29002888

2889+
string_decoder@^1.3.0:
2890+
version "1.3.0"
2891+
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
2892+
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
2893+
dependencies:
2894+
safe-buffer "~5.2.0"
2895+
29012896
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
29022897
version "6.0.1"
29032898
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
@@ -3048,7 +3043,7 @@ type-fest@^0.21.3:
30483043
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
30493044
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
30503045

3051-
typescript@*, "typescript@>=4.3 <6", typescript@~5.7.2:
3046+
typescript@~5.7.2:
30523047
version "5.7.3"
30533048
resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz"
30543049
integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==
@@ -3137,7 +3132,7 @@ webpack-sources@^3.2.3:
31373132
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
31383133
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
31393134

3140-
webpack@^5.0.0, webpack@^5.1.0, webpack@^5.97.1:
3135+
webpack@^5.97.1:
31413136
version "5.97.1"
31423137
resolved "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz"
31433138
integrity sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==

0 commit comments

Comments
 (0)