hfs 3.1.5 → 3.2.0-alpha1.1

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 (220) hide show
  1. package/admin/assets/af-RjyQ-neT.js +1 -0
  2. package/admin/assets/am-PptHpglb.js +1 -0
  3. package/admin/assets/ar-Du3syDxa.js +1 -0
  4. package/admin/assets/ar-dz-CiziRh1x.js +1 -0
  5. package/admin/assets/ar-iq-hCKg0CRP.js +1 -0
  6. package/admin/assets/ar-kw-COYePt-p.js +1 -0
  7. package/admin/assets/ar-ly-CY5yETqb.js +1 -0
  8. package/admin/assets/ar-ma-DczXi97r.js +1 -0
  9. package/admin/assets/ar-sa-Bu7sTKzl.js +1 -0
  10. package/admin/assets/ar-tn-BrG0r6qZ.js +1 -0
  11. package/admin/assets/az-DYRCrdk0.js +1 -0
  12. package/admin/assets/be-DObSs5HX.js +1 -0
  13. package/admin/assets/bg-BDBkMe50.js +1 -0
  14. package/admin/assets/bi-CApXFwc6.js +1 -0
  15. package/admin/assets/bm-CjxCV8Lr.js +1 -0
  16. package/admin/assets/bn-DzWZbDi3.js +1 -0
  17. package/admin/assets/bn-bd-ijdPRJbb.js +1 -0
  18. package/admin/assets/bo-BDDfj5XH.js +1 -0
  19. package/admin/assets/br-DRHEjait.js +1 -0
  20. package/admin/assets/bs-B0Zv2Agm.js +1 -0
  21. package/admin/assets/ca-DuZAUqU_.js +1 -0
  22. package/admin/assets/cs-DVkylosR.js +1 -0
  23. package/admin/assets/cv-8Is1Fns9.js +1 -0
  24. package/admin/assets/cy-Bk30Or_y.js +1 -0
  25. package/admin/assets/da-C41DIdZK.js +1 -0
  26. package/admin/assets/de--qvLJgIE.js +1 -0
  27. package/admin/assets/de-at-D5vCBlsw.js +1 -0
  28. package/admin/assets/de-ch-Oh2cO23c.js +1 -0
  29. package/admin/assets/dv-4ZO2KNbw.js +1 -0
  30. package/admin/assets/el-CobOUqyu.js +1 -0
  31. package/admin/assets/en-C9afClpS.js +1 -0
  32. package/admin/assets/en-au-C_QMghEl.js +1 -0
  33. package/admin/assets/en-ca-C80KILwc.js +1 -0
  34. package/admin/assets/en-gb-BwQ0asAI.js +1 -0
  35. package/admin/assets/en-ie-ConCcQkq.js +1 -0
  36. package/admin/assets/en-il-CAOzD4DD.js +1 -0
  37. package/admin/assets/en-in-87gardaO.js +1 -0
  38. package/admin/assets/en-nz-uMTjgkDP.js +1 -0
  39. package/admin/assets/en-sg-BlbiLv4L.js +1 -0
  40. package/admin/assets/en-tt-BXXmBax2.js +1 -0
  41. package/admin/assets/eo-BBL7o-0W.js +1 -0
  42. package/admin/assets/es-DuNej-79.js +1 -0
  43. package/admin/assets/es-do-bZWKFwTE.js +1 -0
  44. package/admin/assets/es-mx-C2Lfb86F.js +1 -0
  45. package/admin/assets/es-pr-wU3Du8m-.js +1 -0
  46. package/admin/assets/es-us-qcU-zRiw.js +1 -0
  47. package/admin/assets/et-B-4PjN_n.js +1 -0
  48. package/admin/assets/eu-D0pNDZ9i.js +1 -0
  49. package/admin/assets/fa-R_zmYBGc.js +1 -0
  50. package/admin/assets/fi-CWYS_0Hg.js +1 -0
  51. package/admin/assets/fo-aJYpcnWS.js +1 -0
  52. package/admin/assets/fr-BHFrWfwB.js +1 -0
  53. package/admin/assets/fr-ca-ihwmO47n.js +1 -0
  54. package/admin/assets/fr-ch-Cb8XbRfE.js +1 -0
  55. package/admin/assets/fy-DT9BUc6t.js +1 -0
  56. package/admin/assets/ga-B8p4naXJ.js +1 -0
  57. package/admin/assets/gd-Dzrl6rPc.js +1 -0
  58. package/admin/assets/gl-bN2tXl9d.js +1 -0
  59. package/admin/assets/gom-latn-DUK8PgIJ.js +1 -0
  60. package/admin/assets/gu-CxAIP8fw.js +1 -0
  61. package/admin/assets/he-Bm9XJVAj.js +1 -0
  62. package/admin/assets/hi-CHik9Qxx.js +1 -0
  63. package/admin/assets/hr-Dn57_dqN.js +1 -0
  64. package/admin/assets/ht-BRS-FrJq.js +1 -0
  65. package/admin/assets/hu-hVaGcZ-U.js +1 -0
  66. package/admin/assets/hy-am-heLxXhpz.js +1 -0
  67. package/admin/assets/id-B6AkO4h8.js +1 -0
  68. package/admin/assets/{index-DTxjaflW.js → index-Buyl8rI8.js} +1 -1
  69. package/admin/assets/index-CFWd-FDo.css +1 -0
  70. package/admin/assets/index-WXxQwyJV.js +889 -0
  71. package/admin/assets/is-BUADPoni.js +1 -0
  72. package/admin/assets/it-Ce3gssOP.js +1 -0
  73. package/admin/assets/it-ch-CJzj2czr.js +1 -0
  74. package/admin/assets/ja-DykMIu-9.js +1 -0
  75. package/admin/assets/jv-Cum6DLwa.js +1 -0
  76. package/admin/assets/ka-foCPVFxw.js +1 -0
  77. package/admin/assets/kk-CMNu1ysC.js +1 -0
  78. package/admin/assets/km-BfMisGaD.js +1 -0
  79. package/admin/assets/kn-R_9S5KJz.js +1 -0
  80. package/admin/assets/ko-DYRND-mM.js +1 -0
  81. package/admin/assets/ku-CNZ_weGy.js +1 -0
  82. package/admin/assets/ky-BhTAWL4I.js +1 -0
  83. package/admin/assets/lb-CxWhQxwF.js +1 -0
  84. package/admin/assets/lo-DBL_XLkE.js +1 -0
  85. package/admin/assets/lt-BakZVm4p.js +1 -0
  86. package/admin/assets/lv-CCn-slXG.js +1 -0
  87. package/admin/assets/me-xPEA4qjE.js +1 -0
  88. package/admin/assets/mi-6cCs2Mzx.js +1 -0
  89. package/admin/assets/mk-CwWbHJPS.js +1 -0
  90. package/admin/assets/ml-Dp7Ab1SV.js +1 -0
  91. package/admin/assets/mn-ClotGWAe.js +1 -0
  92. package/admin/assets/mr-GiM-paTF.js +1 -0
  93. package/admin/assets/ms-BiZ1_eVR.js +1 -0
  94. package/admin/assets/ms-my-oevI0fOH.js +1 -0
  95. package/admin/assets/mt-BaIHeOl1.js +1 -0
  96. package/admin/assets/my-Cg5Fc_1j.js +1 -0
  97. package/admin/assets/nb-ZPODjT6R.js +1 -0
  98. package/admin/assets/ne-C0ti-ZX2.js +1 -0
  99. package/admin/assets/nl-DP2PkkGx.js +1 -0
  100. package/admin/assets/nl-be-VPC0QyaW.js +1 -0
  101. package/admin/assets/nn-NLidKyJd.js +1 -0
  102. package/admin/assets/oc-lnc-Ddj9_PnD.js +1 -0
  103. package/admin/assets/pa-in-DSAWffhb.js +1 -0
  104. package/admin/assets/pl-Yojex5aS.js +1 -0
  105. package/admin/assets/pt-BQMs2la2.js +1 -0
  106. package/admin/assets/pt-br-DVeeNZu8.js +1 -0
  107. package/admin/assets/rn-CKkTrK3f.js +1 -0
  108. package/admin/assets/ro-BbgGULSZ.js +1 -0
  109. package/admin/assets/ru-mAZX3DTa.js +1 -0
  110. package/admin/assets/rw-CYErOxKd.js +1 -0
  111. package/admin/assets/sd-kfPTqkSy.js +1 -0
  112. package/admin/assets/se-D0bN3rDS.js +1 -0
  113. package/admin/assets/{sha512-D936QW8l.js → sha512-99nhg44S.js} +1 -1
  114. package/admin/assets/si-COjb_4Hy.js +1 -0
  115. package/admin/assets/sk-Co95XNOo.js +1 -0
  116. package/admin/assets/sl-DUXa5wTF.js +1 -0
  117. package/admin/assets/sq-B-KU0nWK.js +1 -0
  118. package/admin/assets/sr-Cb_b-zPG.js +1 -0
  119. package/admin/assets/sr-cyrl-csuTDIB6.js +1 -0
  120. package/admin/assets/ss-BDnE-cG6.js +1 -0
  121. package/admin/assets/sv-CzWdOHcE.js +1 -0
  122. package/admin/assets/sv-fi-IK8oi5nB.js +1 -0
  123. package/admin/assets/sw-fPHo5hof.js +1 -0
  124. package/admin/assets/ta-TteN0nyU.js +1 -0
  125. package/admin/assets/te-2gsQb1fF.js +1 -0
  126. package/admin/assets/tet-ClTpDYJv.js +1 -0
  127. package/admin/assets/tg-Bel7Uc6z.js +1 -0
  128. package/admin/assets/th-pDQttM9V.js +1 -0
  129. package/admin/assets/tk-CxoKYZH6.js +1 -0
  130. package/admin/assets/tl-ph-D9htRcOQ.js +1 -0
  131. package/admin/assets/tlh-7UqvDBxU.js +1 -0
  132. package/admin/assets/tr-NjJrq1iC.js +1 -0
  133. package/admin/assets/tzl-CzGaXn8M.js +1 -0
  134. package/admin/assets/tzm-BiuscZFr.js +1 -0
  135. package/admin/assets/tzm-latn-IeWkCgWf.js +1 -0
  136. package/admin/assets/ug-cn-5LK64x5v.js +1 -0
  137. package/admin/assets/uk-CzacUaQe.js +1 -0
  138. package/admin/assets/ur-BRV7z4Gu.js +1 -0
  139. package/admin/assets/uz-C4G77QOI.js +1 -0
  140. package/admin/assets/uz-latn-CQFrzZ6F.js +1 -0
  141. package/admin/assets/vi-DEFXdlJi.js +1 -0
  142. package/admin/assets/x-pseudo-sWj5RKxR.js +1 -0
  143. package/admin/assets/yo-CBDjk96e.js +1 -0
  144. package/admin/assets/zh-CQtX_fkD.js +1 -0
  145. package/admin/assets/zh-cn-D6dF0jKM.js +1 -0
  146. package/admin/assets/zh-hk-DY-Jaqdg.js +1 -0
  147. package/admin/assets/zh-tw-BdmVby0R.js +1 -0
  148. package/admin/index.html +2 -2
  149. package/frontend/assets/index-legacy-BtoTkZho.js +9 -0
  150. package/frontend/assets/{index-legacy-vmpqwZZf.js → index-legacy-CQovmh_0.js} +1 -1
  151. package/frontend/assets/{sha512-legacy-wI89-UHR.js → sha512-legacy-CXU3efCO.js} +1 -1
  152. package/frontend/index.html +1 -1
  153. package/npm-shrinkwrap.json +160 -131
  154. package/package.json +10 -10
  155. package/plugins/antibrute/plugin.js +150 -19
  156. package/plugins/list-uploader/public/main.js +1 -1
  157. package/src/acme.js +11 -7
  158. package/src/api.accounts.js +3 -3
  159. package/src/api.auth.js +3 -1
  160. package/src/api.get_file_list.js +16 -12
  161. package/src/api.monitor.js +47 -43
  162. package/src/api.net.js +4 -3
  163. package/src/api.vfs.js +1 -1
  164. package/src/commands.js +54 -1
  165. package/src/config.js +9 -5
  166. package/src/consoleLog.js +39 -1
  167. package/src/const.js +5 -1
  168. package/src/cross.js +22 -1
  169. package/src/errorPages.js +20 -10
  170. package/src/events.js +1 -0
  171. package/src/fileAttr.js +73 -15
  172. package/src/frontEndApis.js +3 -1
  173. package/src/index.js +2 -1
  174. package/src/langs/hfs-lang-ar.json +2 -1
  175. package/src/langs/hfs-lang-bg.json +2 -1
  176. package/src/langs/hfs-lang-de.json +2 -1
  177. package/src/langs/hfs-lang-el.json +2 -1
  178. package/src/langs/hfs-lang-es.json +2 -1
  179. package/src/langs/hfs-lang-fi.json +2 -1
  180. package/src/langs/hfs-lang-fr.json +2 -1
  181. package/src/langs/hfs-lang-hu.json +2 -1
  182. package/src/langs/hfs-lang-it.json +2 -1
  183. package/src/langs/hfs-lang-ja.json +2 -1
  184. package/src/langs/hfs-lang-ko.json +2 -1
  185. package/src/langs/hfs-lang-lt.json +2 -1
  186. package/src/langs/hfs-lang-ms.json +2 -0
  187. package/src/langs/hfs-lang-nl.json +2 -1
  188. package/src/langs/hfs-lang-pt-br.json +2 -1
  189. package/src/langs/hfs-lang-ro.json +2 -1
  190. package/src/langs/hfs-lang-ru.json +2 -1
  191. package/src/langs/hfs-lang-sr-latn.json +2 -1
  192. package/src/langs/hfs-lang-sr.json +2 -1
  193. package/src/langs/hfs-lang-th.json +2 -1
  194. package/src/langs/hfs-lang-tr.json +2 -1
  195. package/src/langs/hfs-lang-uk.json +2 -1
  196. package/src/langs/hfs-lang-vi.json +2 -1
  197. package/src/langs/hfs-lang-zh-tw.json +2 -1
  198. package/src/langs/hfs-lang-zh.json +2 -1
  199. package/src/listen.js +3 -3
  200. package/src/log.js +27 -2
  201. package/src/middlewares.js +8 -2
  202. package/src/misc.js +14 -0
  203. package/src/nat.js +57 -20
  204. package/src/outboundProxy.js +1 -1
  205. package/src/perm.js +5 -1
  206. package/src/plugins.js +34 -5
  207. package/src/selfCheck.js +1 -1
  208. package/src/serveGuiAndSharedFiles.js +1 -0
  209. package/src/serveGuiFiles.js +1 -0
  210. package/src/update.js +9 -15
  211. package/src/urlList.js +32 -0
  212. package/src/util-files.js +15 -5
  213. package/src/util-http.js +2 -0
  214. package/src/vfs.js +1 -1
  215. package/src/walkDir.js +7 -1
  216. package/src/webdav.js +4 -1
  217. package/src/zip.js +2 -1
  218. package/admin/assets/index-B66w-a0v.css +0 -1
  219. package/admin/assets/index-Df6vYR7s.js +0 -822
  220. package/frontend/assets/index-legacy-emBsvICj.js +0 -9
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "hfs",
3
- "version": "3.1.5",
3
+ "version": "3.2.0-alpha1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "hfs",
9
- "version": "3.1.5",
9
+ "version": "3.2.0-alpha1",
10
10
  "license": "GPL-3.0",
