@hot-updater/console 0.30.7 → 0.30.9

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.
Files changed (24) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{main-CoPJhqkz.js → main-5MdOCmsM.js} +2 -2
  3. package/.output/public/assets/{routes-CVEbccVq.js → routes-BmbL4goz.js} +2 -2
  4. package/.output/server/{__tanstack-start-server-fn-resolver-DB7Vwz3A.mjs → __tanstack-start-server-fn-resolver-rXMsqALt.mjs} +11 -11
  5. package/.output/server/_ssr/{api-rpc-kX2sZt80.mjs → api-rpc-DYKuUgOh.mjs} +2 -2
  6. package/.output/server/_ssr/{router-fogqFSFT.mjs → router-D-WWsYjv.mjs} +3 -3
  7. package/.output/server/_ssr/{routes-CgYYFBNT.mjs → routes-DyUhibF4.mjs} +87 -67
  8. package/.output/server/_ssr/{sidebar-B6a7DDef.mjs → sidebar-DXng0IOP.mjs} +1 -1
  9. package/.output/server/_ssr/ssr.mjs +3 -3
  10. package/.output/server/{_tanstack-start-manifest_v-OXy-e32b.mjs → _tanstack-start-manifest_v-xpdCj2Ct.mjs} +4 -4
  11. package/.output/server/index.mjs +47 -47
  12. package/README.md +0 -1
  13. package/package.json +6 -6
  14. package/.output/server/_libs/chownr.mjs +0 -60
  15. package/.output/server/_libs/core-util-is.mjs +0 -67
  16. package/.output/server/_libs/immediate.mjs +0 -57
  17. package/.output/server/_libs/inherits.mjs +0 -39
  18. package/.output/server/_libs/isaacs__fs-minipass+minipass.mjs +0 -1154
  19. package/.output/server/_libs/isarray.mjs +0 -10
  20. package/.output/server/_libs/jszip+[...].mjs +0 -8311
  21. package/.output/server/_libs/minizlib.mjs +0 -368
  22. package/.output/server/_libs/tar+yallist.mjs +0 -3318
  23. package/.output/server/_ssr/extract-timestamp-from-uuidv7-DO_lXhMa.mjs +0 -24
  24. package/.output/server/_ssr/promoteBundle-BBOSMtwu.mjs +0 -1571
