build: fix ineffective dynamic imports with lazy boundaries (#33690)
Merged via squash. Prepared head SHA: 38b3c23d6f8f2b4c8a36a88ee65b508102f1ec36 Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com> Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com> Reviewed-by: @gumadeiras
This commit is contained in:
committed by
GitHub
parent
a4850b1b8f
commit
21e8d88c1d
1
src/cli/deps-send-discord.runtime.ts
Normal file
1
src/cli/deps-send-discord.runtime.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { sendMessageDiscord } from "../discord/send.js";
|
||||
1
src/cli/deps-send-imessage.runtime.ts
Normal file
1
src/cli/deps-send-imessage.runtime.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { sendMessageIMessage } from "../imessage/send.js";
|
||||
1
src/cli/deps-send-signal.runtime.ts
Normal file
1
src/cli/deps-send-signal.runtime.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { sendMessageSignal } from "../signal/send.js";
|
||||
1
src/cli/deps-send-slack.runtime.ts
Normal file
1
src/cli/deps-send-slack.runtime.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { sendMessageSlack } from "../slack/send.js";
|
||||
1
src/cli/deps-send-telegram.runtime.ts
Normal file
1
src/cli/deps-send-telegram.runtime.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { sendMessageTelegram } from "../telegram/send.js";
|
||||
1
src/cli/deps-send-whatsapp.runtime.ts
Normal file
1
src/cli/deps-send-whatsapp.runtime.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { sendMessageWhatsApp } from "../channels/web/index.js";
|
||||
@@ -16,30 +16,72 @@ export type CliDeps = {
|
||||
sendMessageIMessage: typeof sendMessageIMessage;
|
||||
};
|
||||
|
||||
let whatsappSenderRuntimePromise: Promise<typeof import("./deps-send-whatsapp.runtime.js")> | null =
|
||||
null;
|
||||
let telegramSenderRuntimePromise: Promise<typeof import("./deps-send-telegram.runtime.js")> | null =
|
||||
null;
|
||||
let discordSenderRuntimePromise: Promise<typeof import("./deps-send-discord.runtime.js")> | null =
|
||||
null;
|
||||
let slackSenderRuntimePromise: Promise<typeof import("./deps-send-slack.runtime.js")> | null = null;
|
||||
let signalSenderRuntimePromise: Promise<typeof import("./deps-send-signal.runtime.js")> | null =
|
||||
null;
|
||||
let imessageSenderRuntimePromise: Promise<typeof import("./deps-send-imessage.runtime.js")> | null =
|
||||
null;
|
||||
|
||||
function loadWhatsAppSenderRuntime() {
|
||||
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime.js");
|
||||
return whatsappSenderRuntimePromise;
|
||||
}
|
||||
|
||||
function loadTelegramSenderRuntime() {
|
||||
telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime.js");
|
||||
return telegramSenderRuntimePromise;
|
||||
}
|
||||
|
||||
function loadDiscordSenderRuntime() {
|
||||
discordSenderRuntimePromise ??= import("./deps-send-discord.runtime.js");
|
||||
return discordSenderRuntimePromise;
|
||||
}
|
||||
|
||||
function loadSlackSenderRuntime() {
|
||||
slackSenderRuntimePromise ??= import("./deps-send-slack.runtime.js");
|
||||
return slackSenderRuntimePromise;
|
||||
}
|
||||
|
||||
function loadSignalSenderRuntime() {
|
||||
signalSenderRuntimePromise ??= import("./deps-send-signal.runtime.js");
|
||||
return signalSenderRuntimePromise;
|
||||
}
|
||||
|
||||
function loadIMessageSenderRuntime() {
|
||||
imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime.js");
|
||||
return imessageSenderRuntimePromise;
|
||||
}
|
||||
|
||||
export function createDefaultDeps(): CliDeps {
|
||||
return {
|
||||
sendMessageWhatsApp: async (...args) => {
|
||||
const { sendMessageWhatsApp } = await import("../channels/web/index.js");
|
||||
const { sendMessageWhatsApp } = await loadWhatsAppSenderRuntime();
|
||||
return await sendMessageWhatsApp(...args);
|
||||
},
|
||||
sendMessageTelegram: async (...args) => {
|
||||
const { sendMessageTelegram } = await import("../telegram/send.js");
|
||||
const { sendMessageTelegram } = await loadTelegramSenderRuntime();
|
||||
return await sendMessageTelegram(...args);
|
||||
},
|
||||
sendMessageDiscord: async (...args) => {
|
||||
const { sendMessageDiscord } = await import("../discord/send.js");
|
||||
const { sendMessageDiscord } = await loadDiscordSenderRuntime();
|
||||
return await sendMessageDiscord(...args);
|
||||
},
|
||||
sendMessageSlack: async (...args) => {
|
||||
const { sendMessageSlack } = await import("../slack/send.js");
|
||||
const { sendMessageSlack } = await loadSlackSenderRuntime();
|
||||
return await sendMessageSlack(...args);
|
||||
},
|
||||
sendMessageSignal: async (...args) => {
|
||||
const { sendMessageSignal } = await import("../signal/send.js");
|
||||
const { sendMessageSignal } = await loadSignalSenderRuntime();
|
||||
return await sendMessageSignal(...args);
|
||||
},
|
||||
sendMessageIMessage: async (...args) => {
|
||||
const { sendMessageIMessage } = await import("../imessage/send.js");
|
||||
const { sendMessageIMessage } = await loadIMessageSenderRuntime();
|
||||
return await sendMessageIMessage(...args);
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user