11
11
  "dependencies": {
12
12
  "@gregoranders/csv": "^0.0.13",
13
13
  "@rejetto/kvstorage": "^0.17.7",
14
- "@rejetto/nat-upnp": "^2.1.4",
14
+ "@rejetto/nat-upnp": "^2.1.3",
15
15
  "acme-client": "^5.4.0",
16
16
  "busboy": "^1.6.0",
17
17
  "crc-32": "^1.2.2",
@@ -21,7 +21,6 @@
21
21
  "fs-x-attributes": "^1.0.2",
22
22
  "fswin": "^3.24.829",
23
23
  "iconv-lite": "^0.7.0",
24
- "immer": "^10.1.3",
25
24
  "ip2location-nodejs": "^9.7.0",
26
25
  "koa": "^3.1.2",
27
26
  "koa-compress": "^5.2.0",
@@ -35,10 +34,11 @@
35
34
  "open": "^8.4.0",
36
35
  "picomatch": "^4.0.3",
37
36
  "tssrp6a": "^3.0.0",
38
- "unzip-stream": "^0.3.4",
37
+ "unzipper": "^0.12.3",
39
38
  "valtio": "^1.13.2",
40
39
  "xxhashjs": "^0.2.2",
41
- "yaml": "^2.8.1"
40
+ "yaml": "^2.8.1",
41
+ "yazl": "^3.3.1"
42
42
  },
