1tube 0.1.37 → 0.1.39

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/deno.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "hono": "npm:hono@4",
18
18
  "drizzle-orm": "npm:drizzle-orm@1.0.0-rc.3",
19
19
  "drizzle-orm/": "npm:/drizzle-orm@1.0.0-rc.3/",
20
- "esbuild": "npm:esbuild@^0.28",
20
+ "esbuild": "npm:esbuild@^0.28.1",
21
21
  "es-module-lexer": "npm:es-module-lexer@^2",
22
22
  "@deno/esbuild-plugin": "jsr:@deno/esbuild-plugin@^1.2",
23
23
  "@deno/graph": "jsr:@deno/graph@^0.108",
package/deno.lock CHANGED
@@ -18,8 +18,8 @@
18
18
  "npm:drizzle-kit@1.0.0-rc.3": "1.0.0-rc.3",
19
19
  "npm:drizzle-orm@1.0.0-rc.3": "1.0.0-rc.3_zod@3.25.76",
20
20
  "npm:es-module-lexer@2": "2.1.0",
21
- "npm:esbuild@0.28": "0.28.0",
22
21
  "npm:esbuild@~0.25.5": "0.25.12",
22
+ "npm:esbuild@~0.28.1": "0.28.1",
23
23
  "npm:hono@4": "4.12.25",
24
24
  "npm:hono@^4.12.25": "4.12.25",
25
25
  "npm:typescript@latest": "6.0.3",
@@ -137,8 +137,8 @@
137
137
  "os": ["aix"],
138
138
  "cpu": ["ppc64"]
139
139
  },
140
- "@esbuild/aix-ppc64@0.28.0": {
141
- "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==",
140
+ "@esbuild/aix-ppc64@0.28.1": {
141
+ "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==",
142
142
  "os": ["aix"],
143
143
  "cpu": ["ppc64"]
144
144
  },
@@ -147,8 +147,8 @@
147
147
  "os": ["android"],
148
148
  "cpu": ["arm64"]
149
149
  },
150
- "@esbuild/android-arm64@0.28.0": {
151
- "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==",
150
+ "@esbuild/android-arm64@0.28.1": {
151
+ "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==",
152
152
  "os": ["android"],
153
153
  "cpu": ["arm64"]
154
154
  },
@@ -157,8 +157,8 @@
157
157
  "os": ["android"],
158
158
  "cpu": ["arm"]
159
159
  },
160
- "@esbuild/android-arm@0.28.0": {
161
- "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==",
160
+ "@esbuild/android-arm@0.28.1": {
161
+ "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==",
162
162
  "os": ["android"],
163
163
  "cpu": ["arm"]
164
164
  },
@@ -167,8 +167,8 @@
167
167
  "os": ["android"],
168
168
  "cpu": ["x64"]
169
169
  },
170
- "@esbuild/android-x64@0.28.0": {
171
- "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==",
170
+ "@esbuild/android-x64@0.28.1": {
171
+ "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==",
172
172
  "os": ["android"],
173
173
  "cpu": ["x64"]
174
174
  },
@@ -177,8 +177,8 @@
177
177
  "os": ["darwin"],
178
178
  "cpu": ["arm64"]
179
179
  },
180
- "@esbuild/darwin-arm64@0.28.0": {
181
- "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==",
180
+ "@esbuild/darwin-arm64@0.28.1": {
181
+ "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==",
182
182
  "os": ["darwin"],
183
183
  "cpu": ["arm64"]
184
184
  },
@@ -187,8 +187,8 @@
187
187
  "os": ["darwin"],
188
188
  "cpu": ["x64"]
189
189
  },
190
- "@esbuild/darwin-x64@0.28.0": {
191
- "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==",
190
+ "@esbuild/darwin-x64@0.28.1": {
191
+ "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==",
192
192
  "os": ["darwin"],
193
193
  "cpu": ["x64"]
194
194
  },
@@ -197,8 +197,8 @@
197
197
  "os": ["freebsd"],
198
198
  "cpu": ["arm64"]
199
199
  },
200
- "@esbuild/freebsd-arm64@0.28.0": {
201
- "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==",
200
+ "@esbuild/freebsd-arm64@0.28.1": {
201
+ "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==",
202
202
  "os": ["freebsd"],
203
203
  "cpu": ["arm64"]
204
204
  },
@@ -207,8 +207,8 @@
207
207
  "os": ["freebsd"],
208
208
  "cpu": ["x64"]
209
209
  },
