chemicaljs 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,9 +3,11 @@ Create your own web proxy using Ultraviolet fast, easy, and no experience requir
3
3
 
4
4
  ## Setup
5
5
 
6
+ A simple example can be found in `/example/`.
7
+
6
8
  ### Server
7
9
 
8
- Create a new node.js project and create a script file for the server.
10
+ Create a new Node.js project and create a script file for the server.
9
11
 
10
12
  1. Install Chemical `npm install chemicaljs`.
11
13
 
@@ -17,7 +19,7 @@ import { ChemicalServer } from "chemicaljs";
17
19
  const chemical = new ChemicalServer();
18
20
  ```
19
21
 
20
- 3. Use `chemical.app` which is an express app. You may need to import express for certen APIs.
22
+ 3. Use `chemical.app` which is an express app. You may need to import express for certain APIs.
21
23
 
22
24
  ```js
23
25
  chemical.app.get("/", function(req, res){
@@ -60,7 +62,7 @@ In your project create a folder to store your static assets. Create an index.htm
60
62
  <script src="/chemical.js"></script>
61
63
  ```
62
64
 
63
- 2. Encode a URL with Chemical using `window.chemicalEncode`.
65
+ 2. In a inline script or javascript file, encode a URL with Chemical using `window.chemicalEncode`.
64
66
 
65
67
  ```js
66
68
  window.chemicalEncode("https://example.com")
@@ -69,11 +71,13 @@ window.chemicalEncode("https://example.com")
69
71
  3. You may want to check if Chemical has loaded before encoding a URL.
70
72
 
71
73
  ```js
72
- window.chemicalLoaded //true or false
74
+ if (window.chemicalLoaded) {
75
+ //Chemical is loaded
76
+ }
73
77
  ```
74
78
 
75
79
  ```js
76
- window.addEventListener("chemicalLoaded", function (e) {
80
+ window.addEventListener("chemicalLoaded", function(e) {
77
81
  //Chemical has loaded
78
82
  });
79
83
  ```
@@ -81,7 +85,7 @@ window.addEventListener("chemicalLoaded", function (e) {
81
85
  Below is a simple example of a simple input that redirects to the encoded URL when the user presses enter. It checks if there is any input and if Chemical has loaded before loading.
82
86
 
83
87
  ```html
84
- <h1>Chemical Demo</h1>
88
+ <h1>Chemical Example</h1>
85
89
  <input id="search" placeholder="Enter URL">
86
90
 
87
91
  <script src="/chemical.js"></script>
@@ -105,4 +109,4 @@ Some features that may come in the future are:
105
109
  - Easy tab cloaking components.
106
110
 
107
111
  ## License
108
- Chemical Uses the MIT license.
112
+ Chemical Uses the MIT license.
@@ -9,9 +9,271 @@
9
9
  "version": "1.0.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
+ "chemicaljs": "^1.0.1",
12
13
  "express": "^4.19.2"
13
14
  }
14
15
  },
16
+ "node_modules/@mercuryworkshop/bare-mux": {
17
+ "version": "1.1.4",
18
+ "resolved": "https://registry.npmjs.org/@mercuryworkshop/bare-mux/-/bare-mux-1.1.4.tgz",
19
+ "integrity": "sha512-mJPezqEpiKTCs+wu/3TowilnVXQgFs4SqoQnnbCbOc5cV6bDggaolKkyYjDnmOB9t/nptIIXDWDB31oS9vX9kA==",
20
+ "dependencies": {
21
+ "@types/uuid": "^9.0.8",
22
+ "uuid": "^9.0.1"
23
+ }
24
+ },
25
+ "node_modules/@mercuryworkshop/epoxy-tls": {
26
+ "version": "2.0.3-5",
27
+ "resolved": "https://registry.npmjs.org/@mercuryworkshop/epoxy-tls/-/epoxy-tls-2.0.3-5.tgz",
28
+ "integrity": "sha512-qlZm9n7uexFr5GMRaRTa5R+lYPUmVMv3aHbXQsSAC7VyDNMMhTdee1gWQKO/ThWaYk4MmZ+xvjWP7GWZDGERRQ=="
29
+ },
30
+ "node_modules/@mercuryworkshop/epoxy-transport": {
31
+ "version": "2.0.6",
32
+ "resolved": "https://registry.npmjs.org/@mercuryworkshop/epoxy-transport/-/epoxy-transport-2.0.6.tgz",
33
+ "integrity": "sha512-LQJde8g4MFnkOySCNV8wdn8KFcAeZ7t8MskDyuyiBC65nnETl5N+51D5VFI4LE1MGFXTDOn0ArgUld8v92J2xg==",
34
+ "dependencies": {
35
+ "@mercuryworkshop/epoxy-tls": "^2.0.3-4",
36
+ "esbuild-plugin-umd-wrapper": "^2.0.0",
37
+ "rollup": "^4.12.0",
38
+ "rollup-plugin-node-resolve": "^5.2.0",
39
+ "rollup-plugin-typescript2": "^0.36.0"
40
+ }
41
+ },
42
+ "node_modules/@rollup/pluginutils": {
43
+ "version": "4.2.1",
44
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
45
+ "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
46
+ "dependencies": {
47
+ "estree-walker": "^2.0.1",
48
+ "picomatch": "^2.2.2"
49
+ },
50
+ "engines": {
51
+ "node": ">= 8.0.0"
52
+ }
53
+ },
54
+ "node_modules/@rollup/rollup-android-arm-eabi": {
55
+ "version": "4.18.0",
56
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
57
+ "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
58
+ "cpu": [
59
+ "arm"
60
+ ],
61
+ "optional": true,
62
+ "os": [
63
+ "android"
64
+ ]
65
+ },
66
+ "node_modules/@rollup/rollup-android-arm64": {
67
+ "version": "4.18.0",
68
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
69
+ "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
70
+ "cpu": [
71
+ "arm64"
72
+ ],
73
+ "optional": true,
74
+ "os": [
75
+ "android"
76
+ ]
77
+ },
78
+ "node_modules/@rollup/rollup-darwin-arm64": {
79
+ "version": "4.18.0",
80
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
81
+ "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
82
+ "cpu": [
83
+ "arm64"
84
+ ],
85
+ "optional": true,
86
+ "os": [
87
+ "darwin"
88
+ ]
89
+ },
90
+ "node_modules/@rollup/rollup-darwin-x64": {
91
+ "version": "4.18.0",
92
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
93
+ "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
94
+ "cpu": [
95
+ "x64"
96
+ ],
97
+ "optional": true,
98
+ "os": [
99
+ "darwin"
100
+ ]
101
+ },
102
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
103
+ "version": "4.18.0",
104
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
105
+ "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
106
+ "cpu": [
107
+ "arm"
108
+ ],
109
+ "optional": true,
110
+ "os": [
111
+ "linux"
112
+ ]
113
+ },
114
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
115
+ "version": "4.18.0",
116
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
117
+ "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
118
+ "cpu": [
119
+ "arm"
120
+ ],
121
+ "optional": true,
122
+ "os": [
123
+ "linux"
124
+ ]
125
+ },
126
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
127
+ "version": "4.18.0",
128
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
129
+ "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
130
+ "cpu": [
131
+ "arm64"
132
+ ],
133
+ "optional": true,
134
+ "os": [
135
+ "linux"
136
+ ]
137
+ },
138
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
139
+ "version": "4.18.0",
140
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
141
+ "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
142
+ "cpu": [
143
+ "arm64"
144
+ ],
145
+ "optional": true,
146
+ "os": [
147
+ "linux"
148
+ ]
149
+ },
150
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
151
+ "version": "4.18.0",
152
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
153
+ "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
154
+ "cpu": [
155
+ "ppc64"
156
+ ],
157
+ "optional": true,
158
+ "os": [
159
+ "linux"
160
+ ]
161
+ },
162
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
163
+ "version": "4.18.0",
164
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
165
+ "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
166
+ "cpu": [
167
+ "riscv64"
168
+ ],
169
+ "optional": true,
170
+ "os": [
171
+ "linux"
172
+ ]
173
+ },
174
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
175
+ "version": "4.18.0",
176
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
177
+ "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
178
+ "cpu": [
179
+ "s390x"
180
+ ],
181
+ "optional": true,
182
+ "os": [
183
+ "linux"
184
+ ]
185
+ },
186
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
187
+ "version": "4.18.0",
188
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
189
+ "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
190
+ "cpu": [
191
+ "x64"
192
+ ],
193
+ "optional": true,
194
+ "os": [
195
+ "linux"
196
+ ]
197
+ },
198
+ "node_modules/@rollup/rollup-linux-x64-musl": {
199
+ "version": "4.18.0",
200
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
201
+ "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
202
+ "cpu": [
203
+ "x64"
204
+ ],
205
+ "optional": true,
206
+ "os": [
207
+ "linux"
208
+ ]
209
+ },
210
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
211
+ "version": "4.18.0",
212
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
213
+ "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
214
+ "cpu": [
215
+ "arm64"
216
+ ],
217
+ "optional": true,
218
+ "os": [
219
+ "win32"
220
+ ]
221
+ },
222
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
223
+ "version": "4.18.0",
224
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
225
+ "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
226
+ "cpu": [
227
+ "ia32"
228
+ ],
229
+ "optional": true,
230
+ "os": [
231
+ "win32"
232
+ ]
233
+ },
234
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
235
+ "version": "4.18.0",
236
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
237
+ "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
238
+ "cpu": [
239
+ "x64"
240
+ ],
241
+ "optional": true,
242
+ "os": [
243
+ "win32"
244
+ ]
245
+ },
246
+ "node_modules/@titaniumnetwork-dev/ultraviolet": {
247
+ "version": "3.1.5",
248
+ "resolved": "https://registry.npmjs.org/@titaniumnetwork-dev/ultraviolet/-/ultraviolet-3.1.5.tgz",
249
+ "integrity": "sha512-/cSPKumK/Spcv8EiMG/iv+ZJlgG7h4xNzd8KqB78CMfgUkshKOV2ZTaBfimVAu2XDS2rHer7QREY4ukJ2Os8fg=="
250
+ },
251
+ "node_modules/@types/estree": {
252
+ "version": "1.0.5",
253
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
254
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
255
+ },
256
+ "node_modules/@types/node": {
257
+ "version": "20.14.10",
258
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz",
259
+ "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==",
260
+ "dependencies": {
261
+ "undici-types": "~5.26.4"
262
+ }
263
+ },
264
+ "node_modules/@types/resolve": {
265
+ "version": "0.0.8",
266
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
267
+ "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
268
+ "dependencies": {
269
+ "@types/node": "*"
270
+ }
271
+ },
272
+ "node_modules/@types/uuid": {
273
+ "version": "9.0.8",
274
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
275
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA=="
276
+ },
15
277
  "node_modules/accepts": {
16
278
  "version": "1.3.8",
17
279
  "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@@ -52,6 +314,29 @@
52
314
  "npm": "1.2.8000 || >= 1.4.16"
53
315
  }
54
316
  },
317
+ "node_modules/bufferutil": {
318
+ "version": "4.0.8",
319
+ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz",
320
+ "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==",
321
+ "hasInstallScript": true,
322
+ "dependencies": {
323
+ "node-gyp-build": "^4.3.0"
324
+ },
325
+ "engines": {
326
+ "node": ">=6.14.2"
327
+ }
328
+ },
329
+ "node_modules/builtin-modules": {
330
+ "version": "3.3.0",
331
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
332
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
333
+ "engines": {
334
+ "node": ">=6"
335
+ },
336
+ "funding": {
337
+ "url": "https://github.com/sponsors/sindresorhus"
338
+ }
339
+ },
55
340
  "node_modules/bytes": {
56
341
  "version": "3.1.2",
57
342
  "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -78,6 +363,23 @@
78
363
  "url": "https://github.com/sponsors/ljharb"
79
364
  }
80
365
  },
366
+ "node_modules/chemicaljs": {
367
+ "version": "1.0.1",
368
+ "resolved": "https://registry.npmjs.org/chemicaljs/-/chemicaljs-1.0.1.tgz",
369
+ "integrity": "sha512-CIo8g4nfPCjoTW4Hu+BkZ/g4xwNDmiyGuChzGyfh1tw/U80hF9jlVA6Q5BOWeJzM41fUopHZ0PjW5N7v+BC4YA==",
370
+ "dependencies": {
371
+ "@mercuryworkshop/bare-mux": "^1.1.4",
372
+ "@mercuryworkshop/epoxy-transport": "^2.0.6",
373
+ "@titaniumnetwork-dev/ultraviolet": "^3.1.5",
374
+ "express": "^4.19.2",
375
+ "wisp-server-node": "^1.1.0"
376
+ }
377
+ },
378
+ "node_modules/commondir": {
379
+ "version": "1.0.1",
380
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
381
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
382
+ },
81
383
  "node_modules/content-disposition": {
82
384
  "version": "0.5.4",
83
385
  "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -183,11 +485,21 @@
183
485
  "node": ">= 0.4"
184
486
  }
185
487
  },
488
+ "node_modules/esbuild-plugin-umd-wrapper": {
489
+ "version": "2.0.0",
490
+ "resolved": "https://registry.npmjs.org/esbuild-plugin-umd-wrapper/-/esbuild-plugin-umd-wrapper-2.0.0.tgz",
491
+ "integrity": "sha512-pcu2/lcm29S85VCnSJuValrQ8FqeFJs5VWEwfp7vBRsOHjxZypcxgwXjxDIxDRo17uOcENZIbgz2szjln029eQ=="
492
+ },
186
493
  "node_modules/escape-html": {
187
494
  "version": "1.0.3",
188
495
  "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
189
496
  "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
190
497
  },
498
+ "node_modules/estree-walker": {
499
+ "version": "2.0.2",
500
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
501
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
502
+ },
191
503
  "node_modules/etag": {
192
504
  "version": "1.8.1",
193
505
  "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -254,6 +566,34 @@
254
566
  "node": ">= 0.8"
255
567
  }
256
568
  },
569
+ "node_modules/find-cache-dir": {
570
+ "version": "3.3.2",
571
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
572
+ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
573
+ "dependencies": {
574
+ "commondir": "^1.0.1",
575
+ "make-dir": "^3.0.2",
576
+ "pkg-dir": "^4.1.0"
577
+ },
578
+ "engines": {
579
+ "node": ">=8"
580
+ },
581
+ "funding": {
582
+ "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
583
+ }
584
+ },
585
+ "node_modules/find-up": {
586
+ "version": "4.1.0",
587
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
588
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
589
+ "dependencies": {
590
+ "locate-path": "^5.0.0",
591
+ "path-exists": "^4.0.0"
592
+ },
593
+ "engines": {
594
+ "node": ">=8"
595
+ }
596
+ },
257
597
  "node_modules/forwarded": {
258
598
  "version": "0.2.0",
259
599
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -270,6 +610,32 @@
270
610
  "node": ">= 0.6"
271
611
  }
272
612
  },
613
+ "node_modules/fs-extra": {
614
+ "version": "10.1.0",
615
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
616
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
617
+ "dependencies": {
618
+ "graceful-fs": "^4.2.0",
619
+ "jsonfile": "^6.0.1",
620
+ "universalify": "^2.0.0"
621
+ },
622
+ "engines": {
623
+ "node": ">=12"
624
+ }
625
+ },
626
+ "node_modules/fsevents": {
627
+ "version": "2.3.3",
628
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
629
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
630
+ "hasInstallScript": true,
631
+ "optional": true,
632
+ "os": [
633
+ "darwin"
634
+ ],
635
+ "engines": {
636
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
637
+ }
638
+ },
273
639
  "node_modules/function-bind": {
274
640
  "version": "1.1.2",
275
641
  "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -307,6 +673,11 @@
307
673
  "url": "https://github.com/sponsors/ljharb"
308
674
  }
309
675
  },
676
+ "node_modules/graceful-fs": {
677
+ "version": "4.2.11",
678
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
679
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
680
+ },
310
681
  "node_modules/has-property-descriptors": {
311
682
  "version": "1.0.2",
312
683
  "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
@@ -390,6 +761,69 @@
390
761
  "node": ">= 0.10"
391
762
  }
392
763
  },
764
+ "node_modules/is-core-module": {
765
+ "version": "2.14.0",
766
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz",
767
+ "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==",
768
+ "dependencies": {
769
+ "hasown": "^2.0.2"
770
+ },
771
+ "engines": {
772
+ "node": ">= 0.4"
773
+ },
774
+ "funding": {
775
+ "url": "https://github.com/sponsors/ljharb"
776
+ }
777
+ },
778
+ "node_modules/is-module": {
779
+ "version": "1.0.0",
780
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
781
+ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g=="
782
+ },
783
+ "node_modules/jsonfile": {
784
+ "version": "6.1.0",
785
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
786
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
787
+ "dependencies": {
788
+ "universalify": "^2.0.0"
789
+ },
790
+ "optionalDependencies": {
791
+ "graceful-fs": "^4.1.6"
792
+ }
793
+ },
794
+ "node_modules/locate-path": {
795
+ "version": "5.0.0",
796
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
797
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
798
+ "dependencies": {
799
+ "p-locate": "^4.1.0"
800
+ },
801
+ "engines": {
802
+ "node": ">=8"
803
+ }
804
+ },
805
+ "node_modules/make-dir": {
806
+ "version": "3.1.0",
807
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
808
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
809
+ "dependencies": {
810
+ "semver": "^6.0.0"
811
+ },
812
+ "engines": {
813
+ "node": ">=8"
814
+ },
815
+ "funding": {
816
+ "url": "https://github.com/sponsors/sindresorhus"
817
+ }
818
+ },
819
+ "node_modules/make-dir/node_modules/semver": {
820
+ "version": "6.3.1",
821
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
822
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
823
+ "bin": {
824
+ "semver": "bin/semver.js"
825
+ }
826
+ },
393
827
  "node_modules/media-typer": {
394
828
  "version": "0.3.0",
395
829
  "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -454,6 +888,16 @@
454
888
  "node": ">= 0.6"
455
889
  }
456
890
  },
891
+ "node_modules/node-gyp-build": {
892
+ "version": "4.8.1",
893
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz",
894
+ "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==",
895
+ "bin": {
896
+ "node-gyp-build": "bin.js",
897
+ "node-gyp-build-optional": "optional.js",
898
+ "node-gyp-build-test": "build-test.js"
899
+ }
900
+ },
457
901
  "node_modules/object-inspect": {
458
902
  "version": "1.13.2",
459
903
  "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
@@ -476,6 +920,39 @@
476
920
  "node": ">= 0.8"
477
921
  }
478
922
  },
923
+ "node_modules/p-limit": {
924
+ "version": "2.3.0",
925
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
926
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
927
+ "dependencies": {
928
+ "p-try": "^2.0.0"
929
+ },
930
+ "engines": {
931
+ "node": ">=6"
932
+ },
933
+ "funding": {
934
+ "url": "https://github.com/sponsors/sindresorhus"
935
+ }
936
+ },
937
+ "node_modules/p-locate": {
938
+ "version": "4.1.0",
939
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
940
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
941
+ "dependencies": {
942
+ "p-limit": "^2.2.0"
943
+ },
944
+ "engines": {
945
+ "node": ">=8"
946
+ }
947
+ },
948
+ "node_modules/p-try": {
949
+ "version": "2.2.0",
950
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
951
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
952
+ "engines": {
953
+ "node": ">=6"
954
+ }
955
+ },
479
956
  "node_modules/parseurl": {
480
957
  "version": "1.3.3",
481
958
  "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -484,11 +961,46 @@
484
961
  "node": ">= 0.8"
485
962
  }
486
963
  },
964
+ "node_modules/path-exists": {
965
+ "version": "4.0.0",
966
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
967
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
968
+ "engines": {
969
+ "node": ">=8"
970
+ }
971
+ },
972
+ "node_modules/path-parse": {
973
+ "version": "1.0.7",
974
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
975
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
976
+ },
487
977
  "node_modules/path-to-regexp": {
488
978
  "version": "0.1.7",
489
979
  "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
490
980
  "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
491
981
  },
982
+ "node_modules/picomatch": {
983
+ "version": "2.3.1",
984
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
985
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
986
+ "engines": {
987
+ "node": ">=8.6"
988
+ },
989
+ "funding": {
990
+ "url": "https://github.com/sponsors/jonschlinkert"
991
+ }
992
+ },
993
+ "node_modules/pkg-dir": {
994
+ "version": "4.2.0",
995
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
996
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
997
+ "dependencies": {
998
+ "find-up": "^4.0.0"
999
+ },
1000
+ "engines": {
1001
+ "node": ">=8"
1002
+ }
1003
+ },
492
1004
  "node_modules/proxy-addr": {
493
1005
  "version": "2.0.7",
494
1006
  "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -537,6 +1049,101 @@
537
1049
  "node": ">= 0.8"
538
1050
  }
539
1051
  },
1052
+ "node_modules/resolve": {
1053
+ "version": "1.22.8",
1054
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
1055
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
1056
+ "dependencies": {
1057
+ "is-core-module": "^2.13.0",
1058
+ "path-parse": "^1.0.7",
1059
+ "supports-preserve-symlinks-flag": "^1.0.0"
1060
+ },
1061
+ "bin": {
1062
+ "resolve": "bin/resolve"
1063
+ },
1064
+ "funding": {
1065
+ "url": "https://github.com/sponsors/ljharb"
1066
+ }
1067
+ },
1068
+ "node_modules/rollup": {
1069
+ "version": "4.18.0",
1070
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
1071
+ "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
1072
+ "dependencies": {
1073
+ "@types/estree": "1.0.5"
1074
+ },
1075
+ "bin": {
1076
+ "rollup": "dist/bin/rollup"
1077
+ },
1078
+ "engines": {
1079
+ "node": ">=18.0.0",
1080
+ "npm": ">=8.0.0"
1081
+ },
1082
+ "optionalDependencies": {
1083
+ "@rollup/rollup-android-arm-eabi": "4.18.0",
1084
+ "@rollup/rollup-android-arm64": "4.18.0",
1085
+ "@rollup/rollup-darwin-arm64": "4.18.0",
1086
+ "@rollup/rollup-darwin-x64": "4.18.0",
1087
+ "@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
1088
+ "@rollup/rollup-linux-arm-musleabihf": "4.18.0",
1089
+ "@rollup/rollup-linux-arm64-gnu": "4.18.0",
1090
+ "@rollup/rollup-linux-arm64-musl": "4.18.0",
1091
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
1092
+ "@rollup/rollup-linux-riscv64-gnu": "4.18.0",
1093
+ "@rollup/rollup-linux-s390x-gnu": "4.18.0",
1094
+ "@rollup/rollup-linux-x64-gnu": "4.18.0",
1095
+ "@rollup/rollup-linux-x64-musl": "4.18.0",
1096
+ "@rollup/rollup-win32-arm64-msvc": "4.18.0",
1097
+ "@rollup/rollup-win32-ia32-msvc": "4.18.0",
1098
+ "@rollup/rollup-win32-x64-msvc": "4.18.0",
1099
+ "fsevents": "~2.3.2"
1100
+ }
1101
+ },
1102
+ "node_modules/rollup-plugin-node-resolve": {
1103
+ "version": "5.2.0",
1104
+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz",
1105
+ "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==",
1106
+ "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve.",
1107
+ "dependencies": {
1108
+ "@types/resolve": "0.0.8",
1109
+ "builtin-modules": "^3.1.0",
1110
+ "is-module": "^1.0.0",
1111
+ "resolve": "^1.11.1",
1112
+ "rollup-pluginutils": "^2.8.1"
1113
+ },
1114
+ "peerDependencies": {
1115
+ "rollup": ">=1.11.0"
1116
+ }
1117
+ },
1118
+ "node_modules/rollup-plugin-typescript2": {
1119
+ "version": "0.36.0",
1120
+ "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.36.0.tgz",
1121
+ "integrity": "sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==",
1122
+ "dependencies": {
1123
+ "@rollup/pluginutils": "^4.1.2",
1124
+ "find-cache-dir": "^3.3.2",
1125
+ "fs-extra": "^10.0.0",
1126
+ "semver": "^7.5.4",
1127
+ "tslib": "^2.6.2"
1128
+ },
1129
+ "peerDependencies": {
1130
+ "rollup": ">=1.26.3",
1131
+ "typescript": ">=2.4.0"
1132
+ }
1133
+ },
1134
+ "node_modules/rollup-pluginutils": {
1135
+ "version": "2.8.2",
1136
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
1137
+ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
1138
+ "dependencies": {
1139
+ "estree-walker": "^0.6.1"
1140
+ }
1141
+ },
1142
+ "node_modules/rollup-pluginutils/node_modules/estree-walker": {
1143
+ "version": "0.6.1",
1144
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
1145
+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w=="
1146
+ },
540
1147
  "node_modules/safe-buffer": {
541
1148
  "version": "5.2.1",
542
1149
  "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -561,6 +1168,17 @@
561
1168
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
562
1169
  "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
563
1170
  },
1171
+ "node_modules/semver": {
1172
+ "version": "7.6.2",
1173
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
1174
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
1175
+ "bin": {
1176
+ "semver": "bin/semver.js"
1177
+ },
1178
+ "engines": {
1179
+ "node": ">=10"
1180
+ }
1181
+ },
564
1182
  "node_modules/send": {
565
1183
  "version": "0.18.0",
566
1184
  "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
@@ -649,6 +1267,17 @@
649
1267
  "node": ">= 0.8"
650
1268
  }
651
1269
  },
1270
+ "node_modules/supports-preserve-symlinks-flag": {
1271
+ "version": "1.0.0",
1272
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1273
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1274
+ "engines": {
1275
+ "node": ">= 0.4"
1276
+ },
1277
+ "funding": {
1278
+ "url": "https://github.com/sponsors/ljharb"
1279
+ }
1280
+ },
652
1281
  "node_modules/toidentifier": {
653
1282
  "version": "1.0.1",
654
1283
  "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
@@ -657,6 +1286,11 @@
657
1286
  "node": ">=0.6"
658
1287
  }
659
1288
  },
1289
+ "node_modules/tslib": {
1290
+ "version": "2.6.3",
1291
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
1292
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
1293
+ },
660
1294
  "node_modules/type-is": {
661
1295
  "version": "1.6.18",
662
1296
  "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -669,6 +1303,32 @@
669
1303
  "node": ">= 0.6"
670
1304
  }
671
1305
  },
1306
+ "node_modules/typescript": {
1307
+ "version": "5.5.3",
1308
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz",
1309
+ "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==",
1310
+ "peer": true,
1311
+ "bin": {
1312
+ "tsc": "bin/tsc",
1313
+ "tsserver": "bin/tsserver"
1314
+ },
1315
+ "engines": {
1316
+ "node": ">=14.17"
1317
+ }
1318
+ },
1319
+ "node_modules/undici-types": {
1320
+ "version": "5.26.5",
1321
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
1322
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
1323
+ },
1324
+ "node_modules/universalify": {
1325
+ "version": "2.0.1",
1326
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
1327
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
1328
+ "engines": {
1329
+ "node": ">= 10.0.0"
1330
+ }
1331
+ },
672
1332
  "node_modules/unpipe": {
673
1333
  "version": "1.0.0",
674
1334
  "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -677,6 +1337,18 @@
677
1337
  "node": ">= 0.8"
678
1338
  }
679
1339
  },
1340
+ "node_modules/utf-8-validate": {
1341
+ "version": "6.0.4",
1342
+ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.4.tgz",
1343
+ "integrity": "sha512-xu9GQDeFp+eZ6LnCywXN/zBancWvOpUMzgjLPSjy4BRHSmTelvn2E0DG0o1sTiw5hkCKBHo8rwSKncfRfv2EEQ==",
1344
+ "hasInstallScript": true,
1345
+ "dependencies": {
1346
+ "node-gyp-build": "^4.3.0"
1347
+ },
1348
+ "engines": {
1349
+ "node": ">=6.14.2"
1350
+ }
1351
+ },
680
1352
  "node_modules/utils-merge": {
681
1353
  "version": "1.0.1",
682
1354
  "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -685,6 +1357,18 @@
685
1357
  "node": ">= 0.4.0"
686
1358
  }
687
1359
  },
1360
+ "node_modules/uuid": {
1361
+ "version": "9.0.1",
1362
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
1363
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
1364
+ "funding": [
1365
+ "https://github.com/sponsors/broofa",
1366
+ "https://github.com/sponsors/ctavan"
1367
+ ],
1368
+ "bin": {
1369
+ "uuid": "dist/bin/uuid"
1370
+ }
1371
+ },
688
1372
  "node_modules/vary": {
689
1373
  "version": "1.1.2",
690
1374
  "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -692,6 +1376,36 @@
692
1376
  "engines": {
693
1377
  "node": ">= 0.8"
694
1378
  }
1379
+ },
1380
+ "node_modules/wisp-server-node": {
1381
+ "version": "1.1.0",
1382
+ "resolved": "https://registry.npmjs.org/wisp-server-node/-/wisp-server-node-1.1.0.tgz",
1383
+ "integrity": "sha512-kJcuDIZZfV/HOkTepoVLfwzP7IieE0GfU57UTe8z2IwNRp+YbL12q5xsImcMNEYb9QeP/8loXiyBKXdZ+vojow==",
1384
+ "dependencies": {
1385
+ "bufferutil": "^4.0.8",
1386
+ "utf-8-validate": "^6.0.3",
1387
+ "ws": "^8.16.0"
1388
+ }
1389
+ },
1390
+ "node_modules/ws": {
1391
+ "version": "8.18.0",
1392
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
1393
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
1394
+ "engines": {
1395
+ "node": ">=10.0.0"
1396
+ },
1397
+ "peerDependencies": {
1398
+ "bufferutil": "^4.0.1",
1399
+ "utf-8-validate": ">=5.0.2"
1400
+ },
1401
+ "peerDependenciesMeta": {
1402
+ "bufferutil": {
1403
+ "optional": true
1404
+ },
1405
+ "utf-8-validate": {
1406
+ "optional": true
1407
+ }
1408
+ }
695
1409
  }
696
1410
  }
697
1411
  }
@@ -18,6 +18,7 @@
18
18
  },
19
19
  "homepage": "https://github.com/chemicaljs/chemical#readme",
20
20
  "dependencies": {
21
+ "chemicaljs": "^1.0.1",
21
22
  "express": "^4.19.2"
22
23
  }
23
24
  }
package/index.js CHANGED
@@ -3,6 +3,7 @@ import { createServer } from "node:http";
3
3
  import express from "express";
4
4
  import wisp from "wisp-server-node";
5
5
  import { baremuxPath } from "@mercuryworkshop/bare-mux/node";
6
+ import { libcurlPath } from "@mercuryworkshop/libcurl-transport";
6
7
  import { epoxyPath } from "@mercuryworkshop/epoxy-transport";
7
8
  import { uvPath } from "@titaniumnetwork-dev/ultraviolet";
8
9
 
@@ -12,6 +13,7 @@ class ChemicalServer {
12
13
  this.app = express();
13
14
  this.app.use(express.static(resolve(import.meta.dirname, "public")));
14
15
  this.app.use("/baremux/", express.static(baremuxPath));
16
+ this.app.use("/libcurl/", express.static(libcurlPath));
15
17
  this.app.use("/epoxy/", express.static(epoxyPath));
16
18
  this.app.use("/uv/", express.static(uvPath));
17
19
  this.server.on("request", (req, res) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chemicaljs",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Create your own web proxy using Ultraviolet fast, easy, and no experience required.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,8 +13,9 @@
13
13
  "dependencies": {
14
14
  "@mercuryworkshop/bare-mux": "^1.1.4",
15
15
  "@mercuryworkshop/epoxy-transport": "^2.0.6",
16
+ "@mercuryworkshop/libcurl-transport": "^1.3.2",
16
17
  "@titaniumnetwork-dev/ultraviolet": "^3.1.5",
17
18
  "express": "^4.19.2",
18
19
  "wisp-server-node": "^1.1.0"
19
20
  }
20
- }
21
+ }
@@ -10,7 +10,7 @@ async function registerSW() {
10
10
  if ("serviceWorker" in navigator) {
11
11
  await navigator.serviceWorker.register("/chemical.sw.js");
12
12
 
13
- await window.BareMux.SetTransport("EpxMod.EpoxyClient", {
13
+ await window.BareMux.SetTransport("CurlMod.LibcurlClient", {
14
14
  wisp: wispURL || (location.protocol === "https:" ? "wss" : "ws") + "://" + location.host + "/wisp/",
15
15
  });
16
16
  } else {
@@ -34,6 +34,7 @@ async function loadScript(src) {
34
34
 
35
35
  (async () => {
36
36
  await loadScript("/baremux/bare.cjs");
37
+ await loadScript("/libcurl/index.js");
37
38
  await loadScript("/epoxy/index.js");
38
39
  await loadScript("/uv/uv.bundle.js");
39
40
  await loadScript("/uv/uv.config.js");
@@ -1,8 +1,10 @@
1
- importScripts("/epoxy/index.js");
1
+ importScripts("/libcurl/index.js");
2
2
  importScripts("/uv/uv.bundle.js");
3
3
  importScripts("/uv/uv.config.js");
4
4
  importScripts(__uv$config.sw || "/uv/uv.sw.js");
5
5
 
6
+ Object.defineProperty(self, "crossOriginIsolated", { value: true }); // Firefox fix
7
+
6
8
  const uv = new UVServiceWorker();
7
9
 
8
10
  self.addEventListener("fetch", (event) => {