43
43
  "bin": {
44
44
  "hfs": "src/index.js"
@@ -267,9 +267,9 @@
267
267
  "license": "MIT"
268
268
  },
269
269
  "node_modules/@rejetto/nat-upnp": {
270
- "version": "2.1.4",
271
- "resolved": "https://registry.npmjs.org/@rejetto/nat-upnp/-/nat-upnp-2.1.4.tgz",
272
- "integrity": "sha512-Jtj9aCqTG6J5v+8HlHlJjoO8WbClYUSq05WnS/tbQuQNHgfSyOSzrUsiEX8UJMAwd8W2kM4V95U9J5/VEDhtaA==",
270
+ "version": "2.1.3",
271
+ "resolved": "https://registry.npmjs.org/@rejetto/nat-upnp/-/nat-upnp-2.1.3.tgz",
272
+ "integrity": "sha512-ErWTxmkakJMADr7sQkGiqK7+hRLKPbIu99PgqsPsePvlC28Vnf85LxTSAJTYiRrt3BTDeqBKEgUWsr9CPLLBzQ==",
273
273
  "license": "MIT",
274
274
  "dependencies": {
275
275
  "fast-xml-parser": "^5.3.4"
@@ -325,18 +325,6 @@
325
325
  "node": ">= 16"
326
326
  }
327
327
  },