210
- "@esbuild/freebsd-x64@0.28.0": {
211
- "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==",
210
+ "@esbuild/freebsd-x64@0.28.1": {
211
+ "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==",
212
212
  "os": ["freebsd"],
213
213
  "cpu": ["x64"]
214
214
  },
@@ -217,8 +217,8 @@
217
217
  "os": ["linux"],
218
218
  "cpu": ["arm64"]
219
219
  },
220
- "@esbuild/linux-arm64@0.28.0": {
221
- "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==",
220
+ "@esbuild/linux-arm64@0.28.1": {
221
+ "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==",
222
222
  "os": ["linux"],
223
223
  "cpu": ["arm64"]
224
224
  },
@@ -227,8 +227,8 @@
227
227
  "os": ["linux"],
228
228
  "cpu": ["arm"]
229
229
  },
230
- "@esbuild/linux-arm@0.28.0": {
231
- "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==",
230
+ "@esbuild/linux-arm@0.28.1": {
231
+ "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==",
232
232
  "os": ["linux"],
233
233
  "cpu": ["arm"]
234
234
  },
@@ -237,8 +237,8 @@
237
237
  "os": ["linux"],
238
238
  "cpu": ["ia32"]
239
239
  },
240
- "@esbuild/linux-ia32@0.28.0": {
241
- "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==",
240
+ "@esbuild/linux-ia32@0.28.1": {
241
+ "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==",
242
242
  "os": ["linux"],
243
243
  "cpu": ["ia32"]
244
244
  },
@@ -247,8 +247,8 @@
247
247
  "os": ["linux"],
248
248
  "cpu": ["loong64"]
249
249
  },
250
- "@esbuild/linux-loong64@0.28.0": {
251
- "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==",
250
+ "@esbuild/linux-loong64@0.28.1": {
251
+ "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==",
252
252
  "os": ["linux"],
253
253
  "cpu": ["loong64"]
254
254
  },
@@ -257,8 +257,8 @@
257
257
  "os": ["linux"],
258
258
  "cpu": ["mips64el"]
259
259
  },
260
- "@esbuild/linux-mips64el@0.28.0": {
261
- "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==",
260
+ "@esbuild/linux-mips64el@0.28.1": {
261
+ "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==",
262
262
  "os": ["linux"],
263
263
  "cpu": ["mips64el"]
264
264
  },
@@ -267,8 +267,8 @@
267
267
  "os": ["linux"],
268
268
  "cpu": ["ppc64"]
269
269
  },
270
- "@esbuild/linux-ppc64@0.28.0": {
271
- "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==",
270
+ "@esbuild/linux-ppc64@0.28.1": {
271
+ "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==",
272
272
  "os": ["linux"],
273
273
  "cpu": ["ppc64"]
274
274
  },
@@ -277,8 +277,8 @@
277
277
  "os": ["linux"],
278
278
  "cpu": ["riscv64"]
279
279
  },
280
- "@esbuild/linux-riscv64@0.28.0": {
281
- "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==",
280
+ "@esbuild/linux-riscv64@0.28.1": {
281
+ "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==",
282
282
  "os": ["linux"],
283
283
  "cpu": ["riscv64"]
284
284
  },
@@ -287,8 +287,8 @@
287
287
  "os": ["linux"],
288
288
  "cpu": ["s390x"]
289
289
  },
290
- "@esbuild/linux-s390x@0.28.0": {
291
- "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==",
290
+ "@esbuild/linux-s390x@0.28.1": {
291
+ "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==",
292
292
  "os": ["linux"],
293
293
  "cpu": ["s390x"]
294
294
  },
@@ -297,8 +297,8 @@
297
297
  "os": ["linux"],
298
298
  "cpu": ["x64"]
299
299
  },
300
- "@esbuild/linux-x64@0.28.0": {
301
- "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==",
300
+ "@esbuild/linux-x64@0.28.1": {
301
+ "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==",
302
302
  "os": ["linux"],
303
303
  "cpu": ["x64"]
304
304
  },
@@ -307,8 +307,8 @@
307
307
  "os": ["netbsd"],
308
308
  "cpu": ["arm64"]
309
309
  },
