Skip to content

Commit 8b5a3db

Browse files
grantjoymwbrooks
andauthored
fix: Improve ESM compatibility for named exports (#2724)
Co-authored-by: Michael Brooks <[email protected]>
1 parent 716a207 commit 8b5a3db

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/index.ts

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ export {
88
AuthorizeResult,
99
ActionConstraints,
1010
LogLevel,
11-
Logger,
1211
} from './App';
1312

13+
// Re-export Logger type for TypeScript consumers
14+
export type { Logger } from './App';
15+
1416
// Export App both as named and default for better ES module compatibility
1517
export { AppClass as App };
1618
export default AppClass;
@@ -20,10 +22,17 @@ export {
2022
isValidSlackRequest,
2123
} from './receivers/verify-request';
2224

23-
export { default as ExpressReceiver, ExpressReceiverOptions } from './receivers/ExpressReceiver';
24-
export { default as SocketModeReceiver, SocketModeReceiverOptions } from './receivers/SocketModeReceiver';
25-
export { default as HTTPReceiver, HTTPReceiverOptions } from './receivers/HTTPReceiver';
26-
export { default as AwsLambdaReceiver, AwsLambdaReceiverOptions } from './receivers/AwsLambdaReceiver';
25+
// Import receivers first, then re-export for better ESM compatibility
26+
import AwsLambdaReceiver from './receivers/AwsLambdaReceiver';
27+
import ExpressReceiver from './receivers/ExpressReceiver';
28+
import HTTPReceiver from './receivers/HTTPReceiver';
29+
import SocketModeReceiver from './receivers/SocketModeReceiver';
30+
31+
export { ExpressReceiver, SocketModeReceiver, HTTPReceiver, AwsLambdaReceiver };
32+
export type { ExpressReceiverOptions } from './receivers/ExpressReceiver';
33+
export type { SocketModeReceiverOptions } from './receivers/SocketModeReceiver';
34+
export type { HTTPReceiverOptions } from './receivers/HTTPReceiver';
35+
export type { AwsLambdaReceiverOptions } from './receivers/AwsLambdaReceiver';
2736

2837
export { BufferedIncomingMessage } from './receivers/BufferedIncomingMessage';
2938
export {
@@ -68,13 +77,15 @@ export {
6877
WorkflowStepExecuteMiddleware,
6978
} from './WorkflowStep';
7079

71-
export {
80+
// Re-export OAuth runtime classes
81+
export { MemoryInstallationStore, FileInstallationStore } from '@slack/oauth';
82+
83+
// Re-export OAuth types for TypeScript consumers
84+
export type {
7285
Installation,
7386
InstallURLOptions,
7487
InstallationQuery,
7588
InstallationStore,
76-
MemoryInstallationStore,
77-
FileInstallationStore,
7889
StateStore,
7990
InstallProviderOptions,
8091
} from '@slack/oauth';

0 commit comments

Comments
 (0)