328
- "node_modules/agent-base": {
329
- "version": "6.0.2",
330
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
331
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
332
- "license": "MIT",
333
- "dependencies": {
334
- "debug": "4"
335
- },
336
- "engines": {
337
- "node": ">= 6.0.0"
338
- }
339
- },
340
328
  "node_modules/ansi-styles": {
341
329
  "version": "4.3.0",
342
330
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -373,14 +361,13 @@
373
361
  "license": "MIT"
374
362
  },
375
363
  "node_modules/axios": {
376
- "version": "1.16.1",
377
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
378
- "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
364
+ "version": "1.16.0",
365
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz",
366
+ "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==",
379
367
  "license": "MIT",
380
368
  "dependencies": {
381
369
  "follow-redirects": "^1.16.0",
382
370
  "form-data": "^4.0.5",
383
- "https-proxy-agent": "^5.0.1",
384
371
  "proxy-from-env": "^2.1.0"
385
372
  }
386
373
  },
@@ -404,18 +391,11 @@
404
391
  ],
405
392
  "license": "MIT"
406
393
  },
407
- "node_modules/binary": {
408
- "version": "0.3.0",
409
- "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
410
- "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==",
411
- "license": "MIT",
412
- "dependencies": {
413
- "buffers": "~0.1.1",
414
- "chainsaw": "~0.1.0"
415
- },
416
- "engines": {
417
- "node": "*"
418
- }
394
+ "node_modules/bluebird": {
395
+ "version": "3.7.2",
396
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
397
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
398
+ "license": "MIT"
419
399
  },
420
400
  "node_modules/braces": {
421
401
  "version": "3.0.3",
@@ -453,12 +433,13 @@
453
433
  "ieee754": "^1.1.13"
454
434
  }
455
435
  },
456
- "node_modules/buffers": {
457
- "version": "0.1.1",
458
- "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
459
- "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==",
436
+ "node_modules/buffer-crc32": {
437
+ "version": "1.0.0",
438
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
439
+ "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
440
+ "license": "MIT",
460
441
  "engines": {
461
- "node": ">=0.2.0"
442
+ "node": ">=8.0.0"
462
443
  }
463
444
  },
464
445
  "node_modules/busboy": {
@@ -494,18 +475,6 @@
494
475
  "node": ">= 0.4"
495
476
  }
496
477
  },