@@ -1,1571 +0,0 @@
1
- import { r as __toESM } from "../_runtime.mjs";
2
- import { t as createUUIDv7 } from "./extract-timestamp-from-uuidv7-DO_lXhMa.mjs";
3
- import { t as require_lib } from "../_libs/jszip+[...].mjs";
4
- import { t as extract } from "../_libs/tar+yallist.mjs";
5
- import crypto from "node:crypto";
6
- import path from "node:path";
7
- import { createTarBrTargetFiles, createTarGzTargetFiles, createZipTargetFiles } from "@hot-updater/cli-tools";
8
- import fs from "node:fs/promises";
9
- import os from "node:os";
10
- import { brotliDecompressSync } from "node:zlib";
11
- //#region node_modules/.nitro/vite/services/ssr/assets/promoteBundle-BBOSMtwu.js
12
- var import_lib = /* @__PURE__ */ __toESM(require_lib());
13
- var types$1 = {
14
- "application/prs.cww": ["cww"],
15
- "application/prs.xsf+xml": ["xsf"],
16
- "application/vnd.1000minds.decision-model+xml": ["1km"],
17
- "application/vnd.3gpp.pic-bw-large": ["plb"],
18
- "application/vnd.3gpp.pic-bw-small": ["psb"],
19
- "application/vnd.3gpp.pic-bw-var": ["pvb"],
20
- "application/vnd.3gpp2.tcap": ["tcap"],
21
- "application/vnd.3m.post-it-notes": ["pwn"],
22
- "application/vnd.accpac.simply.aso": ["aso"],
23
- "application/vnd.accpac.simply.imp": ["imp"],
24
- "application/vnd.acucobol": ["acu"],
25
- "application/vnd.acucorp": ["atc", "acutc"],
26
- "application/vnd.adobe.air-application-installer-package+zip": ["air"],
27
- "application/vnd.adobe.formscentral.fcdt": ["fcdt"],
28
- "application/vnd.adobe.fxp": ["fxp", "fxpl"],
29
- "application/vnd.adobe.xdp+xml": ["xdp"],
30
- "application/vnd.adobe.xfdf": ["*xfdf"],
31
- "application/vnd.age": ["age"],
32
- "application/vnd.ahead.space": ["ahead"],
33
- "application/vnd.airzip.filesecure.azf": ["azf"],
34
- "application/vnd.airzip.filesecure.azs": ["azs"],
35
- "application/vnd.amazon.ebook": ["azw"],
36
- "application/vnd.americandynamics.acc": ["acc"],
37
- "application/vnd.amiga.ami": ["ami"],
38
- "application/vnd.android.package-archive": ["apk"],
39
- "application/vnd.anser-web-certificate-issue-initiation": ["cii"],
40
- "application/vnd.anser-web-funds-transfer-initiation": ["fti"],
41
- "application/vnd.antix.game-component": ["atx"],
42
- "application/vnd.apple.installer+xml": ["mpkg"],
43
- "application/vnd.apple.keynote": ["key"],
44
- "application/vnd.apple.mpegurl": ["m3u8"],
45
- "application/vnd.apple.numbers": ["numbers"],
46
- "application/vnd.apple.pages": ["pages"],
47
- "application/vnd.apple.pkpass": ["pkpass"],
48
- "application/vnd.aristanetworks.swi": ["swi"],
49
- "application/vnd.astraea-software.iota": ["iota"],
50
- "application/vnd.audiograph": ["aep"],
51
- "application/vnd.balsamiq.bmml+xml": ["bmml"],
52
- "application/vnd.blueice.multipass": ["mpm"],
53
- "application/vnd.bmi": ["bmi"],
54
- "application/vnd.businessobjects": ["rep"],
55
- "application/vnd.chemdraw+xml": ["cdxml"],
56
- "application/vnd.chipnuts.karaoke-mmd": ["mmd"],
57
- "application/vnd.cinderella": ["cdy"],
58
- "application/vnd.citationstyles.style+xml": ["csl"],
59
- "application/vnd.claymore": ["cla"],
60
- "application/vnd.cloanto.rp9": ["rp9"],
61
- "application/vnd.clonk.c4group": [
62
- "c4g",
63
- "c4d",
64
- "c4f",
65
- "c4p",
66
- "c4u"
67
- ],
68
- "application/vnd.cluetrust.cartomobile-config": ["c11amc"],
69
- "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"],
70
- "application/vnd.commonspace": ["csp"],
71
- "application/vnd.contact.cmsg": ["cdbcmsg"],
72
- "application/vnd.cosmocaller": ["cmc"],
73
- "application/vnd.crick.clicker": ["clkx"],
74
- "application/vnd.crick.clicker.keyboard": ["clkk"],
75
- "application/vnd.crick.clicker.palette": ["clkp"],
76
- "application/vnd.crick.clicker.template": ["clkt"],
77
- "application/vnd.crick.clicker.wordbank": ["clkw"],
78
- "application/vnd.criticaltools.wbs+xml": ["wbs"],
79
- "application/vnd.ctc-posml": ["pml"],
80
- "application/vnd.cups-ppd": ["ppd"],
81
- "application/vnd.curl.car": ["car"],
82
- "application/vnd.curl.pcurl": ["pcurl"],
83
- "application/vnd.dart": ["dart"],
84
- "application/vnd.data-vision.rdz": ["rdz"],
85
- "application/vnd.dbf": ["dbf"],
86
- "application/vnd.dece.data": [
87
- "uvf",
88
- "uvvf",
89
- "uvd",
90
- "uvvd"
91
- ],
92
- "application/vnd.dece.ttml+xml": ["uvt", "uvvt"],
93
- "application/vnd.dece.unspecified": ["uvx", "uvvx"],
94
- "application/vnd.dece.zip": ["uvz", "uvvz"],
95
- "application/vnd.denovo.fcselayout-link": ["fe_launch"],
96
- "application/vnd.dna": ["dna"],
97
- "application/vnd.dolby.mlp": ["mlp"],
98
- "application/vnd.dpgraph": ["dpg"],
99
- "application/vnd.dreamfactory": ["dfac"],
100
- "application/vnd.ds-keypoint": ["kpxx"],
101
- "application/vnd.dvb.ait": ["ait"],
102
- "application/vnd.dvb.service": ["svc"],
103
- "application/vnd.dynageo": ["geo"],
104
- "application/vnd.ecowin.chart": ["mag"],
105
- "application/vnd.enliven": ["nml"],
106
- "application/vnd.epson.esf": ["esf"],
107
- "application/vnd.epson.msf": ["msf"],
108
- "application/vnd.epson.quickanime": ["qam"],
109
- "application/vnd.epson.salt": ["slt"],
110
- "application/vnd.epson.ssf": ["ssf"],
111
- "application/vnd.eszigno3+xml": ["es3", "et3"],
112
- "application/vnd.ezpix-album": ["ez2"],
113
- "application/vnd.ezpix-package": ["ez3"],
114
- "application/vnd.fdf": ["*fdf"],
115
- "application/vnd.fdsn.mseed": ["mseed"],
116
- "application/vnd.fdsn.seed": ["seed", "dataless"],
117
- "application/vnd.flographit": ["gph"],
118
- "application/vnd.fluxtime.clip": ["ftc"],
119
- "application/vnd.framemaker": [
120
- "fm",
121
- "frame",
122
- "maker",
123
- "book"
124
- ],
125
- "application/vnd.frogans.fnc": ["fnc"],
126
- "application/vnd.frogans.ltf": ["ltf"],
127
- "application/vnd.fsc.weblaunch": ["fsc"],
128
- "application/vnd.fujitsu.oasys": ["oas"],
129
- "application/vnd.fujitsu.oasys2": ["oa2"],
130
- "application/vnd.fujitsu.oasys3": ["oa3"],
131
- "application/vnd.fujitsu.oasysgp": ["fg5"],
132
- "application/vnd.fujitsu.oasysprs": ["bh2"],
133
- "application/vnd.fujixerox.ddd": ["ddd"],
134
- "application/vnd.fujixerox.docuworks": ["xdw"],
135
- "application/vnd.fujixerox.docuworks.binder": ["xbd"],
136
- "application/vnd.fuzzysheet": ["fzs"],
137
- "application/vnd.genomatix.tuxedo": ["txd"],
138
- "application/vnd.geogebra.file": ["ggb"],
139
- "application/vnd.geogebra.tool": ["ggt"],
140
- "application/vnd.geometry-explorer": ["gex", "gre"],
141
- "application/vnd.geonext": ["gxt"],
142
- "application/vnd.geoplan": ["g2w"],
143
- "application/vnd.geospace": ["g3w"],
144
- "application/vnd.gmx": ["gmx"],
145
- "application/vnd.google-apps.document": ["gdoc"],
146
- "application/vnd.google-apps.presentation": ["gslides"],
147
- "application/vnd.google-apps.spreadsheet": ["gsheet"],
148
- "application/vnd.google-earth.kml+xml": ["kml"],
149
- "application/vnd.google-earth.kmz": ["kmz"],
150
- "application/vnd.grafeq": ["gqf", "gqs"],
151
- "application/vnd.groove-account": ["gac"],
152
- "application/vnd.groove-help": ["ghf"],
153
- "application/vnd.groove-identity-message": ["gim"],
154
- "application/vnd.groove-injector": ["grv"],
155
- "application/vnd.groove-tool-message": ["gtm"],
156
- "application/vnd.groove-tool-template": ["tpl"],
157
- "application/vnd.groove-vcard": ["vcg"],
158
- "application/vnd.hal+xml": ["hal"],
159
- "application/vnd.handheld-entertainment+xml": ["zmm"],
160
- "application/vnd.hbci": ["hbci"],
161
- "application/vnd.hhe.lesson-player": ["les"],
162
- "application/vnd.hp-hpgl": ["hpgl"],
163
- "application/vnd.hp-hpid": ["hpid"],
164
- "application/vnd.hp-hps": ["hps"],
165
- "application/vnd.hp-jlyt": ["jlt"],
166
- "application/vnd.hp-pcl": ["pcl"],
167
- "application/vnd.hp-pclxl": ["pclxl"],
168
- "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"],
169
- "application/vnd.ibm.minipay": ["mpy"],
170
- "application/vnd.ibm.modcap": [
171
- "afp",
172
- "listafp",
173
- "list3820"
174
- ],
175
- "application/vnd.ibm.rights-management": ["irm"],
176
- "application/vnd.ibm.secure-container": ["sc"],
177
- "application/vnd.iccprofile": ["icc", "icm"],
178
- "application/vnd.igloader": ["igl"],
179
- "application/vnd.immervision-ivp": ["ivp"],
180
- "application/vnd.immervision-ivu": ["ivu"],
181
- "application/vnd.insors.igm": ["igm"],
182
- "application/vnd.intercon.formnet": ["xpw", "xpx"],
183
- "application/vnd.intergeo": ["i2g"],
184
- "application/vnd.intu.qbo": ["qbo"],
185
- "application/vnd.intu.qfx": ["qfx"],
186
- "application/vnd.ipunplugged.rcprofile": ["rcprofile"],
187
- "application/vnd.irepository.package+xml": ["irp"],
188
- "application/vnd.is-xpr": ["xpr"],
189
- "application/vnd.isac.fcs": ["fcs"],
190
- "application/vnd.jam": ["jam"],
191
- "application/vnd.jcp.javame.midlet-rms": ["rms"],
192
- "application/vnd.jisp": ["jisp"],
193
- "application/vnd.joost.joda-archive": ["joda"],
194
- "application/vnd.kahootz": ["ktz", "ktr"],
195
- "application/vnd.kde.karbon": ["karbon"],
196
- "application/vnd.kde.kchart": ["chrt"],
197
- "application/vnd.kde.kformula": ["kfo"],
198
- "application/vnd.kde.kivio": ["flw"],
199
- "application/vnd.kde.kontour": ["kon"],
200
- "application/vnd.kde.kpresenter": ["kpr", "kpt"],
201
- "application/vnd.kde.kspread": ["ksp"],
202
- "application/vnd.kde.kword": ["kwd", "kwt"],
203
- "application/vnd.kenameaapp": ["htke"],
204
- "application/vnd.kidspiration": ["kia"],
205
- "application/vnd.kinar": ["kne", "knp"],
206
- "application/vnd.koan": [
207
- "skp",
208
- "skd",
209
- "skt",
210
- "skm"
211
- ],
212
- "application/vnd.kodak-descriptor": ["sse"],
213
- "application/vnd.las.las+xml": ["lasxml"],
214
- "application/vnd.llamagraphics.life-balance.desktop": ["lbd"],
215
- "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"],
216
- "application/vnd.lotus-1-2-3": ["123"],
217
- "application/vnd.lotus-approach": ["apr"],
218
- "application/vnd.lotus-freelance": ["pre"],
219
- "application/vnd.lotus-notes": ["nsf"],
220
- "application/vnd.lotus-organizer": ["org"],
221
- "application/vnd.lotus-screencam": ["scm"],
222
- "application/vnd.lotus-wordpro": ["lwp"],
223
- "application/vnd.macports.portpkg": ["portpkg"],
224
- "application/vnd.mapbox-vector-tile": ["mvt"],
225
- "application/vnd.mcd": ["mcd"],
226
- "application/vnd.medcalcdata": ["mc1"],
227
- "application/vnd.mediastation.cdkey": ["cdkey"],
228
- "application/vnd.mfer": ["mwf"],
229
- "application/vnd.mfmp": ["mfm"],
230
- "application/vnd.micrografx.flo": ["flo"],
231
- "application/vnd.micrografx.igx": ["igx"],
232
- "application/vnd.mif": ["mif"],
233
- "application/vnd.mobius.daf": ["daf"],
234
- "application/vnd.mobius.dis": ["dis"],
235
- "application/vnd.mobius.mbk": ["mbk"],
236
- "application/vnd.mobius.mqy": ["mqy"],
237
- "application/vnd.mobius.msl": ["msl"],
238
- "application/vnd.mobius.plc": ["plc"],
239
- "application/vnd.mobius.txf": ["txf"],
240
- "application/vnd.mophun.application": ["mpn"],
241
- "application/vnd.mophun.certificate": ["mpc"],
242
- "application/vnd.mozilla.xul+xml": ["xul"],
243
- "application/vnd.ms-artgalry": ["cil"],
244
- "application/vnd.ms-cab-compressed": ["cab"],
245
- "application/vnd.ms-excel": [
246
- "xls",
247
- "xlm",
248
- "xla",
249
- "xlc",
250
- "xlt",
251
- "xlw"
252
- ],
253
- "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"],
254
- "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"],
255
- "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"],
256
- "application/vnd.ms-excel.template.macroenabled.12": ["xltm"],
257
- "application/vnd.ms-fontobject": ["eot"],
258
- "application/vnd.ms-htmlhelp": ["chm"],
259
- "application/vnd.ms-ims": ["ims"],
260
- "application/vnd.ms-lrm": ["lrm"],
261
- "application/vnd.ms-officetheme": ["thmx"],
262
- "application/vnd.ms-outlook": ["msg"],
263
- "application/vnd.ms-pki.seccat": ["cat"],
264
- "application/vnd.ms-pki.stl": ["*stl"],
265
- "application/vnd.ms-powerpoint": [
266
- "ppt",
267
- "pps",
268
- "pot"
269
- ],
270
- "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"],
271
- "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"],
272
- "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"],
273
- "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"],
274
- "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"],
275
- "application/vnd.ms-project": ["*mpp", "mpt"],
276
- "application/vnd.ms-word.document.macroenabled.12": ["docm"],
277
- "application/vnd.ms-word.template.macroenabled.12": ["dotm"],
278
- "application/vnd.ms-works": [
279
- "wps",
280
- "wks",
281
- "wcm",
282
- "wdb"
283
- ],
284
- "application/vnd.ms-wpl": ["wpl"],
285
- "application/vnd.ms-xpsdocument": ["xps"],
286
- "application/vnd.mseq": ["mseq"],
287
- "application/vnd.musician": ["mus"],
288
- "application/vnd.muvee.style": ["msty"],
289
- "application/vnd.mynfc": ["taglet"],
290
- "application/vnd.neurolanguage.nlu": ["nlu"],
291
- "application/vnd.nitf": ["ntf", "nitf"],
292
- "application/vnd.noblenet-directory": ["nnd"],
293
- "application/vnd.noblenet-sealer": ["nns"],
294
- "application/vnd.noblenet-web": ["nnw"],
295
- "application/vnd.nokia.n-gage.ac+xml": ["*ac"],
296
- "application/vnd.nokia.n-gage.data": ["ngdat"],
297
- "application/vnd.nokia.n-gage.symbian.install": ["n-gage"],
298
- "application/vnd.nokia.radio-preset": ["rpst"],
299
- "application/vnd.nokia.radio-presets": ["rpss"],
300
- "application/vnd.novadigm.edm": ["edm"],
301
- "application/vnd.novadigm.edx": ["edx"],
302
- "application/vnd.novadigm.ext": ["ext"],
303
- "application/vnd.oasis.opendocument.chart": ["odc"],
304
- "application/vnd.oasis.opendocument.chart-template": ["otc"],
305
- "application/vnd.oasis.opendocument.database": ["odb"],
306
- "application/vnd.oasis.opendocument.formula": ["odf"],
307
- "application/vnd.oasis.opendocument.formula-template": ["odft"],
308
- "application/vnd.oasis.opendocument.graphics": ["odg"],
309
- "application/vnd.oasis.opendocument.graphics-template": ["otg"],
310
- "application/vnd.oasis.opendocument.image": ["odi"],
311
- "application/vnd.oasis.opendocument.image-template": ["oti"],
312
- "application/vnd.oasis.opendocument.presentation": ["odp"],
313
- "application/vnd.oasis.opendocument.presentation-template": ["otp"],
314
- "application/vnd.oasis.opendocument.spreadsheet": ["ods"],
315
- "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"],
316
- "application/vnd.oasis.opendocument.text": ["odt"],
317
- "application/vnd.oasis.opendocument.text-master": ["odm"],
318
- "application/vnd.oasis.opendocument.text-template": ["ott"],
319
- "application/vnd.oasis.opendocument.text-web": ["oth"],
320
- "application/vnd.olpc-sugar": ["xo"],
321
- "application/vnd.oma.dd2+xml": ["dd2"],
322
- "application/vnd.openblox.game+xml": ["obgx"],
323
- "application/vnd.openofficeorg.extension": ["oxt"],
324
- "application/vnd.openstreetmap.data+xml": ["osm"],
325
- "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"],
326
- "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"],
327
- "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"],
328
- "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"],
329
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"],
330
- "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"],
331
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"],
332
- "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"],
333
- "application/vnd.osgeo.mapguide.package": ["mgp"],
334
- "application/vnd.osgi.dp": ["dp"],
335
- "application/vnd.osgi.subsystem": ["esa"],
336
- "application/vnd.palm": [
337
- "pdb",
338
- "pqa",
339
- "oprc"
340
- ],
341
- "application/vnd.pawaafile": ["paw"],
342
- "application/vnd.pg.format": ["str"],
343
- "application/vnd.pg.osasli": ["ei6"],
344
- "application/vnd.picsel": ["efif"],
345
- "application/vnd.pmi.widget": ["wg"],
346
- "application/vnd.pocketlearn": ["plf"],
347
- "application/vnd.powerbuilder6": ["pbd"],
348
- "application/vnd.previewsystems.box": ["box"],
349
- "application/vnd.proteus.magazine": ["mgz"],
350
- "application/vnd.publishare-delta-tree": ["qps"],
351
- "application/vnd.pvi.ptid1": ["ptid"],
352
- "application/vnd.pwg-xhtml-print+xml": ["xhtm"],
353
- "application/vnd.quark.quarkxpress": [
354
- "qxd",
355
- "qxt",
356
- "qwd",
357
- "qwt",
358
- "qxl",
359
- "qxb"
360
- ],
361
- "application/vnd.rar": ["rar"],
362
- "application/vnd.realvnc.bed": ["bed"],
363
- "application/vnd.recordare.musicxml": ["mxl"],
364
- "application/vnd.recordare.musicxml+xml": ["musicxml"],
365
- "application/vnd.rig.cryptonote": ["cryptonote"],
366
- "application/vnd.rim.cod": ["cod"],
367
- "application/vnd.rn-realmedia": ["rm"],
368
- "application/vnd.rn-realmedia-vbr": ["rmvb"],
369
- "application/vnd.route66.link66+xml": ["link66"],
370
- "application/vnd.sailingtracker.track": ["st"],
371
- "application/vnd.seemail": ["see"],
372
- "application/vnd.sema": ["sema"],
373
- "application/vnd.semd": ["semd"],
374
- "application/vnd.semf": ["semf"],
375
- "application/vnd.shana.informed.formdata": ["ifm"],
376
- "application/vnd.shana.informed.formtemplate": ["itp"],
377
- "application/vnd.shana.informed.interchange": ["iif"],
378
- "application/vnd.shana.informed.package": ["ipk"],
379
- "application/vnd.simtech-mindmapper": ["twd", "twds"],
380
- "application/vnd.smaf": ["mmf"],
381
- "application/vnd.smart.teacher": ["teacher"],
382
- "application/vnd.software602.filler.form+xml": ["fo"],
383
- "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"],
384
- "application/vnd.spotfire.dxp": ["dxp"],
385
- "application/vnd.spotfire.sfs": ["sfs"],
386
- "application/vnd.stardivision.calc": ["sdc"],
387
- "application/vnd.stardivision.draw": ["sda"],
388
- "application/vnd.stardivision.impress": ["sdd"],
389
- "application/vnd.stardivision.math": ["smf"],
390
- "application/vnd.stardivision.writer": ["sdw", "vor"],
391
- "application/vnd.stardivision.writer-global": ["sgl"],
392
- "application/vnd.stepmania.package": ["smzip"],
393
- "application/vnd.stepmania.stepchart": ["sm"],
394
- "application/vnd.sun.wadl+xml": ["wadl"],
395
- "application/vnd.sun.xml.calc": ["sxc"],
396
- "application/vnd.sun.xml.calc.template": ["stc"],
397
- "application/vnd.sun.xml.draw": ["sxd"],
398
- "application/vnd.sun.xml.draw.template": ["std"],
399
- "application/vnd.sun.xml.impress": ["sxi"],
400
- "application/vnd.sun.xml.impress.template": ["sti"],
401
- "application/vnd.sun.xml.math": ["sxm"],
402
- "application/vnd.sun.xml.writer": ["sxw"],
403
- "application/vnd.sun.xml.writer.global": ["sxg"],
404
- "application/vnd.sun.xml.writer.template": ["stw"],
405
- "application/vnd.sus-calendar": ["sus", "susp"],
406
- "application/vnd.svd": ["svd"],
407
- "application/vnd.symbian.install": ["sis", "sisx"],
408
- "application/vnd.syncml+xml": ["xsm"],
409
- "application/vnd.syncml.dm+wbxml": ["bdm"],
410
- "application/vnd.syncml.dm+xml": ["xdm"],
411
- "application/vnd.syncml.dmddf+xml": ["ddf"],
412
- "application/vnd.tao.intent-module-archive": ["tao"],
413
- "application/vnd.tcpdump.pcap": [
414
- "pcap",
415
- "cap",
416
- "dmp"
417
- ],
418
- "application/vnd.tmobile-livetv": ["tmo"],
419
- "application/vnd.trid.tpt": ["tpt"],
420
- "application/vnd.triscape.mxs": ["mxs"],
421
- "application/vnd.trueapp": ["tra"],
422
- "application/vnd.ufdl": ["ufd", "ufdl"],
423
- "application/vnd.uiq.theme": ["utz"],
424
- "application/vnd.umajin": ["umj"],
425
- "application/vnd.unity": ["unityweb"],
426
- "application/vnd.uoml+xml": ["uoml", "uo"],
427
- "application/vnd.vcx": ["vcx"],
428
- "application/vnd.visio": [
429
- "vsd",
430
- "vst",
431
- "vss",
432
- "vsw"
433
- ],
434
- "application/vnd.visionary": ["vis"],
435
- "application/vnd.vsf": ["vsf"],
436
- "application/vnd.wap.wbxml": ["wbxml"],
437
- "application/vnd.wap.wmlc": ["wmlc"],
438
- "application/vnd.wap.wmlscriptc": ["wmlsc"],
439
- "application/vnd.webturbo": ["wtb"],
440
- "application/vnd.wolfram.player": ["nbp"],
441
- "application/vnd.wordperfect": ["wpd"],
442
- "application/vnd.wqd": ["wqd"],
443
- "application/vnd.wt.stf": ["stf"],
444
- "application/vnd.xara": ["xar"],
445
- "application/vnd.xfdl": ["xfdl"],
446
- "application/vnd.yamaha.hv-dic": ["hvd"],
447
- "application/vnd.yamaha.hv-script": ["hvs"],
448
- "application/vnd.yamaha.hv-voice": ["hvp"],
449
- "application/vnd.yamaha.openscoreformat": ["osf"],
450
- "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"],
451
- "application/vnd.yamaha.smaf-audio": ["saf"],
452
- "application/vnd.yamaha.smaf-phrase": ["spf"],
453
- "application/vnd.yellowriver-custom-menu": ["cmp"],
454
- "application/vnd.zul": ["zir", "zirz"],
455
- "application/vnd.zzazz.deck+xml": ["zaz"],
456
- "application/x-7z-compressed": ["7z"],
457
- "application/x-abiword": ["abw"],
458
- "application/x-ace-compressed": ["ace"],
459
- "application/x-apple-diskimage": ["*dmg"],
460
- "application/x-arj": ["arj"],
461
- "application/x-authorware-bin": [
462
- "aab",
463
- "x32",
464
- "u32",
465
- "vox"
466
- ],
467
- "application/x-authorware-map": ["aam"],
468
- "application/x-authorware-seg": ["aas"],
469
- "application/x-bcpio": ["bcpio"],
470
- "application/x-bdoc": ["*bdoc"],
471
- "application/x-bittorrent": ["torrent"],
472
- "application/x-blorb": ["blb", "blorb"],
473
- "application/x-bzip": ["bz"],
474
- "application/x-bzip2": ["bz2", "boz"],
475
- "application/x-cbr": [
476
- "cbr",
477
- "cba",
478
- "cbt",
479
- "cbz",
480
- "cb7"
481
- ],
482
- "application/x-cdlink": ["vcd"],
483
- "application/x-cfs-compressed": ["cfs"],
484
- "application/x-chat": ["chat"],
485
- "application/x-chess-pgn": ["pgn"],
486
- "application/x-chrome-extension": ["crx"],
487
- "application/x-cocoa": ["cco"],
488
- "application/x-conference": ["nsc"],
489
- "application/x-cpio": ["cpio"],
490
- "application/x-csh": ["csh"],
491
- "application/x-debian-package": ["*deb", "udeb"],
492
- "application/x-dgc-compressed": ["dgc"],
493
- "application/x-director": [
494
- "dir",
495
- "dcr",
496
- "dxr",
497
- "cst",
498
- "cct",
499
- "cxt",
500
- "w3d",
501
- "fgd",
502
- "swa"
503
- ],
504
- "application/x-doom": ["wad"],
505
- "application/x-dtbncx+xml": ["ncx"],
506
- "application/x-dtbook+xml": ["dtb"],
507
- "application/x-dtbresource+xml": ["res"],
508
- "application/x-dvi": ["dvi"],
509
- "application/x-envoy": ["evy"],
510
- "application/x-eva": ["eva"],
511
- "application/x-font-bdf": ["bdf"],
512
- "application/x-font-ghostscript": ["gsf"],
513
- "application/x-font-linux-psf": ["psf"],
514
- "application/x-font-pcf": ["pcf"],
515
- "application/x-font-snf": ["snf"],
516
- "application/x-font-type1": [
517
- "pfa",
518
- "pfb",
519
- "pfm",
520
- "afm"
521
- ],
522
- "application/x-freearc": ["arc"],
523
- "application/x-futuresplash": ["spl"],
524
- "application/x-gca-compressed": ["gca"],
525
- "application/x-glulx": ["ulx"],
526
- "application/x-gnumeric": ["gnumeric"],
527
- "application/x-gramps-xml": ["gramps"],
528
- "application/x-gtar": ["gtar"],
529
- "application/x-hdf": ["hdf"],
530
- "application/x-httpd-php": ["php"],
531
- "application/x-install-instructions": ["install"],
532
- "application/x-iso9660-image": ["*iso"],
533
- "application/x-iwork-keynote-sffkey": ["*key"],
534
- "application/x-iwork-numbers-sffnumbers": ["*numbers"],
535
- "application/x-iwork-pages-sffpages": ["*pages"],
536
- "application/x-java-archive-diff": ["jardiff"],
537
- "application/x-java-jnlp-file": ["jnlp"],
538
- "application/x-keepass2": ["kdbx"],
539
- "application/x-latex": ["latex"],
540
- "application/x-lua-bytecode": ["luac"],
541
- "application/x-lzh-compressed": ["lzh", "lha"],
542
- "application/x-makeself": ["run"],
543
- "application/x-mie": ["mie"],
544
- "application/x-mobipocket-ebook": ["*prc", "mobi"],
545
- "application/x-ms-application": ["application"],
546
- "application/x-ms-shortcut": ["lnk"],
547
- "application/x-ms-wmd": ["wmd"],
548
- "application/x-ms-wmz": ["wmz"],
549
- "application/x-ms-xbap": ["xbap"],
550
- "application/x-msaccess": ["mdb"],
551
- "application/x-msbinder": ["obd"],
552
- "application/x-mscardfile": ["crd"],
553
- "application/x-msclip": ["clp"],
554
- "application/x-msdos-program": ["*exe"],
555
- "application/x-msdownload": [
556
- "*exe",
557
- "*dll",
558
- "com",
559
- "bat",
560
- "*msi"
561
- ],
562
- "application/x-msmediaview": [
563
- "mvb",
564
- "m13",
565
- "m14"
566
- ],
567
- "application/x-msmetafile": [
568
- "*wmf",
569
- "*wmz",
570
- "*emf",
571
- "emz"
572
- ],
573
- "application/x-msmoney": ["mny"],
574
- "application/x-mspublisher": ["pub"],
575
- "application/x-msschedule": ["scd"],
576
- "application/x-msterminal": ["trm"],
577
- "application/x-mswrite": ["wri"],
578
- "application/x-netcdf": ["nc", "cdf"],
579
- "application/x-ns-proxy-autoconfig": ["pac"],
580
- "application/x-nzb": ["nzb"],
581
- "application/x-perl": ["pl", "pm"],
582
- "application/x-pilot": ["*prc", "*pdb"],
583
- "application/x-pkcs12": ["p12", "pfx"],
584
- "application/x-pkcs7-certificates": ["p7b", "spc"],
585
- "application/x-pkcs7-certreqresp": ["p7r"],
586
- "application/x-rar-compressed": ["*rar"],
587
- "application/x-redhat-package-manager": ["rpm"],
588
- "application/x-research-info-systems": ["ris"],
589
- "application/x-sea": ["sea"],
590
- "application/x-sh": ["sh"],
591
- "application/x-shar": ["shar"],
592
- "application/x-shockwave-flash": ["swf"],
593
- "application/x-silverlight-app": ["xap"],
594
- "application/x-sql": ["*sql"],
595
- "application/x-stuffit": ["sit"],
596
- "application/x-stuffitx": ["sitx"],
597
- "application/x-subrip": ["srt"],
598
- "application/x-sv4cpio": ["sv4cpio"],
599
- "application/x-sv4crc": ["sv4crc"],
600
- "application/x-t3vm-image": ["t3"],
601
- "application/x-tads": ["gam"],
602
- "application/x-tar": ["tar"],
603
- "application/x-tcl": ["tcl", "tk"],
604
- "application/x-tex": ["tex"],
605
- "application/x-tex-tfm": ["tfm"],
606
- "application/x-texinfo": ["texinfo", "texi"],
607
- "application/x-tgif": ["*obj"],
608
- "application/x-ustar": ["ustar"],
609
- "application/x-virtualbox-hdd": ["hdd"],
610
- "application/x-virtualbox-ova": ["ova"],
611
- "application/x-virtualbox-ovf": ["ovf"],
612
- "application/x-virtualbox-vbox": ["vbox"],
613
- "application/x-virtualbox-vbox-extpack": ["vbox-extpack"],
614
- "application/x-virtualbox-vdi": ["vdi"],
615
- "application/x-virtualbox-vhd": ["vhd"],
616
- "application/x-virtualbox-vmdk": ["vmdk"],
617
- "application/x-wais-source": ["src"],
618
- "application/x-web-app-manifest+json": ["webapp"],
619
- "application/x-x509-ca-cert": [
620
- "der",
621
- "crt",
622
- "pem"
623
- ],
624
- "application/x-xfig": ["fig"],
625
- "application/x-xliff+xml": ["*xlf"],
626
- "application/x-xpinstall": ["xpi"],
627
- "application/x-xz": ["xz"],
628
- "application/x-zmachine": [
629
- "z1",
630
- "z2",
631
- "z3",
632
- "z4",
633
- "z5",
634
- "z6",
635
- "z7",
636
- "z8"
637
- ],
638
- "audio/vnd.dece.audio": ["uva", "uvva"],
639
- "audio/vnd.digital-winds": ["eol"],
640
- "audio/vnd.dra": ["dra"],
641
- "audio/vnd.dts": ["dts"],
642
- "audio/vnd.dts.hd": ["dtshd"],
643
- "audio/vnd.lucent.voice": ["lvp"],
644
- "audio/vnd.ms-playready.media.pya": ["pya"],
645
- "audio/vnd.nuera.ecelp4800": ["ecelp4800"],
646
- "audio/vnd.nuera.ecelp7470": ["ecelp7470"],
647
- "audio/vnd.nuera.ecelp9600": ["ecelp9600"],
648
- "audio/vnd.rip": ["rip"],
649
- "audio/x-aac": ["*aac"],
650
- "audio/x-aiff": [
651
- "aif",
652
- "aiff",
653
- "aifc"
654
- ],
655
- "audio/x-caf": ["caf"],
656
- "audio/x-flac": ["flac"],
657
- "audio/x-m4a": ["*m4a"],
658
- "audio/x-matroska": ["mka"],
659
- "audio/x-mpegurl": ["m3u"],
660
- "audio/x-ms-wax": ["wax"],
661
- "audio/x-ms-wma": ["wma"],
662
- "audio/x-pn-realaudio": ["ram", "ra"],
663
- "audio/x-pn-realaudio-plugin": ["rmp"],
664
- "audio/x-realaudio": ["*ra"],
665
- "audio/x-wav": ["*wav"],
666
- "chemical/x-cdx": ["cdx"],
667
- "chemical/x-cif": ["cif"],
668
- "chemical/x-cmdf": ["cmdf"],
669
- "chemical/x-cml": ["cml"],
670
- "chemical/x-csml": ["csml"],
671
- "chemical/x-xyz": ["xyz"],
672
- "image/prs.btif": ["btif", "btf"],
673
- "image/prs.pti": ["pti"],
674
- "image/vnd.adobe.photoshop": ["psd"],
675
- "image/vnd.airzip.accelerator.azv": ["azv"],
676
- "image/vnd.dece.graphic": [
677
- "uvi",
678
- "uvvi",
679
- "uvg",
680
- "uvvg"
681
- ],
682
- "image/vnd.djvu": ["djvu", "djv"],
683
- "image/vnd.dvb.subtitle": ["*sub"],
684
- "image/vnd.dwg": ["dwg"],
685
- "image/vnd.dxf": ["dxf"],
686
- "image/vnd.fastbidsheet": ["fbs"],
687
- "image/vnd.fpx": ["fpx"],
688
- "image/vnd.fst": ["fst"],
689
- "image/vnd.fujixerox.edmics-mmr": ["mmr"],
690
- "image/vnd.fujixerox.edmics-rlc": ["rlc"],
691
- "image/vnd.microsoft.icon": ["ico"],
692
- "image/vnd.ms-dds": ["dds"],
693
- "image/vnd.ms-modi": ["mdi"],
694
- "image/vnd.ms-photo": ["wdp"],
695
- "image/vnd.net-fpx": ["npx"],
696
- "image/vnd.pco.b16": ["b16"],
697
- "image/vnd.tencent.tap": ["tap"],
698
- "image/vnd.valve.source.texture": ["vtf"],
699
- "image/vnd.wap.wbmp": ["wbmp"],
700
- "image/vnd.xiff": ["xif"],
701
- "image/vnd.zbrush.pcx": ["pcx"],
702
- "image/x-3ds": ["3ds"],
703
- "image/x-cmu-raster": ["ras"],
704
- "image/x-cmx": ["cmx"],
705
- "image/x-freehand": [
706
- "fh",
707
- "fhc",
708
- "fh4",
709
- "fh5",
710
- "fh7"
711
- ],
712
- "image/x-icon": ["*ico"],
713
- "image/x-jng": ["jng"],
714
- "image/x-mrsid-image": ["sid"],
715
- "image/x-ms-bmp": ["*bmp"],
716
- "image/x-pcx": ["*pcx"],
717
- "image/x-pict": ["pic", "pct"],
718
- "image/x-portable-anymap": ["pnm"],
719
- "image/x-portable-bitmap": ["pbm"],
720
- "image/x-portable-graymap": ["pgm"],
721
- "image/x-portable-pixmap": ["ppm"],
722
- "image/x-rgb": ["rgb"],
723
- "image/x-tga": ["tga"],
724
- "image/x-xbitmap": ["xbm"],
725
- "image/x-xpixmap": ["xpm"],
726
- "image/x-xwindowdump": ["xwd"],
727
- "message/vnd.wfa.wsc": ["wsc"],
728
- "model/vnd.cld": ["cld"],
729
- "model/vnd.collada+xml": ["dae"],
730
- "model/vnd.dwf": ["dwf"],
731
- "model/vnd.gdl": ["gdl"],
732
- "model/vnd.gtw": ["gtw"],
733
- "model/vnd.mts": ["mts"],
734
- "model/vnd.opengex": ["ogex"],
735
- "model/vnd.parasolid.transmit.binary": ["x_b"],
736
- "model/vnd.parasolid.transmit.text": ["x_t"],
737
- "model/vnd.pytha.pyox": ["pyo", "pyox"],
738
- "model/vnd.sap.vds": ["vds"],
739
- "model/vnd.usda": ["usda"],
740
- "model/vnd.usdz+zip": ["usdz"],
741
- "model/vnd.valve.source.compiled-map": ["bsp"],
742
- "model/vnd.vtu": ["vtu"],
743
- "text/prs.lines.tag": ["dsc"],
744
- "text/vnd.curl": ["curl"],
745
- "text/vnd.curl.dcurl": ["dcurl"],
746
- "text/vnd.curl.mcurl": ["mcurl"],
747
- "text/vnd.curl.scurl": ["scurl"],
748
- "text/vnd.dvb.subtitle": ["sub"],
749
- "text/vnd.familysearch.gedcom": ["ged"],
750
- "text/vnd.fly": ["fly"],
751
- "text/vnd.fmi.flexstor": ["flx"],
752
- "text/vnd.graphviz": ["gv"],
753
- "text/vnd.in3d.3dml": ["3dml"],
754
- "text/vnd.in3d.spot": ["spot"],
755
- "text/vnd.sun.j2me.app-descriptor": ["jad"],
756
- "text/vnd.wap.wml": ["wml"],
757
- "text/vnd.wap.wmlscript": ["wmls"],
758
- "text/x-asm": ["s", "asm"],
759
- "text/x-c": [
760
- "c",
761
- "cc",
762
- "cxx",
763
- "cpp",
764
- "h",
765
- "hh",
766
- "dic"
767
- ],
768
- "text/x-component": ["htc"],
769
- "text/x-fortran": [
770
- "f",
771
- "for",
772
- "f77",
773
- "f90"
774
- ],
775
- "text/x-handlebars-template": ["hbs"],
776
- "text/x-java-source": ["java"],
777
- "text/x-lua": ["lua"],
778
- "text/x-markdown": ["mkd"],
779
- "text/x-nfo": ["nfo"],
780
- "text/x-opml": ["opml"],
781
- "text/x-org": ["*org"],
782
- "text/x-pascal": ["p", "pas"],
783
- "text/x-processing": ["pde"],
784
- "text/x-sass": ["sass"],
785
- "text/x-scss": ["scss"],
786
- "text/x-setext": ["etx"],
787
- "text/x-sfv": ["sfv"],
788
- "text/x-suse-ymp": ["ymp"],
789
- "text/x-uuencode": ["uu"],
790
- "text/x-vcalendar": ["vcs"],
791
- "text/x-vcard": ["vcf"],
792
- "video/vnd.dece.hd": ["uvh", "uvvh"],
793
- "video/vnd.dece.mobile": ["uvm", "uvvm"],
794
- "video/vnd.dece.pd": ["uvp", "uvvp"],
795
- "video/vnd.dece.sd": ["uvs", "uvvs"],
796
- "video/vnd.dece.video": ["uvv", "uvvv"],
797
- "video/vnd.dvb.file": ["dvb"],
798
- "video/vnd.fvt": ["fvt"],
799
- "video/vnd.mpegurl": ["mxu", "m4u"],
800
- "video/vnd.ms-playready.media.pyv": ["pyv"],
801
- "video/vnd.uvvu.mp4": ["uvu", "uvvu"],
802
- "video/vnd.vivo": ["viv"],
803
- "video/x-f4v": ["f4v"],
804
- "video/x-fli": ["fli"],
805
- "video/x-flv": ["flv"],
806
- "video/x-m4v": ["m4v"],
807
- "video/x-matroska": [
808
- "mkv",
809
- "mk3d",
810
- "mks"
811
- ],
812
- "video/x-mng": ["mng"],
813
- "video/x-ms-asf": ["asf", "asx"],
814
- "video/x-ms-vob": ["vob"],
815
- "video/x-ms-wm": ["wm"],
816
- "video/x-ms-wmv": ["wmv"],
817
- "video/x-ms-wmx": ["wmx"],
818
- "video/x-ms-wvx": ["wvx"],
819
- "video/x-msvideo": ["avi"],
820
- "video/x-sgi-movie": ["movie"],
821
- "video/x-smv": ["smv"],
822
- "x-conference/x-cooltalk": ["ice"]
823
- };
824
- Object.freeze(types$1);
825
- var types = {
826
- "application/andrew-inset": ["ez"],
827
- "application/appinstaller": ["appinstaller"],
828
- "application/applixware": ["aw"],
829
- "application/appx": ["appx"],
830
- "application/appxbundle": ["appxbundle"],
831
- "application/atom+xml": ["atom"],
832
- "application/atomcat+xml": ["atomcat"],
833
- "application/atomdeleted+xml": ["atomdeleted"],
834
- "application/atomsvc+xml": ["atomsvc"],
835
- "application/atsc-dwd+xml": ["dwd"],
836
- "application/atsc-held+xml": ["held"],
837
- "application/atsc-rsat+xml": ["rsat"],
838
- "application/automationml-aml+xml": ["aml"],
839
- "application/automationml-amlx+zip": ["amlx"],
840
- "application/bdoc": ["bdoc"],
841
- "application/calendar+xml": ["xcs"],
842
- "application/ccxml+xml": ["ccxml"],
843
- "application/cdfx+xml": ["cdfx"],
844
- "application/cdmi-capability": ["cdmia"],
845
- "application/cdmi-container": ["cdmic"],
846
- "application/cdmi-domain": ["cdmid"],
847
- "application/cdmi-object": ["cdmio"],
848
- "application/cdmi-queue": ["cdmiq"],
849
- "application/cpl+xml": ["cpl"],
850
- "application/cu-seeme": ["cu"],
851
- "application/cwl": ["cwl"],
852
- "application/dash+xml": ["mpd"],
853
- "application/dash-patch+xml": ["mpp"],
854
- "application/davmount+xml": ["davmount"],
855
- "application/docbook+xml": ["dbk"],
856
- "application/dssc+der": ["dssc"],
857
- "application/dssc+xml": ["xdssc"],
858
- "application/ecmascript": ["ecma"],
859
- "application/emma+xml": ["emma"],
860
- "application/emotionml+xml": ["emotionml"],
861
- "application/epub+zip": ["epub"],
862
- "application/exi": ["exi"],
863
- "application/express": ["exp"],
864
- "application/fdf": ["fdf"],
865
- "application/fdt+xml": ["fdt"],
866
- "application/font-tdpfr": ["pfr"],
867
- "application/geo+json": ["geojson"],
868
- "application/gml+xml": ["gml"],
869
- "application/gpx+xml": ["gpx"],
870
- "application/gxf": ["gxf"],
871
- "application/gzip": ["gz"],
872
- "application/hjson": ["hjson"],
873
- "application/hyperstudio": ["stk"],
874
- "application/inkml+xml": ["ink", "inkml"],
875
- "application/ipfix": ["ipfix"],
876
- "application/its+xml": ["its"],
877
- "application/java-archive": [
878
- "jar",
879
- "war",
880
- "ear"
881
- ],
882
- "application/java-serialized-object": ["ser"],
883
- "application/java-vm": ["class"],
884
- "application/javascript": ["*js"],
885
- "application/json": ["json", "map"],
886
- "application/json5": ["json5"],
887
- "application/jsonml+json": ["jsonml"],
888
- "application/ld+json": ["jsonld"],
889
- "application/lgr+xml": ["lgr"],
890
- "application/lost+xml": ["lostxml"],
891
- "application/mac-binhex40": ["hqx"],
892
- "application/mac-compactpro": ["cpt"],
893
- "application/mads+xml": ["mads"],
894
- "application/manifest+json": ["webmanifest"],
895
- "application/marc": ["mrc"],
896
- "application/marcxml+xml": ["mrcx"],
897
- "application/mathematica": [
898
- "ma",
899
- "nb",
900
- "mb"
901
- ],
902
- "application/mathml+xml": ["mathml"],
903
- "application/mbox": ["mbox"],
904
- "application/media-policy-dataset+xml": ["mpf"],
905
- "application/mediaservercontrol+xml": ["mscml"],
906
- "application/metalink+xml": ["metalink"],
907
- "application/metalink4+xml": ["meta4"],
908
- "application/mets+xml": ["mets"],
909
- "application/mmt-aei+xml": ["maei"],
910
- "application/mmt-usd+xml": ["musd"],
911
- "application/mods+xml": ["mods"],
912
- "application/mp21": ["m21", "mp21"],
913
- "application/mp4": [
914
- "*mp4",
915
- "*mpg4",
916
- "mp4s",
917
- "m4p"
918
- ],
919
- "application/msix": ["msix"],
920
- "application/msixbundle": ["msixbundle"],
921
- "application/msword": ["doc", "dot"],
922
- "application/mxf": ["mxf"],
923
- "application/n-quads": ["nq"],
924
- "application/n-triples": ["nt"],
925
- "application/node": ["cjs"],
926
- "application/octet-stream": [
927
- "bin",
928
- "dms",
929
- "lrf",
930
- "mar",
931
- "so",
932
- "dist",
933
- "distz",
934
- "pkg",
935
- "bpk",
936
- "dump",
937
- "elc",
938
- "deploy",
939
- "exe",
940
- "dll",
941
- "deb",
942
- "dmg",
943
- "iso",
944
- "img",
945
- "msi",
946
- "msp",
947
- "msm",
948
- "buffer"
949
- ],
950
- "application/oda": ["oda"],
951
- "application/oebps-package+xml": ["opf"],
952
- "application/ogg": ["ogx"],
953
- "application/omdoc+xml": ["omdoc"],
954
- "application/onenote": [
955
- "onetoc",
956
- "onetoc2",
957
- "onetmp",
958
- "onepkg"
959
- ],
960
- "application/oxps": ["oxps"],
961
- "application/p2p-overlay+xml": ["relo"],
962
- "application/patch-ops-error+xml": ["xer"],
963
- "application/pdf": ["pdf"],
964
- "application/pgp-encrypted": ["pgp"],
965
- "application/pgp-keys": ["asc"],
966
- "application/pgp-signature": ["sig", "*asc"],
967
- "application/pics-rules": ["prf"],
968
- "application/pkcs10": ["p10"],
969
- "application/pkcs7-mime": ["p7m", "p7c"],
970
- "application/pkcs7-signature": ["p7s"],
971
- "application/pkcs8": ["p8"],
972
- "application/pkix-attr-cert": ["ac"],
973
- "application/pkix-cert": ["cer"],
974
- "application/pkix-crl": ["crl"],
975
- "application/pkix-pkipath": ["pkipath"],
976
- "application/pkixcmp": ["pki"],
977
- "application/pls+xml": ["pls"],
978
- "application/postscript": [
979
- "ai",
980
- "eps",
981
- "ps"
982
- ],
983
- "application/provenance+xml": ["provx"],
984
- "application/pskc+xml": ["pskcxml"],
985
- "application/raml+yaml": ["raml"],
986
- "application/rdf+xml": ["rdf", "owl"],
987
- "application/reginfo+xml": ["rif"],
988
- "application/relax-ng-compact-syntax": ["rnc"],
989
- "application/resource-lists+xml": ["rl"],
990
- "application/resource-lists-diff+xml": ["rld"],
991
- "application/rls-services+xml": ["rs"],
992
- "application/route-apd+xml": ["rapd"],
993
- "application/route-s-tsid+xml": ["sls"],
994
- "application/route-usd+xml": ["rusd"],
995
- "application/rpki-ghostbusters": ["gbr"],
996
- "application/rpki-manifest": ["mft"],
997
- "application/rpki-roa": ["roa"],
998
- "application/rsd+xml": ["rsd"],
999
- "application/rss+xml": ["rss"],
1000
- "application/rtf": ["rtf"],
1001
- "application/sbml+xml": ["sbml"],
1002
- "application/scvp-cv-request": ["scq"],
1003
- "application/scvp-cv-response": ["scs"],
1004
- "application/scvp-vp-request": ["spq"],
1005
- "application/scvp-vp-response": ["spp"],
1006
- "application/sdp": ["sdp"],
1007
- "application/senml+xml": ["senmlx"],
1008
- "application/sensml+xml": ["sensmlx"],
1009
- "application/set-payment-initiation": ["setpay"],
1010
- "application/set-registration-initiation": ["setreg"],
1011
- "application/shf+xml": ["shf"],
1012
- "application/sieve": ["siv", "sieve"],
1013
- "application/smil+xml": ["smi", "smil"],
1014
- "application/sparql-query": ["rq"],
1015
- "application/sparql-results+xml": ["srx"],
1016
- "application/sql": ["sql"],
1017
- "application/srgs": ["gram"],
1018
- "application/srgs+xml": ["grxml"],
1019
- "application/sru+xml": ["sru"],
1020
- "application/ssdl+xml": ["ssdl"],
1021
- "application/ssml+xml": ["ssml"],
1022
- "application/swid+xml": ["swidtag"],
1023
- "application/tei+xml": ["tei", "teicorpus"],
1024
- "application/thraud+xml": ["tfi"],
1025
- "application/timestamped-data": ["tsd"],
1026
- "application/toml": ["toml"],
1027
- "application/trig": ["trig"],
1028
- "application/ttml+xml": ["ttml"],
1029
- "application/ubjson": ["ubj"],
1030
- "application/urc-ressheet+xml": ["rsheet"],
1031
- "application/urc-targetdesc+xml": ["td"],
1032
- "application/voicexml+xml": ["vxml"],
1033
- "application/wasm": ["wasm"],
1034
- "application/watcherinfo+xml": ["wif"],
1035
- "application/widget": ["wgt"],
1036
- "application/winhlp": ["hlp"],
1037
- "application/wsdl+xml": ["wsdl"],
1038
- "application/wspolicy+xml": ["wspolicy"],
1039
- "application/xaml+xml": ["xaml"],
1040
- "application/xcap-att+xml": ["xav"],
1041
- "application/xcap-caps+xml": ["xca"],
1042
- "application/xcap-diff+xml": ["xdf"],
1043
- "application/xcap-el+xml": ["xel"],
1044
- "application/xcap-ns+xml": ["xns"],
1045
- "application/xenc+xml": ["xenc"],
1046
- "application/xfdf": ["xfdf"],
1047
- "application/xhtml+xml": ["xhtml", "xht"],
1048
- "application/xliff+xml": ["xlf"],
1049
- "application/xml": [
1050
- "xml",
1051
- "xsl",
1052
- "xsd",
1053
- "rng"
1054
- ],
1055
- "application/xml-dtd": ["dtd"],
1056
- "application/xop+xml": ["xop"],
1057
- "application/xproc+xml": ["xpl"],
1058
- "application/xslt+xml": ["*xsl", "xslt"],
1059
- "application/xspf+xml": ["xspf"],
1060
- "application/xv+xml": [
1061
- "mxml",
1062
- "xhvml",
1063
- "xvml",
1064
- "xvm"
1065
- ],
1066
- "application/yang": ["yang"],
1067
- "application/yin+xml": ["yin"],
1068
- "application/zip": ["zip"],
1069
- "audio/3gpp": ["*3gpp"],
1070
- "audio/aac": ["adts", "aac"],
1071
- "audio/adpcm": ["adp"],
1072
- "audio/amr": ["amr"],
1073
- "audio/basic": ["au", "snd"],
1074
- "audio/midi": [
1075
- "mid",
1076
- "midi",
1077
- "kar",
1078
- "rmi"
1079
- ],
1080
- "audio/mobile-xmf": ["mxmf"],
1081
- "audio/mp3": ["*mp3"],
1082
- "audio/mp4": ["m4a", "mp4a"],
1083
- "audio/mpeg": [
1084
- "mpga",
1085
- "mp2",
1086
- "mp2a",
1087
- "mp3",
1088
- "m2a",
1089
- "m3a"
1090
- ],
1091
- "audio/ogg": [
1092
- "oga",
1093
- "ogg",
1094
- "spx",
1095
- "opus"
1096
- ],
1097
- "audio/s3m": ["s3m"],
1098
- "audio/silk": ["sil"],
1099
- "audio/wav": ["wav"],
1100
- "audio/wave": ["*wav"],
1101
- "audio/webm": ["weba"],
1102
- "audio/xm": ["xm"],
1103
- "font/collection": ["ttc"],
1104
- "font/otf": ["otf"],
1105
- "font/ttf": ["ttf"],
1106
- "font/woff": ["woff"],
1107
- "font/woff2": ["woff2"],
1108
- "image/aces": ["exr"],
1109
- "image/apng": ["apng"],
1110
- "image/avci": ["avci"],
1111
- "image/avcs": ["avcs"],
1112
- "image/avif": ["avif"],
1113
- "image/bmp": ["bmp", "dib"],
1114
- "image/cgm": ["cgm"],
1115
- "image/dicom-rle": ["drle"],
1116
- "image/dpx": ["dpx"],
1117
- "image/emf": ["emf"],
1118
- "image/fits": ["fits"],
1119
- "image/g3fax": ["g3"],
1120
- "image/gif": ["gif"],
1121
- "image/heic": ["heic"],
1122
- "image/heic-sequence": ["heics"],
1123
- "image/heif": ["heif"],
1124
- "image/heif-sequence": ["heifs"],
1125
- "image/hej2k": ["hej2"],
1126
- "image/hsj2": ["hsj2"],
1127
- "image/ief": ["ief"],
1128
- "image/jls": ["jls"],
1129
- "image/jp2": ["jp2", "jpg2"],
1130
- "image/jpeg": [
1131
- "jpeg",
1132
- "jpg",
1133
- "jpe"
1134
- ],
1135
- "image/jph": ["jph"],
1136
- "image/jphc": ["jhc"],
1137
- "image/jpm": ["jpm", "jpgm"],
1138
- "image/jpx": ["jpx", "jpf"],
1139
- "image/jxr": ["jxr"],
1140
- "image/jxra": ["jxra"],
1141
- "image/jxrs": ["jxrs"],
1142
- "image/jxs": ["jxs"],
1143
- "image/jxsc": ["jxsc"],
1144
- "image/jxsi": ["jxsi"],
1145
- "image/jxss": ["jxss"],
1146
- "image/ktx": ["ktx"],
1147
- "image/ktx2": ["ktx2"],
1148
- "image/png": ["png"],
1149
- "image/sgi": ["sgi"],
1150
- "image/svg+xml": ["svg", "svgz"],
1151
- "image/t38": ["t38"],
1152
- "image/tiff": ["tif", "tiff"],
1153
- "image/tiff-fx": ["tfx"],
1154
- "image/webp": ["webp"],
1155
- "image/wmf": ["wmf"],
1156
- "message/disposition-notification": ["disposition-notification"],
1157
- "message/global": ["u8msg"],
1158
- "message/global-delivery-status": ["u8dsn"],
1159
- "message/global-disposition-notification": ["u8mdn"],
1160
- "message/global-headers": ["u8hdr"],
1161
- "message/rfc822": ["eml", "mime"],
1162
- "model/3mf": ["3mf"],
1163
- "model/gltf+json": ["gltf"],
1164
- "model/gltf-binary": ["glb"],
1165
- "model/iges": ["igs", "iges"],
1166
- "model/jt": ["jt"],
1167
- "model/mesh": [
1168
- "msh",
1169
- "mesh",
1170
- "silo"
1171
- ],
1172
- "model/mtl": ["mtl"],
1173
- "model/obj": ["obj"],
1174
- "model/prc": ["prc"],
1175
- "model/step+xml": ["stpx"],
1176
- "model/step+zip": ["stpz"],
1177
- "model/step-xml+zip": ["stpxz"],
1178
- "model/stl": ["stl"],
1179
- "model/u3d": ["u3d"],
1180
- "model/vrml": ["wrl", "vrml"],
1181
- "model/x3d+binary": ["*x3db", "x3dbz"],
1182
- "model/x3d+fastinfoset": ["x3db"],
1183
- "model/x3d+vrml": ["*x3dv", "x3dvz"],
1184
- "model/x3d+xml": ["x3d", "x3dz"],
1185
- "model/x3d-vrml": ["x3dv"],
1186
- "text/cache-manifest": ["appcache", "manifest"],
1187
- "text/calendar": ["ics", "ifb"],
1188
- "text/coffeescript": ["coffee", "litcoffee"],
1189
- "text/css": ["css"],
1190
- "text/csv": ["csv"],
1191
- "text/html": [
1192
- "html",
1193
- "htm",
1194
- "shtml"
1195
- ],
1196
- "text/jade": ["jade"],
1197
- "text/javascript": ["js", "mjs"],
1198
- "text/jsx": ["jsx"],
1199
- "text/less": ["less"],
1200
- "text/markdown": ["md", "markdown"],
1201
- "text/mathml": ["mml"],
1202
- "text/mdx": ["mdx"],
1203
- "text/n3": ["n3"],
1204
- "text/plain": [
1205
- "txt",
1206
- "text",
1207
- "conf",
1208
- "def",
1209
- "list",
1210
- "log",
1211
- "in",
1212
- "ini"
1213
- ],
1214
- "text/richtext": ["rtx"],
1215
- "text/rtf": ["*rtf"],
1216
- "text/sgml": ["sgml", "sgm"],
1217
- "text/shex": ["shex"],
1218
- "text/slim": ["slim", "slm"],
1219
- "text/spdx": ["spdx"],
1220
- "text/stylus": ["stylus", "styl"],
1221
- "text/tab-separated-values": ["tsv"],
1222
- "text/troff": [
1223
- "t",
1224
- "tr",
1225
- "roff",
1226
- "man",
1227
- "me",
1228
- "ms"
1229
- ],
1230
- "text/turtle": ["ttl"],
1231
- "text/uri-list": [
1232
- "uri",
1233
- "uris",
1234
- "urls"
1235
- ],
1236
- "text/vcard": ["vcard"],
1237
- "text/vtt": ["vtt"],
1238
- "text/wgsl": ["wgsl"],
1239
- "text/xml": ["*xml"],
1240
- "text/yaml": ["yaml", "yml"],
1241
- "video/3gpp": ["3gp", "3gpp"],
1242
- "video/3gpp2": ["3g2"],
1243
- "video/h261": ["h261"],
1244
- "video/h263": ["h263"],
1245
- "video/h264": ["h264"],
1246
- "video/iso.segment": ["m4s"],
1247
- "video/jpeg": ["jpgv"],
1248
- "video/jpm": ["*jpm", "*jpgm"],
1249
- "video/mj2": ["mj2", "mjp2"],
1250
- "video/mp2t": ["ts"],
1251
- "video/mp4": [
1252
- "mp4",
1253
- "mp4v",
1254
- "mpg4"
1255
- ],
1256
- "video/mpeg": [
1257
- "mpeg",
1258
- "mpg",
1259
- "mpe",
1260
- "m1v",
1261
- "m2v"
1262
- ],
1263
- "video/ogg": ["ogv"],
1264
- "video/quicktime": ["qt", "mov"],
1265
- "video/webm": ["webm"]
1266
- };
1267
- Object.freeze(types);
1268
- var __classPrivateFieldGet = function(receiver, state, kind, f) {
1269
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
1270
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
1271
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
1272
- };
1273
- var _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;
1274
- var Mime = class {
1275
- constructor(...args) {
1276
- _Mime_extensionToType.set(this, /* @__PURE__ */ new Map());
1277
- _Mime_typeToExtension.set(this, /* @__PURE__ */ new Map());
1278
- _Mime_typeToExtensions.set(this, /* @__PURE__ */ new Map());
1279
- for (const arg of args) this.define(arg);
1280
- }
1281
- define(typeMap, force = false) {
1282
- for (let [type, extensions] of Object.entries(typeMap)) {
1283
- type = type.toLowerCase();
1284
- extensions = extensions.map((ext) => ext.toLowerCase());
1285
- if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, "f").has(type)) __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").set(type, /* @__PURE__ */ new Set());
1286
- const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").get(type);
1287
- let first = true;
1288
- for (let extension of extensions) {
1289
- const starred = extension.startsWith("*");
1290
- extension = starred ? extension.slice(1) : extension;
1291
- allExtensions?.add(extension);
1292
- if (first) __classPrivateFieldGet(this, _Mime_typeToExtension, "f").set(type, extension);
1293
- first = false;
1294
- if (starred) continue;
1295
- const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, "f").get(extension);
1296
- if (currentType && currentType != type && !force) throw new Error(`"${type} -> ${extension}" conflicts with "${currentType} -> ${extension}". Pass \`force=true\` to override this definition.`);
1297
- __classPrivateFieldGet(this, _Mime_extensionToType, "f").set(extension, type);
1298
- }
1299
- }
1300
- return this;
1301
- }
1302
- getType(path) {
1303
- if (typeof path !== "string") return null;
1304
- const last = path.replace(/^.*[/\\]/, "").toLowerCase();
1305
- const ext = last.replace(/^.*\./, "").toLowerCase();
1306
- const hasPath = last.length < path.length;
1307
- if (!(ext.length < last.length - 1) && hasPath) return null;
1308
- return __classPrivateFieldGet(this, _Mime_extensionToType, "f").get(ext) ?? null;
1309
- }
1310
- getExtension(type) {
1311
- if (typeof type !== "string") return null;
1312
- type = type?.split?.(";")[0];
1313
- return (type && __classPrivateFieldGet(this, _Mime_typeToExtension, "f").get(type.trim().toLowerCase())) ?? null;
1314
- }
1315
- getAllExtensions(type) {
1316
- if (typeof type !== "string") return null;
1317
- return __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").get(type.toLowerCase()) ?? null;
1318
- }
1319
- _freeze() {
1320
- this.define = () => {
1321
- throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances");
1322
- };
1323
- Object.freeze(this);
1324
- for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").values()) Object.freeze(extensions);
1325
- return this;
1326
- }
1327
- _getTestState() {
1328
- return {
1329
- types: __classPrivateFieldGet(this, _Mime_extensionToType, "f"),
1330
- extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, "f")
1331
- };
1332
- }
1333
- };
1334
- _Mime_extensionToType = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtension = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtensions = /* @__PURE__ */ new WeakMap();
1335
- new Mime(types, types$1)._freeze();
1336
- /**
1337
- * Compression formats registry
1338
- * Add new formats here to support additional compression types
1339
- */
1340
- var COMPRESSION_FORMATS = {
1341
- zip: {
1342
- format: "zip",
1343
- fileExtension: ".zip",
1344
- mimeType: "application/zip"
1345
- },
1346
- "tar.br": {
1347
- format: "tar.br",
1348
- fileExtension: ".tar.br",
1349
- mimeType: "application/x-tar"
1350
- },
1351
- "tar.gz": {
1352
- format: "tar.gz",
1353
- fileExtension: ".tar.gz",
1354
- mimeType: "application/x-tar"
1355
- }
1356
- };
1357
- /**
1358
- * Detects compression format from filename
1359
- * @param filename The filename to detect format from
1360
- * @returns Compression format information
1361
- */
1362
- function detectCompressionFormat(filename) {
1363
- for (const info of Object.values(COMPRESSION_FORMATS)) if (filename.endsWith(info.fileExtension)) return info;
1364
- return COMPRESSION_FORMATS.zip;
1365
- }
1366
- var LEGACY_BUNDLE_ERROR = "This OTA bundle was created by a version that does not support manifest.json. Copy bundle is not available.";
1367
- var SIGNED_HASH_PREFIX = "sig:";
1368
- function isSignedFileHash(fileHash) {
1369
- return fileHash.startsWith(SIGNED_HASH_PREFIX);
1370
- }
1371
- async function getFileHash(filepath) {
1372
- const file = await fs.readFile(filepath);
1373
- return crypto.createHash("sha256").update(file).digest("hex");
1374
- }
1375
- async function signFileHash(fileHash, privateKeyPath) {
1376
- const privateKeyPEM = await fs.readFile(privateKeyPath, "utf8");
1377
- const sign = crypto.createSign("RSA-SHA256");
1378
- sign.update(Buffer.from(fileHash, "hex"));
1379
- sign.end();
1380
- return `${SIGNED_HASH_PREFIX}${sign.sign(privateKeyPEM).toString("base64")}`;
1381
- }
1382
- function getArchiveFilename(storageUri) {
1383
- const { pathname } = new URL(storageUri);
1384
- return path.basename(pathname) || "bundle.zip";
1385
- }
1386
- function resolveExtractedPath(rootDir, entryName) {
1387
- const normalizedEntryName = entryName.replaceAll("\\", "/");
1388
- const entryPath = path.resolve(rootDir, normalizedEntryName);
1389
- const relativePath = path.relative(rootDir, entryPath);
1390
- if (relativePath.startsWith("..") || path.isAbsolute(relativePath) || normalizedEntryName.startsWith("/")) throw new Error(`Invalid archive entry path: ${entryName}`);
1391
- return entryPath;
1392
- }
1393
- async function downloadArchive(fileUrl, archivePath) {
1394
- const response = await fetch(fileUrl);
1395
- if (!response.ok) throw new Error(`Failed to download bundle archive: ${response.statusText}`);
1396
- const archiveBuffer = Buffer.from(await response.arrayBuffer());
1397
- await fs.writeFile(archivePath, archiveBuffer);
1398
- }
1399
- async function extractZipArchive(archivePath, extractDir) {
1400
- const zip = await import_lib.default.loadAsync(await fs.readFile(archivePath));
1401
- const entries = Object.values(zip.files).sort((left, right) => left.name.localeCompare(right.name));
1402
- for (const entry of entries) {
1403
- const outputPath = resolveExtractedPath(extractDir, entry.name);
1404
- if (entry.dir) {
1405
- await fs.mkdir(outputPath, { recursive: true });
1406
- continue;
1407
- }
1408
- await fs.mkdir(path.dirname(outputPath), { recursive: true });
1409
- await fs.writeFile(outputPath, await entry.async("nodebuffer"));
1410
- }
1411
- }
1412
- async function extractTarBrArchive(archivePath, extractDir) {
1413
- const tarPath = path.join(extractDir, "bundle.tar");
1414
- const tarBuffer = brotliDecompressSync(await fs.readFile(archivePath));
1415
- await fs.writeFile(tarPath, tarBuffer);
1416
- try {
1417
- await extract({
1418
- file: tarPath,
1419
- cwd: extractDir,
1420
- gzip: false,
1421
- strict: true
1422
- });
1423
- } finally {
1424
- await fs.rm(tarPath, { force: true });
1425
- }
1426
- }
1427
- async function extractArchive(archivePath, extractDir) {
1428
- const { format } = detectCompressionFormat(path.basename(archivePath));
1429
- switch (format) {
1430
- case "zip":
1431
- await extractZipArchive(archivePath, extractDir);
1432
- return format;
1433
- case "tar.gz":
1434
- await extract({
1435
- file: archivePath,
1436
- cwd: extractDir,
1437
- gzip: true,
1438
- strict: true
1439
- });
1440
- return format;
1441
- case "tar.br":
1442
- await extractTarBrArchive(archivePath, extractDir);
1443
- return format;
1444
- }
1445
- }
1446
- async function getArchiveTargetFiles(bundleDir) {
1447
- const entries = await fs.readdir(bundleDir, { withFileTypes: true });
1448
- entries.sort((left, right) => left.name.localeCompare(right.name));
1449
- return entries.map((entry) => ({
1450
- path: path.join(bundleDir, entry.name),
1451
- name: entry.name
1452
- }));
1453
- }
1454
- async function createArchiveFromDirectory(sourceDir, archivePath, format) {
1455
- const targetFiles = await getArchiveTargetFiles(sourceDir);
1456
- switch (format) {
1457
- case "zip":
1458
- await createZipTargetFiles({
1459
- outfile: archivePath,
1460
- targetFiles
1461
- });
1462
- return;
1463
- case "tar.gz":
1464
- await createTarGzTargetFiles({
1465
- outfile: archivePath,
1466
- targetFiles
1467
- });
1468
- return;
1469
- case "tar.br":
1470
- await createTarBrTargetFiles({
1471
- outfile: archivePath,
1472
- targetFiles
1473
- });
1474
- return;
1475
- }
1476
- }
1477
- async function rewriteManifestBundleId(extractDir, nextBundleId) {
1478
- const manifestPath = path.join(extractDir, "manifest.json");
1479
- try {
1480
- await fs.access(manifestPath);
1481
- } catch {
1482
- throw new Error(LEGACY_BUNDLE_ERROR);
1483
- }
1484
- const manifest = JSON.parse(await fs.readFile(manifestPath, "utf8"));
1485
- manifest.bundleId = nextBundleId;
1486
- await fs.writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`);
1487
- }
1488
- async function resolveBundleDownloadUrl(storageUri, storagePlugin) {
1489
- const protocol = new URL(storageUri).protocol.replace(":", "");
1490
- if (protocol === "http" || protocol === "https") return storageUri;
1491
- if (!storagePlugin) throw new Error("Storage plugin is not configured");
1492
- if (storagePlugin.supportedProtocol !== protocol) throw new Error(`No storage plugin for protocol: ${protocol}`);
1493
- const { fileUrl } = await storagePlugin.getDownloadUrl(storageUri);
1494
- if (!fileUrl) throw new Error("Storage plugin returned empty fileUrl");
1495
- return fileUrl;
1496
- }
1497
- async function createCopiedBundleArchive({ bundle, config, nextBundleId, storagePlugin, targetChannel }) {
1498
- const downloadUrl = await resolveBundleDownloadUrl(bundle.storageUri, storagePlugin);
1499
- const archiveFilename = getArchiveFilename(bundle.storageUri);
1500
- const workDir = await fs.mkdtemp(path.join(os.tmpdir(), "hot-updater-console-promote-"));
1501
- const sourceArchivePath = path.join(workDir, archiveFilename);
1502
- const extractDir = path.join(workDir, "bundle");
1503
- const outputArchivePath = path.join(workDir, archiveFilename);
1504
- await fs.mkdir(extractDir, { recursive: true });
1505
- try {
1506
- await downloadArchive(downloadUrl, sourceArchivePath);
1507
- const format = await extractArchive(sourceArchivePath, extractDir);
1508
- await rewriteManifestBundleId(extractDir, nextBundleId);
1509
- await fs.rm(sourceArchivePath, { force: true });
1510
- await createArchiveFromDirectory(extractDir, outputArchivePath, format);
1511
- const fileHash = await getFileHash(outputArchivePath);
1512
- if (isSignedFileHash(bundle.fileHash) && !config.signing?.enabled) throw new Error("Cannot copy a signed bundle without signing.privateKeyPath in hot-updater.config.ts");
1513
- const nextFileHash = config.signing?.enabled && config.signing.privateKeyPath ? await signFileHash(fileHash, config.signing.privateKeyPath) : fileHash;
1514
- const { storageUri } = await storagePlugin.upload(nextBundleId, outputArchivePath);
1515
- return {
1516
- ...bundle,
1517
- id: nextBundleId,
1518
- channel: targetChannel,
1519
- storageUri,
1520
- fileHash: nextFileHash
1521
- };
1522
- } finally {
1523
- await fs.rm(workDir, {
1524
- recursive: true,
1525
- force: true
1526
- });
1527
- }
1528
- }
1529
- async function deleteUploadedCopy(storagePlugin, storageUri) {
1530
- if (!storageUri) return;
1531
- try {
1532
- await storagePlugin.delete(storageUri);
1533
- } catch (error) {
1534
- console.error("Failed to delete uploaded bundle copy:", error);
1535
- }
1536
- }
1537
- async function promoteBundle({ action, bundleId, nextBundleId, targetChannel }, deps) {
1538
- const normalizedTargetChannel = targetChannel.trim();
1539
- if (!normalizedTargetChannel) throw new Error("Target channel is required");
1540
- const bundle = await deps.databasePlugin.getBundleById(bundleId);
1541
- if (!bundle) throw new Error("Bundle not found");
1542
- if (bundle.channel === normalizedTargetChannel) throw new Error("Target channel must be different from the current channel");
1543
- if (action === "move") {
1544
- await deps.databasePlugin.updateBundle(bundleId, { channel: normalizedTargetChannel });
1545
- await deps.databasePlugin.commitBundle();
1546
- const updatedBundle = await deps.databasePlugin.getBundleById(bundleId);
1547
- if (!updatedBundle) throw new Error("Promoted bundle not found");
1548
- return updatedBundle;
1549
- }
1550
- if (!deps.storagePlugin) throw new Error("Storage plugin is not configured");
1551
- const resolvedNextBundleId = nextBundleId?.trim() || createUUIDv7();
1552
- const copiedBundle = await createCopiedBundleArchive({
1553
- bundle,
1554
- config: deps.config,
1555
- nextBundleId: resolvedNextBundleId,
1556
- storagePlugin: deps.storagePlugin,
1557
- targetChannel: normalizedTargetChannel
1558
- });
1559
- let uploadedStorageUri = copiedBundle.storageUri;
1560
- try {
1561
- await deps.databasePlugin.appendBundle(copiedBundle);
1562
- await deps.databasePlugin.commitBundle();
1563
- uploadedStorageUri = null;
1564
- return copiedBundle;
1565
- } catch (error) {
1566
- await deleteUploadedCopy(deps.storagePlugin, uploadedStorageUri);
1567
- throw error;
1568
- }
1569
- }
1570
- //#endregion
1571
- export { promoteBundle };