Skip to content

Commit 789663c

Browse files
authored
fix: Type exports correctly (#2207)
Big thanks to @KevinGruber for both flagging this and fixing it. Fixes #2206 Types now exported when importing nodemon.
1 parent 287db41 commit 789663c

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

index.d.ts

+23-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
type NodemonEventHandler =
1+
export type NodemonEventHandler =
22
| 'start'
33
| 'crash'
44
| 'exit'
@@ -10,7 +10,7 @@ type NodemonEventHandler =
1010
| 'stdout'
1111
| 'stderr';
1212

13-
type NodemonEventListener = {
13+
export type NodemonEventListener = {
1414
on(event: 'start' | 'crash' | 'readable', listener: () => void): Nodemon;
1515
on(event: 'log', listener: (e: NodemonEventLog) => void): Nodemon;
1616
on(event: 'stdout' | 'stderr', listener: (e: string) => void): Nodemon;
@@ -23,7 +23,7 @@ type NodemonEventListener = {
2323
): Nodemon;
2424
};
2525

26-
type Nodemon = {
26+
export type Nodemon = {
2727
(options?: NodemonSettings): Nodemon;
2828
on(event: 'start' | 'crash', listener: () => void): Nodemon;
2929
on(event: 'log', listener: (e: NodemonEventLog) => void): Nodemon;
@@ -75,7 +75,7 @@ type Nodemon = {
7575
config: NodemonSettings;
7676
};
7777

78-
type NodemonEventLog = {
78+
export type NodemonEventLog = {
7979
/**
8080
detail*: what you get with nodemon --verbose.
8181
status: subprocess starting, restarting.
@@ -89,20 +89,20 @@ type NodemonEventLog = {
8989
colour: String;
9090
};
9191

92-
interface NodemonEventRestart {
92+
export interface NodemonEventRestart {
9393
matched?: {
9494
result: string[];
9595
total: number;
9696
};
9797
}
9898

99-
type NodemonEventQuit = 143 | 130;
100-
type NodemonEventExit = number;
99+
export type NodemonEventQuit = 143 | 130;
100+
export type NodemonEventExit = number;
101101

102102
// TODO: Define the type of NodemonEventConfig
103-
type NodemonEventConfig = any;
103+
export type NodemonEventConfig = any;
104104

105-
interface NodemonSettings {
105+
export interface NodemonConfig {
106106
/* restartable defaults to "rs" as a string the user enters */
107107
restartable?: false | String;
108108
colours?: Boolean;
@@ -117,10 +117,23 @@ interface NodemonSettings {
117117
watchOptions?: WatchOptions;
118118
}
119119

120-
interface WatchOptions {
120+
export interface NodemonSettings extends NodemonConfig {
121+
script: string;
122+
ext?: string; // "js,mjs" etc (should really support an array of strings, but I don't think it does right now)
123+
events?: { [key: string]: string };
124+
env?: { [key: string]: string };
125+
exec?: string; // node, python, etc
126+
execArgs?: string[]; // args passed to node, etc,
127+
nodeArgs?: string[]; // args passed to node, etc,
128+
delay?: number;
129+
}
130+
131+
export interface WatchOptions {
121132
ignorePermissionErrors: boolean;
122133
ignored: string;
123134
persistent: boolean;
124135
usePolling: boolean;
125136
interval: number;
126137
}
138+
139+
export default function nodemon(settings: NodemonSettings): Nodemon;

0 commit comments

Comments
 (0)