497
- "node_modules/chainsaw": {
498
- "version": "0.1.0",
499
- "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
500
- "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==",
501
- "license": "MIT/X11",
502
- "dependencies": {
503
- "traverse": ">=0.3.0 <0.4"
504
- },
505
- "engines": {
506
- "node": "*"
507
- }
508
- },
509
478
  "node_modules/chalk": {
510
479
  "version": "4.1.2",
511
480
  "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -608,6 +577,12 @@
608
577
  "node": ">= 0.8"
609
578
  }
610
579
  },
580
+ "node_modules/core-util-is": {
581
+ "version": "1.0.3",
582
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
583
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
584
+ "license": "MIT"
585
+ },
611
586
  "node_modules/crc": {
612
587
  "version": "3.8.0",
613
588
  "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz",
@@ -736,6 +711,15 @@
736
711
  "node": ">= 0.4"
737
712
  }
738
713
  },
714
+ "node_modules/duplexer2": {
715
+ "version": "0.1.4",
716
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
717
+ "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
718
+ "license": "BSD-3-Clause",
719
+ "dependencies": {
720
+ "readable-stream": "^2.0.2"
721
+ }
722
+ },
739
723
  "node_modules/ee-first": {
740
724
  "version": "1.1.1",
741
725
  "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -835,9 +819,9 @@
835
819
  }
836
820
  },
837
821
  "node_modules/fast-xml-parser": {
838
- "version": "5.8.0",
839
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.8.0.tgz",
840
- "integrity": "sha512-6bIM7fsJxeo3uXv7OncQYsBAMPJ7V16Slahl/6M98C/i2q+vB1+4a0MtrvYwDFEUrwDSbAmeLDRXsOBwrL7yAg==",
822
+ "version": "5.7.3",
823
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.3.tgz",
824
+ "integrity": "sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==",
841
825
  "funding": [
842
826
  {
843
827
  "type": "github",
@@ -847,10 +831,9 @@
847
831
  "license": "MIT",
848
832
  "dependencies": {
849
833
  "@nodable/entities": "^2.1.0",
850
- "fast-xml-builder": "^1.2.0",
834
+ "fast-xml-builder": "^1.1.7",
851
835
  "path-expression-matcher": "^1.5.0",
852
- "strnum": "^2.3.0",
853
- "xml-naming": "^0.1.0"
836
+ "strnum": "^2.2.3"
854
837
  },
855
838
  "bin": {
856
839
  "fxparser": "src/cli/cli.js"
@@ -957,6 +940,20 @@
957
940
  "node": ">= 0.6"
958
941
  }
959
942
  },
943
+ "node_modules/fs-extra": {
944
+ "version": "11.3.5",
945
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.5.tgz",
946
+ "integrity": "sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==",
947
+ "license": "MIT",
948
+ "dependencies": {
949
+ "graceful-fs": "^4.2.0",
950
+ "jsonfile": "^6.0.1",
951
+ "universalify": "^2.0.0"
952
+ },
953
+ "engines": {
954
+ "node": ">=14.14"
955
+ }
956
+ },
960
957
  "node_modules/fs-x-attributes": {
961
958
  "version": "1.0.2",
962
959
  "resolved": "https://registry.npmjs.org/fs-x-attributes/-/fs-x-attributes-1.0.2.tgz",
@@ -1042,6 +1039,12 @@
1042
1039
  "url": "https://github.com/sponsors/ljharb"
1043
1040
  }
1044
1041
  },
1042
+ "node_modules/graceful-fs": {
1043
+ "version": "4.2.11",
1044
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
1045
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
1046
+ "license": "ISC"
1047
+ },
1045
1048
  "node_modules/has-flag": {
1046
1049
  "version": "4.0.0",
1047
1050
  "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -1157,19 +1160,6 @@
1157
1160
  "url": "https://opencollective.com/express"
1158
1161
  }
1159
1162
  },
1160
- "node_modules/https-proxy-agent": {
1161
- "version": "5.0.1",
1162
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
1163
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
1164
- "license": "MIT",
1165
- "dependencies": {
1166
- "agent-base": "6",
1167
- "debug": "4"
1168
- },
1169
- "engines": {
1170
- "node": ">= 6"
1171
- }
1172
- },
1173
1163
  "node_modules/iconv-lite": {
1174
1164
  "version": "0.7.2",
1175
1165
  "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
@@ -1206,16 +1196,6 @@
1206
1196
  ],
1207
1197
  "license": "BSD-3-Clause"
1208
1198
  },
1209
- "node_modules/immer": {
1210
- "version": "10.2.0",
1211
- "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz",
1212
- "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==",
1213
- "license": "MIT",
1214
- "funding": {
1215
- "type": "opencollective",
1216
- "url": "https://opencollective.com/immer"
1217
- }
1218
- },
1219
1199
  "node_modules/inherits": {
1220
1200
  "version": "2.0.4",
1221
1201
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -1294,6 +1274,12 @@
1294
1274
  "node": ">=8"
1295
1275
  }
1296
1276
  },
1277
+ "node_modules/isarray": {
1278
+ "version": "1.0.0",
1279
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1280
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
1281
+ "license": "MIT"
1282
+ },
1297
1283
  "node_modules/js-tokens": {
1298
1284
  "version": "4.0.0",
1299
1285
  "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -1301,6 +1287,18 @@
1301
1287
  "license": "MIT",
1302
1288
  "peer": true
1303
1289
  },
