From 218fbe9a7639a994b9c855cdfa737a209934bc72 Mon Sep 17 00:00:00 2001 From: huntharo Date: Fri, 20 Mar 2026 17:26:31 -0400 Subject: [PATCH] Plugin SDK: export Discord subpaths --- package.json | 8 ++++++++ scripts/lib/plugin-sdk-entrypoints.json | 2 ++ src/plugin-sdk/root-alias.test.ts | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/package.json b/package.json index 99529029aed..5c9a0857508 100644 --- a/package.json +++ b/package.json @@ -241,6 +241,14 @@ "types": "./dist/plugin-sdk/diffs.d.ts", "default": "./dist/plugin-sdk/diffs.js" }, + "./plugin-sdk/discord": { + "types": "./dist/plugin-sdk/discord.d.ts", + "default": "./dist/plugin-sdk/discord.js" + }, + "./plugin-sdk/discord-core": { + "types": "./dist/plugin-sdk/discord-core.d.ts", + "default": "./dist/plugin-sdk/discord-core.js" + }, "./plugin-sdk/extension-shared": { "types": "./dist/plugin-sdk/extension-shared.d.ts", "default": "./dist/plugin-sdk/extension-shared.js" diff --git a/scripts/lib/plugin-sdk-entrypoints.json b/scripts/lib/plugin-sdk-entrypoints.json index 656dd6a72bb..47ed8588626 100644 --- a/scripts/lib/plugin-sdk-entrypoints.json +++ b/scripts/lib/plugin-sdk-entrypoints.json @@ -50,6 +50,8 @@ "device-bootstrap", "diagnostics-otel", "diffs", + "discord", + "discord-core", "extension-shared", "channel-config-helpers", "channel-config-schema", diff --git a/src/plugin-sdk/root-alias.test.ts b/src/plugin-sdk/root-alias.test.ts index 37072f9ded7..1661711c49d 100644 --- a/src/plugin-sdk/root-alias.test.ts +++ b/src/plugin-sdk/root-alias.test.ts @@ -9,6 +9,7 @@ const require = createRequire(import.meta.url); const rootSdk = require("./root-alias.cjs") as Record; const rootAliasPath = fileURLToPath(new URL("./root-alias.cjs", import.meta.url)); const rootAliasSource = fs.readFileSync(rootAliasPath, "utf-8"); +const packageJsonPath = fileURLToPath(new URL("../../package.json", import.meta.url)); type EmptySchema = { safeParse: (value: unknown) => @@ -196,6 +197,15 @@ describe("plugin-sdk root alias", () => { expect(rootSdk.__esModule).toBe(true); }); + it("publishes Discord plugin-sdk subpaths", () => { + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8")) as { + exports?: Record; + }; + + expect(packageJson.exports?.["./plugin-sdk/discord"]).toBeDefined(); + expect(packageJson.exports?.["./plugin-sdk/discord-core"]).toBeDefined(); + }); + it("preserves reflection semantics for lazily resolved exports", { timeout: 240_000 }, () => { expect("resolveControlCommandGate" in rootSdk).toBe(true); expect("onDiagnosticEvent" in rootSdk).toBe(true);