Spaces:
Running
Running
runs locally with live reload now
Browse files- README.md +11 -3
- package-lock.json +216 -69
- package.json +1 -0
- src/contexts/LiveAPIContext.tsx +3 -1
- src/setupProxy.js +12 -0
README.md
CHANGED
@@ -24,13 +24,21 @@ To get started, [create a free Gemini API key](https://aistudio.google.com/apike
|
|
24 |
GEMINI_API_KEY=your_api_key
|
25 |
```
|
26 |
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
```
|
30 |
-
$ npm run
|
31 |
```
|
32 |
|
33 |
-
The app should run on `http://localhost:
|
34 |
|
35 |
## Note
|
36 |
|
|
|
24 |
GEMINI_API_KEY=your_api_key
|
25 |
```
|
26 |
|
27 |
+
## Live Reload Version
|
28 |
+
|
29 |
+
Since this is a modified version of the [Multimodal Live API Console](https://github.com/google-gemini/multimodal-live-api-web-console), you will need to run the server proxy and the frontend separately.
|
30 |
+
|
31 |
+
In 2 separate terminals, run the following commands:
|
32 |
+
|
33 |
+
```
|
34 |
+
$ npm run start
|
35 |
+
```
|
36 |
|
37 |
```
|
38 |
+
$ npm run start-server
|
39 |
```
|
40 |
|
41 |
+
The app should run on `http://localhost:3000`
|
42 |
|
43 |
## Note
|
44 |
|
package-lock.json
CHANGED
@@ -9,8 +9,10 @@
|
|
9 |
"version": "0.1.0",
|
10 |
"dependencies": {
|
11 |
"classnames": "^2.5.1",
|
|
|
12 |
"dotenv-flow": "^4.1.0",
|
13 |
"eventemitter3": "^5.0.1",
|
|
|
14 |
"lodash": "^4.17.21",
|
15 |
"react": "^18.3.1",
|
16 |
"react-dom": "^18.3.1",
|
@@ -23,6 +25,8 @@
|
|
23 |
"vega-embed": "^6.29.0",
|
24 |
"vega-lite": "^5.22.0",
|
25 |
"web-vitals": "^2.1.4",
|
|
|
|
|
26 |
"zustand": "^5.0.1"
|
27 |
},
|
28 |
"devDependencies": {
|
@@ -30,12 +34,15 @@
|
|
30 |
"@testing-library/jest-dom": "^5.17.0",
|
31 |
"@testing-library/react": "^13.4.0",
|
32 |
"@testing-library/user-event": "^13.5.0",
|
|
|
33 |
"@types/jest": "^27.5.2",
|
34 |
"@types/lodash": "^4.17.13",
|
35 |
"@types/node": "^16.18.119",
|
36 |
"@types/react": "^18.3.12",
|
37 |
"@types/react-dom": "^18.3.1",
|
38 |
"@types/react-syntax-highlighter": "^15.5.13",
|
|
|
|
|
39 |
"ts-node": "^10.9.2",
|
40 |
"typescript": "^5.6.3"
|
41 |
}
|
@@ -1986,7 +1993,7 @@
|
|
1986 |
"version": "0.8.1",
|
1987 |
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
|
1988 |
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
1989 |
-
"
|
1990 |
"dependencies": {
|
1991 |
"@jridgewell/trace-mapping": "0.3.9"
|
1992 |
},
|
@@ -1998,7 +2005,7 @@
|
|
1998 |
"version": "0.3.9",
|
1999 |
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
|
2000 |
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
2001 |
-
"
|
2002 |
"dependencies": {
|
2003 |
"@jridgewell/resolve-uri": "^3.0.3",
|
2004 |
"@jridgewell/sourcemap-codec": "^1.4.10"
|
@@ -3723,36 +3730,6 @@
|
|
3723 |
"url": "https://github.com/sponsors/gregberge"
|
3724 |
}
|
3725 |
},
|
3726 |
-
"node_modules/@testing-library/dom": {
|
3727 |
-
"version": "10.4.0",
|
3728 |
-
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
|
3729 |
-
"integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==",
|
3730 |
-
"dev": true,
|
3731 |
-
"peer": true,
|
3732 |
-
"dependencies": {
|
3733 |
-
"@babel/code-frame": "^7.10.4",
|
3734 |
-
"@babel/runtime": "^7.12.5",
|
3735 |
-
"@types/aria-query": "^5.0.1",
|
3736 |
-
"aria-query": "5.3.0",
|
3737 |
-
"chalk": "^4.1.0",
|
3738 |
-
"dom-accessibility-api": "^0.5.9",
|
3739 |
-
"lz-string": "^1.5.0",
|
3740 |
-
"pretty-format": "^27.0.2"
|
3741 |
-
},
|
3742 |
-
"engines": {
|
3743 |
-
"node": ">=18"
|
3744 |
-
}
|
3745 |
-
},
|
3746 |
-
"node_modules/@testing-library/dom/node_modules/aria-query": {
|
3747 |
-
"version": "5.3.0",
|
3748 |
-
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
|
3749 |
-
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
|
3750 |
-
"dev": true,
|
3751 |
-
"peer": true,
|
3752 |
-
"dependencies": {
|
3753 |
-
"dequal": "^2.0.3"
|
3754 |
-
}
|
3755 |
-
},
|
3756 |
"node_modules/@testing-library/jest-dom": {
|
3757 |
"version": "5.17.0",
|
3758 |
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz",
|
@@ -3870,25 +3847,25 @@
|
|
3870 |
"version": "1.0.11",
|
3871 |
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
|
3872 |
"integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
|
3873 |
-
"
|
3874 |
},
|
3875 |
"node_modules/@tsconfig/node12": {
|
3876 |
"version": "1.0.11",
|
3877 |
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
|
3878 |
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
|
3879 |
-
"
|
3880 |
},
|
3881 |
"node_modules/@tsconfig/node14": {
|
3882 |
"version": "1.0.3",
|
3883 |
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
|
3884 |
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
|
3885 |
-
"
|
3886 |
},
|
3887 |
"node_modules/@tsconfig/node16": {
|
3888 |
"version": "1.0.4",
|
3889 |
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
|
3890 |
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
3891 |
-
"
|
3892 |
},
|
3893 |
"node_modules/@types/aria-query": {
|
3894 |
"version": "5.0.4",
|
@@ -5580,6 +5557,19 @@
|
|
5580 |
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
5581 |
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
5582 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5583 |
"node_modules/builtin-modules": {
|
5584 |
"version": "3.3.0",
|
5585 |
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
|
@@ -6151,7 +6141,7 @@
|
|
6151 |
"version": "1.1.1",
|
6152 |
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
6153 |
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
|
6154 |
-
"
|
6155 |
},
|
6156 |
"node_modules/cross-spawn": {
|
6157 |
"version": "7.0.5",
|
@@ -6530,6 +6520,19 @@
|
|
6530 |
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
6531 |
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
6532 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6533 |
"node_modules/d3-array": {
|
6534 |
"version": "3.2.4",
|
6535 |
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
|
@@ -6975,16 +6978,6 @@
|
|
6975 |
"node": ">= 0.8"
|
6976 |
}
|
6977 |
},
|
6978 |
-
"node_modules/dequal": {
|
6979 |
-
"version": "2.0.3",
|
6980 |
-
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
|
6981 |
-
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
|
6982 |
-
"dev": true,
|
6983 |
-
"peer": true,
|
6984 |
-
"engines": {
|
6985 |
-
"node": ">=6"
|
6986 |
-
}
|
6987 |
-
},
|
6988 |
"node_modules/destroy": {
|
6989 |
"version": "1.2.0",
|
6990 |
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
@@ -7057,7 +7050,7 @@
|
|
7057 |
"version": "4.0.2",
|
7058 |
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
7059 |
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
7060 |
-
"
|
7061 |
"engines": {
|
7062 |
"node": ">=0.3.1"
|
7063 |
}
|
@@ -7212,11 +7205,15 @@
|
|
7212 |
}
|
7213 |
},
|
7214 |
"node_modules/dotenv": {
|
7215 |
-
"version": "
|
7216 |
-
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-
|
7217 |
-
"integrity": "sha512-
|
|
|
7218 |
"engines": {
|
7219 |
-
"node": ">=
|
|
|
|
|
|
|
7220 |
}
|
7221 |
},
|
7222 |
"node_modules/dotenv-expand": {
|
@@ -7235,17 +7232,6 @@
|
|
7235 |
"node": ">= 12.0.0"
|
7236 |
}
|
7237 |
},
|
7238 |
-
"node_modules/dotenv-flow/node_modules/dotenv": {
|
7239 |
-
"version": "16.4.5",
|
7240 |
-
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
|
7241 |
-
"integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
|
7242 |
-
"engines": {
|
7243 |
-
"node": ">=12"
|
7244 |
-
},
|
7245 |
-
"funding": {
|
7246 |
-
"url": "https://dotenvx.com"
|
7247 |
-
}
|
7248 |
-
},
|
7249 |
"node_modules/duplexer": {
|
7250 |
"version": "0.1.2",
|
7251 |
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
|
@@ -7529,6 +7515,46 @@
|
|
7529 |
"url": "https://github.com/sponsors/ljharb"
|
7530 |
}
|
7531 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7532 |
"node_modules/escalade": {
|
7533 |
"version": "3.2.0",
|
7534 |
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
@@ -8099,6 +8125,21 @@
|
|
8099 |
"url": "https://github.com/sponsors/sindresorhus"
|
8100 |
}
|
8101 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8102 |
"node_modules/espree": {
|
8103 |
"version": "9.6.1",
|
8104 |
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
|
@@ -8178,6 +8219,16 @@
|
|
8178 |
"node": ">= 0.6"
|
8179 |
}
|
8180 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8181 |
"node_modules/eventemitter3": {
|
8182 |
"version": "5.0.1",
|
8183 |
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
|
@@ -8294,6 +8345,15 @@
|
|
8294 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
8295 |
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
8296 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8297 |
"node_modules/fast-deep-equal": {
|
8298 |
"version": "3.1.3",
|
8299 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
@@ -11524,7 +11584,7 @@
|
|
11524 |
"version": "1.3.6",
|
11525 |
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
|
11526 |
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
|
11527 |
-
"
|
11528 |
},
|
11529 |
"node_modules/makeerror": {
|
11530 |
"version": "1.0.12",
|
@@ -11781,6 +11841,12 @@
|
|
11781 |
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
11782 |
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
|
11783 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
11784 |
"node_modules/no-case": {
|
11785 |
"version": "3.0.4",
|
11786 |
"resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
|
@@ -11842,6 +11908,17 @@
|
|
11842 |
"node": ">= 6.13.0"
|
11843 |
}
|
11844 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11845 |
"node_modules/node-int64": {
|
11846 |
"version": "0.4.0",
|
11847 |
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
|
@@ -14117,6 +14194,15 @@
|
|
14117 |
}
|
14118 |
}
|
14119 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14120 |
"node_modules/react-select": {
|
14121 |
"version": "5.8.3",
|
14122 |
"resolved": "https://registry.npmjs.org/react-select/-/react-select-5.8.3.tgz",
|
@@ -16179,7 +16265,7 @@
|
|
16179 |
"version": "10.9.2",
|
16180 |
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
16181 |
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
16182 |
-
"
|
16183 |
"dependencies": {
|
16184 |
"@cspotcode/source-map-support": "^0.8.0",
|
16185 |
"@tsconfig/node10": "^1.0.7",
|
@@ -16222,7 +16308,7 @@
|
|
16222 |
"version": "8.3.4",
|
16223 |
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
|
16224 |
"integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
|
16225 |
-
"
|
16226 |
"dependencies": {
|
16227 |
"acorn": "^8.11.0"
|
16228 |
},
|
@@ -16234,7 +16320,7 @@
|
|
16234 |
"version": "4.1.3",
|
16235 |
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
16236 |
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
|
16237 |
-
"
|
16238 |
},
|
16239 |
"node_modules/tsconfig-paths": {
|
16240 |
"version": "3.15.0",
|
@@ -16290,6 +16376,12 @@
|
|
16290 |
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
16291 |
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
16292 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
16293 |
"node_modules/type-check": {
|
16294 |
"version": "0.4.0",
|
16295 |
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
@@ -16413,6 +16505,7 @@
|
|
16413 |
"version": "5.6.3",
|
16414 |
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
|
16415 |
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
|
|
|
16416 |
"bin": {
|
16417 |
"tsc": "bin/tsc",
|
16418 |
"tsserver": "bin/tsserver"
|
@@ -16576,6 +16669,19 @@
|
|
16576 |
}
|
16577 |
}
|
16578 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16579 |
"node_modules/util-deprecate": {
|
16580 |
"version": "1.0.2",
|
16581 |
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
@@ -16620,7 +16726,7 @@
|
|
16620 |
"version": "3.0.1",
|
16621 |
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
16622 |
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
|
16623 |
-
"
|
16624 |
},
|
16625 |
"node_modules/v8-to-istanbul": {
|
16626 |
"version": "8.1.1",
|
@@ -17370,6 +17476,23 @@
|
|
17370 |
"url": "https://opencollective.com/webpack"
|
17371 |
}
|
17372 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17373 |
"node_modules/websocket-driver": {
|
17374 |
"version": "0.7.4",
|
17375 |
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
|
@@ -17391,6 +17514,21 @@
|
|
17391 |
"node": ">=0.8.0"
|
17392 |
}
|
17393 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17394 |
"node_modules/whatwg-encoding": {
|
17395 |
"version": "1.0.5",
|
17396 |
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
|
@@ -17921,6 +18059,15 @@
|
|
17921 |
"node": ">=10"
|
17922 |
}
|
17923 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17924 |
"node_modules/yallist": {
|
17925 |
"version": "3.1.1",
|
17926 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
@@ -17963,7 +18110,7 @@
|
|
17963 |
"version": "3.1.1",
|
17964 |
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
17965 |
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
17966 |
-
"
|
17967 |
"engines": {
|
17968 |
"node": ">=6"
|
17969 |
}
|
|
|
9 |
"version": "0.1.0",
|
10 |
"dependencies": {
|
11 |
"classnames": "^2.5.1",
|
12 |
+
"dotenv": "^16.4.1",
|
13 |
"dotenv-flow": "^4.1.0",
|
14 |
"eventemitter3": "^5.0.1",
|
15 |
+
"express": "^4.18.2",
|
16 |
"lodash": "^4.17.21",
|
17 |
"react": "^18.3.1",
|
18 |
"react-dom": "^18.3.1",
|
|
|
25 |
"vega-embed": "^6.29.0",
|
26 |
"vega-lite": "^5.22.0",
|
27 |
"web-vitals": "^2.1.4",
|
28 |
+
"websocket": "^1.0.34",
|
29 |
+
"ws": "^8.16.0",
|
30 |
"zustand": "^5.0.1"
|
31 |
},
|
32 |
"devDependencies": {
|
|
|
34 |
"@testing-library/jest-dom": "^5.17.0",
|
35 |
"@testing-library/react": "^13.4.0",
|
36 |
"@testing-library/user-event": "^13.5.0",
|
37 |
+
"@types/express": "^4.17.21",
|
38 |
"@types/jest": "^27.5.2",
|
39 |
"@types/lodash": "^4.17.13",
|
40 |
"@types/node": "^16.18.119",
|
41 |
"@types/react": "^18.3.12",
|
42 |
"@types/react-dom": "^18.3.1",
|
43 |
"@types/react-syntax-highlighter": "^15.5.13",
|
44 |
+
"@types/ws": "^8.5.10",
|
45 |
+
"http-proxy-middleware": "^2.0.6",
|
46 |
"ts-node": "^10.9.2",
|
47 |
"typescript": "^5.6.3"
|
48 |
}
|
|
|
1993 |
"version": "0.8.1",
|
1994 |
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
|
1995 |
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
1996 |
+
"dev": true,
|
1997 |
"dependencies": {
|
1998 |
"@jridgewell/trace-mapping": "0.3.9"
|
1999 |
},
|
|
|
2005 |
"version": "0.3.9",
|
2006 |
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
|
2007 |
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
2008 |
+
"dev": true,
|
2009 |
"dependencies": {
|
2010 |
"@jridgewell/resolve-uri": "^3.0.3",
|
2011 |
"@jridgewell/sourcemap-codec": "^1.4.10"
|
|
|
3730 |
"url": "https://github.com/sponsors/gregberge"
|
3731 |
}
|
3732 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3733 |
"node_modules/@testing-library/jest-dom": {
|
3734 |
"version": "5.17.0",
|
3735 |
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz",
|
|
|
3847 |
"version": "1.0.11",
|
3848 |
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
|
3849 |
"integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
|
3850 |
+
"dev": true
|
3851 |
},
|
3852 |
"node_modules/@tsconfig/node12": {
|
3853 |
"version": "1.0.11",
|
3854 |
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
|
3855 |
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
|
3856 |
+
"dev": true
|
3857 |
},
|
3858 |
"node_modules/@tsconfig/node14": {
|
3859 |
"version": "1.0.3",
|
3860 |
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
|
3861 |
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
|
3862 |
+
"dev": true
|
3863 |
},
|
3864 |
"node_modules/@tsconfig/node16": {
|
3865 |
"version": "1.0.4",
|
3866 |
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
|
3867 |
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
3868 |
+
"dev": true
|
3869 |
},
|
3870 |
"node_modules/@types/aria-query": {
|
3871 |
"version": "5.0.4",
|
|
|
5557 |
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
5558 |
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
5559 |
},
|
5560 |
+
"node_modules/bufferutil": {
|
5561 |
+
"version": "4.0.9",
|
5562 |
+
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz",
|
5563 |
+
"integrity": "sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==",
|
5564 |
+
"hasInstallScript": true,
|
5565 |
+
"license": "MIT",
|
5566 |
+
"dependencies": {
|
5567 |
+
"node-gyp-build": "^4.3.0"
|
5568 |
+
},
|
5569 |
+
"engines": {
|
5570 |
+
"node": ">=6.14.2"
|
5571 |
+
}
|
5572 |
+
},
|
5573 |
"node_modules/builtin-modules": {
|
5574 |
"version": "3.3.0",
|
5575 |
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
|
|
|
6141 |
"version": "1.1.1",
|
6142 |
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
6143 |
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
|
6144 |
+
"dev": true
|
6145 |
},
|
6146 |
"node_modules/cross-spawn": {
|
6147 |
"version": "7.0.5",
|
|
|
6520 |
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
6521 |
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
6522 |
},
|
6523 |
+
"node_modules/d": {
|
6524 |
+
"version": "1.0.2",
|
6525 |
+
"resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
|
6526 |
+
"integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
|
6527 |
+
"license": "ISC",
|
6528 |
+
"dependencies": {
|
6529 |
+
"es5-ext": "^0.10.64",
|
6530 |
+
"type": "^2.7.2"
|
6531 |
+
},
|
6532 |
+
"engines": {
|
6533 |
+
"node": ">=0.12"
|
6534 |
+
}
|
6535 |
+
},
|
6536 |
"node_modules/d3-array": {
|
6537 |
"version": "3.2.4",
|
6538 |
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
|
|
|
6978 |
"node": ">= 0.8"
|
6979 |
}
|
6980 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6981 |
"node_modules/destroy": {
|
6982 |
"version": "1.2.0",
|
6983 |
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
|
|
7050 |
"version": "4.0.2",
|
7051 |
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
7052 |
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
7053 |
+
"dev": true,
|
7054 |
"engines": {
|
7055 |
"node": ">=0.3.1"
|
7056 |
}
|
|
|
7205 |
}
|
7206 |
},
|
7207 |
"node_modules/dotenv": {
|
7208 |
+
"version": "16.4.7",
|
7209 |
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
|
7210 |
+
"integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
|
7211 |
+
"license": "BSD-2-Clause",
|
7212 |
"engines": {
|
7213 |
+
"node": ">=12"
|
7214 |
+
},
|
7215 |
+
"funding": {
|
7216 |
+
"url": "https://dotenvx.com"
|
7217 |
}
|
7218 |
},
|
7219 |
"node_modules/dotenv-expand": {
|
|
|
7232 |
"node": ">= 12.0.0"
|
7233 |
}
|
7234 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7235 |
"node_modules/duplexer": {
|
7236 |
"version": "0.1.2",
|
7237 |
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
|
|
|
7515 |
"url": "https://github.com/sponsors/ljharb"
|
7516 |
}
|
7517 |
},
|
7518 |
+
"node_modules/es5-ext": {
|
7519 |
+
"version": "0.10.64",
|
7520 |
+
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
|
7521 |
+
"integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
|
7522 |
+
"hasInstallScript": true,
|
7523 |
+
"license": "ISC",
|
7524 |
+
"dependencies": {
|
7525 |
+
"es6-iterator": "^2.0.3",
|
7526 |
+
"es6-symbol": "^3.1.3",
|
7527 |
+
"esniff": "^2.0.1",
|
7528 |
+
"next-tick": "^1.1.0"
|
7529 |
+
},
|
7530 |
+
"engines": {
|
7531 |
+
"node": ">=0.10"
|
7532 |
+
}
|
7533 |
+
},
|
7534 |
+
"node_modules/es6-iterator": {
|
7535 |
+
"version": "2.0.3",
|
7536 |
+
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
|
7537 |
+
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
|
7538 |
+
"license": "MIT",
|
7539 |
+
"dependencies": {
|
7540 |
+
"d": "1",
|
7541 |
+
"es5-ext": "^0.10.35",
|
7542 |
+
"es6-symbol": "^3.1.1"
|
7543 |
+
}
|
7544 |
+
},
|
7545 |
+
"node_modules/es6-symbol": {
|
7546 |
+
"version": "3.1.4",
|
7547 |
+
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
|
7548 |
+
"integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
|
7549 |
+
"license": "ISC",
|
7550 |
+
"dependencies": {
|
7551 |
+
"d": "^1.0.2",
|
7552 |
+
"ext": "^1.7.0"
|
7553 |
+
},
|
7554 |
+
"engines": {
|
7555 |
+
"node": ">=0.12"
|
7556 |
+
}
|
7557 |
+
},
|
7558 |
"node_modules/escalade": {
|
7559 |
"version": "3.2.0",
|
7560 |
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
|
|
8125 |
"url": "https://github.com/sponsors/sindresorhus"
|
8126 |
}
|
8127 |
},
|
8128 |
+
"node_modules/esniff": {
|
8129 |
+
"version": "2.0.1",
|
8130 |
+
"resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
|
8131 |
+
"integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
|
8132 |
+
"license": "ISC",
|
8133 |
+
"dependencies": {
|
8134 |
+
"d": "^1.0.1",
|
8135 |
+
"es5-ext": "^0.10.62",
|
8136 |
+
"event-emitter": "^0.3.5",
|
8137 |
+
"type": "^2.7.2"
|
8138 |
+
},
|
8139 |
+
"engines": {
|
8140 |
+
"node": ">=0.10"
|
8141 |
+
}
|
8142 |
+
},
|
8143 |
"node_modules/espree": {
|
8144 |
"version": "9.6.1",
|
8145 |
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
|
|
|
8219 |
"node": ">= 0.6"
|
8220 |
}
|
8221 |
},
|
8222 |
+
"node_modules/event-emitter": {
|
8223 |
+
"version": "0.3.5",
|
8224 |
+
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
|
8225 |
+
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
|
8226 |
+
"license": "MIT",
|
8227 |
+
"dependencies": {
|
8228 |
+
"d": "1",
|
8229 |
+
"es5-ext": "~0.10.14"
|
8230 |
+
}
|
8231 |
+
},
|
8232 |
"node_modules/eventemitter3": {
|
8233 |
"version": "5.0.1",
|
8234 |
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
|
|
|
8345 |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
8346 |
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
8347 |
},
|
8348 |
+
"node_modules/ext": {
|
8349 |
+
"version": "1.7.0",
|
8350 |
+
"resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
|
8351 |
+
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
|
8352 |
+
"license": "ISC",
|
8353 |
+
"dependencies": {
|
8354 |
+
"type": "^2.7.2"
|
8355 |
+
}
|
8356 |
+
},
|
8357 |
"node_modules/fast-deep-equal": {
|
8358 |
"version": "3.1.3",
|
8359 |
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
|
|
11584 |
"version": "1.3.6",
|
11585 |
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
|
11586 |
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
|
11587 |
+
"dev": true
|
11588 |
},
|
11589 |
"node_modules/makeerror": {
|
11590 |
"version": "1.0.12",
|
|
|
11841 |
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
11842 |
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
|
11843 |
},
|
11844 |
+
"node_modules/next-tick": {
|
11845 |
+
"version": "1.1.0",
|
11846 |
+
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
|
11847 |
+
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
|
11848 |
+
"license": "ISC"
|
11849 |
+
},
|
11850 |
"node_modules/no-case": {
|
11851 |
"version": "3.0.4",
|
11852 |
"resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
|
|
|
11908 |
"node": ">= 6.13.0"
|
11909 |
}
|
11910 |
},
|
11911 |
+
"node_modules/node-gyp-build": {
|
11912 |
+
"version": "4.8.4",
|
11913 |
+
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
|
11914 |
+
"integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
|
11915 |
+
"license": "MIT",
|
11916 |
+
"bin": {
|
11917 |
+
"node-gyp-build": "bin.js",
|
11918 |
+
"node-gyp-build-optional": "optional.js",
|
11919 |
+
"node-gyp-build-test": "build-test.js"
|
11920 |
+
}
|
11921 |
+
},
|
11922 |
"node_modules/node-int64": {
|
11923 |
"version": "0.4.0",
|
11924 |
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
|
|
|
14194 |
}
|
14195 |
}
|
14196 |
},
|
14197 |
+
"node_modules/react-scripts/node_modules/dotenv": {
|
14198 |
+
"version": "10.0.0",
|
14199 |
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
|
14200 |
+
"integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
|
14201 |
+
"license": "BSD-2-Clause",
|
14202 |
+
"engines": {
|
14203 |
+
"node": ">=10"
|
14204 |
+
}
|
14205 |
+
},
|
14206 |
"node_modules/react-select": {
|
14207 |
"version": "5.8.3",
|
14208 |
"resolved": "https://registry.npmjs.org/react-select/-/react-select-5.8.3.tgz",
|
|
|
16265 |
"version": "10.9.2",
|
16266 |
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
16267 |
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
16268 |
+
"dev": true,
|
16269 |
"dependencies": {
|
16270 |
"@cspotcode/source-map-support": "^0.8.0",
|
16271 |
"@tsconfig/node10": "^1.0.7",
|
|
|
16308 |
"version": "8.3.4",
|
16309 |
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
|
16310 |
"integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
|
16311 |
+
"dev": true,
|
16312 |
"dependencies": {
|
16313 |
"acorn": "^8.11.0"
|
16314 |
},
|
|
|
16320 |
"version": "4.1.3",
|
16321 |
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
16322 |
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
|
16323 |
+
"dev": true
|
16324 |
},
|
16325 |
"node_modules/tsconfig-paths": {
|
16326 |
"version": "3.15.0",
|
|
|
16376 |
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
16377 |
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
16378 |
},
|
16379 |
+
"node_modules/type": {
|
16380 |
+
"version": "2.7.3",
|
16381 |
+
"resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
|
16382 |
+
"integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
|
16383 |
+
"license": "ISC"
|
16384 |
+
},
|
16385 |
"node_modules/type-check": {
|
16386 |
"version": "0.4.0",
|
16387 |
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
|
|
|
16505 |
"version": "5.6.3",
|
16506 |
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
|
16507 |
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
|
16508 |
+
"dev": true,
|
16509 |
"bin": {
|
16510 |
"tsc": "bin/tsc",
|
16511 |
"tsserver": "bin/tsserver"
|
|
|
16669 |
}
|
16670 |
}
|
16671 |
},
|
16672 |
+
"node_modules/utf-8-validate": {
|
16673 |
+
"version": "5.0.10",
|
16674 |
+
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
|
16675 |
+
"integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
|
16676 |
+
"hasInstallScript": true,
|
16677 |
+
"license": "MIT",
|
16678 |
+
"dependencies": {
|
16679 |
+
"node-gyp-build": "^4.3.0"
|
16680 |
+
},
|
16681 |
+
"engines": {
|
16682 |
+
"node": ">=6.14.2"
|
16683 |
+
}
|
16684 |
+
},
|
16685 |
"node_modules/util-deprecate": {
|
16686 |
"version": "1.0.2",
|
16687 |
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
|
|
16726 |
"version": "3.0.1",
|
16727 |
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
16728 |
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
|
16729 |
+
"dev": true
|
16730 |
},
|
16731 |
"node_modules/v8-to-istanbul": {
|
16732 |
"version": "8.1.1",
|
|
|
17476 |
"url": "https://opencollective.com/webpack"
|
17477 |
}
|
17478 |
},
|
17479 |
+
"node_modules/websocket": {
|
17480 |
+
"version": "1.0.35",
|
17481 |
+
"resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz",
|
17482 |
+
"integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==",
|
17483 |
+
"license": "Apache-2.0",
|
17484 |
+
"dependencies": {
|
17485 |
+
"bufferutil": "^4.0.1",
|
17486 |
+
"debug": "^2.2.0",
|
17487 |
+
"es5-ext": "^0.10.63",
|
17488 |
+
"typedarray-to-buffer": "^3.1.5",
|
17489 |
+
"utf-8-validate": "^5.0.2",
|
17490 |
+
"yaeti": "^0.0.6"
|
17491 |
+
},
|
17492 |
+
"engines": {
|
17493 |
+
"node": ">=4.0.0"
|
17494 |
+
}
|
17495 |
+
},
|
17496 |
"node_modules/websocket-driver": {
|
17497 |
"version": "0.7.4",
|
17498 |
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
|
|
|
17514 |
"node": ">=0.8.0"
|
17515 |
}
|
17516 |
},
|
17517 |
+
"node_modules/websocket/node_modules/debug": {
|
17518 |
+
"version": "2.6.9",
|
17519 |
+
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
17520 |
+
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
17521 |
+
"license": "MIT",
|
17522 |
+
"dependencies": {
|
17523 |
+
"ms": "2.0.0"
|
17524 |
+
}
|
17525 |
+
},
|
17526 |
+
"node_modules/websocket/node_modules/ms": {
|
17527 |
+
"version": "2.0.0",
|
17528 |
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
17529 |
+
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
17530 |
+
"license": "MIT"
|
17531 |
+
},
|
17532 |
"node_modules/whatwg-encoding": {
|
17533 |
"version": "1.0.5",
|
17534 |
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
|
|
|
18059 |
"node": ">=10"
|
18060 |
}
|
18061 |
},
|
18062 |
+
"node_modules/yaeti": {
|
18063 |
+
"version": "0.0.6",
|
18064 |
+
"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
|
18065 |
+
"integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
|
18066 |
+
"license": "MIT",
|
18067 |
+
"engines": {
|
18068 |
+
"node": ">=0.10.32"
|
18069 |
+
}
|
18070 |
+
},
|
18071 |
"node_modules/yallist": {
|
18072 |
"version": "3.1.1",
|
18073 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
|
|
18110 |
"version": "3.1.1",
|
18111 |
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
18112 |
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
18113 |
+
"dev": true,
|
18114 |
"engines": {
|
18115 |
"node": ">=6"
|
18116 |
}
|
package.json
CHANGED
@@ -62,6 +62,7 @@
|
|
62 |
"@types/react": "^18.3.12",
|
63 |
"@types/react-dom": "^18.3.1",
|
64 |
"@types/react-syntax-highlighter": "^15.5.13",
|
|
|
65 |
"ts-node": "^10.9.2",
|
66 |
"typescript": "^5.6.3",
|
67 |
"@types/express": "^4.17.21",
|
|
|
62 |
"@types/react": "^18.3.12",
|
63 |
"@types/react-dom": "^18.3.1",
|
64 |
"@types/react-syntax-highlighter": "^15.5.13",
|
65 |
+
"http-proxy-middleware": "^2.0.6",
|
66 |
"ts-node": "^10.9.2",
|
67 |
"typescript": "^5.6.3",
|
68 |
"@types/express": "^4.17.21",
|
src/contexts/LiveAPIContext.tsx
CHANGED
@@ -25,7 +25,9 @@ export type LiveAPIProviderProps = {
|
|
25 |
};
|
26 |
|
27 |
export const LiveAPIProvider: FC<LiveAPIProviderProps> = ({
|
28 |
-
url =
|
|
|
|
|
29 |
children,
|
30 |
}) => {
|
31 |
const liveAPI = useLiveAPI({ url });
|
|
|
25 |
};
|
26 |
|
27 |
export const LiveAPIProvider: FC<LiveAPIProviderProps> = ({
|
28 |
+
url = process.env.NODE_ENV === 'development'
|
29 |
+
? `${window.location.protocol === 'https:' ? 'wss:' : 'ws:'}//localhost:3001/ws`
|
30 |
+
: `${window.location.protocol === 'https:' ? 'wss:' : 'ws:'}//${window.location.host}/ws`,
|
31 |
children,
|
32 |
}) => {
|
33 |
const liveAPI = useLiveAPI({ url });
|
src/setupProxy.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
const { createProxyMiddleware } = require('http-proxy-middleware');
|
2 |
+
|
3 |
+
module.exports = function(app) {
|
4 |
+
app.use(
|
5 |
+
'/ws',
|
6 |
+
createProxyMiddleware({
|
7 |
+
target: 'http://localhost:3001',
|
8 |
+
ws: true, // Enable WebSocket proxying
|
9 |
+
changeOrigin: true
|
10 |
+
})
|
11 |
+
);
|
12 |
+
};
|