1290
+ "node_modules/jsonfile": {
1291
+ "version": "6.2.1",
1292
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz",
1293
+ "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==",
1294
+ "license": "MIT",
1295
+ "dependencies": {
1296
+ "universalify": "^2.0.0"
1297
+ },
1298
+ "optionalDependencies": {
1299
+ "graceful-fs": "^4.1.6"
1300
+ }
1301
+ },
1304
1302
  "node_modules/keygrip": {
1305
1303
  "version": "1.1.0",
1306
1304
  "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
@@ -1530,18 +1528,6 @@
1530
1528
  "url": "https://github.com/sponsors/ljharb"
1531
1529
  }
1532
1530
  },
1533
- "node_modules/mkdirp": {
1534
- "version": "0.5.6",
1535
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
1536
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
1537
- "license": "MIT",
1538
- "dependencies": {
1539
- "minimist": "^1.2.6"
1540
- },
1541
- "bin": {
1542
- "mkdirp": "bin/cmd.js"
1543
- }
1544
- },
1545
1531
  "node_modules/ms": {
1546
1532
  "version": "2.1.3",
1547
1533
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -1566,6 +1552,12 @@
1566
1552
  "node": ">= 6.13.0"
1567
1553
  }
1568
1554
  },
1555
+ "node_modules/node-int64": {
1556
+ "version": "0.4.0",
1557
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
1558
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
1559
+ "license": "MIT"
1560
+ },
1569
1561
  "node_modules/on-finished": {
1570
1562
  "version": "2.4.1",
1571
1563
  "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
@@ -1631,6 +1623,12 @@
1631
1623
  "url": "https://github.com/sponsors/jonschlinkert"
1632
1624
  }
1633
1625
  },
1626
+ "node_modules/process-nextick-args": {
1627
+ "version": "2.0.1",
1628
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1629
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
1630
+ "license": "MIT"
1631
+ },
1634
1632
  "node_modules/proxy-compare": {
1635
1633
  "version": "2.6.0",
1636
1634
  "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.6.0.tgz",
@@ -1697,6 +1695,21 @@
1697
1695
  "node": ">=0.10.0"
1698
1696
  }
1699
1697
  },
1698
+ "node_modules/readable-stream": {
1699
+ "version": "2.3.8",
1700
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
1701
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
1702
+ "license": "MIT",
1703
+ "dependencies": {
1704
+ "core-util-is": "~1.0.0",
1705
+ "inherits": "~2.0.3",
1706
+ "isarray": "~1.0.0",
1707
+ "process-nextick-args": "~2.0.0",
1708
+ "safe-buffer": "~5.1.1",
1709
+ "string_decoder": "~1.1.1",
1710
+ "util-deprecate": "~1.0.1"
1711
+ }
1712
+ },
1700
1713
  "node_modules/reflect-metadata": {
1701
1714
  "version": "0.2.2",
1702
1715
  "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
@@ -1736,6 +1749,12 @@
1736
1749
  "queue-microtask": "^1.2.2"
1737
1750
  }
1738
1751
  },
1752
+ "node_modules/safe-buffer": {
1753
+ "version": "5.1.2",
1754
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1755
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
1756
+ "license": "MIT"
1757
+ },
1739
1758
  "node_modules/safer-buffer": {
1740
1759
  "version": "2.1.2",
1741
1760
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -1765,6 +1784,15 @@
1765
1784
  "node": ">=10.0.0"
1766
1785
  }
1767
1786
  },
1787
+ "node_modules/string_decoder": {
1788
+ "version": "1.1.1",
1789
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1790
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1791
+ "license": "MIT",
1792
+ "dependencies": {
1793
+ "safe-buffer": "~5.1.0"
1794
+ }
1795
+ },
1768
1796
  "node_modules/strnum": {
1769
1797
  "version": "2.3.0",
1770
1798
  "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz",
@@ -1810,15 +1838,6 @@
1810
1838
  "node": ">=0.6"
1811
1839
  }
1812
1840
  },
1813
- "node_modules/traverse": {
1814
- "version": "0.3.9",
1815
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
1816
- "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==",
1817
- "license": "MIT/X11",
1818
- "engines": {
1819
- "node": "*"
1820
- }
1821
- },
1822
1841
  "node_modules/tslib": {
1823
1842
  "version": "2.8.1",
1824
1843
  "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@@ -1859,44 +1878,39 @@
1859
1878
  "license": "0BSD"
1860
1879
  },
1861
1880
  "node_modules/type-is": {
1862
- "version": "2.1.0",
1863
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
1864
- "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
1881
+ "version": "2.0.1",
1882
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
1883
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
1865
1884
  "license": "MIT",
1866
1885
  "dependencies": {
1867
- "content-type": "^2.0.0",
1886
+ "content-type": "^1.0.5",
1868
1887
  "media-typer": "^1.1.0",
1869
1888
  "mime-types": "^3.0.0"
1870
1889
  },
1871
1890
  "engines": {
1872
- "node": ">= 18"
1873
- },
1874
- "funding": {
1875
- "type": "opencollective",
1876
- "url": "https://opencollective.com/express"
1891
+ "node": ">= 0.6"
1877
1892
  }
1878
1893
  },
