mirinjs 0.0.1-alpha.13 → 0.0.1-alpha.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mirinjs",
3
- "version": "0.0.1-alpha.13",
3
+ "version": "0.0.1-alpha.14",
4
4
  "description": "Build desktop apps with Bun, TypeScript, and Chromium (CEF). The Bun-native Electron alternative.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/config.ts CHANGED
@@ -94,9 +94,42 @@ export interface MirinConfig {
94
94
  * support folder, so multiple channels can coexist at the same `baseUrl`.
95
95
  */
96
96
  release?: ReleaseConfig;
97
+ /**
98
+ * macOS `.dmg` installer produced by `mirin release` (alongside the updater
99
+ * artifacts). `true`/omitted builds a default drag-to-Applications DMG; an
100
+ * object customizes it; `false` disables it. The DMG is codesigned and (when
101
+ * notary credentials are set) notarized + stapled like the `.app`.
102
+ */
103
+ dmg?: boolean | DmgConfig;
97
104
  windows: Record<string, WindowConfig>;
98
105
  }
99
106
 
107
+ export interface DmgConfig {
108
+ /** Volume name shown when the DMG is mounted. Default: the app name. */
109
+ volumeName?: string;
110
+ /**
111
+ * Disk-image format. `ULFO` (lzfse, default) compresses large CEF frameworks
112
+ * best on modern macOS; `UDZO` (zlib) is the most broadly compatible; `UDBZ`
113
+ * (bzip2) is smallest but slowest.
114
+ */
115
+ format?: "ULFO" | "UDZO" | "UDBZ";
116
+ /**
117
+ * Background image for the mounted Finder window (path relative to the project
118
+ * root). Setting this — or any position/size below — switches to the laid-out
119
+ * DMG (Finder window styled via AppleScript); best-effort, falling back to a
120
+ * plain DMG if Finder automation is unavailable.
121
+ */
122
+ background?: string;
123
+ /** Mounted Finder window size, in points. Default 640×400. */
124
+ windowSize?: { width: number; height: number };
125
+ /** Icon size in the mounted window, in points. Default 128. */
126
+ iconSize?: number;
127
+ /** App icon position in the window. Default centered-left. */
128
+ appPosition?: { x: number; y: number };
129
+ /** `/Applications` symlink position. Default centered-right. */
130
+ applicationsPosition?: { x: number; y: number };
131
+ }
132
+
100
133
  export interface ReleaseConfig {
101
134
  /** Flat directory URL hosting `{channel}-{platform}-{arch}-*` update files. */
102
135
  baseUrl: string;
package/src/index.ts CHANGED
@@ -47,6 +47,8 @@ export type {
47
47
  WindowConfig,
48
48
  WindowMaterial,
49
49
  WindowMaterialOptions,
50
+ ReleaseConfig,
51
+ DmgConfig,
50
52
  } from "./config.ts";
51
53
 
52
54
  wireAppEvents();