@bobfrankston/msger 0.1.29 → 0.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +154 -37
- package/clihandler.js +5 -3
- package/clihandler.js.map +1 -1
- package/clihandler.ts +10 -8
- package/index.d.ts +13 -11
- package/index.js.map +1 -1
- package/index.ts +22 -11
- package/msger-native/bin/msgernative +0 -0
- package/msger-native/bin/msgernative.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ This package provides a TypeScript/JavaScript API that wraps the native Rust imp
|
|
|
6
6
|
- **10-20x faster startup** (~50-200ms vs ~2-3s)
|
|
7
7
|
- **50x smaller binary** (~2-5MB vs ~100MB)
|
|
8
8
|
- **5x less memory** (~20-50MB vs ~100-200MB)
|
|
9
|
-
- **Cross-platform**: Windows (WebView2),
|
|
9
|
+
- **Cross-platform**: Windows (WebView2), Linux x86_64 (WebKitGTK), Linux ARM64/Raspberry Pi (WebKitGTK)
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
@@ -19,6 +19,13 @@ For global CLI usage:
|
|
|
19
19
|
npm install -g @bobfrankston/msger
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
**Platform Support:**
|
|
23
|
+
- Windows (x64) - Uses WebView2
|
|
24
|
+
- Linux x86_64 - Uses WebKitGTK 4.0
|
|
25
|
+
- Linux ARM64/Raspberry Pi - Uses WebKitGTK 4.0
|
|
26
|
+
|
|
27
|
+
The correct binary is automatically selected based on your platform and architecture.
|
|
28
|
+
|
|
22
29
|
## Usage
|
|
23
30
|
|
|
24
31
|
### As a Library (Recommended)
|
|
@@ -43,13 +50,23 @@ if (result.value) {
|
|
|
43
50
|
|
|
44
51
|
```bash
|
|
45
52
|
# Simple message
|
|
46
|
-
msger "Hello, World!"
|
|
53
|
+
msger -t "Hello" -m "Hello, World!"
|
|
47
54
|
|
|
48
55
|
# With HTML content
|
|
49
|
-
msger "
|
|
56
|
+
msger -t "Welcome" -html "<h1>Welcome!</h1><p>This is <strong>HTML</strong></p>"
|
|
57
|
+
|
|
58
|
+
# Load a URL (web page or local file)
|
|
59
|
+
msger -url "https://example.com"
|
|
60
|
+
msger -url "file:///path/to/page.html"
|
|
61
|
+
|
|
62
|
+
# With custom size
|
|
63
|
+
msger -t "Big Window" -m "Hello" -w 800 -h 600
|
|
64
|
+
|
|
65
|
+
# With timeout (auto-close after 5 seconds)
|
|
66
|
+
msger -t "Notification" -m "This will close in 5 seconds" -timeout 5
|
|
50
67
|
|
|
51
|
-
#
|
|
52
|
-
|
|
68
|
+
# See all options
|
|
69
|
+
msger --help
|
|
53
70
|
```
|
|
54
71
|
|
|
55
72
|
## API
|
|
@@ -62,14 +79,25 @@ Display a message box dialog and wait for user response.
|
|
|
62
79
|
|
|
63
80
|
```typescript
|
|
64
81
|
interface MessageBoxOptions {
|
|
65
|
-
title?: string;
|
|
66
|
-
message
|
|
67
|
-
html?: string;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
82
|
+
title?: string; // Window title (default: "Message")
|
|
83
|
+
message?: string; // Plain text message (optional if url or html provided)
|
|
84
|
+
html?: string; // HTML content to display
|
|
85
|
+
url?: string; // URL to load (web URL or file:// path)
|
|
86
|
+
size?: { // Window size in pixels
|
|
87
|
+
width: number; // Window width (default: 600)
|
|
88
|
+
height: number; // Window height (default: 400)
|
|
89
|
+
};
|
|
90
|
+
buttons?: string[]; // Button labels (default: ["OK"])
|
|
91
|
+
defaultValue?: string; // Default input value
|
|
92
|
+
allowInput?: boolean; // Show input field (default: false)
|
|
93
|
+
timeout?: number; // Auto-close after N seconds
|
|
94
|
+
detach?: boolean; // Launch detached from parent process
|
|
95
|
+
|
|
96
|
+
// Not yet implemented:
|
|
97
|
+
// fullPage?: boolean; // Display HTML as complete page without wrapping
|
|
98
|
+
// pos?: { x: number; y: number; screen?: number }; // Window position
|
|
99
|
+
// zoomPercent?: number; // Initial zoom level (100=100%, 150=150%)
|
|
100
|
+
// devTools?: boolean; // Open DevTools for debugging
|
|
73
101
|
}
|
|
74
102
|
```
|
|
75
103
|
|
|
@@ -77,10 +105,12 @@ interface MessageBoxOptions {
|
|
|
77
105
|
|
|
78
106
|
```typescript
|
|
79
107
|
interface MessageBoxResult {
|
|
80
|
-
button: string;
|
|
81
|
-
value?: string;
|
|
82
|
-
|
|
83
|
-
|
|
108
|
+
button: string; // Label of clicked button
|
|
109
|
+
value?: string; // Input value (if allowInput was true)
|
|
110
|
+
form?: object; // Form data (if form elements present)
|
|
111
|
+
closed?: boolean; // True if window was closed
|
|
112
|
+
dismissed?: boolean; // True if dismissed with Escape
|
|
113
|
+
timeout?: boolean; // True if auto-closed by timeout
|
|
84
114
|
}
|
|
85
115
|
```
|
|
86
116
|
|
|
@@ -121,7 +151,6 @@ if (result.button === 'OK') {
|
|
|
121
151
|
```typescript
|
|
122
152
|
const result = await showMessageBox({
|
|
123
153
|
title: 'Welcome',
|
|
124
|
-
message: 'Welcome message',
|
|
125
154
|
html: `
|
|
126
155
|
<div style="font-family: sans-serif;">
|
|
127
156
|
<h2 style="color: #2563eb;">Welcome!</h2>
|
|
@@ -133,75 +162,163 @@ const result = await showMessageBox({
|
|
|
133
162
|
</ul>
|
|
134
163
|
</div>
|
|
135
164
|
`,
|
|
136
|
-
width: 700,
|
|
137
|
-
height: 500,
|
|
165
|
+
size: { width: 700, height: 500 },
|
|
138
166
|
buttons: ['Close']
|
|
139
167
|
});
|
|
140
168
|
```
|
|
141
169
|
|
|
170
|
+
### Display a Web Page
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
// Load external website
|
|
174
|
+
await showMessageBox({
|
|
175
|
+
title: 'Documentation',
|
|
176
|
+
url: 'https://github.com/BobFrankston/msger',
|
|
177
|
+
size: { width: 1024, height: 768 }
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
// Load local HTML file
|
|
181
|
+
await showMessageBox({
|
|
182
|
+
title: 'Help',
|
|
183
|
+
url: 'file:///path/to/help.html',
|
|
184
|
+
size: { width: 800, height: 600 }
|
|
185
|
+
});
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Auto-Close with Timeout
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
// Show notification that auto-closes after 3 seconds
|
|
192
|
+
const result = await showMessageBox({
|
|
193
|
+
title: 'Notification',
|
|
194
|
+
message: 'File saved successfully!',
|
|
195
|
+
timeout: 3,
|
|
196
|
+
buttons: ['OK']
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
if (result.timeout) {
|
|
200
|
+
console.log('Notification auto-closed');
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
142
204
|
## Architecture
|
|
143
205
|
|
|
144
206
|
```
|
|
145
207
|
@bobfrankston/msger (TypeScript wrapper)
|
|
146
|
-
↓ spawns with JSON via stdin
|
|
147
|
-
@bobfrankston/msger-native (Rust binary)
|
|
208
|
+
↓ spawns native binary with JSON via stdin
|
|
209
|
+
@bobfrankston/msger-native (Rust binary - platform-specific)
|
|
148
210
|
↓ creates native window with webview
|
|
149
|
-
↓ displays HTML
|
|
211
|
+
↓ displays HTML/URL content with buttons
|
|
150
212
|
↓ outputs JSON result to stdout
|
|
151
|
-
TypeScript wrapper returns Promise
|
|
213
|
+
TypeScript wrapper returns Promise<MessageBoxResult>
|
|
152
214
|
```
|
|
153
215
|
|
|
216
|
+
**Platform-specific binaries:**
|
|
217
|
+
- `msgernative.exe` - Windows x64 (WebView2)
|
|
218
|
+
- `msgernative` - Linux x86_64 (WebKitGTK)
|
|
219
|
+
- `msgernative-arm64` - Linux ARM64/Raspberry Pi (WebKitGTK)
|
|
220
|
+
|
|
221
|
+
The correct binary is automatically selected based on `process.platform` and `process.arch`.
|
|
222
|
+
|
|
154
223
|
## Building from Source
|
|
155
224
|
|
|
156
225
|
```bash
|
|
157
|
-
# Build
|
|
226
|
+
# Build everything (TypeScript + all native binaries)
|
|
158
227
|
npm run build
|
|
159
228
|
|
|
160
|
-
# Build only TypeScript
|
|
229
|
+
# Build only TypeScript wrapper
|
|
161
230
|
npm run build:ts
|
|
162
231
|
|
|
163
|
-
# Build
|
|
232
|
+
# Build Windows binary
|
|
164
233
|
npm run build:native
|
|
165
234
|
|
|
235
|
+
# Build Linux x64 binary (via WSL)
|
|
236
|
+
npm run build:native:wsl
|
|
237
|
+
|
|
238
|
+
# Build ARM64 binary (via SSH to Raspberry Pi)
|
|
239
|
+
npm run build:native:pi
|
|
240
|
+
|
|
241
|
+
# Build all native binaries
|
|
242
|
+
npm run build:native:all
|
|
243
|
+
|
|
166
244
|
# Watch mode for TypeScript development
|
|
167
245
|
npm run watch
|
|
168
246
|
```
|
|
169
247
|
|
|
248
|
+
### Building ARM64 Binary
|
|
249
|
+
|
|
250
|
+
To build the ARM64 binary for Raspberry Pi:
|
|
251
|
+
|
|
252
|
+
1. Update `PI_HOST` in `msger-native/build-pi.ts` with your Pi's hostname/IP
|
|
253
|
+
2. Ensure SSH keys are set up: `ssh-copy-id pi@your-pi`
|
|
254
|
+
3. Run: `npm run build:native:pi`
|
|
255
|
+
|
|
256
|
+
The script will automatically:
|
|
257
|
+
- Copy source files to the Pi via SSH
|
|
258
|
+
- Install Rust and build dependencies if needed
|
|
259
|
+
- Build the binary on the Pi
|
|
260
|
+
- Copy the binary back to your development machine
|
|
261
|
+
|
|
170
262
|
## Development
|
|
171
263
|
|
|
172
264
|
The project consists of two parts:
|
|
173
265
|
|
|
174
|
-
1. **`msger-native/`** -
|
|
175
|
-
2. **Root directory** - TypeScript wrapper
|
|
266
|
+
1. **`msger-native/`** - Rust binary (subdirectory with its own Cargo.toml)
|
|
267
|
+
2. **Root directory** - TypeScript wrapper and npm package
|
|
176
268
|
|
|
177
269
|
When you run `npm run build`, it:
|
|
178
|
-
1. Builds
|
|
179
|
-
2. Copies
|
|
270
|
+
1. Builds platform-specific Rust binaries
|
|
271
|
+
2. Copies binaries to `msger-native/bin/`
|
|
180
272
|
3. Compiles TypeScript to JavaScript
|
|
181
273
|
|
|
182
|
-
|
|
274
|
+
All binaries are bundled with the npm package, and the correct one is selected at runtime.
|
|
183
275
|
|
|
184
276
|
## Features
|
|
185
277
|
|
|
186
|
-
- ✅ Cross-platform native webview
|
|
278
|
+
- ✅ Cross-platform native webview (Windows, Linux x64, Linux ARM64)
|
|
187
279
|
- ✅ Full HTML/CSS support
|
|
280
|
+
- ✅ Load external URLs or local files
|
|
188
281
|
- ✅ Customizable buttons
|
|
189
282
|
- ✅ Input field support
|
|
283
|
+
- ✅ Auto-close with timeout
|
|
190
284
|
- ✅ Keyboard shortcuts (Enter, Escape)
|
|
191
285
|
- ✅ Window close detection
|
|
192
286
|
- ✅ TypeScript type definitions
|
|
193
|
-
- ✅ Small binary size (~
|
|
287
|
+
- ✅ Small binary size (~1-2MB per platform)
|
|
194
288
|
- ✅ Fast startup (~50-200ms)
|
|
289
|
+
- ✅ Detached process mode
|
|
290
|
+
- ⏳ Coming soon: Window positioning, zoom control, DevTools
|
|
195
291
|
|
|
196
292
|
## Performance Comparison
|
|
197
293
|
|
|
198
294
|
| | **Electron (msgview)** | **Rust (msger)** | **Improvement** |
|
|
199
295
|
|---|---|---|---|
|
|
200
|
-
| **Binary Size** | ~100MB | ~
|
|
296
|
+
| **Binary Size** | ~100MB | ~1-2MB per platform | **50-100x smaller** |
|
|
201
297
|
| **Startup Time** | ~2-3 seconds | ~50-200ms | **10-20x faster** |
|
|
202
|
-
| **Memory Usage** | ~100-200MB | ~20-50MB | **5x less** |
|
|
203
|
-
| **Cross-Platform** | ✅ Win/Mac/Linux | ✅ Win/
|
|
298
|
+
| **Memory Usage** | ~100-200MB | ~20-50MB | **3-5x less** |
|
|
299
|
+
| **Cross-Platform** | ✅ Win/Mac/Linux | ✅ Win/Linux x64/ARM64 | Similar |
|
|
204
300
|
| **Full HTML/CSS** | ✅ Chromium | ✅ WebView2/WebKit | Same |
|
|
301
|
+
| **URL Loading** | ✅ | ✅ | Same |
|
|
302
|
+
|
|
303
|
+
## CLI Options
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
Usage: msger [options]
|
|
307
|
+
|
|
308
|
+
Options:
|
|
309
|
+
-t, --title <title> Window title
|
|
310
|
+
-m, --message <message> Plain text message
|
|
311
|
+
-html, --html <html> HTML content
|
|
312
|
+
-url, --url <url> URL to load (web or file://)
|
|
313
|
+
-w, --width <width> Window width in pixels (default: 600)
|
|
314
|
+
-h, --height <height> Window height in pixels (default: 400)
|
|
315
|
+
-b, --buttons <buttons> Comma-separated button labels (default: "OK")
|
|
316
|
+
-i, --allowInput Enable input field
|
|
317
|
+
-d, --defaultValue <value> Default input value
|
|
318
|
+
-timeout, --timeout <sec> Auto-close after N seconds
|
|
319
|
+
--help Show help
|
|
320
|
+
--version Show version
|
|
321
|
+
```
|
|
205
322
|
|
|
206
323
|
## License
|
|
207
324
|
|
package/clihandler.js
CHANGED
|
@@ -18,7 +18,7 @@ Options:
|
|
|
18
18
|
-input Include an input field
|
|
19
19
|
-default <text> Default value for input field
|
|
20
20
|
-size <width,height> Set window size (e.g., -size 800,600)
|
|
21
|
-
-timeout <seconds> Auto-close after specified seconds
|
|
21
|
+
-timeout <seconds> Auto-close after specified seconds
|
|
22
22
|
-detach Leave window open after app exits (parent process returns immediately)
|
|
23
23
|
-help, -?, --help Show this help message
|
|
24
24
|
|
|
@@ -165,8 +165,10 @@ export function parseCliArgs(args) {
|
|
|
165
165
|
buttons: cli.buttons,
|
|
166
166
|
allowInput: cli.input,
|
|
167
167
|
defaultValue: cli.defaultValue,
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
size: {
|
|
169
|
+
width: cli.width,
|
|
170
|
+
height: cli.height,
|
|
171
|
+
},
|
|
170
172
|
timeout: cli.timeout,
|
|
171
173
|
detach: cli.detach
|
|
172
174
|
};
|
package/clihandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clihandler.js","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"clihandler.js","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"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"}
|
package/clihandler.ts
CHANGED
|
@@ -11,7 +11,7 @@ interface CliOptions {
|
|
|
11
11
|
width?: number;
|
|
12
12
|
height?: number;
|
|
13
13
|
defaultValue?: string;
|
|
14
|
-
timeout?: number;
|
|
14
|
+
timeout?: number;
|
|
15
15
|
detach?: boolean;
|
|
16
16
|
help?: boolean;
|
|
17
17
|
}
|
|
@@ -35,7 +35,7 @@ Options:
|
|
|
35
35
|
-input Include an input field
|
|
36
36
|
-default <text> Default value for input field
|
|
37
37
|
-size <width,height> Set window size (e.g., -size 800,600)
|
|
38
|
-
-timeout <seconds> Auto-close after specified seconds
|
|
38
|
+
-timeout <seconds> Auto-close after specified seconds
|
|
39
39
|
-detach Leave window open after app exits (parent process returns immediately)
|
|
40
40
|
-help, -?, --help Show this help message
|
|
41
41
|
|
|
@@ -113,9 +113,9 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
|
|
|
113
113
|
} else if (arg === '-timeout' || arg === '--timeout') {
|
|
114
114
|
cli.timeout = parseInt(args[++i], 10);
|
|
115
115
|
i++;
|
|
116
|
-
} else if (arg === '-detach' || arg === '--detach') {
|
|
117
|
-
cli.detach = true;
|
|
118
|
-
i++;
|
|
116
|
+
} else if (arg === '-detach' || arg === '--detach') {
|
|
117
|
+
cli.detach = true;
|
|
118
|
+
i++;
|
|
119
119
|
} else if (arg === '-size' || arg === '--size') {
|
|
120
120
|
const size = args[++i];
|
|
121
121
|
const [w, h] = size.split(',').map(s => parseInt(s.trim(), 10));
|
|
@@ -170,9 +170,11 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
|
|
|
170
170
|
buttons: cli.buttons,
|
|
171
171
|
allowInput: cli.input,
|
|
172
172
|
defaultValue: cli.defaultValue,
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
size: {
|
|
174
|
+
width: cli.width,
|
|
175
|
+
height: cli.height,
|
|
176
|
+
},
|
|
177
|
+
timeout: cli.timeout,
|
|
176
178
|
detach: cli.detach
|
|
177
179
|
};
|
|
178
180
|
|
package/index.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
export interface MessageBoxOptions {
|
|
2
|
-
title?: string;
|
|
3
|
-
message
|
|
4
|
-
html?: string;
|
|
5
|
-
url?: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
title?: string; /** The title text displayed in the window title bar */
|
|
3
|
+
message?: string; /** The plain text message to display (optional if url or html is provided) */
|
|
4
|
+
html?: string; /** HTML content to display in the message box */
|
|
5
|
+
url?: string; /** URL to load external content (web URL or file path) */
|
|
6
|
+
size?: {
|
|
7
|
+
width: number; /** Window width */
|
|
8
|
+
height: number; /** Window height */
|
|
9
|
+
};
|
|
10
|
+
buttons?: string[]; /** Array of button labels to display (default: ['OK']) */
|
|
11
|
+
defaultValue?: string; /** Default value for input field when allowInput is true */
|
|
12
|
+
allowInput?: boolean; /** Enable an input field in the message box (default: false) */
|
|
13
|
+
timeout?: number; /** Auto-close the message box after specified seconds */
|
|
14
|
+
detach?: boolean; /** Launch the message box detached from parent process */
|
|
13
15
|
}
|
|
14
16
|
export interface MessageBoxResult {
|
|
15
17
|
button: string;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAoCpB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA0B;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,+DAA+D;QAC/D,IAAI,UAAkB,CAAC;QACvB,IAAI,SAAS,EAAE,CAAC;YACZ,UAAU,GAAG,iBAAiB,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,UAAU,GAAG,mBAAmB,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,aAAa,CAAC;QAC/B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAErF,yBAAyB;QACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO;QACX,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,IAAI,CAAC;gBACD,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CACZ,6BAA6B,UAAU,IAAI;oBAC3C,6BAA6B,UAAU,EAAE,CAC5C,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;QACL,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE;YAChC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;SACpC,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,iBAAiB;QACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC/D,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAqB,CAAC;gBAC7D,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;YACrF,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;YACnC,kEAAkE;YAClE,uCAAuC;QAC3C,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAElB,yDAAyD;YACzD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,6CAA6C;AAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,OAAO,EAAE,CAAC;AACpB,CAAC"}
|
package/index.ts
CHANGED
|
@@ -3,18 +3,29 @@ import { platform } from 'os';
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
|
|
6
|
+
|
|
6
7
|
export interface MessageBoxOptions {
|
|
7
|
-
title?: string;
|
|
8
|
-
message
|
|
9
|
-
html?: string;
|
|
10
|
-
url?: string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
title?: string; /** The title text displayed in the window title bar */
|
|
9
|
+
message?: string; /** The plain text message to display (optional if url or html is provided) */
|
|
10
|
+
html?: string; /** HTML content to display in the message box */
|
|
11
|
+
url?: string; /** URL to load external content (web URL or file path) */
|
|
12
|
+
// fullPage?: boolean; /** Display HTML as a complete page without wrapping (default: false) */
|
|
13
|
+
size?: { /** Window size in pixels */
|
|
14
|
+
width: number; /** Window width */
|
|
15
|
+
height: number; /** Window height */
|
|
16
|
+
};
|
|
17
|
+
// pos?: { /** Window position */
|
|
18
|
+
// x: number; /** Window X position in pixels */
|
|
19
|
+
// y: number; /** Window Y position in pixels */
|
|
20
|
+
// screen?: number; /** Optional screen index (0-based, Windows only) */
|
|
21
|
+
// };
|
|
22
|
+
// zoomPercent?: number; /** Initial zoom level as percentage (100=100%, 150=150%, 50=50%, etc.) */
|
|
23
|
+
buttons?: string[]; /** Array of button labels to display (default: ['OK']) */
|
|
24
|
+
defaultValue?: string; /** Default value for input field when allowInput is true */
|
|
25
|
+
allowInput?: boolean; /** Enable an input field in the message box (default: false) */
|
|
26
|
+
// devTools?: boolean; /** Open DevTools for debugging (default: false) */
|
|
27
|
+
timeout?: number; /** Auto-close the message box after specified seconds */
|
|
28
|
+
detach?: boolean; /** Launch the message box detached from parent process */
|
|
18
29
|
}
|
|
19
30
|
|
|
20
31
|
export interface MessageBoxResult {
|
|
Binary file
|
|
Binary file
|