@dimina-kit/devtools 0.4.0-dev.20260824071518 → 0.4.0-dev.20260828092243
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/api.d.ts +1 -1
- package/dist/main/app/app.js +55 -2
- package/dist/main/index.bundle.js +887 -234
- package/dist/main/ipc/index.d.ts +2 -0
- package/dist/main/ipc/index.js +2 -0
- package/dist/main/ipc/popover.js +1 -1
- package/dist/main/ipc/project-create.d.ts +15 -0
- package/dist/main/ipc/project-create.js +26 -0
- package/dist/main/ipc/projects.d.ts +1 -1
- package/dist/main/ipc/projects.js +11 -0
- package/dist/main/ipc/settings.js +2 -1
- package/dist/main/ipc/simulator-module.d.ts +4 -3
- package/dist/main/ipc/simulator-module.js +4 -5
- package/dist/main/ipc/tooltip.js +1 -1
- package/dist/main/ipc/views.d.ts +15 -1
- package/dist/main/ipc/views.js +61 -4
- package/dist/main/runtime/miniapp-runtime.d.ts +87 -19
- package/dist/main/services/notifications/renderer-notifier.d.ts +30 -1
- package/dist/main/services/notifications/renderer-notifier.js +23 -1
- package/dist/main/services/projects/project-repository.d.ts +4 -1
- package/dist/main/services/projects/project-repository.js +63 -5
- package/dist/main/services/update/update-manager.d.ts +17 -3
- package/dist/main/services/update/update-manager.js +25 -6
- package/dist/main/services/views/host-dialog-port-channel.d.ts +18 -0
- package/dist/main/services/views/host-dialog-port-channel.js +15 -0
- package/dist/main/services/views/host-dialog-session-runtime.d.ts +10 -0
- package/dist/main/services/views/host-dialog-session-runtime.js +17 -0
- package/dist/main/services/views/host-dialog-view.d.ts +95 -0
- package/dist/main/services/views/host-dialog-view.js +147 -0
- package/dist/main/services/views/host-sidebar-port-channel.d.ts +18 -0
- package/dist/main/services/views/host-sidebar-port-channel.js +15 -0
- package/dist/main/services/views/host-sidebar-session-runtime.d.ts +10 -0
- package/dist/main/services/views/host-sidebar-session-runtime.js +17 -0
- package/dist/main/services/views/host-sidebar-view.d.ts +59 -0
- package/dist/main/services/views/host-sidebar-view.js +44 -0
- package/dist/main/services/views/host-slot-port-channel.d.ts +107 -0
- package/dist/main/services/views/host-slot-port-channel.js +261 -0
- package/dist/main/services/views/host-slot-session-runtime.d.ts +40 -0
- package/dist/main/services/views/host-slot-session-runtime.js +50 -0
- package/dist/main/services/views/host-slot-view.d.ts +109 -0
- package/dist/main/services/views/host-slot-view.js +147 -0
- package/dist/main/services/views/host-toolbar-port-channel.d.ts +6 -91
- package/dist/main/services/views/host-toolbar-port-channel.js +10 -243
- package/dist/main/services/views/host-toolbar-session-runtime.d.ts +5 -30
- package/dist/main/services/views/host-toolbar-session-runtime.js +9 -47
- package/dist/main/services/views/host-toolbar-view.d.ts +34 -7
- package/dist/main/services/views/host-toolbar-view.js +30 -224
- package/dist/main/services/views/managed-web-contents-view.d.ts +48 -0
- package/dist/main/services/views/managed-web-contents-view.js +123 -0
- package/dist/main/services/views/overlay-panels-view.d.ts +23 -0
- package/dist/main/services/views/overlay-panels-view.js +93 -4
- package/dist/main/services/views/placement-reconciler.d.ts +14 -2
- package/dist/main/services/views/placement-reconciler.js +27 -0
- package/dist/main/services/views/placement-test-driver.d.ts +1 -0
- package/dist/main/services/views/placement-test-driver.js +3 -0
- package/dist/main/services/views/view-manager-devtools-host-test-fixtures.js +3 -1
- package/dist/main/services/views/view-manager.d.ts +10 -78
- package/dist/main/services/views/view-manager.js +34 -3
- package/dist/main/utils/paths.d.ts +4 -0
- package/dist/main/utils/paths.js +4 -0
- package/dist/main/utils/sender-policy.js +10 -0
- package/dist/native-host/common/common.js +65 -62
- package/dist/native-host/render/render.js +2230 -2052
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/runtime/host-dialog-advertiser.d.ts +22 -0
- package/dist/preload/runtime/host-dialog-advertiser.js +37 -0
- package/dist/preload/runtime/host-dialog-port.d.ts +44 -0
- package/dist/preload/runtime/host-dialog-port.js +53 -0
- package/dist/preload/runtime/host-dialog-runtime.d.ts +28 -0
- package/dist/preload/runtime/host-dialog-runtime.js +36 -0
- package/dist/preload/runtime/host-sidebar-advertiser.d.ts +19 -0
- package/dist/preload/runtime/host-sidebar-advertiser.js +35 -0
- package/dist/preload/runtime/host-sidebar-port.d.ts +44 -0
- package/dist/preload/runtime/host-sidebar-port.js +53 -0
- package/dist/preload/runtime/host-sidebar-runtime.d.ts +28 -0
- package/dist/preload/runtime/host-sidebar-runtime.js +36 -0
- package/dist/preload/runtime/host-slot-port-bridge.d.ts +18 -0
- package/dist/preload/runtime/host-slot-port-bridge.js +112 -0
- package/dist/preload/runtime/host-toolbar-advertiser.d.ts +5 -13
- package/dist/preload/runtime/host-toolbar-advertiser.js +18 -38
- package/dist/preload/runtime/host-toolbar-port.d.ts +9 -0
- package/dist/preload/runtime/host-toolbar-port.js +11 -95
- package/dist/preload/runtime/wait-for-slot-root.d.ts +20 -0
- package/dist/preload/runtime/wait-for-slot-root.js +52 -0
- package/dist/preload/windows/host-dialog-runtime.cjs +353 -0
- package/dist/preload/windows/host-dialog-runtime.cjs.map +7 -0
- package/dist/preload/windows/host-dialog-runtime.d.ts +2 -0
- package/dist/preload/windows/host-dialog-runtime.js +13 -0
- package/dist/preload/windows/host-sidebar-runtime.cjs +354 -0
- package/dist/preload/windows/host-sidebar-runtime.cjs.map +7 -0
- package/dist/preload/windows/host-sidebar-runtime.d.ts +2 -0
- package/dist/preload/windows/host-sidebar-runtime.js +13 -0
- package/dist/preload/windows/host-toolbar-runtime.cjs +134 -51
- package/dist/preload/windows/host-toolbar-runtime.cjs.map +3 -3
- package/dist/preload/windows/simulator.cjs.map +1 -1
- package/dist/renderer/assets/button-DsNqZm7o.js +2 -0
- package/dist/renderer/assets/constants-D7DfVqMp.js +2 -0
- package/dist/renderer/assets/constants-D8zsejFq.js +2 -0
- package/dist/renderer/assets/createLucideIcon-CYJeT1ji.js +2 -0
- package/dist/renderer/assets/dialog-pT4qWmka.js +46 -0
- package/dist/renderer/assets/dist-o70xmpc1.js +2 -0
- package/dist/renderer/assets/hostSidebarDefault-NvGZlE9O.js +2 -0
- package/dist/renderer/assets/index-zErhG3ta.js +5 -0
- package/dist/renderer/assets/input-4QxTXMZN.js +2 -0
- package/dist/renderer/assets/ipc-channels-overlays-Blr5TNoB.js +2 -0
- package/dist/renderer/assets/jsx-runtime-B-3rq1y5.css +1 -0
- package/dist/renderer/assets/jsx-runtime-CqVdW3eg.js +9 -0
- package/dist/renderer/assets/popover-CJiSWwuE.js +2 -0
- package/dist/renderer/assets/project-api-DZ1Zi6EC.js +2 -0
- package/dist/renderer/assets/projectCreateDialog-DMWNhw_1.js +2 -0
- package/dist/renderer/assets/select-C86pNcsu.js +2 -0
- package/dist/renderer/assets/settings-BoI8mLT1.js +2 -0
- package/dist/renderer/assets/settings-api-Bs_g4NHs.js +2 -0
- package/dist/renderer/assets/settings-tab-bar-DHLLygqv.js +2 -0
- package/dist/renderer/assets/tooltip-BhAyY0T4.js +2 -0
- package/dist/renderer/assets/types-YYjkvane.js +2 -0
- package/dist/renderer/assets/updateDialog-DPum3wx1.js +2 -0
- package/dist/renderer/assets/utils-kfQov6Pa.js +2 -0
- package/dist/renderer/assets/view-api-DFhb2R8-.js +2 -0
- package/dist/renderer/assets/{workbenchSettings-oq_EyfKf.js → workbenchSettings-DrajRQUk.js} +3 -3
- package/dist/renderer/entries/host-sidebar-default/index.html +21 -0
- package/dist/renderer/entries/main/index.html +15 -8
- package/dist/renderer/entries/popover/index.html +10 -7
- package/dist/renderer/entries/project-create-dialog/index.html +27 -0
- package/dist/renderer/entries/settings/index.html +10 -7
- package/dist/renderer/entries/tooltip/index.html +5 -4
- package/dist/renderer/entries/update-dialog/index.html +25 -0
- package/dist/renderer/entries/workbench-settings/index.html +11 -7
- package/dist/service-host/preload.cjs +10 -0
- package/dist/shared/constants.d.ts +22 -0
- package/dist/shared/constants.js +22 -0
- package/dist/shared/ipc-channels-overlays.d.ts +156 -0
- package/dist/shared/ipc-channels-overlays.js +186 -0
- package/dist/shared/ipc-channels.d.ts +0 -77
- package/dist/shared/ipc-channels.js +0 -98
- package/dist/shared/ipc-schemas.d.ts +33 -0
- package/dist/shared/ipc-schemas.js +41 -0
- package/dist/shared/types.d.ts +10 -0
- package/dist/shared/view-ids.d.ts +7 -0
- package/dist/shared/view-ids.js +10 -0
- package/package.json +8 -8
- package/dist/renderer/assets/constants-Bdz0LHdy.js +0 -2
- package/dist/renderer/assets/index-CtznrmHR.js +0 -49
- package/dist/renderer/assets/input-Dmm6nob5.js +0 -2
- package/dist/renderer/assets/ipc-transport-BOg0gR9W.js +0 -9
- package/dist/renderer/assets/ipc-transport-DgQhZaE9.css +0 -1
- package/dist/renderer/assets/popover-Cd1FEGOX.js +0 -2
- package/dist/renderer/assets/select-BaYox7If.js +0 -2
- package/dist/renderer/assets/settings-BXvwuFaz.js +0 -2
- package/dist/renderer/assets/settings-api-Bo9GbYqs.js +0 -2
- package/dist/renderer/assets/settings-tab-bar-Beia6lMr.js +0 -2
- package/dist/renderer/assets/tooltip-DfQqK3Sk.js +0 -2
- package/dist/renderer/assets/view-api-nn69je7A.js +0 -2
package/dist/main/api.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { launch, buildDefaultMenu, openSettingsWindow } from './app/launch.js';
|
|
|
2
2
|
export type { WorkbenchAppInstance } from './app/app.js';
|
|
3
3
|
export { suppressEpipe, setupCdpPort } from './app/bootstrap.js';
|
|
4
4
|
export { asMiniappRuntime } from './runtime/miniapp-runtime.js';
|
|
5
|
-
export type { MiniappRuntime, MiniappSessionAppInfo, DiminaHostToolbarPageBridge, } from './runtime/miniapp-runtime.js';
|
|
5
|
+
export type { MiniappRuntime, MiniappSessionAppInfo, DiminaHostToolbarPageBridge, DiminaHostSidebarPageBridge, DiminaHostDialogPageBridge, } from './runtime/miniapp-runtime.js';
|
|
6
6
|
export { createWorkbenchContext } from './services/workbench-context.js';
|
|
7
7
|
export type { WorkbenchContext, CreateContextOptions } from './services/workbench-context.js';
|
|
8
8
|
export { createMainWindow } from './windows/main-window/index.js';
|
package/dist/main/app/app.js
CHANGED
|
@@ -4,6 +4,7 @@ import { registerProjectFsIpc } from '../ipc/project-fs.js';
|
|
|
4
4
|
import { app, BrowserWindow, nativeImage, session } from 'electron';
|
|
5
5
|
import fs from 'fs';
|
|
6
6
|
import path from 'path';
|
|
7
|
+
import { HOST_SIDEBAR_DEFAULT_WIDTH } from '../../shared/constants.js';
|
|
7
8
|
import { rendererDir as defaultRendererDir, defaultPreloadPath, devtoolsPackageRoot } from '../utils/paths.js';
|
|
8
9
|
import { installThemeBackgroundSync } from '../utils/theme.js';
|
|
9
10
|
import { createMainWindow, wireMainWindowEvents } from '../windows/main-window/index.js';
|
|
@@ -17,7 +18,7 @@ import { createWorkbenchContext } from '../services/workbench-context.js';
|
|
|
17
18
|
import { setupCompileWorkerStandby } from '../services/compile-standby.js';
|
|
18
19
|
import { loadWorkbenchSettings, applyTheme } from '../services/settings/index.js';
|
|
19
20
|
import { installAppMenu } from '../menu/index.js';
|
|
20
|
-
import { registerAppIpc, registerInternalDevtoolsIpc, registerTooltipIpc, popoverModule, projectsModule, sessionModule, settingsModule, simulatorModule, } from '../ipc/index.js';
|
|
21
|
+
import { registerAppIpc, registerInternalDevtoolsIpc, registerTooltipIpc, registerProjectCreateIpc, registerViewsIpc, popoverModule, projectsModule, sessionModule, settingsModule, simulatorModule, } from '../ipc/index.js';
|
|
21
22
|
import { startAutomationServer } from '../services/automation/index.js';
|
|
22
23
|
import { startMcpServer, setNativeHost, setActiveBridgeId, setNativeOverviewProvider, } from '../services/mcp/index.js';
|
|
23
24
|
import { setupSimulatorStorage } from '../services/simulator-storage/index.js';
|
|
@@ -411,6 +412,19 @@ onInstanceCreated) {
|
|
|
411
412
|
// overlay is core UI chrome (every toolbar in this app relies on it), not a
|
|
412
413
|
// host-configurable feature.
|
|
413
414
|
context.registry.add(registerTooltipIpc(context));
|
|
415
|
+
// Unconditional: the project-create dialog is core UI chrome (the built-in
|
|
416
|
+
// "新建项目" flow every host falls back to), not a host-configurable feature.
|
|
417
|
+
context.registry.add(registerProjectCreateIpc(context));
|
|
418
|
+
// Unconditional (not a toggleable BUILTIN_MODULES entry): placement/host-
|
|
419
|
+
// slot IPC has no real dependency on the simulator module — `ctx.views`
|
|
420
|
+
// (ViewManager) is constructed unconditionally regardless of
|
|
421
|
+
// `modules.simulator`, and host-sidebar in particular lives on the
|
|
422
|
+
// project-list page, unrelated to the simulator webview. Every renderer
|
|
423
|
+
// entry point also blocks its first render on `AllocatePlacementGeneration`
|
|
424
|
+
// (see renderer-placement-generation.ts) — gating any of this behind the
|
|
425
|
+
// simulator toggle would strand a host that disables it on the fatal
|
|
426
|
+
// boot-failure page, or leave placement silently non-functional.
|
|
427
|
+
context.registry.add(registerViewsIpc(context));
|
|
414
428
|
// Referer/CORS webRequest policy for the simulator runtime's sessions (shared
|
|
415
429
|
// fallback + every per-project partition). Registered into the context
|
|
416
430
|
// registry so its configurator + per-session listeners are torn down with the
|
|
@@ -497,13 +511,52 @@ onInstanceCreated) {
|
|
|
497
511
|
instance.registerSimulatorApi('login', async () => {
|
|
498
512
|
return 'hello';
|
|
499
513
|
});
|
|
514
|
+
// devtools' own default content for the host-sidebar slot: a narrow icon
|
|
515
|
+
// rail (logo + 小程序/小游戏 toggle) filtering the project-list grid by
|
|
516
|
+
// `Project.type`. Loaded BEFORE `config.onSetup` runs below, so any
|
|
517
|
+
// downstream `loadURL`/`loadFile` call inside onSetup necessarily happens
|
|
518
|
+
// later and naturally supersedes this default via plain chronological
|
|
519
|
+
// ordering — no override flag needed.
|
|
520
|
+
context.registry.add(context.views.hostSidebar.onMessage('project-category-selected', (payload) => {
|
|
521
|
+
const category = payload?.category;
|
|
522
|
+
if (category !== 'miniprogram' && category !== 'minigame')
|
|
523
|
+
return;
|
|
524
|
+
context.notify.hostSidebarCategorySelected(category);
|
|
525
|
+
}));
|
|
526
|
+
context.views.hostSidebar
|
|
527
|
+
.loadFile(path.join(rendererDir, 'entries/host-sidebar-default/index.html'))
|
|
528
|
+
.catch((err) => {
|
|
529
|
+
console.warn('[workbench] failed to load host-sidebar default content:', err);
|
|
530
|
+
});
|
|
531
|
+
// Seed the notified width with the rail's own known intrinsic width
|
|
532
|
+
// (`HOST_SIDEBAR_DEFAULT_WIDTH`) instead of leaving it at 0 until the
|
|
533
|
+
// rail's in-page advertiser reports back. That report can never arrive on
|
|
534
|
+
// its own: the placeholder above only becomes "desired visible" once a
|
|
535
|
+
// nonzero width is known (project-list-screen.tsx), attach only happens
|
|
536
|
+
// for a "desired visible" view (placement-reconciler.ts), and the rail's
|
|
537
|
+
// advertiser (view-anchor's measure-loop.ts) only ever fires via
|
|
538
|
+
// `requestAnimationFrame`, which Chromium never schedules for a
|
|
539
|
+
// WebContentsView that was never attached — a structural deadlock, not a
|
|
540
|
+
// slow-to-resolve race. `setWidthMode({fixed})` pushes the seed
|
|
541
|
+
// synchronously (no attach/rAF dependency) and, critically, retains it in
|
|
542
|
+
// `getHostSidebarWidth()` too, so a renderer that mounts and pulls before
|
|
543
|
+
// any push replays the real seed instead of a stale 0. Flipping back to
|
|
544
|
+
// 'auto' immediately after, before anything has attached or advertised, is
|
|
545
|
+
// a same-tick no-op past the seed (`setExtentMode`'s reapply branch only
|
|
546
|
+
// fires once something has actually been advertised) — it leaves the slot
|
|
547
|
+
// in 'auto' for whichever content ends up loaded (this rail's own later
|
|
548
|
+
// report, or a downstream replacement's), not pinned.
|
|
549
|
+
context.views.hostSidebar.setWidthMode({ fixed: HOST_SIDEBAR_DEFAULT_WIDTH });
|
|
550
|
+
context.views.hostSidebar.setWidthMode('auto');
|
|
500
551
|
if (config.onSetup) {
|
|
501
552
|
await config.onSetup(instance);
|
|
502
553
|
}
|
|
503
554
|
if (config.updateChecker) {
|
|
504
555
|
instance.updateManager = new UpdateManager({
|
|
505
556
|
checker: config.updateChecker,
|
|
506
|
-
|
|
557
|
+
showUpdatePanel: (info) => context.views.showUpdateDialog(info),
|
|
558
|
+
notifyDownloadProgress: (percent) => context.views.notifyUpdateDownloadProgress(percent),
|
|
559
|
+
hideUpdatePanel: () => context.views.hideUpdateDialog(),
|
|
507
560
|
senderPolicy: context.senderPolicy,
|
|
508
561
|
checkInterval: config.updateOptions?.checkInterval,
|
|
509
562
|
initialDelay: config.updateOptions?.initialDelay,
|