1879
- "node_modules/type-is/node_modules/content-type": {
1880
- "version": "2.0.0",
1881
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz",
1882
- "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==",
1894
+ "node_modules/universalify": {
1895
+ "version": "2.0.1",
1896
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
1897
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
1883
1898
  "license": "MIT",
1884
1899
  "engines": {
1885
- "node": ">=18"
1886
- },
1887
- "funding": {
1888
- "type": "opencollective",
1889
- "url": "https://opencollective.com/express"
1900
+ "node": ">= 10.0.0"
1890
1901
  }
1891
1902
  },
1892
- "node_modules/unzip-stream": {
1893
- "version": "0.3.4",
1894
- "resolved": "https://registry.npmjs.org/unzip-stream/-/unzip-stream-0.3.4.tgz",
1895
- "integrity": "sha512-PyofABPVv+d7fL7GOpusx7eRT9YETY2X04PhwbSipdj6bMxVCFJrr+nm0Mxqbf9hUiTin/UsnuFWBXlDZFy0Cw==",
1903
+ "node_modules/unzipper": {
1904
+ "version": "0.12.3",
1905
+ "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.12.3.tgz",
1906
+ "integrity": "sha512-PZ8hTS+AqcGxsaQntl3IRBw65QrBI6lxzqDEL7IAo/XCEqRTKGfOX56Vea5TH9SZczRVxuzk1re04z/YjuYCJA==",
1896
1907
  "license": "MIT",
1897
1908
  "dependencies": {
1898
- "binary": "^0.3.0",
1899
- "mkdirp": "^0.5.1"
1909
+ "bluebird": "~3.7.2",
1910
+ "duplexer2": "~0.1.4",
1911
+ "fs-extra": "^11.2.0",
1912
+ "graceful-fs": "^4.2.2",
1913
+ "node-int64": "^0.4.0"
1900
1914
  }
1901
1915
  },
1902
1916
  "node_modules/use-sync-external-store": {
@@ -1908,6 +1922,12 @@
1908
1922
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
1909
1923
  }
1910
1924
  },
1925
+ "node_modules/util-deprecate": {
1926
+ "version": "1.0.2",
1927
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1928
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
1929
+ "license": "MIT"
1930
+ },
1911
1931
  "node_modules/valtio": {
1912
1932
  "version": "1.13.2",
1913
1933
  "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.13.2.tgz",
@@ -1968,9 +1988,9 @@
1968
1988
  }
1969
1989
  },
1970
1990
  "node_modules/yaml": {
1971
- "version": "2.9.0",
1972
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
1973
- "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
1991
+ "version": "2.8.4",
1992
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.4.tgz",
1993
+ "integrity": "sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==",
1974
1994
  "license": "ISC",
1975
1995
  "bin": {
1976
1996
  "yaml": "bin.mjs"
@@ -1982,6 +2002,15 @@
1982
2002
  "url": "https://github.com/sponsors/eemeli"
1983
2003
  }
1984
2004
  },
