1tube 0.1.36 → 0.1.38
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 +1 -1
- package/deno.lock +82 -82
- package/package.json +1 -1
- package/src/backends/deno/shared-runtime.ts +3 -3
- package/src/backends/deno/source-rewriter.ts +1 -1
- package/src/backends/vercel/bundle-profile.ts +153 -0
- package/src/backends/workerd/backend.ts +5 -1
- package/src/backends/workerd/bundle-profile.ts +246 -0
- package/src/{backends/workerd/bundler.ts → bundler/core.ts} +122 -348
- package/src/bundler/profile.ts +59 -0
- package/src/cli/build.ts +17 -1
- package/src/cli/vercel-build.ts +15 -2
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.
|
|
141
|
-
"integrity": "sha512-
|
|
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.
|
|
151
|
-
"integrity": "sha512
|
|
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.
|
|
161
|
-
"integrity": "sha512-
|
|
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.
|
|
171
|
-
"integrity": "sha512
|
|
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.
|
|
181
|
-
"integrity": "sha512-
|
|
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.
|
|
191
|
-
"integrity": "sha512-
|
|
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.
|
|
201
|
-
"integrity": "sha512-
|
|
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.
|
|
211
|
-
"integrity": "sha512-
|
|
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.
|
|
221
|
-
"integrity": "sha512-
|
|
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.
|
|
231
|
-
"integrity": "sha512-
|
|
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.
|
|
241
|
-
"integrity": "sha512-
|
|
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.
|
|
251
|
-
"integrity": "sha512-
|
|
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.
|
|
261
|
-
"integrity": "sha512-
|
|
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.
|
|
271
|
-
"integrity": "sha512-
|
|
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.
|
|
281
|
-
"integrity": "sha512-
|
|
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.
|
|
291
|
-
"integrity": "sha512
|
|
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.
|
|
301
|
-
"integrity": "sha512-
|
|
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.
|
|
311
|
-
"integrity": "sha512-
|
|
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.
|
|
321
|
-
"integrity": "sha512-
|
|
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.
|
|
331
|
-
"integrity": "sha512-
|
|
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.
|
|
341
|
-
"integrity": "sha512-
|
|
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.
|
|
351
|
-
"integrity": "sha512-
|
|
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.
|
|
361
|
-
"integrity": "sha512-
|
|
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.
|
|
371
|
-
"integrity": "sha512-
|
|
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.
|
|
381
|
-
"integrity": "sha512-
|
|
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.
|
|
391
|
-
"integrity": "sha512-
|
|
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.
|
|
477
|
-
"integrity": "sha512-
|
|
476
|
+
"esbuild@0.28.1": {
|
|
477
|
+
"integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
|
|
478
478
|
"optionalDependencies": [
|
|
479
|
-
"@esbuild/aix-ppc64@0.28.
|
|
480
|
-
"@esbuild/android-arm@0.28.
|
|
481
|
-
"@esbuild/android-arm64@0.28.
|
|
482
|
-
"@esbuild/android-x64@0.28.
|
|
483
|
-
"@esbuild/darwin-arm64@0.28.
|
|
484
|
-
"@esbuild/darwin-x64@0.28.
|
|
485
|
-
"@esbuild/freebsd-arm64@0.28.
|
|
486
|
-
"@esbuild/freebsd-x64@0.28.
|
|
487
|
-
"@esbuild/linux-arm@0.28.
|
|
488
|
-
"@esbuild/linux-arm64@0.28.
|
|
489
|
-
"@esbuild/linux-ia32@0.28.
|
|
490
|
-
"@esbuild/linux-loong64@0.28.
|
|
491
|
-
"@esbuild/linux-mips64el@0.28.
|
|
492
|
-
"@esbuild/linux-ppc64@0.28.
|
|
493
|
-
"@esbuild/linux-riscv64@0.28.
|
|
494
|
-
"@esbuild/linux-s390x@0.28.
|
|
495
|
-
"@esbuild/linux-x64@0.28.
|
|
496
|
-
"@esbuild/netbsd-arm64@0.28.
|
|
497
|
-
"@esbuild/netbsd-x64@0.28.
|
|
498
|
-
"@esbuild/openbsd-arm64@0.28.
|
|
499
|
-
"@esbuild/openbsd-x64@0.28.
|
|
500
|
-
"@esbuild/openharmony-arm64@0.28.
|
|
501
|
-
"@esbuild/sunos-x64@0.28.
|
|
502
|
-
"@esbuild/win32-arm64@0.28.
|
|
503
|
-
"@esbuild/win32-ia32@0.28.
|
|
504
|
-
"@esbuild/win32-x64@0.28.
|
|
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
|
|
551
|
+
"npm:esbuild@~0.28.1",
|
|
552
552
|
"npm:hono@4"
|
|
553
553
|
],
|
|
554
554
|
"packageJson": {
|
package/package.json
CHANGED
|
@@ -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/
|
|
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 "
|
|
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
|
|
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,153 @@
|
|
|
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 { NODE_BUILTIN_MODULES, VERCEL_BANNER, VERCEL_FOOTER } from "./wrapper.ts";
|
|
23
|
+
|
|
24
|
+
const NODE_BUILTIN_SET = new Set<string>(NODE_BUILTIN_MODULES);
|
|
25
|
+
|
|
26
|
+
function isNodeBuiltinBare(spec: string): boolean {
|
|
27
|
+
const slash = spec.indexOf("/");
|
|
28
|
+
const head = slash === -1 ? spec : spec.slice(0, slash);
|
|
29
|
+
return NODE_BUILTIN_SET.has(head);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Leave Node builtins to the host runtime instead of bundling Deno's polyfills.
|
|
34
|
+
* `node:`-prefixed specifiers are always external; bare builtins (`crypto`,
|
|
35
|
+
* `stream`, `stream/web`, …) are rewritten to their `node:` form and
|
|
36
|
+
* externalised. Non-builtins fall through to the Deno loader for npm/jsr
|
|
37
|
+
* resolution. Registered before the Deno loader so it wins for these specifiers.
|
|
38
|
+
*/
|
|
39
|
+
function nodeBuiltinsExternalPlugin(): esbuild.Plugin {
|
|
40
|
+
return {
|
|
41
|
+
name: "1tube-node-builtins-external",
|
|
42
|
+
setup(build) {
|
|
43
|
+
build.onResolve({ filter: /^node:/ }, (args) => ({
|
|
44
|
+
path: args.path,
|
|
45
|
+
external: true,
|
|
46
|
+
}));
|
|
47
|
+
build.onResolve({ filter: /^[A-Za-z][A-Za-z0-9._/-]*$/ }, (args) => {
|
|
48
|
+
if (isNodeBuiltinBare(args.path)) {
|
|
49
|
+
return { path: `node:${args.path}`, external: true };
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Externalise bare specifiers that nothing in the toolchain can resolve,
|
|
59
|
+
* instead of failing the whole bundle.
|
|
60
|
+
*
|
|
61
|
+
* The motivating case: popular Node libraries `require()` an optional
|
|
62
|
+
* native/peer package behind a `try/catch` as an opt-in speedup, degrading to
|
|
63
|
+
* a pure-JS path when it's absent (`ws` → `bufferutil`/`utf-8-validate`,
|
|
64
|
+
* `debug` → `supports-color`, `chokidar` → `fsevents`, and so on). Those are
|
|
65
|
+
* uninstalled `optionalDependencies`, so the Deno loader can't resolve them
|
|
66
|
+
* when the `node` build is selected and esbuild aborts the entire bundle.
|
|
67
|
+
*
|
|
68
|
+
* A hand-curated allowlist of such packages can never be exhaustive — the next
|
|
69
|
+
* dependency that optionally `require()`s a native addon breaks the build. So
|
|
70
|
+
* rather than enumerate them, we let esbuild attempt resolution and act ONLY on
|
|
71
|
+
* failure: re-probe the specifier with `build.resolve()` and, if every
|
|
72
|
+
* resolver (node-builtins plugin + Deno loader) gives up, mark it external.
|
|
73
|
+
* esbuild then emits its `__require` shim, which throws at the call site —
|
|
74
|
+
* exactly what the library's `catch` expects.
|
|
75
|
+
*
|
|
76
|
+
* Scope/guards:
|
|
77
|
+
* - The `filter` excludes relative specifiers (`./`, `../`).
|
|
78
|
+
* - Specifiers containing `:` are skipped, which covers every scheme/internal
|
|
79
|
+
* form (`node:`, `npm:`, `jsr:`, `http(s):`, `data:`, the `1tube-entry-proxy:`
|
|
80
|
+
* entry stand-in, and Windows drive paths). Only colon-free bare package
|
|
81
|
+
* specifiers (`debug`, `@scope/pkg`, `ws/lib/x.js`) are probed.
|
|
82
|
+
* - A `pluginData` flag breaks the recursion when our own `build.resolve()`
|
|
83
|
+
* re-enters this callback, so the Deno loader does the real resolution.
|
|
84
|
+
*
|
|
85
|
+
* Every externalised specifier is reported once at build end. A genuinely
|
|
86
|
+
* REQUIRED-but-missing dependency therefore surfaces in the build log (and
|
|
87
|
+
* throws when first called) instead of silently disappearing — that visibility
|
|
88
|
+
* is what keeps "externalise on failure" honest rather than a foot-gun.
|
|
89
|
+
*
|
|
90
|
+
* The workerd profile never needs this: its `browser`/`worker` conditions
|
|
91
|
+
* resolve the dependency-free browser builds that don't reach for native addons.
|
|
92
|
+
*/
|
|
93
|
+
function optionalDependencyExternalPlugin(): esbuild.Plugin {
|
|
94
|
+
return {
|
|
95
|
+
name: "1tube-optional-dependency-external",
|
|
96
|
+
setup(build) {
|
|
97
|
+
const externalised = new Set<string>();
|
|
98
|
+
build.onResolve({ filter: /^[^.]/ }, async (args) => {
|
|
99
|
+
// Skip absolute paths and every scheme/internal specifier (all of
|
|
100
|
+
// which carry a colon). Leaves only bare npm package specifiers.
|
|
101
|
+
if (args.path.startsWith("/") || args.path.includes(":")) return null;
|
|
102
|
+
// Re-entrant hit from the build.resolve() probe below — defer to the
|
|
103
|
+
// node-builtins resolver and the Deno loader.
|
|
104
|
+
const data = args.pluginData as { probe?: boolean } | undefined;
|
|
105
|
+
if (data?.probe) return null;
|
|
106
|
+
|
|
107
|
+
const probe = await build.resolve(args.path, {
|
|
108
|
+
importer: args.importer,
|
|
109
|
+
kind: args.kind,
|
|
110
|
+
resolveDir: args.resolveDir,
|
|
111
|
+
namespace: args.namespace,
|
|
112
|
+
pluginData: { probe: true },
|
|
113
|
+
});
|
|
114
|
+
if (probe.errors.length === 0) return probe;
|
|
115
|
+
|
|
116
|
+
externalised.add(args.path);
|
|
117
|
+
return { path: args.path, external: true };
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
build.onEnd(() => {
|
|
121
|
+
if (externalised.size === 0) return;
|
|
122
|
+
console.warn(
|
|
123
|
+
`[1tube vercel-build] externalised ${externalised.size} unresolvable ` +
|
|
124
|
+
`bare specifier(s) as optional dependencies: ${
|
|
125
|
+
[...externalised].sort().join(", ")
|
|
126
|
+
}.\n These are presumed optional (require()d behind try/catch) and ` +
|
|
127
|
+
`will throw at the call site if actually invoked. If any is a REQUIRED ` +
|
|
128
|
+
`dependency, install it or add it to your import map.`,
|
|
129
|
+
);
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Bundle profile for the Vercel Node target. Each function is bundled fully
|
|
137
|
+
* standalone (no gateway shared runtime), as a Vercel Node Function whose
|
|
138
|
+
* handler bridges Node req/res to the captured Web fetch handler.
|
|
139
|
+
*/
|
|
140
|
+
export const VERCEL_PROFILE: BundleProfile = {
|
|
141
|
+
id: "vercel",
|
|
142
|
+
platform: "node",
|
|
143
|
+
conditions: ["node", "import", "default"],
|
|
144
|
+
mainFields: ["module", "main"],
|
|
145
|
+
banner: VERCEL_BANNER,
|
|
146
|
+
footer: VERCEL_FOOTER,
|
|
147
|
+
resolverPlugins: [
|
|
148
|
+
// node-builtins first so `crypto`/`stream`/… short-circuit to `node:` and
|
|
149
|
+
// never reach the optional-dependency probe.
|
|
150
|
+
nodeBuiltinsExternalPlugin(),
|
|
151
|
+
optionalDependencyExternalPlugin(),
|
|
152
|
+
],
|
|
153
|
+
};
|
|
@@ -42,7 +42,8 @@ import {
|
|
|
42
42
|
createBundler,
|
|
43
43
|
discoverEntrypoints,
|
|
44
44
|
discoverSharedModules,
|
|
45
|
-
} from "
|
|
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
|
});
|