@dimina-kit/devtools 0.4.0-dev.20260728110120 → 0.4.0-dev.20260731100034
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 +68 -0
- package/dist/main/api.d.ts +1 -0
- package/dist/main/app/app.d.ts +3 -0
- package/dist/main/app/app.js +15 -0
- package/dist/main/app/bootstrap.d.ts +8 -5
- package/dist/main/app/bootstrap.js +15 -15
- package/dist/main/index.bundle.js +2359 -5132
- package/dist/main/ipc/app-lifecycle.d.ts +1 -31
- package/dist/main/ipc/app-lifecycle.js +1 -53
- package/dist/main/ipc/bridge-router.d.ts +19 -152
- package/dist/main/ipc/bridge-router.js +28 -2186
- package/dist/main/ipc/page-scroll.d.ts +1 -13
- package/dist/main/ipc/page-scroll.js +1 -16
- package/dist/main/ipc/session-listener-bag.d.ts +1 -40
- package/dist/main/ipc/session-listener-bag.js +1 -39
- package/dist/main/services/console-forward/index.d.ts +1 -60
- package/dist/main/services/console-forward/index.js +1 -225
- package/dist/main/services/console-forward/internal-log.d.ts +1 -10
- package/dist/main/services/console-forward/internal-log.js +1 -22
- package/dist/main/services/diagnostics/index.d.ts +1 -58
- package/dist/main/services/diagnostics/index.js +1 -60
- package/dist/main/services/dimina-resource-server.d.ts +1 -6
- package/dist/main/services/dimina-resource-server.js +1 -98
- package/dist/main/services/network-forward/index.d.ts +15 -3
- package/dist/main/services/network-forward/index.js +30 -4
- package/dist/main/services/network-forward/websocket.d.ts +36 -0
- package/dist/main/services/network-forward/websocket.js +120 -0
- package/dist/main/services/service-host-pool/pool.d.ts +1 -196
- package/dist/main/services/service-host-pool/pool.js +1 -363
- package/dist/main/services/simulator/custom-apis.d.ts +1 -42
- package/dist/main/services/simulator/custom-apis.js +1 -46
- package/dist/main/services/simulator/referer.d.ts +1 -9
- package/dist/main/services/simulator/referer.js +1 -19
- package/dist/main/services/simulator/ui-extensions.d.ts +13 -0
- package/dist/main/services/simulator/ui-extensions.js +166 -0
- package/dist/main/services/simulator-storage/service-storage-ops.d.ts +1 -39
- package/dist/main/services/simulator-storage/service-storage-ops.js +1 -66
- package/dist/main/services/simulator-temp-files/disk.d.ts +1 -54
- package/dist/main/services/simulator-temp-files/disk.js +1 -237
- package/dist/main/services/simulator-temp-files/fs-channels.d.ts +1 -68
- package/dist/main/services/simulator-temp-files/fs-channels.js +1 -107
- package/dist/main/services/simulator-temp-files/index.d.ts +1 -32
- package/dist/main/services/simulator-temp-files/index.js +1 -181
- package/dist/main/services/simulator-temp-files/request-handler.d.ts +1 -29
- package/dist/main/services/simulator-temp-files/request-handler.js +1 -177
- package/dist/main/services/simulator-temp-files/resolver.d.ts +1 -21
- package/dist/main/services/simulator-temp-files/resolver.js +1 -21
- package/dist/main/services/simulator-temp-files/store.d.ts +1 -13
- package/dist/main/services/simulator-temp-files/store.js +1 -23
- package/dist/main/services/views/miniapp-partition.d.ts +1 -89
- package/dist/main/services/views/miniapp-partition.js +1 -158
- package/dist/main/services/views/native-simulator-view.js +3 -0
- package/dist/main/services/views/simulator-session-policy.d.ts +1 -27
- package/dist/main/services/views/simulator-session-policy.js +1 -98
- package/dist/main/services/views/view-manager.d.ts +5 -0
- package/dist/main/services/workbench-context.d.ts +10 -1
- package/dist/main/services/workbench-context.js +20 -0
- package/dist/main/utils/ipc-registry.d.ts +21 -3
- package/dist/main/utils/ipc-registry.js +26 -23
- package/dist/main/utils/paths.d.ts +14 -0
- package/dist/main/utils/paths.js +14 -0
- package/dist/main/windows/service-host-window/create.d.ts +1 -92
- package/dist/main/windows/service-host-window/create.js +1 -154
- package/dist/native-host/render/render.js +51 -52
- package/dist/native-host/service/service.js +2 -2
- package/dist/preload/index.d.ts +2 -0
- package/dist/preload/index.js +1 -0
- package/dist/preload/runtime/clipboard.d.ts +6 -0
- package/dist/preload/runtime/clipboard.js +12 -0
- package/dist/preload/runtime/native-host.js +4 -10
- package/dist/preload/windows/host-toolbar-runtime.cjs.map +2 -2
- package/dist/preload/windows/main.cjs +46 -126
- package/dist/preload/windows/main.cjs.map +3 -3
- package/dist/preload/windows/simulator.cjs +83 -56
- package/dist/preload/windows/simulator.cjs.map +4 -4
- package/dist/preload/windows/simulator.js +83 -56
- package/dist/renderer/assets/{index-BJlFbXHb.js → index-BBg3YI5b.js} +2 -2
- package/dist/renderer/entries/main/index.html +1 -1
- package/dist/shared/bridge-channels.d.ts +1 -419
- package/dist/shared/bridge-channels.js +1 -89
- package/dist/shared/dmb-resource-url.d.ts +2 -0
- package/dist/shared/dmb-resource-url.js +2 -0
- package/dist/shared/ipc-channels.d.ts +2 -32
- package/dist/shared/ipc-channels.js +2 -5
- package/dist/shared/request-core.d.ts +1 -83
- package/dist/shared/request-core.js +1 -167
- package/dist/shared/simulator-ui.d.ts +61 -0
- package/dist/shared/simulator-ui.js +12 -0
- package/dist/shared/types.d.ts +7 -0
- package/dist/simulator/assets/device-shell-B03OuytR.js +2 -0
- package/dist/simulator/assets/device-shell-DbC5ccs8.css +1 -0
- package/dist/simulator/assets/{jsx-runtime-BDTY6fEq.js → jsx-runtime-hBv-rHqQ.js} +2 -2
- package/dist/simulator/assets/{simulator-CRyLSz1N.js → simulator-DpdXUf--.js} +5 -5
- package/dist/simulator/simulator.html +2 -2
- package/dist/simulator/temp-files.d.ts +29 -0
- package/dist/simulator/temp-files.js +79 -0
- package/dist/simulator/types.d.ts +43 -0
- package/dist/simulator/types.js +2 -0
- package/package.json +10 -5
- package/dist/shared/simulator-api-metadata.d.ts +0 -26
- package/dist/shared/simulator-api-metadata.js +0 -59
- package/dist/shared/vpath.d.ts +0 -42
- package/dist/shared/vpath.js +0 -105
- package/dist/simulator/assets/device-shell-DOy53Y0s.css +0 -1
- package/dist/simulator/assets/device-shell-Sbkjw8Nb.js +0 -2
|
@@ -1,93 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import type { ServiceHostSpec } from '../../services/service-host-pool/pool.js';
|
|
3
|
-
/**
|
|
4
|
-
* Default service-host partition when no project `appId` is supplied (the
|
|
5
|
-
* pre-warm pool's shared, isolation-UNAWARE session — see `serviceHostSpec`).
|
|
6
|
-
* Per-project service hosts get a `persist:miniapp-<key>` partition instead so
|
|
7
|
-
* their localStorage/cookies are shared with that project's render side only.
|
|
8
|
-
*/
|
|
9
|
-
export declare const SERVICE_HOST_PARTITION = "persist:simulator";
|
|
10
|
-
/** Absolute path to the service-host preload (loaded at runtime by path). */
|
|
11
|
-
export declare const serviceHostPreloadPath: string;
|
|
12
|
-
export interface ServiceHostWindowOptions {
|
|
13
|
-
bridgeId: string;
|
|
14
|
-
appId: string;
|
|
15
|
-
/** Current project root. Folded into the session partition (with appId) so a
|
|
16
|
-
* different project declaring the same appId gets isolated storage. Omitted on
|
|
17
|
-
* the pre-warm pool path (no project known yet → shared partition). */
|
|
18
|
-
projectPath?: string;
|
|
19
|
-
pagePath: string;
|
|
20
|
-
pkgRoot: string;
|
|
21
|
-
root?: string;
|
|
22
|
-
resourceBaseUrl: string;
|
|
23
|
-
hostEnvSnapshot?: Record<string, unknown>;
|
|
24
|
-
/**
|
|
25
|
-
* Custom API namespace names (host config `apiNamespaces`, e.g. `['qd']`).
|
|
26
|
-
* Encoded into the spawn URL so the service-host preload can install them as
|
|
27
|
-
* `globalThis.__diminaApiNamespaces` before service.js evaluates — without
|
|
28
|
-
* which page logic referencing `qd.*` throws `ReferenceError: qd is not defined`.
|
|
29
|
-
*/
|
|
30
|
-
apiNamespaces?: string[];
|
|
31
|
-
/**
|
|
32
|
-
* Observes a spawn-navigation `loadURL` rejection (NOT encoded into the
|
|
33
|
-
* spawn URL). Without it the fresh-window path swallows the failure entirely
|
|
34
|
-
* — `did-finish-load` never fires, the session hangs, and the only signal is
|
|
35
|
-
* the launch watchdog's late timeout instead of the real cause.
|
|
36
|
-
*/
|
|
37
|
-
onLoadFailed?: (err: unknown) => void;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Construct an (un-navigated) service-host BrowserWindow. Split out from
|
|
41
|
-
* `createServiceHostWindow` so a pre-warm pool can build the window once and
|
|
42
|
-
* navigate it per spawn (the spawn context lives in the URL — see
|
|
43
|
-
* `buildServiceHostSpawnUrl`). The process-model flags here are the contract
|
|
44
|
-
* the service-host preload depends on (it `require('electron')` and writes
|
|
45
|
-
* globals onto the page realm).
|
|
46
|
-
*/
|
|
47
|
-
export declare function constructServiceHostWindow(opts?: {
|
|
48
|
-
appId?: string;
|
|
49
|
-
partition?: string;
|
|
50
|
-
}): BrowserWindow;
|
|
51
|
-
/**
|
|
52
|
-
* Build the file:// spawn URL carrying the per-spawn context the preload reads
|
|
53
|
-
* from `location.search` at eval time (bridgeId/appId/pagePath/pkgRoot/
|
|
54
|
-
* resourceBaseUrl/hostEnv).
|
|
55
|
-
*/
|
|
56
|
-
export declare function buildServiceHostSpawnUrl(opts: ServiceHostWindowOptions): string;
|
|
57
|
-
/**
|
|
58
|
-
* Navigate a (constructed or pooled) service-host window to its spawn URL. The
|
|
59
|
-
* preload re-evaluates on this navigation, rebuilding `__diminaSpawnContext`.
|
|
60
|
-
* Returns the load promise (resolves on did-finish-load). Attaches the dev-only
|
|
61
|
-
* detached-DevTools hook, matching the original behavior.
|
|
62
|
-
*
|
|
63
|
-
* A `loadURL` rejection is swallowed — the pooled-window recycle path expects
|
|
64
|
-
* a failed navigation not to reject the caller — but `opts.onLoadFailed`, when
|
|
65
|
-
* given, still observes the original rejection reason (routed by the caller
|
|
66
|
-
* into the diagnostics bus) before this resolves.
|
|
67
|
-
*/
|
|
68
|
-
export declare function navigateServiceHost(win: BrowserWindow, url: string, opts?: {
|
|
69
|
-
onLoadFailed?: (err: unknown) => void;
|
|
70
|
-
}): Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* The spec a `ServiceHostPool` uses to pre-warm service-host windows. Keeps the
|
|
73
|
-
* pooled window byte-equivalent to `constructServiceHostWindow`'s output, and
|
|
74
|
-
* opts out of the reset storage-clear because the service host shares its
|
|
75
|
-
* session with live projects (see ServiceHostSpec docs).
|
|
76
|
-
*
|
|
77
|
-
* KNOWN BLOCKER (intentional): the pre-warm pool is NOT per-project isolation
|
|
78
|
-
* aware. It warms windows on ONE `defaultSpec` partition before any project is
|
|
79
|
-
* known, so a pooled window cannot carry a project-derived partition — handing
|
|
80
|
-
* one project's warmed window to another project would cross-contaminate
|
|
81
|
-
* storage. Therefore the pool's `defaultSpec` (and pooled `acquire`) call this
|
|
82
|
-
* with NO appId → the shared `persist:simulator` partition; per-project
|
|
83
|
-
* isolation only applies on the default (non-pooled) `createServiceHostWindow`
|
|
84
|
-
* path, which passes the project's appId. Reconciling pooling with per-project
|
|
85
|
-
* partitions (e.g. per-partition sub-pools) is out of scope for this change.
|
|
86
|
-
*/
|
|
87
|
-
export declare function serviceHostSpec(appId?: string, projectPath?: string): ServiceHostSpec;
|
|
88
|
-
/**
|
|
89
|
-
* Construct + navigate a fresh service-host window (the non-pool path).
|
|
90
|
-
* Behavior-identical to the pre-refactor implementation.
|
|
91
|
-
*/
|
|
92
|
-
export declare function createServiceHostWindow(opts: ServiceHostWindowOptions): BrowserWindow;
|
|
1
|
+
export * from '@dimina-kit/electron-runtime/main/service-host-window';
|
|
93
2
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1,155 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { pathToFileURL } from 'node:url';
|
|
4
|
-
import { devtoolsPackageRoot } from '../../utils/paths.js';
|
|
5
|
-
import { configureMiniappSession, miniappPartition, SHARED_MINIAPP_PARTITION } from '../../services/views/miniapp-partition.js';
|
|
6
|
-
/**
|
|
7
|
-
* Default service-host partition when no project `appId` is supplied (the
|
|
8
|
-
* pre-warm pool's shared, isolation-UNAWARE session — see `serviceHostSpec`).
|
|
9
|
-
* Per-project service hosts get a `persist:miniapp-<key>` partition instead so
|
|
10
|
-
* their localStorage/cookies are shared with that project's render side only.
|
|
11
|
-
*/
|
|
12
|
-
export const SERVICE_HOST_PARTITION = SHARED_MINIAPP_PARTITION;
|
|
13
|
-
/** Absolute path to the service-host preload (loaded at runtime by path). */
|
|
14
|
-
export const serviceHostPreloadPath = path.join(devtoolsPackageRoot, 'dist/service-host/preload.cjs');
|
|
15
|
-
const serviceHostHtmlPath = path.join(devtoolsPackageRoot, 'dist/service-host/service.html');
|
|
16
|
-
/**
|
|
17
|
-
* Construct an (un-navigated) service-host BrowserWindow. Split out from
|
|
18
|
-
* `createServiceHostWindow` so a pre-warm pool can build the window once and
|
|
19
|
-
* navigate it per spawn (the spawn context lives in the URL — see
|
|
20
|
-
* `buildServiceHostSpawnUrl`). The process-model flags here are the contract
|
|
21
|
-
* the service-host preload depends on (it `require('electron')` and writes
|
|
22
|
-
* globals onto the page realm).
|
|
23
|
-
*/
|
|
24
|
-
export function constructServiceHostWindow(opts = {}) {
|
|
25
|
-
const partition = opts.partition ?? SERVICE_HOST_PARTITION;
|
|
26
|
-
// Apply the simulator runtime's protocol handlers + webRequest policies to
|
|
27
|
-
// THIS project's session before the window loads. Idempotent per partition.
|
|
28
|
-
configureMiniappSession(partition);
|
|
29
|
-
return new BrowserWindow({
|
|
30
|
-
width: 980,
|
|
31
|
-
height: 720,
|
|
32
|
-
show: false,
|
|
33
|
-
title: opts.appId ? `Dimina Service Host: ${opts.appId}` : 'Dimina Service Host',
|
|
34
|
-
webPreferences: {
|
|
35
|
-
partition,
|
|
36
|
-
nodeIntegration: false,
|
|
37
|
-
contextIsolation: false,
|
|
38
|
-
sandbox: false,
|
|
39
|
-
preload: serviceHostPreloadPath,
|
|
40
|
-
devTools: true,
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Build the file:// spawn URL carrying the per-spawn context the preload reads
|
|
46
|
-
* from `location.search` at eval time (bridgeId/appId/pagePath/pkgRoot/
|
|
47
|
-
* resourceBaseUrl/hostEnv).
|
|
48
|
-
*/
|
|
49
|
-
export function buildServiceHostSpawnUrl(opts) {
|
|
50
|
-
const url = new URL(pathToFileURL(serviceHostHtmlPath).toString());
|
|
51
|
-
url.searchParams.set('bridgeId', opts.bridgeId);
|
|
52
|
-
url.searchParams.set('appId', opts.appId);
|
|
53
|
-
url.searchParams.set('pagePath', opts.pagePath);
|
|
54
|
-
url.searchParams.set('pkgRoot', opts.pkgRoot);
|
|
55
|
-
url.searchParams.set('root', opts.root || 'main');
|
|
56
|
-
url.searchParams.set('resourceBaseUrl', opts.resourceBaseUrl);
|
|
57
|
-
if (opts.hostEnvSnapshot) {
|
|
58
|
-
// Encode the resolved host-env so preload can hydrate
|
|
59
|
-
// `__diminaSpawnContext.hostEnvSnapshot` before service.js loads.
|
|
60
|
-
// Without this, sync-impls/system-info.ts falls back to generic defaults.
|
|
61
|
-
url.searchParams.set('hostEnv', encodeURIComponent(JSON.stringify(opts.hostEnvSnapshot)));
|
|
62
|
-
}
|
|
63
|
-
if (opts.apiNamespaces && opts.apiNamespaces.length > 0) {
|
|
64
|
-
// CSV of namespace names; the preload reads this back into
|
|
65
|
-
// `globalThis.__diminaApiNamespaces`. URLSearchParams round-trips the comma.
|
|
66
|
-
url.searchParams.set('apiNamespaces', opts.apiNamespaces.join(','));
|
|
67
|
-
}
|
|
68
|
-
return url.toString();
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Navigate a (constructed or pooled) service-host window to its spawn URL. The
|
|
72
|
-
* preload re-evaluates on this navigation, rebuilding `__diminaSpawnContext`.
|
|
73
|
-
* Returns the load promise (resolves on did-finish-load). Attaches the dev-only
|
|
74
|
-
* detached-DevTools hook, matching the original behavior.
|
|
75
|
-
*
|
|
76
|
-
* A `loadURL` rejection is swallowed — the pooled-window recycle path expects
|
|
77
|
-
* a failed navigation not to reject the caller — but `opts.onLoadFailed`, when
|
|
78
|
-
* given, still observes the original rejection reason (routed by the caller
|
|
79
|
-
* into the diagnostics bus) before this resolves.
|
|
80
|
-
*/
|
|
81
|
-
export function navigateServiceHost(win, url, opts) {
|
|
82
|
-
const loaded = Promise.resolve(win.loadURL(url)).then(() => undefined, (err) => {
|
|
83
|
-
opts?.onLoadFailed?.(err);
|
|
84
|
-
return undefined;
|
|
85
|
-
});
|
|
86
|
-
if (!app.isPackaged && process.env.NODE_ENV !== 'test') {
|
|
87
|
-
// Recycled pooled windows get navigated repeatedly. A `once` hook that never
|
|
88
|
-
// fires (the spawn was disposed before its service.html settled) stays on the
|
|
89
|
-
// reused webContents and the next spawn's hook fires alongside it → DevTools
|
|
90
|
-
// can open twice and stale hooks accumulate. Remove the prior hook before
|
|
91
|
-
// attaching a fresh one. (Audit A6; dev-only.)
|
|
92
|
-
const w = win;
|
|
93
|
-
if (w.__diminaDevToolsHook) {
|
|
94
|
-
try {
|
|
95
|
-
win.webContents.removeListener('did-finish-load', w.__diminaDevToolsHook);
|
|
96
|
-
}
|
|
97
|
-
catch { /* wc gone */ }
|
|
98
|
-
}
|
|
99
|
-
const hook = () => {
|
|
100
|
-
// URL-guard so a reset's about:blank load doesn't pop DevTools.
|
|
101
|
-
if (!win.isDestroyed() && win.webContents.getURL().includes('service.html')) {
|
|
102
|
-
win.webContents.openDevTools({ mode: 'detach' });
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
w.__diminaDevToolsHook = hook;
|
|
106
|
-
win.webContents.once('did-finish-load', hook);
|
|
107
|
-
}
|
|
108
|
-
return loaded;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* The spec a `ServiceHostPool` uses to pre-warm service-host windows. Keeps the
|
|
112
|
-
* pooled window byte-equivalent to `constructServiceHostWindow`'s output, and
|
|
113
|
-
* opts out of the reset storage-clear because the service host shares its
|
|
114
|
-
* session with live projects (see ServiceHostSpec docs).
|
|
115
|
-
*
|
|
116
|
-
* KNOWN BLOCKER (intentional): the pre-warm pool is NOT per-project isolation
|
|
117
|
-
* aware. It warms windows on ONE `defaultSpec` partition before any project is
|
|
118
|
-
* known, so a pooled window cannot carry a project-derived partition — handing
|
|
119
|
-
* one project's warmed window to another project would cross-contaminate
|
|
120
|
-
* storage. Therefore the pool's `defaultSpec` (and pooled `acquire`) call this
|
|
121
|
-
* with NO appId → the shared `persist:simulator` partition; per-project
|
|
122
|
-
* isolation only applies on the default (non-pooled) `createServiceHostWindow`
|
|
123
|
-
* path, which passes the project's appId. Reconciling pooling with per-project
|
|
124
|
-
* partitions (e.g. per-partition sub-pools) is out of scope for this change.
|
|
125
|
-
*/
|
|
126
|
-
export function serviceHostSpec(appId, projectPath) {
|
|
127
|
-
return {
|
|
128
|
-
// Per-project partition when an appId is known (so this project's service
|
|
129
|
-
// host shares storage ONLY with its own render side); the shared partition
|
|
130
|
-
// for the pre-warm pool's default spec (no appId — see KNOWN BLOCKER below).
|
|
131
|
-
// projectPath joins the key so same-appId/different-path projects isolate;
|
|
132
|
-
// it must match the simulator WCV's partition (view-manager passes the same
|
|
133
|
-
// (appId, projectPath)).
|
|
134
|
-
partition: appId ? miniappPartition(appId, projectPath) : SERVICE_HOST_PARTITION,
|
|
135
|
-
preloadPath: serviceHostPreloadPath,
|
|
136
|
-
size: { width: 980, height: 720 },
|
|
137
|
-
contextIsolation: false,
|
|
138
|
-
sandbox: false,
|
|
139
|
-
nodeIntegration: false,
|
|
140
|
-
clearStorageOnReset: false,
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Construct + navigate a fresh service-host window (the non-pool path).
|
|
145
|
-
* Behavior-identical to the pre-refactor implementation.
|
|
146
|
-
*/
|
|
147
|
-
export function createServiceHostWindow(opts) {
|
|
148
|
-
// Default (non-pooled) path: pin the service host to THIS project's partition
|
|
149
|
-
// so its logic-layer localStorage/cookies are shared with the project's render
|
|
150
|
-
// side only, never with other projects.
|
|
151
|
-
const win = constructServiceHostWindow({ appId: opts.appId, partition: miniappPartition(opts.appId, opts.projectPath) });
|
|
152
|
-
void navigateServiceHost(win, buildServiceHostSpawnUrl(opts), { onLoadFailed: opts.onLoadFailed });
|
|
153
|
-
return win;
|
|
154
|
-
}
|
|
1
|
+
export * from '@dimina-kit/electron-runtime/main/service-host-window';
|
|
155
2
|
//# sourceMappingURL=create.js.map
|
|
@@ -401,7 +401,8 @@ function P(e) {
|
|
|
401
401
|
if (i) for (let e in i) t[e] = i[e];
|
|
402
402
|
}
|
|
403
403
|
return t;
|
|
404
|
-
}
|
|
404
|
+
}
|
|
405
|
+
if (M(e) || N(e)) return e;
|
|
405
406
|
}
|
|
406
407
|
var Ue = /;(?![^(]*\))/g, We = /:([^]+)/, Ge = /\/\*[^]*?\*\//g;
|
|
407
408
|
function Ke(e) {
|
|
@@ -465,7 +466,7 @@ function dt(e, ...t) {
|
|
|
465
466
|
}
|
|
466
467
|
var ft, pt = class {
|
|
467
468
|
constructor(e = !1) {
|
|
468
|
-
this.detached = e, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this._warnOnRun = !0, this.__v_skip = !0, !e && ft && (ft.active ? (this.parent = ft, this.index = (ft.scopes
|
|
469
|
+
this.detached = e, this._active = !0, this._on = 0, this.effects = [], this.cleanups = [], this._isPaused = !1, this._warnOnRun = !0, this.__v_skip = !0, !e && ft && (ft.active ? (this.parent = ft, this.index = (ft.scopes || (ft.scopes = [])).push(this) - 1) : (this._active = !1, this._warnOnRun = !1));
|
|
469
470
|
}
|
|
470
471
|
get active() {
|
|
471
472
|
return this._active;
|
|
@@ -501,7 +502,8 @@ var ft, pt = class {
|
|
|
501
502
|
} finally {
|
|
502
503
|
ft = t;
|
|
503
504
|
}
|
|
504
|
-
}
|
|
505
|
+
}
|
|
506
|
+
process.env.NODE_ENV !== "production" && this._warnOnRun && dt("cannot run an inactive effect scope.");
|
|
505
507
|
}
|
|
506
508
|
on() {
|
|
507
509
|
++this._on === 1 && (this.prevScope = ft, ft = this);
|
|
@@ -766,9 +768,7 @@ function Ut(e, t, n, r, i, a) {
|
|
|
766
768
|
case "delete":
|
|
767
769
|
i || (s(o.get(zt)), _e(e) && s(o.get(Bt)));
|
|
768
770
|
break;
|
|
769
|
-
case "set":
|
|
770
|
-
_e(e) && s(o.get(zt));
|
|
771
|
-
break;
|
|
771
|
+
case "set": _e(e) && s(o.get(zt));
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
774
|
St();
|
|
@@ -1418,7 +1418,8 @@ function ur(e, t, n, r) {
|
|
|
1418
1418
|
let i = [];
|
|
1419
1419
|
for (let a = 0; a < e.length; a++) i.push(ur(e[a], t, n, r));
|
|
1420
1420
|
return i;
|
|
1421
|
-
}
|
|
1421
|
+
}
|
|
1422
|
+
process.env.NODE_ENV !== "production" && z(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`);
|
|
1422
1423
|
}
|
|
1423
1424
|
function dr(e, t, n, r = !0) {
|
|
1424
1425
|
let i = t ? t.vnode : null, { errorHandler: a, throwUnhandledErrorInProduction: o } = t && t.appContext.config || D;
|
|
@@ -1547,7 +1548,7 @@ function Ir(e) {
|
|
|
1547
1548
|
Pr.get(e.type.__hmrId).instances.delete(e);
|
|
1548
1549
|
}
|
|
1549
1550
|
function Lr(e, t) {
|
|
1550
|
-
return Pr.has(e)
|
|
1551
|
+
return !Pr.has(e) && (Pr.set(e, {
|
|
1551
1552
|
initialDef: Rr(t),
|
|
1552
1553
|
instances: /* @__PURE__ */ new Set()
|
|
1553
1554
|
}), !0);
|
|
@@ -1763,7 +1764,7 @@ var yi = /* @__PURE__ */ new WeakMap(), bi = /* @__PURE__ */ Symbol("_vte"), xi
|
|
|
1763
1764
|
let r = t(n);
|
|
1764
1765
|
return process.env.NODE_ENV !== "production" && !r && !Si(e) && z(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`), r;
|
|
1765
1766
|
} else return process.env.NODE_ENV !== "production" && z("Current renderer does not support string target for Teleports. (missing querySelector renderer option)"), null;
|
|
1766
|
-
|
|
1767
|
+
return process.env.NODE_ENV !== "production" && !n && !Si(e) && z(`Invalid Teleport target: ${n}`), n;
|
|
1767
1768
|
}, Di = {
|
|
1768
1769
|
name: "Teleport",
|
|
1769
1770
|
__isTeleport: !0,
|
|
@@ -1972,7 +1973,8 @@ function Ji(e, t, n = qs, r = !1) {
|
|
|
1972
1973
|
return i(), Mt(), a;
|
|
1973
1974
|
};
|
|
1974
1975
|
return r ? i.unshift(a) : i.push(a), a;
|
|
1975
|
-
}
|
|
1976
|
+
}
|
|
1977
|
+
process.env.NODE_ENV !== "production" && z(`${Fe(cr[e].replace(/ hook$/, ""))} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`);
|
|
1976
1978
|
}
|
|
1977
1979
|
var Yi = (e) => (t, n = qs) => {
|
|
1978
1980
|
(!nc || e === "sp") && Ji(e, (...e) => t(...e), n);
|
|
@@ -2006,7 +2008,8 @@ function da(e, t, n = !0, r = !1) {
|
|
|
2006
2008
|
z(`Failed to resolve ${e.slice(0, -1)}: ${t}${n}`);
|
|
2007
2009
|
}
|
|
2008
2010
|
return o;
|
|
2009
|
-
}
|
|
2011
|
+
}
|
|
2012
|
+
process.env.NODE_ENV !== "production" && z(`resolve${Pe(e.slice(0, -1))} can only be used in render() or setup().`);
|
|
2010
2013
|
}
|
|
2011
2014
|
function fa(e, t) {
|
|
2012
2015
|
return e && (e[t] || e[je(t)] || e[Pe(je(t))]);
|
|
@@ -2607,7 +2610,7 @@ function ho(e, t, n, r = !1) {
|
|
|
2607
2610
|
let i = {}, a = po();
|
|
2608
2611
|
e.propsDefaults = /* @__PURE__ */ Object.create(null), vo(e, t, i, a);
|
|
2609
2612
|
for (let t in e.propsOptions[0]) t in i || (i[t] = void 0);
|
|
2610
|
-
process.env.NODE_ENV !== "production" && wo(t || {}, i, e),
|
|
2613
|
+
process.env.NODE_ENV !== "production" && wo(t || {}, i, e), e.props = n ? r ? i : /* @__PURE__ */ On(i) : e.type.props ? i : a, e.attrs = a;
|
|
2611
2614
|
}
|
|
2612
2615
|
function go(e) {
|
|
2613
2616
|
for (; e;) {
|
|
@@ -2706,7 +2709,8 @@ function xo(e, t, n = !1) {
|
|
|
2706
2709
|
if (n === "Boolean") {
|
|
2707
2710
|
c = !0;
|
|
2708
2711
|
break;
|
|
2709
|
-
}
|
|
2712
|
+
}
|
|
2713
|
+
n === "String" && (l = !1);
|
|
2710
2714
|
}
|
|
2711
2715
|
else c = j(i) && i.name === "Boolean";
|
|
2712
2716
|
r[0] = c, r[1] = l, (c || k(r, "default")) && s.push(t);
|
|
@@ -2717,7 +2721,7 @@ function xo(e, t, n = !1) {
|
|
|
2717
2721
|
return N(e) && r.set(e, l), l;
|
|
2718
2722
|
}
|
|
2719
2723
|
function So(e) {
|
|
2720
|
-
return e[0] !== "$" && !De(e)
|
|
2724
|
+
return e[0] !== "$" && !De(e) || (process.env.NODE_ENV !== "production" && z(`Invalid prop name: "${e}" is a reserved property.`), !1);
|
|
2721
2725
|
}
|
|
2722
2726
|
function Co(e) {
|
|
2723
2727
|
return e === null ? "null" : typeof e == "function" ? e.name || "" : typeof e == "object" && e.constructor && e.constructor.name || "";
|
|
@@ -3048,7 +3052,8 @@ function Jo(e, t) {
|
|
|
3048
3052
|
if (p & 128) {
|
|
3049
3053
|
fe(l, f, n, r, i, a, o, s, c);
|
|
3050
3054
|
return;
|
|
3051
|
-
}
|
|
3055
|
+
}
|
|
3056
|
+
if (p & 256) {
|
|
3052
3057
|
le(l, f, n, r, i, a, o, s, c);
|
|
3053
3058
|
return;
|
|
3054
3059
|
}
|
|
@@ -3297,7 +3302,7 @@ function cs(e, t, n, r, i, a, o, s, { p: c, um: l, o: { createElement: u } }) {
|
|
|
3297
3302
|
let f = t.ssContent, p = t.ssFallback, { activeBranch: m, pendingBranch: h, isInFallback: g, isHydrating: _ } = d;
|
|
3298
3303
|
if (h) d.pendingBranch = f, Os(h, f) ? (c(h, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0 ? d.resolve() : g && (_ || (c(m, p, n, r, i, null, a, o, s), hs(d, p)))) : (d.pendingId = is++, _ ? (d.isHydrating = !1, d.activeBranch = h) : l(h, i, d), d.deps = 0, d.effects.length = 0, d.hiddenContainer = u("div"), g ? (c(null, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0 ? d.resolve() : (c(m, p, n, r, i, null, a, o, s), hs(d, p))) : m && Os(m, f) ? (c(m, f, n, r, i, d, a, o, s), d.resolve(!0)) : (c(null, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0 && d.resolve()));
|
|
3299
3304
|
else if (m && Os(m, f)) c(m, f, n, r, i, d, a, o, s), hs(d, f);
|
|
3300
|
-
else if (os(t, "onPending"), d.pendingBranch = f, f.shapeFlag & 512 ?
|
|
3305
|
+
else if (os(t, "onPending"), d.pendingBranch = f, d.pendingId = f.shapeFlag & 512 ? f.component.suspenseId : is++, c(null, f, d.hiddenContainer, null, i, d, a, o, s), d.deps <= 0) d.resolve();
|
|
3301
3306
|
else {
|
|
3302
3307
|
let { timeout: e, pendingId: t } = d;
|
|
3303
3308
|
e > 0 ? setTimeout(() => {
|
|
@@ -3665,7 +3670,7 @@ function Ks(e, t, n) {
|
|
|
3665
3670
|
ec: null,
|
|
3666
3671
|
sp: null
|
|
3667
3672
|
};
|
|
3668
|
-
return process.env.NODE_ENV === "production" ?
|
|
3673
|
+
return a.ctx = process.env.NODE_ENV === "production" ? { _: a } : xa(a), a.root = t ? t.root : a, a.emit = Ya.bind(null, a), e.ce && e.ce(a), a;
|
|
3669
3674
|
}
|
|
3670
3675
|
var qs = null, Js = () => qs || ai, Ys, Xs;
|
|
3671
3676
|
{
|
|
@@ -3798,7 +3803,8 @@ function fc(e) {
|
|
|
3798
3803
|
},
|
|
3799
3804
|
expose: t
|
|
3800
3805
|
});
|
|
3801
|
-
}
|
|
3806
|
+
}
|
|
3807
|
+
return {
|
|
3802
3808
|
attrs: new Proxy(e.attrs, uc),
|
|
3803
3809
|
slots: e.slots,
|
|
3804
3810
|
emit: e.emit,
|
|
@@ -3880,7 +3886,8 @@ function bc() {
|
|
|
3880
3886
|
s(n),
|
|
3881
3887
|
">"
|
|
3882
3888
|
];
|
|
3883
|
-
}
|
|
3889
|
+
}
|
|
3890
|
+
return /* @__PURE__ */ Mn(t) ? [
|
|
3884
3891
|
"div",
|
|
3885
3892
|
{},
|
|
3886
3893
|
[
|
|
@@ -3891,8 +3898,7 @@ function bc() {
|
|
|
3891
3898
|
"<",
|
|
3892
3899
|
s(t),
|
|
3893
3900
|
`>${/* @__PURE__ */ Nn(t) ? " (readonly)" : ""}`
|
|
3894
|
-
]
|
|
3895
|
-
else if (/* @__PURE__ */ Nn(t)) return [
|
|
3901
|
+
] : /* @__PURE__ */ Nn(t) ? [
|
|
3896
3902
|
"div",
|
|
3897
3903
|
{},
|
|
3898
3904
|
[
|
|
@@ -3903,8 +3909,7 @@ function bc() {
|
|
|
3903
3909
|
"<",
|
|
3904
3910
|
s(t),
|
|
3905
3911
|
">"
|
|
3906
|
-
];
|
|
3907
|
-
return null;
|
|
3912
|
+
] : null;
|
|
3908
3913
|
},
|
|
3909
3914
|
hasBody(e) {
|
|
3910
3915
|
return e && e.__isVue;
|
|
@@ -4735,7 +4740,7 @@ function lu(e) {
|
|
|
4735
4740
|
let t = {};
|
|
4736
4741
|
for (let n in e) if (Object.prototype.hasOwnProperty.call(e, n)) {
|
|
4737
4742
|
let r = e[n];
|
|
4738
|
-
/* @__PURE__ */ zn(r) ?
|
|
4743
|
+
t[n] = /* @__PURE__ */ zn(r) ? R(r) : /* @__PURE__ */ Mn(r) ? /* @__PURE__ */ I(r) : typeof r == "object" && r ? lu(r) : r;
|
|
4739
4744
|
}
|
|
4740
4745
|
return t;
|
|
4741
4746
|
}
|
|
@@ -5471,16 +5476,14 @@ var Ru = {
|
|
|
5471
5476
|
});
|
|
5472
5477
|
}
|
|
5473
5478
|
break;
|
|
5474
|
-
case "focusout":
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
});
|
|
5483
|
-
break;
|
|
5479
|
+
case "focusout": Q("blur", {
|
|
5480
|
+
event: e,
|
|
5481
|
+
info: h,
|
|
5482
|
+
detail: {
|
|
5483
|
+
value: t,
|
|
5484
|
+
cursor: e.target.selectionEnd
|
|
5485
|
+
}
|
|
5486
|
+
});
|
|
5484
5487
|
}
|
|
5485
5488
|
}
|
|
5486
5489
|
return (t, n) => (G(), K("div", J({
|
|
@@ -6073,9 +6076,7 @@ var Ru = {
|
|
|
6073
6076
|
case "navigateBack":
|
|
6074
6077
|
tu("navigateBack", { bridgeId: a.bridgeId });
|
|
6075
6078
|
break;
|
|
6076
|
-
case "exit":
|
|
6077
|
-
n === "miniProgram" && tu("exit", { bridgeId: a.bridgeId });
|
|
6078
|
-
break;
|
|
6079
|
+
case "exit": n === "miniProgram" && tu("exit", { bridgeId: a.bridgeId });
|
|
6079
6080
|
}
|
|
6080
6081
|
}
|
|
6081
6082
|
}
|
|
@@ -7780,16 +7781,14 @@ var Ru = {
|
|
|
7780
7781
|
});
|
|
7781
7782
|
}
|
|
7782
7783
|
break;
|
|
7783
|
-
case "focusout":
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
});
|
|
7792
|
-
break;
|
|
7784
|
+
case "focusout": Q("blur", {
|
|
7785
|
+
event: e,
|
|
7786
|
+
info: f,
|
|
7787
|
+
detail: {
|
|
7788
|
+
value: t,
|
|
7789
|
+
cursor: e.target.selectionEnd
|
|
7790
|
+
}
|
|
7791
|
+
});
|
|
7793
7792
|
}
|
|
7794
7793
|
}
|
|
7795
7794
|
let h = Y(() => ({
|
|
@@ -8183,10 +8182,7 @@ var vp = ["id", "data-dimina-native-id"], yp = ["id"], bp = ["id"], xp = [
|
|
|
8183
8182
|
case "exitFullScreen":
|
|
8184
8183
|
document.exitFullscreen?.() || document.webkitExitFullscreen?.();
|
|
8185
8184
|
break;
|
|
8186
|
-
case "exitPictureInPicture":
|
|
8187
|
-
document.pictureInPictureElement && document.exitPictureInPicture?.();
|
|
8188
|
-
break;
|
|
8189
|
-
default: break;
|
|
8185
|
+
case "exitPictureInPicture": document.pictureInPictureElement && document.exitPictureInPicture?.();
|
|
8190
8186
|
}
|
|
8191
8187
|
}
|
|
8192
8188
|
function g() {
|
|
@@ -8643,6 +8639,7 @@ var Jp = new class {
|
|
|
8643
8639
|
} }, { default: () => yc(e, { class: "dd-page" }) });
|
|
8644
8640
|
},
|
|
8645
8641
|
components: { [u]: {
|
|
8642
|
+
name: t,
|
|
8646
8643
|
__scopeId: d,
|
|
8647
8644
|
async setup(e, { expose: r }) {
|
|
8648
8645
|
r(), B("bridgeId", n), B("path", t), B(t, { id: l.pageId }), B("info", {
|
|
@@ -8733,6 +8730,7 @@ var Jp = new class {
|
|
|
8733
8730
|
if (!r?.moduleInfo) continue;
|
|
8734
8731
|
let { id: l, usingComponents: u } = r.moduleInfo, d = this.createComponent(c, t, u, s), f = `data-v-${l}`;
|
|
8735
8732
|
a[`dd-${i}`] = {
|
|
8733
|
+
name: c,
|
|
8736
8734
|
__scopeId: f,
|
|
8737
8735
|
components: d,
|
|
8738
8736
|
props: r.props,
|
|
@@ -9060,7 +9058,8 @@ var Jp = new class {
|
|
|
9060
9058
|
if (r) {
|
|
9061
9059
|
let e = a.querySelector(o);
|
|
9062
9060
|
return e ? await this.parseElement(e, i) : null;
|
|
9063
|
-
}
|
|
9061
|
+
}
|
|
9062
|
+
{
|
|
9064
9063
|
let e = a.querySelectorAll(o), t = [];
|
|
9065
9064
|
for (let n of e) {
|
|
9066
9065
|
let e = await this.parseElement(n, i);
|