From 09a0425d8ecf9d5ef1a623265581f37560a25481 Mon Sep 17 00:00:00 2001 From: Elysia <71698422+aiko-chan-ai@users.noreply.github.com> Date: Tue, 17 Sep 2024 18:01:27 +0700 Subject: [PATCH] chore: fix import / require module --- src/client/voice/util/Secretbox.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/client/voice/util/Secretbox.js b/src/client/voice/util/Secretbox.js index ba83785..da9e31a 100644 --- a/src/client/voice/util/Secretbox.js +++ b/src/client/voice/util/Secretbox.js @@ -36,10 +36,26 @@ exports.methods = { crypto_aead_xchacha20poly1305_ietf_decrypt: NoLib, }; +async function importModule(name, usingImport = false) { + try { + if (usingImport) { + return await import(name); + } else { + return require(name); + } + } catch (e) { + if (e.code == 'ERR_REQUIRE_ESM') { + return importModule(name, true); + } else { + throw e; + } + } +} + (async () => { for (const libName of Object.keys(libs)) { try { - const lib = await import(libName); + const lib = await importModule(libName); if (libName === 'libsodium-wrappers' && lib.ready) await lib.ready; // eslint-disable-line no-await-in-loop exports.methods = libs[libName](lib); break;