improved bun compatibility

Massimo Melina committed Sep 19, 2025 at 23:26 UTC 7fea96855a56acf7f22b79a0b8ba7e3f28115adc
5 files changed +9 -6
src/QuickZipStream.ts
+2 -2
@@ -1,8 +1,8 @@
1 // This file is part of HFS - Copyright 2021-2023, Massimo Melina <a@rejetto.com> - License https://www.gnu.org/licenses/gpl-3.0.txt
2
3 import { Readable } from 'stream'
4 -// @ts-ignore
5 -import { unsigned } from 'buffer-crc32'
4 +import bufferCrc32 from 'buffer-crc32'
5 +const { unsigned } = bufferCrc32
6 import assert from 'assert'
7 import { try_ } from './misc'
8
src/log.ts
+2 -1
@@ -1,7 +1,8 @@
1 // This file is part of HFS - Copyright 2021-2023, Massimo Melina <a@rejetto.com> - License https://www.gnu.org/licenses/gpl-3.0.txt
2
3 import Koa from 'koa'
4 -import { once, Writable } from 'stream'
4 +import { once } from 'events'
5 +import { Writable } from 'stream'
6 import { defineConfig } from './config'
7 import { createWriteStream, renameSync, statSync } from 'fs'
8 import * as util from 'util'
src/nat.ts
+1 -1
@@ -67,7 +67,7 @@ export const getNatInfo = debounceAsync(async () => {
67 const res = await haveTimeout(10_000, upnpClient.getGateway()).catch(() => null)
68 const status = await getServerStatus()
69 const mappings = res && await haveTimeout(5_000, upnpClient.getMappings()).catch(() => null)
70 - console.debug("mappings found", mappings?.map(x => x.description).join(', ') || "none")
70 + console.debug("mappings found:", mappings?.map(x => x.description).join(', ') || "none")
71 const localIps = await getIps(false)
72 const gatewayIp = await gatewayIpPromise
73 const localIp = res?.address || (gatewayIp ? _.maxBy(localIps, x => inCommon(x, gatewayIp)) : localIps[0])
src/serveGuiAndSharedFiles.ts
+2 -1
@@ -9,7 +9,8 @@ import {
9 } from './cross-const'
10 import { getUploadTempFor, uploadWriter } from './upload'
11 import formidable from 'formidable'
12 -import { once, Transform, Writable } from 'stream'
12 +import { once } from 'events'
13 +import { Transform, Writable } from 'stream'
14 import { serveFile, serveFileNode } from './serveFile'
15 import { BUILD_TIMESTAMP, DEV, MIME_AUTO, VERSION } from './const'
16 import { zipStreamFromFolder } from './zip'
src/util-files.ts
+2 -1
@@ -6,7 +6,8 @@ import { createWriteStream, mkdirSync, watch, ftruncate } from 'fs'
6 import { basename, dirname } from 'path'
7 import glob from 'fast-glob'
8 import { IS_WINDOWS } from './const'
9 -import { once, Readable } from 'stream'
9 +import { once } from 'events'
10 +import { Readable } from 'stream'
11 // @ts-ignore
12 import unzipper from 'unzip-stream'
13