310
- "@esbuild/netbsd-arm64@0.28.0": {
311
- "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==",
310
+ "@esbuild/netbsd-arm64@0.28.1": {
311
+ "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==",
312
312
  "os": ["netbsd"],
313
313
  "cpu": ["arm64"]
314
314
  },
@@ -317,8 +317,8 @@
317
317
  "os": ["netbsd"],
318
318
  "cpu": ["x64"]
319
319
  },
320
- "@esbuild/netbsd-x64@0.28.0": {
321
- "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==",
320
+ "@esbuild/netbsd-x64@0.28.1": {
321
+ "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==",
322
322
  "os": ["netbsd"],
323
323
  "cpu": ["x64"]
324
324
  },
@@ -327,8 +327,8 @@
327
327
  "os": ["openbsd"],
328
328
  "cpu": ["arm64"]
329
329
  },
330
- "@esbuild/openbsd-arm64@0.28.0": {
331
- "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==",
330
+ "@esbuild/openbsd-arm64@0.28.1": {
331
+ "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==",
332
332
  "os": ["openbsd"],
333
333
  "cpu": ["arm64"]
334
334
  },
@@ -337,8 +337,8 @@
337
337
  "os": ["openbsd"],
338
338
  "cpu": ["x64"]
339
339
  },
340
- "@esbuild/openbsd-x64@0.28.0": {
341
- "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==",
340
+ "@esbuild/openbsd-x64@0.28.1": {
341
+ "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==",
342
342
  "os": ["openbsd"],
343
343
  "cpu": ["x64"]
344
344
  },
@@ -347,8 +347,8 @@
347
347
  "os": ["openharmony"],
348
348
  "cpu": ["arm64"]
349
349
  },
350
- "@esbuild/openharmony-arm64@0.28.0": {
351
- "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==",
350
+ "@esbuild/openharmony-arm64@0.28.1": {
351
+ "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==",
352
352
  "os": ["openharmony"],
353
353
  "cpu": ["arm64"]
354
354
  },
@@ -357,8 +357,8 @@
357
357
  "os": ["sunos"],
358
358
  "cpu": ["x64"]
359
359
  },
360
- "@esbuild/sunos-x64@0.28.0": {
361
- "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==",
360
+ "@esbuild/sunos-x64@0.28.1": {
361
+ "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==",
362
362
  "os": ["sunos"],
363
363
  "cpu": ["x64"]
364
364
  },
@@ -367,8 +367,8 @@
367
367
  "os": ["win32"],
368
368
  "cpu": ["arm64"]
369
369
  },
370
- "@esbuild/win32-arm64@0.28.0": {
371
- "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==",
370
+ "@esbuild/win32-arm64@0.28.1": {
371
+ "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==",
372
372
  "os": ["win32"],
373
373
  "cpu": ["arm64"]
374
374
  },
@@ -377,8 +377,8 @@
377
377
  "os": ["win32"],
378
378
  "cpu": ["ia32"]
379
379
  },
380
- "@esbuild/win32-ia32@0.28.0": {
381
- "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==",
380
+ "@esbuild/win32-ia32@0.28.1": {
381
+ "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==",
382
382
  "os": ["win32"],
383
383
  "cpu": ["ia32"]
384
384
  },
@@ -387,8 +387,8 @@
387
387
  "os": ["win32"],
388
388
  "cpu": ["x64"]
389
389
  },
390
- "@esbuild/win32-x64@0.28.0": {
391
- "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==",
390
+ "@esbuild/win32-x64@0.28.1": {
391
+ "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==",
392
392
  "os": ["win32"],
393
393
  "cpu": ["x64"]
394
394
  },
@@ -473,35 +473,35 @@
473
473
  "scripts": true,
474
474
  "bin": true
475
475
  },