2005
+ "node_modules/yazl": {
2006
+ "version": "3.3.1",
2007
+ "resolved": "https://registry.npmjs.org/yazl/-/yazl-3.3.1.tgz",
2008
+ "integrity": "sha512-BbETDVWG+VcMUle37k5Fqp//7SDOK2/1+T7X8TD96M3D9G8jK5VLUdQVdVjGi8im7FGkazX7kk5hkU8X4L5Bng==",
2009
+ "license": "MIT",
2010
+ "dependencies": {
2011
+ "buffer-crc32": "^1.0.0"
2012
+ }
2013
+ },
1985
2014
  "node_modules/zod": {
1986
2015
  "version": "3.25.76",
1987
2016
  "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hfs",
3
- "version": "3.1.5",
3
+ "version": "3.2.0-alpha1.1",
4
4
  "description": "HTTP File Server",
5
5
  "keywords": [
6
6
  "file server",
@@ -19,10 +19,10 @@
19
19
  "build-server": "rm -rf dist/src dist/plugins && npm i && tsc && touch package.json && cp -v -r package.json central.json README* LICENSE* hfs.ico plugins dist && find dist -name .DS_Store -o -name storage -exec rm -rf {} + && node scripts/afterbuild.js",
20
20
  "build-frontend": "npm run build --workspace=frontend",
21
21
  "build-admin": "npm run build --workspace=admin",
22
- "server-for-test": "node dist/src --cwd tests/work --config tests --debug",
22
+ "server-for-test": "mkdir -p tests/work && cp tests/config.yaml tests/work/config.yaml && node dist/src --cwd tests/work --config tests/work/config.yaml --debug",
23
23
  "server-for-test-dev": "cross-env DEV=1 FRONTEND_PROXY=3005 ADMIN_PROXY=3006 nodemon --ignore tests/ --watch src -e ts,tsx --exec tsx src -- --cwd tests/work --config tests",
24
- "test": "node --import tsx --test tests/test.ts",
25
- "test-with-server": "sh -c 'npm run port-is-free && tsc && rm -rf tests/work tests/tmp && (node dist/src --cwd tests/work --config tests & echo $! > .server_pid) && sleep 2 && node --import tsx --test \"$@\" tests/test.ts; _exit=$?; if [ -f ./.server_pid ]; then SERVER_PID=$(cat ./.server_pid); kill \"$SERVER_PID\" 2>/dev/null || true; rm -f ./.server_pid; fi; exit $_exit' --",
24
+ "test": "sh -c 'npm run port-is-free >/dev/null && { echo \"no server\"; exit 1; }; node --import tsx --test \"$@\" tests/test.ts' --",
25
+ "test-with-server": "sh -c 'npm run port-is-free && tsc && rm -rf tests/work tests/tmp && mkdir -p tests/work && cp tests/config.yaml tests/work/config.yaml && (node dist/src --cwd tests/work --config tests/work/config.yaml & echo $! > .server_pid) && sleep 2 && node --import tsx --test \"$@\" tests/test.ts; _exit=$?; if [ -f ./.server_pid ]; then SERVER_PID=$(cat ./.server_pid); kill \"$SERVER_PID\" 2>/dev/null || true; rm -f ./.server_pid; fi; exit $_exit' --",
26
26
  "port-is-free": "node -e \"const port=process.argv[1]||8081;process.exit(await fetch('http://localhost:'+port).then(() => console.log('BUSY')||1, () => 0))\" --",
27
27
  "test-ui": "npm run port-is-free -- 8081 && rm -rf tests/work tests/work2 && npx playwright test frontend && npx playwright test serial && npx playwright test admin-vfs",
28
28
  "test-with-ui": "sh -c 'npm run port-is-free -- 3005 && npm run start-frontend & npm run port-is-free -- 3006 && npm run start-admin & cross-env TEST_WITH_UI=1 npx playwright test --ui \"$@\"' --",
@@ -30,7 +30,7 @@
30
30
  "dist": "STASHED=; if ! git diff-index --quiet HEAD --; then git stash push -m 'dist' && STASHED=1; fi; CI=1 FORCE_COLOR=1 npm run dist-uncommitted || (EXIT_CODE=$?; [ -n \"$STASHED\" ] && git stash pop; exit $EXIT_CODE); [ -n \"$STASHED\" ] && git stash pop",
31
31
  "dist-uncommitted": "npm audit --omit=dev --audit-level=moderate && rm -rf dist && npm run build-server && npm run test-with-server && (npm run build-frontend & npm run build-admin) && npm run test-ui && npm run dist-bin",
32
32
  "dist-bin": "npm run dist-modules && npm run dist-bin-win && npm run dist-bin-linux && npm run dist-bin-linux-arm && npm run dist-bin-mac && npm run dist-bin-mac-arm",
33
- "dist-modules": "cp package.json central.json README.md dist && cd dist && npm pkg delete devDependencies workspaces && rm -rf node_modules && npm install --omit=dev && npm shrinkwrap && cd .. && node scripts/prune_modules.js",
33
+ "dist-modules": "cp package.json central.json README.md dist && cd dist && npm pkg delete devDependencies workspaces scripts.postinstall && rm -rf node_modules && npm install --omit=dev && npm shrinkwrap && cd .. && node scripts/prune_modules.js",
34
34
  "dist-bin-win": "cd dist && pkg . --public -C gzip -t node20-win-x64 && npx resedit-cli --in hfs.exe --icon 1,../hfs.ico --out hfs.exe && zip hfs-windows-x64-$(jq -r .version ../package.json).zip hfs.exe -r plugins && cd ..",
35
35
  "dist-bin-mac-arm": "cd dist && pkg . --public -C gzip -t node20-macos-arm64 && zip hfs-mac-arm64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
36
36
  "dist-bin-mac": "cd dist && pkg . --public -C gzip -t node20-macos-x64 && zip hfs-mac-x64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
@@ -70,7 +70,7 @@
70
70
  "**/node_modules/axios/dist/node/*",
71
71
  "**/node_modules/buffers/**",
72
72
  "**/node_modules/binary/**",
73
- "**/node_modules/unzip-stream/**"
73
+ "**/node_modules/unzipper/**"
74
74
  ],
75
75
  "targets": [
76
76
  "node20-win-x64",
@@ -83,7 +83,7 @@
83
83
  "dependencies": {
84
84
  "@gregoranders/csv": "^0.0.13",
85
85
  "@rejetto/kvstorage": "^0.17.7",
86
- "@rejetto/nat-upnp": "^2.1.4",
86
+ "@rejetto/nat-upnp": "^2.1.3",
87
87
  "acme-client": "^5.4.0",
88
88
  "busboy": "^1.6.0",
89
89
  "crc-32": "^1.2.2",
@@ -93,7 +93,6 @@
93
93
  "fs-x-attributes": "^1.0.2",
94
94
  "fswin": "^3.24.829",
95
95
  "iconv-lite": "^0.7.0",
96
- "immer": "^10.1.3",
97
96
  "ip2location-nodejs": "^9.7.0",
98
97
  "koa": "^3.1.2",
99
98
  "koa-compress": "^5.2.0",
@@ -107,9 +106,10 @@
107
106
  "open": "^8.4.0",
108
107
  "picomatch": "^4.0.3",
109
108
  "tssrp6a": "^3.0.0",
110
- "unzip-stream": "^0.3.4",
109
+ "unzipper": "^0.12.3",
111
110
  "valtio": "^1.13.2",
112
111
  "xxhashjs": "^0.2.2",
113
- "yaml": "^2.8.1"
112
+ "yaml": "^2.8.1",
113
+ "yazl": "^3.3.1"
114
114
  }
115
115
  }