@dimina-kit/devtools 0.4.0-dev.20260703101348 → 0.4.0
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/dist/main/app/app.d.ts +4 -1
- package/dist/main/app/app.js +26 -0
- package/dist/main/index.bundle.js +186 -5
- package/dist/main/ipc/popover.js +10 -1
- package/dist/main/ipc/session.js +17 -1
- package/dist/main/services/compile-standby.d.ts +26 -0
- package/dist/main/services/compile-standby.js +57 -0
- package/dist/main/services/notifications/renderer-notifier.d.ts +5 -1
- package/dist/main/services/notifications/renderer-notifier.js +6 -0
- package/dist/main/services/projects/local-provider.js +4 -0
- package/dist/main/services/projects/project-repository.d.ts +7 -1
- package/dist/main/services/projects/project-repository.js +24 -0
- package/dist/main/services/projects/types.d.ts +25 -1
- package/dist/main/services/render-inspect/index.js +4 -4
- package/dist/main/services/workspace/workspace-service.d.ts +5 -1
- package/dist/main/services/workspace/workspace-service.js +8 -0
- package/dist/native-host/render/render.js +42 -52
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/windows/host-toolbar-runtime.cjs.map +2 -2
- package/dist/preload/windows/simulator.cjs.map +1 -1
- package/dist/renderer/assets/index-BMqyDx71.js +49 -0
- package/dist/renderer/assets/{input-CTb_le7F.js → input-CDAEwpBO.js} +2 -2
- package/dist/renderer/assets/ipc-transport-B7eFOR68.css +1 -0
- package/dist/renderer/assets/{ipc-transport-Ck5Xa8Tu.js → ipc-transport-_G1k5V1p.js} +2 -2
- package/dist/renderer/assets/popover-DEdjK14m.js +2 -0
- package/dist/renderer/assets/{select-ozSk5Pt6.js → select-DpKPCh3y.js} +2 -2
- package/dist/renderer/assets/{settings-CNwGOI22.js → settings-M5q2elUr.js} +2 -2
- package/dist/renderer/assets/{settings-api-DMbMp1Eq.js → settings-api-CDlZoHiO.js} +2 -2
- package/dist/renderer/assets/{workbenchSettings-Cr4EHo5w.js → workbenchSettings-CT_H1WhV.js} +2 -2
- package/dist/renderer/entries/main/index.html +6 -6
- package/dist/renderer/entries/popover/index.html +5 -5
- package/dist/renderer/entries/settings/index.html +5 -5
- package/dist/renderer/entries/workbench-settings/index.html +4 -4
- package/dist/shared/ipc-channels.d.ts +6 -0
- package/dist/shared/ipc-channels.js +6 -0
- package/dist/shared/ipc-schemas.d.ts +29 -0
- package/dist/shared/ipc-schemas.js +34 -0
- package/dist/shared/types.d.ts +28 -0
- package/package.json +5 -5
- package/dist/renderer/assets/index-BwzPwCmM.js +0 -49
- package/dist/renderer/assets/ipc-transport-BPWIV5hA.css +0 -1
- package/dist/renderer/assets/popover-B1Zu2UQu.js +0 -2
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
overflow: hidden;
|
|
27
27
|
}
|
|
28
28
|
</style>
|
|
29
|
-
<script type="module" crossorigin src="../../assets/index-
|
|
30
|
-
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-
|
|
31
|
-
<link rel="modulepreload" crossorigin href="../../assets/input-
|
|
32
|
-
<link rel="modulepreload" crossorigin href="../../assets/select-
|
|
33
|
-
<link rel="modulepreload" crossorigin href="../../assets/settings-api-
|
|
29
|
+
<script type="module" crossorigin src="../../assets/index-BMqyDx71.js"></script>
|
|
30
|
+
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-_G1k5V1p.js">
|
|
31
|
+
<link rel="modulepreload" crossorigin href="../../assets/input-CDAEwpBO.js">
|
|
32
|
+
<link rel="modulepreload" crossorigin href="../../assets/select-DpKPCh3y.js">
|
|
33
|
+
<link rel="modulepreload" crossorigin href="../../assets/settings-api-CDlZoHiO.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="../../assets/constants-EAMiwL9_.js">
|
|
35
|
-
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-
|
|
35
|
+
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-B7eFOR68.css">
|
|
36
36
|
</head>
|
|
37
37
|
<body>
|
|
38
38
|
<div id="root"></div>
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
<style>
|
|
9
9
|
html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: transparent !important; }
|
|
10
10
|
</style>
|
|
11
|
-
<script type="module" crossorigin src="../../assets/popover-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="../../assets/input-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="../../assets/select-
|
|
11
|
+
<script type="module" crossorigin src="../../assets/popover-DEdjK14m.js"></script>
|
|
12
|
+
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-_G1k5V1p.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="../../assets/input-CDAEwpBO.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="../../assets/select-DpKPCh3y.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="../../assets/constants-EAMiwL9_.js">
|
|
16
|
-
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-
|
|
16
|
+
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-B7eFOR68.css">
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="root"></div>
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
closes the overlay — mirrors the popover entry. */
|
|
12
12
|
html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: transparent !important; }
|
|
13
13
|
</style>
|
|
14
|
-
<script type="module" crossorigin src="../../assets/settings-
|
|
15
|
-
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-
|
|
16
|
-
<link rel="modulepreload" crossorigin href="../../assets/input-
|
|
17
|
-
<link rel="modulepreload" crossorigin href="../../assets/settings-api-
|
|
18
|
-
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-
|
|
14
|
+
<script type="module" crossorigin src="../../assets/settings-M5q2elUr.js"></script>
|
|
15
|
+
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-_G1k5V1p.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="../../assets/input-CDAEwpBO.js">
|
|
17
|
+
<link rel="modulepreload" crossorigin href="../../assets/settings-api-CDlZoHiO.js">
|
|
18
|
+
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-B7eFOR68.css">
|
|
19
19
|
</head>
|
|
20
20
|
<body>
|
|
21
21
|
<div id="root"></div>
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
<!-- See entries/main/index.html for CSP rationale. -->
|
|
7
7
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: http: https:; font-src 'self' data:; media-src 'self' blob: http: https:; connect-src 'self' http: https: ws: wss:;" />
|
|
8
8
|
<title>开发工具设置</title>
|
|
9
|
-
<script type="module" crossorigin src="../../assets/workbenchSettings-
|
|
10
|
-
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="../../assets/settings-api-
|
|
9
|
+
<script type="module" crossorigin src="../../assets/workbenchSettings-CT_H1WhV.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="../../assets/ipc-transport-_G1k5V1p.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="../../assets/settings-api-CDlZoHiO.js">
|
|
12
12
|
<link rel="modulepreload" crossorigin href="../../assets/constants-EAMiwL9_.js">
|
|
13
|
-
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-
|
|
13
|
+
<link rel="stylesheet" crossorigin href="../../assets/ipc-transport-B7eFOR68.css">
|
|
14
14
|
</head>
|
|
15
15
|
<body>
|
|
16
16
|
<div id="root"></div>
|
|
@@ -164,6 +164,10 @@ export declare const ProjectChannel: {
|
|
|
164
164
|
readonly CompileLog: "project:compileLog";
|
|
165
165
|
readonly CaptureThumbnail: "project:captureThumbnail";
|
|
166
166
|
readonly GetThumbnail: "project:getThumbnail";
|
|
167
|
+
readonly GetLaunchConfigs: "project:getLaunchConfigs";
|
|
168
|
+
readonly SaveLaunchConfigs: "project:saveLaunchConfigs";
|
|
169
|
+
readonly GetActiveLaunchConfigId: "project:getActiveLaunchConfigId";
|
|
170
|
+
readonly SaveActiveLaunchConfigId: "project:saveActiveLaunchConfigId";
|
|
167
171
|
};
|
|
168
172
|
export declare const SessionChannel: {
|
|
169
173
|
readonly RuntimeStatus: "session:runtimeStatus";
|
|
@@ -269,6 +273,8 @@ export declare const PopoverChannel: {
|
|
|
269
273
|
readonly Relaunch: "popover:relaunch";
|
|
270
274
|
readonly Closed: "popover:closed";
|
|
271
275
|
readonly Init: "popover:init";
|
|
276
|
+
readonly SwitchLaunchConfig: "popover:switchLaunchConfig";
|
|
277
|
+
readonly UpdateLaunchConfigs: "popover:updateLaunchConfigs";
|
|
272
278
|
};
|
|
273
279
|
export declare const WindowChannel: {
|
|
274
280
|
readonly NavigateBack: "window:navigateBack";
|
|
@@ -129,6 +129,10 @@ export const ProjectChannel = {
|
|
|
129
129
|
CompileLog: 'project:compileLog',
|
|
130
130
|
CaptureThumbnail: 'project:captureThumbnail',
|
|
131
131
|
GetThumbnail: 'project:getThumbnail',
|
|
132
|
+
GetLaunchConfigs: 'project:getLaunchConfigs',
|
|
133
|
+
SaveLaunchConfigs: 'project:saveLaunchConfigs',
|
|
134
|
+
GetActiveLaunchConfigId: 'project:getActiveLaunchConfigId',
|
|
135
|
+
SaveActiveLaunchConfigId: 'project:saveActiveLaunchConfigId',
|
|
132
136
|
};
|
|
133
137
|
// ── Session runtime status ───────────────────────────────────────────────
|
|
134
138
|
//
|
|
@@ -250,6 +254,8 @@ export const PopoverChannel = {
|
|
|
250
254
|
Relaunch: 'popover:relaunch',
|
|
251
255
|
Closed: 'popover:closed',
|
|
252
256
|
Init: 'popover:init',
|
|
257
|
+
SwitchLaunchConfig: 'popover:switchLaunchConfig',
|
|
258
|
+
UpdateLaunchConfigs: 'popover:updateLaunchConfigs',
|
|
253
259
|
};
|
|
254
260
|
// ── Window ───────────────────────────────────────────────────────────────
|
|
255
261
|
export const WindowChannel = {
|
|
@@ -175,4 +175,33 @@ export declare const SettingsProjectSettingsChangedSchema: z.ZodTuple<[z.ZodObje
|
|
|
175
175
|
export declare const ProjectCaptureThumbnailSchema: z.ZodTuple<[z.ZodString], null>;
|
|
176
176
|
/** project:getThumbnail — absolute project path. */
|
|
177
177
|
export declare const ProjectGetThumbnailSchema: z.ZodTuple<[z.ZodString], null>;
|
|
178
|
+
/** project:getLaunchConfigs — absolute project path. */
|
|
179
|
+
export declare const ProjectGetLaunchConfigsSchema: z.ZodTuple<[z.ZodString], null>;
|
|
180
|
+
export declare const ProjectSaveLaunchConfigsSchema: z.ZodTuple<[z.ZodString, z.ZodArray<z.ZodObject<{
|
|
181
|
+
id: z.ZodString;
|
|
182
|
+
name: z.ZodString;
|
|
183
|
+
startPage: z.ZodOptional<z.ZodString>;
|
|
184
|
+
scene: z.ZodOptional<z.ZodNumber>;
|
|
185
|
+
queryParams: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
186
|
+
key: z.ZodString;
|
|
187
|
+
value: z.ZodString;
|
|
188
|
+
}, z.core.$loose>>>;
|
|
189
|
+
}, z.core.$loose>>], null>;
|
|
190
|
+
/** project:getActiveLaunchConfigId — absolute project path. */
|
|
191
|
+
export declare const ProjectGetActiveLaunchConfigIdSchema: z.ZodTuple<[z.ZodString], null>;
|
|
192
|
+
/** project:saveActiveLaunchConfigId — absolute path + id (string or null). */
|
|
193
|
+
export declare const ProjectSaveActiveLaunchConfigIdSchema: z.ZodTuple<[z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNull]>], null>;
|
|
194
|
+
/** popover:switchLaunchConfig — id (string) or null for normal mode. */
|
|
195
|
+
export declare const PopoverSwitchLaunchConfigSchema: z.ZodTuple<[z.ZodUnion<readonly [z.ZodString, z.ZodNull]>], null>;
|
|
196
|
+
/** popover:updateLaunchConfigs — full launch config array. */
|
|
197
|
+
export declare const PopoverUpdateLaunchConfigsSchema: z.ZodTuple<[z.ZodArray<z.ZodObject<{
|
|
198
|
+
id: z.ZodString;
|
|
199
|
+
name: z.ZodString;
|
|
200
|
+
startPage: z.ZodOptional<z.ZodString>;
|
|
201
|
+
scene: z.ZodOptional<z.ZodNumber>;
|
|
202
|
+
queryParams: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
203
|
+
key: z.ZodString;
|
|
204
|
+
value: z.ZodString;
|
|
205
|
+
}, z.core.$loose>>>;
|
|
206
|
+
}, z.core.$loose>>], null>;
|
|
178
207
|
//# sourceMappingURL=ipc-schemas.d.ts.map
|
|
@@ -211,4 +211,38 @@ export const SettingsProjectSettingsChangedSchema = z.tuple([
|
|
|
211
211
|
export const ProjectCaptureThumbnailSchema = z.tuple([AbsolutePath]);
|
|
212
212
|
/** project:getThumbnail — absolute project path. */
|
|
213
213
|
export const ProjectGetThumbnailSchema = z.tuple([AbsolutePath]);
|
|
214
|
+
/** project:getLaunchConfigs — absolute project path. */
|
|
215
|
+
export const ProjectGetLaunchConfigsSchema = z.tuple([AbsolutePath]);
|
|
216
|
+
/**
|
|
217
|
+
* project:saveLaunchConfigs — absolute path + array of launch configs.
|
|
218
|
+
* Each config extends CompileConfig with `id` and `name`.
|
|
219
|
+
*/
|
|
220
|
+
const LaunchConfigShape = z.looseObject({
|
|
221
|
+
id: z.string().min(1),
|
|
222
|
+
name: z.string(),
|
|
223
|
+
startPage: z.string().optional(),
|
|
224
|
+
scene: z.number().optional(),
|
|
225
|
+
queryParams: z
|
|
226
|
+
.array(z.looseObject({ key: z.string(), value: z.string() }))
|
|
227
|
+
.optional(),
|
|
228
|
+
});
|
|
229
|
+
export const ProjectSaveLaunchConfigsSchema = z.tuple([
|
|
230
|
+
AbsolutePath,
|
|
231
|
+
z.array(LaunchConfigShape),
|
|
232
|
+
]);
|
|
233
|
+
/** project:getActiveLaunchConfigId — absolute project path. */
|
|
234
|
+
export const ProjectGetActiveLaunchConfigIdSchema = z.tuple([AbsolutePath]);
|
|
235
|
+
/** project:saveActiveLaunchConfigId — absolute path + id (string or null). */
|
|
236
|
+
export const ProjectSaveActiveLaunchConfigIdSchema = z.tuple([
|
|
237
|
+
AbsolutePath,
|
|
238
|
+
z.union([z.string(), z.null()]),
|
|
239
|
+
]);
|
|
240
|
+
/** popover:switchLaunchConfig — id (string) or null for normal mode. */
|
|
241
|
+
export const PopoverSwitchLaunchConfigSchema = z.tuple([
|
|
242
|
+
z.union([z.string(), z.null()]),
|
|
243
|
+
]);
|
|
244
|
+
/** popover:updateLaunchConfigs — full launch config array. */
|
|
245
|
+
export const PopoverUpdateLaunchConfigsSchema = z.tuple([
|
|
246
|
+
z.array(LaunchConfigShape),
|
|
247
|
+
]);
|
|
214
248
|
//# sourceMappingURL=ipc-schemas.js.map
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -116,6 +116,16 @@ export interface CompileConfig {
|
|
|
116
116
|
value: string;
|
|
117
117
|
}[];
|
|
118
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Named launch configuration — a saved compile config with an identity.
|
|
121
|
+
* Users create these from the compile-mode popover to persist frequently
|
|
122
|
+
* used start-page / scene / query-param combinations and switch between
|
|
123
|
+
* them without recompilation.
|
|
124
|
+
*/
|
|
125
|
+
export interface LaunchConfig extends CompileConfig {
|
|
126
|
+
id: string;
|
|
127
|
+
name: string;
|
|
128
|
+
}
|
|
119
129
|
export interface IpcResult<T = unknown> {
|
|
120
130
|
success: boolean;
|
|
121
131
|
data?: T;
|
|
@@ -183,6 +193,20 @@ export interface WorkbenchHostInstance {
|
|
|
183
193
|
* The returned Disposable removes only the registration it created.
|
|
184
194
|
*/
|
|
185
195
|
registerSimulatorApi(name: string, handler: SimulatorApiHandler): import('@dimina-kit/electron-deck/main').Disposable;
|
|
196
|
+
/**
|
|
197
|
+
* Read all saved launch configs for the active project.
|
|
198
|
+
* Returns an empty array when no project is open or no configs exist.
|
|
199
|
+
*/
|
|
200
|
+
getLaunchConfigs(): Promise<LaunchConfig[]>;
|
|
201
|
+
/**
|
|
202
|
+
* Persist the full list of launch configs for the active project.
|
|
203
|
+
*/
|
|
204
|
+
setLaunchConfigs(configs: LaunchConfig[]): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Activate a named launch config (by id) or revert to normal mode (null).
|
|
207
|
+
* Persists the selection and notifies the renderer to relaunch.
|
|
208
|
+
*/
|
|
209
|
+
setActiveLaunchConfig(id: string | null): Promise<void>;
|
|
186
210
|
}
|
|
187
211
|
/**
|
|
188
212
|
* Pluggable backend for the project-list panel. Hosts may supply this to
|
|
@@ -201,6 +225,10 @@ export interface ProjectsProvider {
|
|
|
201
225
|
updateLastOpened?(dirPath: string): void | Promise<void>;
|
|
202
226
|
getCompileConfig?(dirPath: string): unknown;
|
|
203
227
|
saveCompileConfig?(dirPath: string, cfg: unknown): void | Promise<void>;
|
|
228
|
+
getLaunchConfigs?(dirPath: string): unknown[] | Promise<unknown[]>;
|
|
229
|
+
saveLaunchConfigs?(dirPath: string, configs: unknown[]): void | Promise<void>;
|
|
230
|
+
getActiveLaunchConfigId?(dirPath: string): string | null | Promise<string | null>;
|
|
231
|
+
saveActiveLaunchConfigId?(dirPath: string, id: string | null): void | Promise<void>;
|
|
204
232
|
}
|
|
205
233
|
/**
|
|
206
234
|
* A template the user can pick from in the "新建项目" dialog. Exactly one of
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dimina-kit/devtools",
|
|
3
|
-
"version": "0.4.0
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Dimina DevTools - modular developer tools for mini app debugging",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dimina",
|
|
@@ -85,9 +85,9 @@
|
|
|
85
85
|
"chrome-remote-interface": "^0.34.0",
|
|
86
86
|
"ws": "^8.20.0",
|
|
87
87
|
"zod": "^4.3.6",
|
|
88
|
-
"@dimina-kit/
|
|
89
|
-
"@dimina-kit/
|
|
90
|
-
"@dimina-kit/
|
|
88
|
+
"@dimina-kit/view-anchor": "0.1.0",
|
|
89
|
+
"@dimina-kit/electron-deck": "0.1.0",
|
|
90
|
+
"@dimina-kit/devkit": "0.1.2"
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
|
93
93
|
"@playwright/test": "^1.59.1",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"build:core": "pnpm --filter @dimina-kit/devkit build",
|
|
158
158
|
"check-types": "tsc --noEmit",
|
|
159
159
|
"lint": "eslint . --max-warnings 0",
|
|
160
|
-
"test": "vitest run",
|
|
160
|
+
"test": "vitest run --reporter=default --reporter=json --outputFile.json=test-report.json --coverage.enabled --coverage.reporter=json-summary --coverage.reportsDirectory=coverage",
|
|
161
161
|
"test:dev": "vitest",
|
|
162
162
|
"test:coverage": "vitest run --coverage",
|
|
163
163
|
"test:e2e": "playwright test",
|