476
- "esbuild@0.28.0": {
477
- "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==",
476
+ "esbuild@0.28.1": {
477
+ "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
478
478
  "optionalDependencies": [
479
- "@esbuild/aix-ppc64@0.28.0",
480
- "@esbuild/android-arm@0.28.0",
481
- "@esbuild/android-arm64@0.28.0",
482
- "@esbuild/android-x64@0.28.0",
483
- "@esbuild/darwin-arm64@0.28.0",
484
- "@esbuild/darwin-x64@0.28.0",
485
- "@esbuild/freebsd-arm64@0.28.0",
486
- "@esbuild/freebsd-x64@0.28.0",
487
- "@esbuild/linux-arm@0.28.0",
488
- "@esbuild/linux-arm64@0.28.0",
489
- "@esbuild/linux-ia32@0.28.0",
490
- "@esbuild/linux-loong64@0.28.0",
491
- "@esbuild/linux-mips64el@0.28.0",
492
- "@esbuild/linux-ppc64@0.28.0",
493
- "@esbuild/linux-riscv64@0.28.0",
494
- "@esbuild/linux-s390x@0.28.0",
495
- "@esbuild/linux-x64@0.28.0",
496
- "@esbuild/netbsd-arm64@0.28.0",
497
- "@esbuild/netbsd-x64@0.28.0",
498
- "@esbuild/openbsd-arm64@0.28.0",
499
- "@esbuild/openbsd-x64@0.28.0",
500
- "@esbuild/openharmony-arm64@0.28.0",
501
- "@esbuild/sunos-x64@0.28.0",
502
- "@esbuild/win32-arm64@0.28.0",
503
- "@esbuild/win32-ia32@0.28.0",
504
- "@esbuild/win32-x64@0.28.0"
479
+ "@esbuild/aix-ppc64@0.28.1",
480
+ "@esbuild/android-arm@0.28.1",
481
+ "@esbuild/android-arm64@0.28.1",
482
+ "@esbuild/android-x64@0.28.1",
483
+ "@esbuild/darwin-arm64@0.28.1",
484
+ "@esbuild/darwin-x64@0.28.1",
485
+ "@esbuild/freebsd-arm64@0.28.1",
486
+ "@esbuild/freebsd-x64@0.28.1",
487
+ "@esbuild/linux-arm@0.28.1",
488
+ "@esbuild/linux-arm64@0.28.1",
489
+ "@esbuild/linux-ia32@0.28.1",
490
+ "@esbuild/linux-loong64@0.28.1",
491
+ "@esbuild/linux-mips64el@0.28.1",
492
+ "@esbuild/linux-ppc64@0.28.1",
493
+ "@esbuild/linux-riscv64@0.28.1",
494
+ "@esbuild/linux-s390x@0.28.1",
495
+ "@esbuild/linux-x64@0.28.1",
496
+ "@esbuild/netbsd-arm64@0.28.1",
497
+ "@esbuild/netbsd-x64@0.28.1",
498
+ "@esbuild/openbsd-arm64@0.28.1",
499
+ "@esbuild/openbsd-x64@0.28.1",
500
+ "@esbuild/openharmony-arm64@0.28.1",
501
+ "@esbuild/sunos-x64@0.28.1",
502
+ "@esbuild/win32-arm64@0.28.1",
503
+ "@esbuild/win32-ia32@0.28.1",
504
+ "@esbuild/win32-x64@0.28.1"
505
505
  ],
506
506
  "scripts": true,
507
507
  "bin": true
@@ -548,7 +548,7 @@
548
548
  "jsr:@zip-js/zip-js@^2.8.0",
549
549
  "npm:drizzle-orm@1.0.0-rc.3",
550
550
  "npm:es-module-lexer@2",
551
- "npm:esbuild@0.28",
551
+ "npm:esbuild@~0.28.1",
552
552
  "npm:hono@4"
553
553
  ],
554
554
  "packageJson": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "1tube",
3
- "version": "0.1.37",
3
+ "version": "0.1.39",
4
4
  "private": false,
5
5
  "description": "Self-hosted Supabase Edge Functions gateway for Deno, plus an ESLint plugin for consumers",
6
6
  "license": "MIT",
@@ -23,7 +23,7 @@
23
23
  * Worker-side stub can re-throw with the right shape.
24
24
  *
25
25
  * Reusing {@link discoverSharedModules} (and the export-name
26
- * extractor) from `src/backends/workerd/bundler.ts` keeps the
26
+ * extractor) from `src/bundler/core.ts` keeps the
27
27
  * `_shared/profile-cache.ts` convention identical between backends —
28
28
  * users don't have to remember which flag corresponds to which
29
29
  * runtime, and a single project can target both backends.
@@ -33,7 +33,7 @@ import { pathToFileURL } from "node:url";
33
33
  import {
34
34
  discoverSharedModules,
35
35
  type WorkerdSharedModuleInput,
36
- } from "../workerd/bundler.ts";
36
+ } from "../../bundler/core.ts";
37
37
 
38
38
  export type SharedModuleSpec = WorkerdSharedModuleInput;
39
39
 
@@ -80,7 +80,7 @@ export interface DenoSharedRuntime {
80
80
  /**
81
81
  * Discover shared modules under `functionsDir` (Supabase convention
82
82
  * + explicit paths) and return their descriptors. Re-exported from
83
- * the workerd bundler so server.ts has a single import path.
83
+ * the bundler core so server.ts has a single import path.
84
84
  */
85
85
  export { discoverSharedModules };
86
86
 
@@ -136,7 +136,7 @@ export interface RewriteCache {
136
136
  * which the Worker-host wires up to a postMessage RPC.
137
137
  *
138
138
  * Note: only `function` and `const x = (...) =>` exports survive the
139
- * extractor in `bundler.ts:extractExportedFunctionNames`. Class /
139
+ * extractor in `bundler/core.ts:extractExportedFunctionNames`. Class /
140
140
  * value exports are not supported as shared and would error during
141
141
  * discovery — the user gets a clean message at boot rather than a
142
142
  * confusing failure inside a stub.
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Vercel (Node / Fluid) bundle profile.
3
+ *
4
+ * Owns every Vercel-specific bundling decision the target-agnostic bundler core
5
+ * consumes through a {@link BundleProfile}:
6
+ *
7
+ * - the Node req/res ↔ Web fetch banner/footer (see `./wrapper.ts`);
8
+ * - `node` platform + conditions, so packages resolve their Node build and the
9
+ * host runtime supplies the builtins;
10
+ * - a resolver plugin that externalises Node builtins (the Node runtime owns
11
+ * them — don't bundle Deno's polyfills);
12
+ * - the small set of optional native deps libraries `require()` behind a
13
+ * try/catch, kept external so esbuild's `__require` shim throws at the call
14
+ * site and the library falls back to its pure-JS path.
15
+ *
16
+ * Keeping all of this here is the point of the profile split: the bundler core
17
+ * and the workerd backend never reference Vercel.
18
+ */
19
+
20
+ import * as esbuild from "npm:esbuild@^0.28.1";
21
+ import type { BundleProfile } from "../../bundler/profile.ts";
22
+ import {
23
+ NODE_BUILTIN_MODULES,
24
+ VERCEL_BANNER,
25
+ VERCEL_FOOTER,
26
+ VERCEL_REQUIRE_SHIM,
27
+ } from "./wrapper.ts";
28
+
29
+ const NODE_BUILTIN_SET = new Set<string>(NODE_BUILTIN_MODULES);
30
+
31
+ function isNodeBuiltinBare(spec: string): boolean {
32
+ const slash = spec.indexOf("/");
33
+ const head = slash === -1 ? spec : spec.slice(0, slash);
34
+ return NODE_BUILTIN_SET.has(head);
35
+ }
36
+
37
+ /**
38
+ * Leave Node builtins to the host runtime instead of bundling Deno's polyfills.
39
+ * `node:`-prefixed specifiers are always external; bare builtins (`crypto`,
40
+ * `stream`, `stream/web`, …) are rewritten to their `node:` form and
41
+ * externalised. Non-builtins fall through to the Deno loader for npm/jsr
42
+ * resolution. Registered before the Deno loader so it wins for these specifiers.
43
+ */
44
+ function nodeBuiltinsExternalPlugin(): esbuild.Plugin {
45
+ return {
46
+ name: "1tube-node-builtins-external",
47
+ setup(build) {
48
+ build.onResolve({ filter: /^node:/ }, (args) => ({
49
+ path: args.path,
50
+ external: true,
51
+ }));
52
+ build.onResolve({ filter: /^[A-Za-z][A-Za-z0-9._/-]*$/ }, (args) => {
53
+ if (isNodeBuiltinBare(args.path)) {
54
+ return { path: `node:${args.path}`, external: true };
55
+ }
56
+ return null;
57
+ });
58
+ },
59
+ };
60
+ }
61
+
62
+ /**
63
+ * Externalise bare specifiers that nothing in the toolchain can resolve,
64
+ * instead of failing the whole bundle.
65
+ *
66
+ * The motivating case: popular Node libraries `require()` an optional
67
+ * native/peer package behind a `try/catch` as an opt-in speedup, degrading to
68
+ * a pure-JS path when it's absent (`ws` → `bufferutil`/`utf-8-validate`,
69
+ * `debug` → `supports-color`, `chokidar` → `fsevents`, and so on). Those are
70
+ * uninstalled `optionalDependencies`, so the Deno loader can't resolve them
71
+ * when the `node` build is selected and esbuild aborts the entire bundle.
72
+ *
73
+ * A hand-curated allowlist of such packages can never be exhaustive — the next
74
+ * dependency that optionally `require()`s a native addon breaks the build. So
75
+ * rather than enumerate them, we let esbuild attempt resolution and act ONLY on
76
+ * failure: re-probe the specifier with `build.resolve()` and, if every
77
+ * resolver (node-builtins plugin + Deno loader) gives up, mark it external.
78
+ * esbuild then emits its `__require` shim, which throws at the call site —
79
+ * exactly what the library's `catch` expects.
80
+ *
81
+ * Scope/guards:
82
+ * - The `filter` excludes relative specifiers (`./`, `../`).
83
+ * - Specifiers containing `:` are skipped, which covers every scheme/internal
84
+ * form (`node:`, `npm:`, `jsr:`, `http(s):`, `data:`, the `1tube-entry-proxy:`
85
+ * entry stand-in, and Windows drive paths). Only colon-free bare package
86
+ * specifiers (`debug`, `@scope/pkg`, `ws/lib/x.js`) are probed.
87
+ * - A `pluginData` flag breaks the recursion when our own `build.resolve()`
88
+ * re-enters this callback, so the Deno loader does the real resolution.
89
+ *
90
+ * Every externalised specifier is reported once at build end. A genuinely
91
+ * REQUIRED-but-missing dependency therefore surfaces in the build log (and
92
+ * throws when first called) instead of silently disappearing — that visibility
93
+ * is what keeps "externalise on failure" honest rather than a foot-gun.
94
+ *
95
+ * The workerd profile never needs this: its `browser`/`worker` conditions
96
+ * resolve the dependency-free browser builds that don't reach for native addons.
97
+ */
98
+ function optionalDependencyExternalPlugin(): esbuild.Plugin {
99
+ return {
100
+ name: "1tube-optional-dependency-external",
101
+ setup(build) {
102
+ const externalised = new Set<string>();
103
+ build.onResolve({ filter: /^[^.]/ }, async (args) => {
104
+ // Skip absolute paths and every scheme/internal specifier (all of
105
+ // which carry a colon). Leaves only bare npm package specifiers.
106
+ if (args.path.startsWith("/") || args.path.includes(":")) return null;
107
+ // Re-entrant hit from the build.resolve() probe below — defer to the
108
+ // node-builtins resolver and the Deno loader.
109
+ const data = args.pluginData as { probe?: boolean } | undefined;
110
+ if (data?.probe) return null;
111
+
112
+ const probe = await build.resolve(args.path, {
113
+ importer: args.importer,
114
+ kind: args.kind,
115
+ resolveDir: args.resolveDir,
116
+ namespace: args.namespace,
117
+ pluginData: { probe: true },
118
+ });
119
+ if (probe.errors.length === 0) return probe;
120
+
121
+ externalised.add(args.path);
122
+ return { path: args.path, external: true };
123
+ });
124
+
125
+ build.onEnd(() => {
126
+ if (externalised.size === 0) return;
127
+ console.warn(
128
+ `[1tube vercel-build] externalised ${externalised.size} unresolvable ` +
129
+ `bare specifier(s) as optional dependencies: ${
130
+ [...externalised].sort().join(", ")
131
+ }.\n These are presumed optional (require()d behind try/catch) and ` +
132
+ `will throw at the call site if actually invoked. If any is a REQUIRED ` +
133
+ `dependency, install it or add it to your import map.`,
134
+ );
135
+ });
136
+ },
137
+ };
138
+ }
139
+
140
+ /**
141
+ * Bundle profile for the Vercel Node target. Each function is bundled fully
142
+ * standalone (no gateway shared runtime), as a Vercel Node Function whose
143
+ * handler bridges Node req/res to the captured Web fetch handler.
144
+ */
145
+ export const VERCEL_PROFILE: BundleProfile = {
146
+ id: "vercel",
147
+ platform: "node",
148
+ conditions: ["node", "import", "default"],
149
+ mainFields: ["module", "main"],
150
+ banner: VERCEL_BANNER,
151
+ footer: VERCEL_FOOTER,
152
+ outputPreamble: VERCEL_REQUIRE_SHIM,
153
+ resolverPlugins: [
154
+ // node-builtins first so `crypto`/`stream`/… short-circuit to `node:` and
155
+ // never reach the optional-dependency probe.
156
+ nodeBuiltinsExternalPlugin(),
157
+ optionalDependencyExternalPlugin(),
158
+ ],
159
+ };
@@ -87,6 +87,30 @@ export const NODE_BUILTIN_MODULES: readonly string[] = [
87
87
  "zlib",
88
88
  ];
89
89
 
90
+ /**
91
+ * Output preamble prepended to EVERY emitted file — entry points and the
92
+ * code-split chunks alike (see `BundleProfile.outputPreamble`).
93
+ *
94
+ * Why this can't live in the banner: esbuild only injects `banner` into entry
95
+ * points. When CJS dependencies `require()` at module-init time (e.g.
96
+ * `google-auth-library` → `require("node:child_process")`), esbuild hoists its
97
+ * `__require` helper into a *shared chunk*. That helper falls back to a real
98
+ * `require` only `if (typeof require !== "undefined")` — and an ESM module has
99
+ * no `require` in scope, so the chunk throws "Dynamic require of … is not
100
+ * supported" at runtime on Vercel.
101
+ *
102
+ * Defining a module-scoped `require` backed by `node:module`'s `createRequire`
103
+ * gives esbuild's `__require` a working delegate in whichever chunk it lands.
104
+ * The per-file minify pass renames our `require` (and the helper's `typeof
105
+ * require` checks) consistently, collapsing `__require` to the real delegate.
106
+ * The shim is kept in every file (minify can't prove `createRequire()` is
107
+ * side-effect-free) — a few harmless bytes where unused. `import.meta.url` is
108
+ * always valid because every output is ESM.
109
+ */
110
+ export const VERCEL_REQUIRE_SHIM =
111
+ `import { createRequire as __1tubeCreateRequire } from "node:module";
112
+ var require = __1tubeCreateRequire(import.meta.url);`;
113
+
90
114
  /**
91
115
  * Banner injected at the top of every Vercel bundle. Runs before the user
92
116
  * entrypoint import so top-level `Deno.env.get(...)` / `serve(...)` calls find
@@ -42,7 +42,8 @@ import {
42
42
  createBundler,
43
43
  discoverEntrypoints,
44
44
  discoverSharedModules,
45
- } from "./bundler.ts";
45
+ } from "../../bundler/core.ts";
46
+ import { WORKERD_PROFILE } from "./bundle-profile.ts";
46
47
  import {
47
48
  parsePrebuiltManifest,
48
49
  type PrebuiltManifest,
@@ -1012,6 +1013,7 @@ export function createWorkerdBackend(opts: WorkerdBackendOptions): WorkerdBacken
1012
1013
  if (overlays.length > 0) {
1013
1014
  if (!overlayBundler) {
1014
1015
  overlayBundler = createBundler({
1016
+ profile: WORKERD_PROFILE,
1015
1017
  outDir: join(cacheDir!, "runtime-overrides"),
1016
1018
  configPath,
1017
1019
  sourcemap: "linked",
@@ -1090,6 +1092,7 @@ export function createWorkerdBackend(opts: WorkerdBackendOptions): WorkerdBacken
1090
1092
 
1091
1093
  if (!bundler) {
1092
1094
  bundler = createBundler({
1095
+ profile: WORKERD_PROFILE,
1093
1096
  outDir: cacheDir,
1094
1097
  configPath,
1095
1098
  sourcemap: opts.sourcemap ?? "linked",
@@ -1136,6 +1139,7 @@ export function createWorkerdBackend(opts: WorkerdBackendOptions): WorkerdBacken
1136
1139
  for (const module of discoveredSharedModules) {
1137
1140
  const shared = await bundleSharedModule({
1138
1141
  module,
1142
+ profile: WORKERD_PROFILE,
1139
1143
  outDir: join(cacheDir, "shared"),
1140
1144
  configPath,
1141
1145
  });