one 2.7.5 → 2.7.7
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/android/src/main/java/com/margelo/nitro/one/HybridOneFileSystem.kt +2 -10
- package/android/src/main/java/com/margelo/nitro/one/HybridOneFonts.kt +8 -21
- package/android/src/main/java/com/margelo/nitro/one/OneAtomicWrite.kt +19 -0
- package/android/src/main/java/com/margelo/nitro/one/OneUpdatesLauncher.kt +2 -8
- package/dist/cjs/Root.cjs +1 -1
- package/dist/cjs/Root.native.cjs +3 -3
- package/dist/cjs/Root.native.js +3 -3
- package/dist/cjs/Root.native.js.map +1 -1
- package/dist/cjs/cli/buildPageWorker.cjs +2 -1
- package/dist/cjs/cli/buildPageWorker.native.cjs +2 -1
- package/dist/cjs/cli/buildPageWorker.native.js +2 -1
- package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
- package/dist/cjs/cli/workerPool.cjs +4 -1
- package/dist/cjs/cli/workerPool.native.cjs +6 -1
- package/dist/cjs/cli/workerPool.native.js +6 -1
- package/dist/cjs/cli/workerPool.native.js.map +1 -1
- package/dist/cjs/platform/compose.android.cjs +2 -2
- package/dist/cjs/platform/compose.android.js +2 -2
- package/dist/cjs/platform/compose.android.js.map +1 -1
- package/dist/cjs/platform/generated/Controls.native.cjs +6 -6
- package/dist/cjs/platform/generated/Controls.native.js +6 -6
- package/dist/cjs/platform/generated/Controls.native.js.map +1 -1
- package/dist/cjs/platform/syncStore.cjs +15 -5
- package/dist/cjs/platform/syncStore.native.cjs +20 -8
- package/dist/cjs/platform/syncStore.native.js +20 -8
- package/dist/cjs/platform/syncStore.native.js.map +1 -1
- package/dist/esm/Root.mjs +1 -1
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js +3 -3
- package/dist/esm/Root.native.js.map +1 -1
- package/dist/esm/cli/buildPageWorker.mjs +2 -1
- package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
- package/dist/esm/cli/buildPageWorker.native.js +2 -1
- package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
- package/dist/esm/cli/workerPool.mjs +4 -1
- package/dist/esm/cli/workerPool.mjs.map +1 -1
- package/dist/esm/cli/workerPool.native.js +6 -1
- package/dist/esm/cli/workerPool.native.js.map +1 -1
- package/dist/esm/platform/compose.android.js +3 -3
- package/dist/esm/platform/compose.android.js.map +1 -1
- package/dist/esm/platform/generated/Controls.native.js +7 -7
- package/dist/esm/platform/generated/Controls.native.js.map +1 -1
- package/dist/esm/platform/syncStore.mjs +14 -5
- package/dist/esm/platform/syncStore.mjs.map +1 -1
- package/dist/esm/platform/syncStore.native.js +19 -8
- package/dist/esm/platform/syncStore.native.js.map +1 -1
- package/package.json +15 -15
- package/src/Root.serverContext.test.tsx +52 -0
- package/src/Root.tsx +5 -3
- package/src/cli/buildPageWorker.ts +4 -1
- package/src/cli/workerPool.test.ts +62 -0
- package/src/cli/workerPool.ts +5 -1
- package/src/platform/compose.android.tsx +5 -7
- package/src/platform/generated/Controls.native.tsx +7 -7
- package/src/platform/syncNativeState.ts +1 -1
- package/src/platform/syncStore.ts +21 -10
- package/types/Root.d.ts.map +1 -1
- package/types/cli/workerPool.d.ts.map +1 -1
- package/types/platform/compose.android.d.ts.map +1 -1
- package/types/platform/syncStore.d.ts +1 -0
- package/types/platform/syncStore.d.ts.map +1 -1
|
@@ -24,7 +24,8 @@ __export(syncStore_exports, {
|
|
|
24
24
|
SYNC_STATE_ID_KEY: () => SYNC_STATE_ID_KEY,
|
|
25
25
|
createSyncState: () => createSyncState,
|
|
26
26
|
getSyncStateId: () => getSyncStateId,
|
|
27
|
-
isSyncState: () => isSyncState
|
|
27
|
+
isSyncState: () => isSyncState,
|
|
28
|
+
publishNativeSyncState: () => publishNativeSyncState
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(syncStore_exports);
|
|
30
31
|
var import_syncNative = require("./syncNative.cjs");
|
|
@@ -39,11 +40,21 @@ function getSyncStateId(state) {
|
|
|
39
40
|
if (!state) return void 0;
|
|
40
41
|
return state[SYNC_STATE_ID_KEY];
|
|
41
42
|
}
|
|
43
|
+
const PUBLISH_NATIVE = /* @__PURE__ */ Symbol("publishNative");
|
|
44
|
+
function publishNativeSyncState(state) {
|
|
45
|
+
;
|
|
46
|
+
state?.[PUBLISH_NATIVE]();
|
|
47
|
+
}
|
|
42
48
|
function createSyncState(initial) {
|
|
43
49
|
const host = (0, import_syncNative.getNativeSyncFactory)().create(initial);
|
|
44
50
|
let onChange = null;
|
|
45
51
|
const listeners = /* @__PURE__ */ new Set();
|
|
46
52
|
let published = host.get();
|
|
53
|
+
const publish = (next) => {
|
|
54
|
+
if (Object.is(published, next)) return;
|
|
55
|
+
published = next;
|
|
56
|
+
for (const listener of [...listeners]) listener(next);
|
|
57
|
+
};
|
|
47
58
|
const state = {
|
|
48
59
|
get value() {
|
|
49
60
|
return host.get();
|
|
@@ -56,9 +67,7 @@ function createSyncState(initial) {
|
|
|
56
67
|
},
|
|
57
68
|
set(next) {
|
|
58
69
|
if (!Object.is(host.get(), next)) host.set(next);
|
|
59
|
-
|
|
60
|
-
published = next;
|
|
61
|
-
for (const listener of [...listeners]) listener(next);
|
|
70
|
+
publish(next);
|
|
62
71
|
},
|
|
63
72
|
get onChange() {
|
|
64
73
|
return onChange;
|
|
@@ -82,7 +91,8 @@ function createSyncState(initial) {
|
|
|
82
91
|
return host.get();
|
|
83
92
|
},
|
|
84
93
|
[SYNC_STATE_BRAND]: true,
|
|
85
|
-
[SYNC_STATE_ID_KEY]: host.id
|
|
94
|
+
[SYNC_STATE_ID_KEY]: host.id,
|
|
95
|
+
[PUBLISH_NATIVE]: () => publish(host.get())
|
|
86
96
|
};
|
|
87
97
|
return state;
|
|
88
98
|
}
|
|
@@ -26,7 +26,8 @@ __export(syncStore_exports, {
|
|
|
26
26
|
SYNC_STATE_ID_KEY: () => SYNC_STATE_ID_KEY,
|
|
27
27
|
createSyncState: () => createSyncState,
|
|
28
28
|
getSyncStateId: () => getSyncStateId,
|
|
29
|
-
isSyncState: () => isSyncState
|
|
29
|
+
isSyncState: () => isSyncState,
|
|
30
|
+
publishNativeSyncState: () => publishNativeSyncState
|
|
30
31
|
});
|
|
31
32
|
module.exports = __toCommonJS(syncStore_exports);
|
|
32
33
|
var import_syncNative = require("./syncNative.native.js");
|
|
@@ -41,11 +42,24 @@ function getSyncStateId(state) {
|
|
|
41
42
|
if (!state) return void 0;
|
|
42
43
|
return state[SYNC_STATE_ID_KEY];
|
|
43
44
|
}
|
|
45
|
+
var PUBLISH_NATIVE = /* @__PURE__ */ Symbol("publishNative");
|
|
46
|
+
function publishNativeSyncState(state) {
|
|
47
|
+
;
|
|
48
|
+
state === null || state === void 0 ? void 0 : state[PUBLISH_NATIVE]();
|
|
49
|
+
}
|
|
44
50
|
function createSyncState(initial) {
|
|
45
51
|
var host = (0, import_syncNative.getNativeSyncFactory)().create(initial);
|
|
46
52
|
var onChange = null;
|
|
47
53
|
var listeners = /* @__PURE__ */ new Set();
|
|
48
54
|
var published = host.get();
|
|
55
|
+
var publish = function publish2(next) {
|
|
56
|
+
if (Object.is(published, next)) return;
|
|
57
|
+
published = next;
|
|
58
|
+
for (var _i = 0, _iter = [...listeners]; _i < _iter.length; _i++) {
|
|
59
|
+
var listener = _iter[_i];
|
|
60
|
+
listener(next);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
49
63
|
var state = {
|
|
50
64
|
get value() {
|
|
51
65
|
return host.get();
|
|
@@ -58,12 +72,7 @@ function createSyncState(initial) {
|
|
|
58
72
|
},
|
|
59
73
|
set(next) {
|
|
60
74
|
if (!Object.is(host.get(), next)) host.set(next);
|
|
61
|
-
|
|
62
|
-
published = next;
|
|
63
|
-
for (var _i = 0, _iter = [...listeners]; _i < _iter.length; _i++) {
|
|
64
|
-
var listener = _iter[_i];
|
|
65
|
-
listener(next);
|
|
66
|
-
}
|
|
75
|
+
publish(next);
|
|
67
76
|
},
|
|
68
77
|
get onChange() {
|
|
69
78
|
return onChange;
|
|
@@ -87,7 +96,10 @@ function createSyncState(initial) {
|
|
|
87
96
|
return host.get();
|
|
88
97
|
},
|
|
89
98
|
[SYNC_STATE_BRAND]: true,
|
|
90
|
-
[SYNC_STATE_ID_KEY]: host.id
|
|
99
|
+
[SYNC_STATE_ID_KEY]: host.id,
|
|
100
|
+
[PUBLISH_NATIVE]: function() {
|
|
101
|
+
return publish(host.get());
|
|
102
|
+
}
|
|
91
103
|
};
|
|
92
104
|
return state;
|
|
93
105
|
}
|
|
@@ -26,7 +26,8 @@ __export(syncStore_exports, {
|
|
|
26
26
|
SYNC_STATE_ID_KEY: () => SYNC_STATE_ID_KEY,
|
|
27
27
|
createSyncState: () => createSyncState,
|
|
28
28
|
getSyncStateId: () => getSyncStateId,
|
|
29
|
-
isSyncState: () => isSyncState
|
|
29
|
+
isSyncState: () => isSyncState,
|
|
30
|
+
publishNativeSyncState: () => publishNativeSyncState
|
|
30
31
|
});
|
|
31
32
|
module.exports = __toCommonJS(syncStore_exports);
|
|
32
33
|
var import_syncNative = require("./syncNative.native.js");
|
|
@@ -41,11 +42,24 @@ function getSyncStateId(state) {
|
|
|
41
42
|
if (!state) return void 0;
|
|
42
43
|
return state[SYNC_STATE_ID_KEY];
|
|
43
44
|
}
|
|
45
|
+
var PUBLISH_NATIVE = /* @__PURE__ */ Symbol("publishNative");
|
|
46
|
+
function publishNativeSyncState(state) {
|
|
47
|
+
;
|
|
48
|
+
state === null || state === void 0 ? void 0 : state[PUBLISH_NATIVE]();
|
|
49
|
+
}
|
|
44
50
|
function createSyncState(initial) {
|
|
45
51
|
var host = (0, import_syncNative.getNativeSyncFactory)().create(initial);
|
|
46
52
|
var onChange = null;
|
|
47
53
|
var listeners = /* @__PURE__ */ new Set();
|
|
48
54
|
var published = host.get();
|
|
55
|
+
var publish = function publish2(next) {
|
|
56
|
+
if (Object.is(published, next)) return;
|
|
57
|
+
published = next;
|
|
58
|
+
for (var _i = 0, _iter = [...listeners]; _i < _iter.length; _i++) {
|
|
59
|
+
var listener = _iter[_i];
|
|
60
|
+
listener(next);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
49
63
|
var state = {
|
|
50
64
|
get value() {
|
|
51
65
|
return host.get();
|
|
@@ -58,12 +72,7 @@ function createSyncState(initial) {
|
|
|
58
72
|
},
|
|
59
73
|
set(next) {
|
|
60
74
|
if (!Object.is(host.get(), next)) host.set(next);
|
|
61
|
-
|
|
62
|
-
published = next;
|
|
63
|
-
for (var _i = 0, _iter = [...listeners]; _i < _iter.length; _i++) {
|
|
64
|
-
var listener = _iter[_i];
|
|
65
|
-
listener(next);
|
|
66
|
-
}
|
|
75
|
+
publish(next);
|
|
67
76
|
},
|
|
68
77
|
get onChange() {
|
|
69
78
|
return onChange;
|
|
@@ -87,7 +96,10 @@ function createSyncState(initial) {
|
|
|
87
96
|
return host.get();
|
|
88
97
|
},
|
|
89
98
|
[SYNC_STATE_BRAND]: true,
|
|
90
|
-
[SYNC_STATE_ID_KEY]: host.id
|
|
99
|
+
[SYNC_STATE_ID_KEY]: host.id,
|
|
100
|
+
[PUBLISH_NATIVE]: function() {
|
|
101
|
+
return publish(host.get());
|
|
102
|
+
}
|
|
91
103
|
};
|
|
92
104
|
return state;
|
|
93
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncStore.native.js","names":[],"sources":["cjs/platform/syncStore.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar syncStore_exports = {};\n__export(syncStore_exports, {\n SYNC_STATE_BRAND: () => SYNC_STATE_BRAND,\n SYNC_STATE_ID_KEY: () => SYNC_STATE_ID_KEY,\n createSyncState: () => createSyncState,\n getSyncStateId: () => getSyncStateId,\n isSyncState: () => isSyncState\n});\nmodule.exports = __toCommonJS(syncStore_exports);\nvar import_syncNative = require(\"./syncNative\");\nvar SYNC_STATE_ID_KEY = \"__one_sync_state_id__\";\nvar SYNC_STATE_BRAND = \"__one_sync_state__\";\nfunction isSyncState(value) {\n if (value == null || typeof value !== \"object\") return false;\n var obj = value;\n return obj[SYNC_STATE_BRAND] === true && typeof obj[SYNC_STATE_ID_KEY] === \"number\" && obj[SYNC_STATE_ID_KEY] !== 0;\n}\nfunction getSyncStateId(state) {\n if (!state) return void 0;\n return state[SYNC_STATE_ID_KEY];\n}\nfunction createSyncState(initial) {\n var host = (0, import_syncNative.getNativeSyncFactory)().create(initial);\n var onChange = null;\n var listeners = /* @__PURE__ */ new Set();\n var published = host.get();\n var state = {\n get value() {\n return host.get();\n },\n set value(next) {\n state.set(next);\n },\n get() {\n return host.get();\n },\n set(next) {\n if (!Object.is(host.get(), next)) host.set(next);\n
|
|
1
|
+
{"version":3,"file":"syncStore.native.js","names":[],"sources":["cjs/platform/syncStore.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar syncStore_exports = {};\n__export(syncStore_exports, {\n SYNC_STATE_BRAND: () => SYNC_STATE_BRAND,\n SYNC_STATE_ID_KEY: () => SYNC_STATE_ID_KEY,\n createSyncState: () => createSyncState,\n getSyncStateId: () => getSyncStateId,\n isSyncState: () => isSyncState,\n publishNativeSyncState: () => publishNativeSyncState\n});\nmodule.exports = __toCommonJS(syncStore_exports);\nvar import_syncNative = require(\"./syncNative\");\nvar SYNC_STATE_ID_KEY = \"__one_sync_state_id__\";\nvar SYNC_STATE_BRAND = \"__one_sync_state__\";\nfunction isSyncState(value) {\n if (value == null || typeof value !== \"object\") return false;\n var obj = value;\n return obj[SYNC_STATE_BRAND] === true && typeof obj[SYNC_STATE_ID_KEY] === \"number\" && obj[SYNC_STATE_ID_KEY] !== 0;\n}\nfunction getSyncStateId(state) {\n if (!state) return void 0;\n return state[SYNC_STATE_ID_KEY];\n}\nvar PUBLISH_NATIVE = /* @__PURE__ */ Symbol(\"publishNative\");\nfunction publishNativeSyncState(state) {\n ;\n state === null || state === void 0 ? void 0 : state[PUBLISH_NATIVE]();\n}\nfunction createSyncState(initial) {\n var host = (0, import_syncNative.getNativeSyncFactory)().create(initial);\n var onChange = null;\n var listeners = /* @__PURE__ */ new Set();\n var published = host.get();\n var publish = function publish2(next) {\n if (Object.is(published, next)) return;\n published = next;\n for (var _i = 0, _iter = [\n ...listeners\n ]; _i < _iter.length; _i++) {\n var listener = _iter[_i];\n listener(next);\n }\n };\n var state = {\n get value() {\n return host.get();\n },\n set value(next) {\n state.set(next);\n },\n get() {\n return host.get();\n },\n set(next) {\n if (!Object.is(host.get(), next)) host.set(next);\n publish(next);\n },\n get onChange() {\n return onChange;\n },\n set onChange(next) {\n onChange = next !== null && next !== void 0 ? next : null;\n host.setOnChange(onChange);\n },\n subscribe(listener) {\n listeners.add(listener);\n return function() {\n listeners.delete(listener);\n };\n },\n release() {\n listeners.clear();\n onChange = null;\n host.release();\n },\n getSnapshot() {\n return host.get();\n },\n [SYNC_STATE_BRAND]: true,\n [SYNC_STATE_ID_KEY]: host.id,\n [PUBLISH_NATIVE]: function() {\n return publish(host.get());\n }\n };\n return state;\n}\n//# sourceMappingURL=syncStore.js.map\n"],"mappings":"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"}
|
package/dist/esm/Root.mjs
CHANGED
|
@@ -30,8 +30,8 @@ function getCachedSSRLocation(path) {
|
|
|
30
30
|
return url;
|
|
31
31
|
}
|
|
32
32
|
const ServerAsyncLocalIDContext = createContext(null);
|
|
33
|
-
globalThis["__vxrnGetContextFromReactContext"] = () => useContext(ServerAsyncLocalIDContext);
|
|
34
33
|
function Root(props) {
|
|
34
|
+
globalThis["__vxrnGetContextFromReactContext"] = () => useContext(ServerAsyncLocalIDContext);
|
|
35
35
|
if (isNative) {
|
|
36
36
|
initScreensFeatureFlags();
|
|
37
37
|
}
|
package/dist/esm/Root.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.js","names":["UpstreamNavigationContainer"],"sources":["esm/Root.js"],"sourcesContent":["import { DarkTheme, DefaultTheme } from \"./fork/theme\";\nimport { useUserScheme } from \"@vxrn/color-scheme\";\nimport {\n createContext,\n StrictMode,\n useContext,\n useId,\n useLayoutEffect,\n useState\n} from \"react\";\nimport { SERVER_CONTEXT_KEY, isNative } from \"./constants\";\nimport { initScreensFeatureFlags } from \"./screensFeatureFlags\";\nimport { SpaShellContext } from \"./router/SpaShellContext\";\nimport { NavigationContainer as UpstreamNavigationContainer } from \"./fork/NavigationContainer\";\nimport { getURL } from \"./getURL\";\nimport { FlagsContext } from \"./router/FlagsContext\";\nimport { getResolvedLinking } from \"./router/linkingConfig\";\nimport { handleNavigationContainerStateChange } from \"./router/router\";\nimport { ServerLocationContext } from \"./router/serverLocationContext\";\nimport { useInitializeOneRouter } from \"./router/useInitializeOneRouter\";\nimport { useViteRoutes } from \"./router/useViteRoutes\";\nimport { evictOldest } from \"./utils/evictOldest\";\nimport { ServerRenderID } from \"./useServerHeadInsertion\";\nimport { PreloadLinks } from \"./views/PreloadLinks\";\nimport { SafeAreaProvider, initialWindowMetrics } from \"./safe-area-context\";\nimport { RootErrorBoundary } from \"./views/RootErrorBoundary\";\nimport { ScrollBehavior } from \"./views/ScrollBehavior\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nconst ssrLocationCache = /* @__PURE__ */ new Map();\nfunction getCachedSSRLocation(path) {\n let url = ssrLocationCache.get(path);\n if (url) return url;\n url = new URL(path, getURL());\n evictOldest(ssrLocationCache, 5e3, 1e3);\n ssrLocationCache.set(path, url);\n return url;\n}\nconst ServerAsyncLocalIDContext = createContext(null);\nglobalThis[\"__vxrnGetContextFromReactContext\"] = () => useContext(ServerAsyncLocalIDContext);\nfunction Root(props) {\n if (isNative) {\n initScreensFeatureFlags();\n }\n const {\n path,\n routes,\n routeOptions,\n isClient,\n navigationContainerProps,\n onRenderId,\n linking\n } = props;\n const context = useViteRoutes(\n routes,\n props.routerRoot,\n routeOptions,\n globalThis[\"__vxrnVersion\"]\n );\n const location = isNative ? void 0 : typeof window !== \"undefined\" && window.location ? new URL(path || window.location.href || \"/\", window.location.href) : getCachedSSRLocation(path || \"/\");\n const store = useInitializeOneRouter(context, location, linking);\n const userScheme = useUserScheme();\n const Component = store.rootComponent;\n if (!Component) {\n throw new Error(`No root component found`);\n }\n const id = useId();\n onRenderId?.(id);\n const value = process.env.VERCEL ? globalThis[\"__oneGlobalContextId\"] : globalThis[\"__vxrnrequestAsyncLocalStore\"]?.getStore() || null;\n const deferredPreloads = props.deferredPreloads;\n let contents = /* @__PURE__ */ jsx(ServerAsyncLocalIDContext.Provider, { value, children: /* @__PURE__ */ jsxs(ServerRenderID.Provider, { value: id, children: [\n typeof window === \"undefined\" && deferredPreloads?.map((src) => /* @__PURE__ */ jsx(\"link\", { rel: \"modulepreload\", fetchPriority: \"low\", href: src }, src)),\n /* @__PURE__ */ jsx(SafeAreaProvider, { initialMetrics: initialWindowMetrics, children: /* @__PURE__ */ jsx(\n UpstreamNavigationContainer,\n {\n ref: store.navigationRef,\n initialState: store.initialState,\n linking: getResolvedLinking(),\n onUnhandledAction,\n onStateChange: handleNavigationContainerStateChange,\n theme: userScheme.value === \"dark\" ? DarkTheme : DefaultTheme,\n documentTitle: {\n enabled: false\n },\n ...navigationContainerProps,\n children: /* @__PURE__ */ jsx(ServerLocationContext.Provider, { value: location, children: /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(ScrollBehavior, {}),\n /* @__PURE__ */ jsx(RootErrorBoundary, { children: /* @__PURE__ */ jsx(Component, {}) })\n ] }) })\n }\n ) }),\n typeof window !== \"undefined\" && /* @__PURE__ */ jsx(PreloadLinks, {}, \"preload-links\")\n ] }) });\n if (props.flags) {\n contents = /* @__PURE__ */ jsx(FlagsContext.Provider, { value: props.flags, children: contents });\n }\n if (!process.env.ONE_DISABLE_STRICT_MODE) {\n contents = /* @__PURE__ */ jsx(StrictMode, { children: contents });\n }\n if (isClient) {\n const serverMode = globalThis[SERVER_CONTEXT_KEY]?.mode;\n if (serverMode === \"spa\") {\n const [show, setShow] = useState(false);\n useLayoutEffect(() => {\n setShow(true);\n }, []);\n return show ? contents : null;\n }\n if (serverMode === \"spa-shell\") {\n const [isSpaShell, setIsSpaShell] = useState(true);\n useLayoutEffect(() => {\n setIsSpaShell(false);\n }, []);\n useLayoutEffect(() => {\n if (!isSpaShell) {\n const initialPath = window.location.pathname + window.location.search;\n requestAnimationFrame(() => {\n if (window.location.pathname + window.location.search !== initialPath) return;\n const nav = store.navigationRef?.current;\n if (!nav) return;\n const linking2 = getResolvedLinking();\n if (linking2?.getStateFromPath) {\n const freshState = linking2.getStateFromPath(initialPath, linking2.config);\n if (freshState) {\n nav.resetRoot(freshState);\n }\n }\n });\n }\n }, [isSpaShell]);\n return /* @__PURE__ */ jsx(SpaShellContext.Provider, { value: isSpaShell, children: contents });\n }\n return contents;\n }\n if (props.mode === \"spa-shell\") {\n return /* @__PURE__ */ jsx(SpaShellContext.Provider, { value: true, children: contents });\n }\n return contents;\n}\nlet onUnhandledAction;\nif (process.env.NODE_ENV !== \"production\") {\n onUnhandledAction = (action) => {\n const payload = action.payload;\n let message = `The action '${action.type}'${payload ? ` with payload ${JSON.stringify(action.payload)}` : \"\"} was not handled by any navigator.`;\n switch (action.type) {\n case \"NAVIGATE\":\n case \"PUSH\":\n case \"REPLACE\":\n case \"JUMP_TO\":\n if (payload?.name) {\n message += `\n\nDo you have a route named '${payload.name}'?`;\n } else {\n message += `\n\nYou need to pass the name of the screen to navigate to. This may be a bug.`;\n }\n break;\n case \"GO_BACK\":\n case \"POP\":\n case \"POP_TO_TOP\":\n message += `\n\nIs there any screen to go back to?`;\n break;\n case \"OPEN_DRAWER\":\n case \"CLOSE_DRAWER\":\n case \"TOGGLE_DRAWER\":\n message += `\n\nIs your screen inside a Drawer navigator?`;\n break;\n }\n message += `\n\nThis is a development-only warning and won't be shown in production.`;\n if (process.env.NODE_ENV === \"test\") {\n throw new Error(message);\n }\n console.error(message);\n };\n} else {\n onUnhandledAction = () => {\n };\n}\nexport {\n Root\n};\n//# sourceMappingURL=Root.js.map\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,mCAAmC,IAAI,IAAI;AACjD,SAAS,qBAAqB,MAAM;CAClC,IAAI,MAAM,iBAAiB,IAAI,IAAI;CACnC,IAAI,KAAK,OAAO;CAChB,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC;CAC5B,YAAY,kBAAkB,KAAK,GAAG;CACtC,iBAAiB,IAAI,MAAM,GAAG;CAC9B,OAAO;AACT;AACA,MAAM,4BAA4B,cAAc,IAAI;AACpD,WAAW,4CAA4C,WAAW,yBAAyB;AAC3F,SAAS,KAAK,OAAO;CACnB,IAAI,UAAU;EACZ,wBAAwB;CAC1B;CACA,MAAM,EACJ,MACA,QACA,cACA,UACA,0BACA,YACA,YACE;CACJ,MAAM,UAAU,cACd,QACA,MAAM,YACN,cACA,WAAW,gBACb;CACA,MAAM,WAAW,WAAW,KAAK,IAAI,OAAO,WAAW,eAAe,OAAO,WAAW,IAAI,IAAI,QAAQ,OAAO,SAAS,QAAQ,KAAK,OAAO,SAAS,IAAI,IAAI,qBAAqB,QAAQ,GAAG;CAC7L,MAAM,QAAQ,uBAAuB,SAAS,UAAU,OAAO;CAC/D,MAAM,aAAa,cAAc;CACjC,MAAM,YAAY,MAAM;CACxB,IAAI,CAAC,WAAW;EACd,MAAM,IAAI,MAAM,yBAAyB;CAC3C;CACA,MAAM,KAAK,MAAM;CACjB,aAAa,EAAE;CACf,MAAM,QAAQ,QAAQ,IAAI,SAAS,WAAW,0BAA0B,WAAW,+BAA+B,EAAE,SAAS,KAAK;CAClI,MAAM,mBAAmB,MAAM;CAC/B,IAAI,WAA2B,oBAAI,0BAA0B,UAAU;EAAE;EAAO,UAA0B,qBAAK,eAAe,UAAU;GAAE,OAAO;GAAI,UAAU;IAC7J,OAAO,WAAW,eAAe,kBAAkB,KAAK,QAAwB,oBAAI,QAAQ;KAAE,KAAK;KAAiB,eAAe;KAAO,MAAM;IAAI,GAAG,GAAG,CAAC;IAC3I,oBAAI,kBAAkB;KAAE,gBAAgB;KAAsB,UAA0B,oBACtGA,qBACA;MACE,KAAK,MAAM;MACX,cAAc,MAAM;MACpB,SAAS,mBAAmB;MAC5B;MACA,eAAe;MACf,OAAO,WAAW,UAAU,SAAS,YAAY;MACjD,eAAe,EACb,SAAS,MACX;MACA,GAAG;MACH,UAA0B,oBAAI,sBAAsB,UAAU;OAAE,OAAO;OAAU,UAA0B,qBAAK,UAAU,EAAE,UAAU,CACpH,oBAAI,gBAAgB,CAAC,CAAC,GACtB,oBAAI,mBAAmB,EAAE,UAA0B,oBAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CACzF,EAAE,CAAC;MAAE,CAAC;KACR,CACF;IAAE,CAAC;IACH,OAAO,WAAW,eAA+B,oBAAI,cAAc,CAAC,GAAG,eAAe;GACxF;EAAE,CAAC;CAAE,CAAC;CACN,IAAI,MAAM,OAAO;EACf,WAA2B,oBAAI,aAAa,UAAU;GAAE,OAAO,MAAM;GAAO,UAAU;EAAS,CAAC;CAClG;CACA,IAAI,CAAC,QAAQ,IAAI,yBAAyB;EACxC,WAA2B,oBAAI,YAAY,EAAE,UAAU,SAAS,CAAC;CACnE;CACA,IAAI,UAAU;EACZ,MAAM,aAAa,WAAW,mBAAmB,EAAE;EACnD,IAAI,eAAe,OAAO;GACxB,MAAM,CAAC,MAAM,WAAW,SAAS,KAAK;GACtC,sBAAsB;IACpB,QAAQ,IAAI;GACd,GAAG,CAAC,CAAC;GACL,OAAO,OAAO,WAAW;EAC3B;EACA,IAAI,eAAe,aAAa;GAC9B,MAAM,CAAC,YAAY,iBAAiB,SAAS,IAAI;GACjD,sBAAsB;IACpB,cAAc,KAAK;GACrB,GAAG,CAAC,CAAC;GACL,sBAAsB;IACpB,IAAI,CAAC,YAAY;KACf,MAAM,cAAc,OAAO,SAAS,WAAW,OAAO,SAAS;KAC/D,4BAA4B;MAC1B,IAAI,OAAO,SAAS,WAAW,OAAO,SAAS,WAAW,aAAa;MACvE,MAAM,MAAM,MAAM,eAAe;MACjC,IAAI,CAAC,KAAK;MACV,MAAM,WAAW,mBAAmB;MACpC,IAAI,UAAU,kBAAkB;OAC9B,MAAM,aAAa,SAAS,iBAAiB,aAAa,SAAS,MAAM;OACzE,IAAI,YAAY;QACd,IAAI,UAAU,UAAU;OAC1B;MACF;KACF,CAAC;IACH;GACF,GAAG,CAAC,UAAU,CAAC;GACf,OAAuB,oBAAI,gBAAgB,UAAU;IAAE,OAAO;IAAY,UAAU;GAAS,CAAC;EAChG;EACA,OAAO;CACT;CACA,IAAI,MAAM,SAAS,aAAa;EAC9B,OAAuB,oBAAI,gBAAgB,UAAU;GAAE,OAAO;GAAM,UAAU;EAAS,CAAC;CAC1F;CACA,OAAO;AACT;AACA,IAAI;AACJ,IAAI,QAAQ,IAAI,aAAa,cAAc;CACzC,qBAAqB,WAAW;EAC9B,MAAM,UAAU,OAAO;EACvB,IAAI,UAAU,eAAe,OAAO,KAAK,GAAG,UAAU,iBAAiB,KAAK,UAAU,OAAO,OAAO,MAAM,GAAG;EAC7G,QAAQ,OAAO,MAAf;GACE,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;IACH,IAAI,SAAS,MAAM;KACjB,WAAW;;6BAEQ,QAAQ,KAAK;IAClC,OAAO;KACL,WAAW;;;IAGb;IACA;GACF,KAAK;GACL,KAAK;GACL,KAAK;IACH,WAAW;;;IAGX;GACF,KAAK;GACL,KAAK;GACL,KAAK;IACH,WAAW;;;IAGX;EACJ;EACA,WAAW;;;EAGX,IAAI,QAAQ,IAAI,aAAa,QAAQ;GACnC,MAAM,IAAI,MAAM,OAAO;EACzB;EACA,QAAQ,MAAM,OAAO;CACvB;AACF,OAAO;CACL,0BAA0B,CAC1B;AACF"}
|
|
1
|
+
{"version":3,"file":"Root.js","names":["UpstreamNavigationContainer"],"sources":["esm/Root.js"],"sourcesContent":["import { DarkTheme, DefaultTheme } from \"./fork/theme\";\nimport { useUserScheme } from \"@vxrn/color-scheme\";\nimport {\n createContext,\n StrictMode,\n useContext,\n useId,\n useLayoutEffect,\n useState\n} from \"react\";\nimport { SERVER_CONTEXT_KEY, isNative } from \"./constants\";\nimport { initScreensFeatureFlags } from \"./screensFeatureFlags\";\nimport { SpaShellContext } from \"./router/SpaShellContext\";\nimport { NavigationContainer as UpstreamNavigationContainer } from \"./fork/NavigationContainer\";\nimport { getURL } from \"./getURL\";\nimport { FlagsContext } from \"./router/FlagsContext\";\nimport { getResolvedLinking } from \"./router/linkingConfig\";\nimport { handleNavigationContainerStateChange } from \"./router/router\";\nimport { ServerLocationContext } from \"./router/serverLocationContext\";\nimport { useInitializeOneRouter } from \"./router/useInitializeOneRouter\";\nimport { useViteRoutes } from \"./router/useViteRoutes\";\nimport { evictOldest } from \"./utils/evictOldest\";\nimport { ServerRenderID } from \"./useServerHeadInsertion\";\nimport { PreloadLinks } from \"./views/PreloadLinks\";\nimport { SafeAreaProvider, initialWindowMetrics } from \"./safe-area-context\";\nimport { RootErrorBoundary } from \"./views/RootErrorBoundary\";\nimport { ScrollBehavior } from \"./views/ScrollBehavior\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nconst ssrLocationCache = /* @__PURE__ */ new Map();\nfunction getCachedSSRLocation(path) {\n let url = ssrLocationCache.get(path);\n if (url) return url;\n url = new URL(path, getURL());\n evictOldest(ssrLocationCache, 5e3, 1e3);\n ssrLocationCache.set(path, url);\n return url;\n}\nconst ServerAsyncLocalIDContext = createContext(null);\nfunction Root(props) {\n globalThis[\"__vxrnGetContextFromReactContext\"] = () => useContext(ServerAsyncLocalIDContext);\n if (isNative) {\n initScreensFeatureFlags();\n }\n const {\n path,\n routes,\n routeOptions,\n isClient,\n navigationContainerProps,\n onRenderId,\n linking\n } = props;\n const context = useViteRoutes(\n routes,\n props.routerRoot,\n routeOptions,\n globalThis[\"__vxrnVersion\"]\n );\n const location = isNative ? void 0 : typeof window !== \"undefined\" && window.location ? new URL(path || window.location.href || \"/\", window.location.href) : getCachedSSRLocation(path || \"/\");\n const store = useInitializeOneRouter(context, location, linking);\n const userScheme = useUserScheme();\n const Component = store.rootComponent;\n if (!Component) {\n throw new Error(`No root component found`);\n }\n const id = useId();\n onRenderId?.(id);\n const value = process.env.VERCEL ? globalThis[\"__oneGlobalContextId\"] : globalThis[\"__vxrnrequestAsyncLocalStore\"]?.getStore() || null;\n const deferredPreloads = props.deferredPreloads;\n let contents = /* @__PURE__ */ jsx(ServerAsyncLocalIDContext.Provider, { value, children: /* @__PURE__ */ jsxs(ServerRenderID.Provider, { value: id, children: [\n typeof window === \"undefined\" && deferredPreloads?.map((src) => /* @__PURE__ */ jsx(\"link\", { rel: \"modulepreload\", fetchPriority: \"low\", href: src }, src)),\n /* @__PURE__ */ jsx(SafeAreaProvider, { initialMetrics: initialWindowMetrics, children: /* @__PURE__ */ jsx(\n UpstreamNavigationContainer,\n {\n ref: store.navigationRef,\n initialState: store.initialState,\n linking: getResolvedLinking(),\n onUnhandledAction,\n onStateChange: handleNavigationContainerStateChange,\n theme: userScheme.value === \"dark\" ? DarkTheme : DefaultTheme,\n documentTitle: {\n enabled: false\n },\n ...navigationContainerProps,\n children: /* @__PURE__ */ jsx(ServerLocationContext.Provider, { value: location, children: /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(ScrollBehavior, {}),\n /* @__PURE__ */ jsx(RootErrorBoundary, { children: /* @__PURE__ */ jsx(Component, {}) })\n ] }) })\n }\n ) }),\n typeof window !== \"undefined\" && /* @__PURE__ */ jsx(PreloadLinks, {}, \"preload-links\")\n ] }) });\n if (props.flags) {\n contents = /* @__PURE__ */ jsx(FlagsContext.Provider, { value: props.flags, children: contents });\n }\n if (!process.env.ONE_DISABLE_STRICT_MODE) {\n contents = /* @__PURE__ */ jsx(StrictMode, { children: contents });\n }\n if (isClient) {\n const serverMode = globalThis[SERVER_CONTEXT_KEY]?.mode;\n if (serverMode === \"spa\") {\n const [show, setShow] = useState(false);\n useLayoutEffect(() => {\n setShow(true);\n }, []);\n return show ? contents : null;\n }\n if (serverMode === \"spa-shell\") {\n const [isSpaShell, setIsSpaShell] = useState(true);\n useLayoutEffect(() => {\n setIsSpaShell(false);\n }, []);\n useLayoutEffect(() => {\n if (!isSpaShell) {\n const initialPath = window.location.pathname + window.location.search;\n requestAnimationFrame(() => {\n if (window.location.pathname + window.location.search !== initialPath) return;\n const nav = store.navigationRef?.current;\n if (!nav) return;\n const linking2 = getResolvedLinking();\n if (linking2?.getStateFromPath) {\n const freshState = linking2.getStateFromPath(initialPath, linking2.config);\n if (freshState) {\n nav.resetRoot(freshState);\n }\n }\n });\n }\n }, [isSpaShell]);\n return /* @__PURE__ */ jsx(SpaShellContext.Provider, { value: isSpaShell, children: contents });\n }\n return contents;\n }\n if (props.mode === \"spa-shell\") {\n return /* @__PURE__ */ jsx(SpaShellContext.Provider, { value: true, children: contents });\n }\n return contents;\n}\nlet onUnhandledAction;\nif (process.env.NODE_ENV !== \"production\") {\n onUnhandledAction = (action) => {\n const payload = action.payload;\n let message = `The action '${action.type}'${payload ? ` with payload ${JSON.stringify(action.payload)}` : \"\"} was not handled by any navigator.`;\n switch (action.type) {\n case \"NAVIGATE\":\n case \"PUSH\":\n case \"REPLACE\":\n case \"JUMP_TO\":\n if (payload?.name) {\n message += `\n\nDo you have a route named '${payload.name}'?`;\n } else {\n message += `\n\nYou need to pass the name of the screen to navigate to. This may be a bug.`;\n }\n break;\n case \"GO_BACK\":\n case \"POP\":\n case \"POP_TO_TOP\":\n message += `\n\nIs there any screen to go back to?`;\n break;\n case \"OPEN_DRAWER\":\n case \"CLOSE_DRAWER\":\n case \"TOGGLE_DRAWER\":\n message += `\n\nIs your screen inside a Drawer navigator?`;\n break;\n }\n message += `\n\nThis is a development-only warning and won't be shown in production.`;\n if (process.env.NODE_ENV === \"test\") {\n throw new Error(message);\n }\n console.error(message);\n };\n} else {\n onUnhandledAction = () => {\n };\n}\nexport {\n Root\n};\n//# sourceMappingURL=Root.js.map\n"],"mappings":"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"}
|
package/dist/esm/Root.native.js
CHANGED
|
@@ -30,11 +30,11 @@ function getCachedSSRLocation(path) {
|
|
|
30
30
|
return url;
|
|
31
31
|
}
|
|
32
32
|
var ServerAsyncLocalIDContext = /* @__PURE__ */ createContext(null);
|
|
33
|
-
globalThis["__vxrnGetContextFromReactContext"] = function() {
|
|
34
|
-
return useContext(ServerAsyncLocalIDContext);
|
|
35
|
-
};
|
|
36
33
|
function Root(props) {
|
|
37
34
|
var _globalThis___vxrnrequestAsyncLocalStore;
|
|
35
|
+
globalThis["__vxrnGetContextFromReactContext"] = function() {
|
|
36
|
+
return useContext(ServerAsyncLocalIDContext);
|
|
37
|
+
};
|
|
38
38
|
if (isNative) {
|
|
39
39
|
initScreensFeatureFlags();
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.native.js","names":["UpstreamNavigationContainer","_Fragment"],"sources":["esm/Root.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { DarkTheme, DefaultTheme } from \"./fork/theme\";\nimport { useUserScheme } from \"@vxrn/color-scheme\";\nimport { createContext, StrictMode, useContext, useId, useLayoutEffect, useState } from \"react\";\nimport { SERVER_CONTEXT_KEY, isNative } from \"./constants\";\nimport { initScreensFeatureFlags } from \"./screensFeatureFlags\";\nimport { SpaShellContext } from \"./router/SpaShellContext\";\nimport { NavigationContainer as UpstreamNavigationContainer } from \"./fork/NavigationContainer\";\nimport { getURL } from \"./getURL\";\nimport { FlagsContext } from \"./router/FlagsContext\";\nimport { getResolvedLinking } from \"./router/linkingConfig\";\nimport { handleNavigationContainerStateChange } from \"./router/router\";\nimport { ServerLocationContext } from \"./router/serverLocationContext\";\nimport { useInitializeOneRouter } from \"./router/useInitializeOneRouter\";\nimport { useViteRoutes } from \"./router/useViteRoutes\";\nimport { evictOldest } from \"./utils/evictOldest\";\nimport { ServerRenderID } from \"./useServerHeadInsertion\";\nimport { PreloadLinks } from \"./views/PreloadLinks\";\nimport { SafeAreaProvider, initialWindowMetrics } from \"./safe-area-context\";\nimport { RootErrorBoundary } from \"./views/RootErrorBoundary\";\nimport { ScrollBehavior } from \"./views/ScrollBehavior\";\nvar ssrLocationCache = /* @__PURE__ */ new Map();\nfunction getCachedSSRLocation(path) {\n var url = ssrLocationCache.get(path);\n if (url) return url;\n url = new URL(path, getURL());\n evictOldest(ssrLocationCache, 5e3, 1e3);\n ssrLocationCache.set(path, url);\n return url;\n}\nvar ServerAsyncLocalIDContext = /* @__PURE__ */ createContext(null);\nglobalThis[\"__vxrnGetContextFromReactContext\"] = function() {\n return useContext(ServerAsyncLocalIDContext);\n};\nfunction Root(props) {\n var _globalThis___vxrnrequestAsyncLocalStore;\n if (isNative) {\n initScreensFeatureFlags();\n }\n var { path, routes, routeOptions, isClient, navigationContainerProps, onRenderId, linking } = props;\n var context = useViteRoutes(routes, props.routerRoot, routeOptions, globalThis[\"__vxrnVersion\"]);\n var location = isNative ? void 0 : typeof window !== \"undefined\" && window.location ? new URL(path || window.location.href || \"/\", window.location.href) : getCachedSSRLocation(path || \"/\");\n var store = useInitializeOneRouter(context, location, linking);\n var userScheme = useUserScheme();\n var Component = store.rootComponent;\n if (!Component) {\n throw new Error(`No root component found`);\n }\n var id = useId();\n onRenderId === null || onRenderId === void 0 ? void 0 : onRenderId(id);\n var value = process.env.VERCEL ? globalThis[\"__oneGlobalContextId\"] : ((_globalThis___vxrnrequestAsyncLocalStore = globalThis[\"__vxrnrequestAsyncLocalStore\"]) === null || _globalThis___vxrnrequestAsyncLocalStore === void 0 ? void 0 : _globalThis___vxrnrequestAsyncLocalStore.getStore()) || null;\n var deferredPreloads = props.deferredPreloads;\n var contents = /* @__PURE__ */ _jsx(ServerAsyncLocalIDContext.Provider, {\n value,\n children: /* @__PURE__ */ _jsxs(ServerRenderID.Provider, {\n value: id,\n children: [\n typeof window === \"undefined\" && (deferredPreloads === null || deferredPreloads === void 0 ? void 0 : deferredPreloads.map(function(src) {\n return /* @__PURE__ */ _jsx(\"link\", {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n href: src\n }, src);\n })),\n /* one owns the safe area provider on every platform: apps read it\n through One.UI.SafeArea and never mount their own */\n /* @__PURE__ */ _jsx(SafeAreaProvider, {\n initialMetrics: initialWindowMetrics,\n children: /* @__PURE__ */ _jsx(UpstreamNavigationContainer, {\n ref: store.navigationRef,\n initialState: store.initialState,\n linking: getResolvedLinking(),\n onUnhandledAction,\n onStateChange: handleNavigationContainerStateChange,\n theme: userScheme.value === \"dark\" ? DarkTheme : DefaultTheme,\n documentTitle: {\n enabled: false\n },\n ...navigationContainerProps,\n children: /* @__PURE__ */ _jsx(ServerLocationContext.Provider, {\n value: location,\n children: /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(ScrollBehavior, {}),\n /* @__PURE__ */ _jsx(RootErrorBoundary, {\n children: /* @__PURE__ */ _jsx(Component, {})\n })\n ]\n })\n })\n })\n }),\n typeof window !== \"undefined\" && /* @__PURE__ */ _jsx(PreloadLinks, {}, \"preload-links\")\n ]\n })\n });\n if (props.flags) {\n contents = /* @__PURE__ */ _jsx(FlagsContext.Provider, {\n value: props.flags,\n children: contents\n });\n }\n if (!process.env.ONE_DISABLE_STRICT_MODE) {\n contents = /* @__PURE__ */ _jsx(StrictMode, {\n children: contents\n });\n }\n if (isClient) {\n var _globalThis_SERVER_CONTEXT_KEY;\n var serverMode = (_globalThis_SERVER_CONTEXT_KEY = globalThis[SERVER_CONTEXT_KEY]) === null || _globalThis_SERVER_CONTEXT_KEY === void 0 ? void 0 : _globalThis_SERVER_CONTEXT_KEY.mode;\n if (serverMode === \"spa\") {\n var [show, setShow] = useState(false);\n useLayoutEffect(function() {\n setShow(true);\n }, []);\n return show ? contents : null;\n }\n if (serverMode === \"spa-shell\") {\n var [isSpaShell, setIsSpaShell] = useState(true);\n useLayoutEffect(function() {\n setIsSpaShell(false);\n }, []);\n useLayoutEffect(function() {\n if (!isSpaShell) {\n var initialPath = window.location.pathname + window.location.search;\n requestAnimationFrame(function() {\n var _store_navigationRef;\n if (window.location.pathname + window.location.search !== initialPath) return;\n var nav = (_store_navigationRef = store.navigationRef) === null || _store_navigationRef === void 0 ? void 0 : _store_navigationRef.current;\n if (!nav) return;\n var linking2 = getResolvedLinking();\n if (linking2 === null || linking2 === void 0 ? void 0 : linking2.getStateFromPath) {\n var freshState = linking2.getStateFromPath(initialPath, linking2.config);\n if (freshState) {\n nav.resetRoot(freshState);\n }\n }\n });\n }\n }, [\n isSpaShell\n ]);\n return /* @__PURE__ */ _jsx(SpaShellContext.Provider, {\n value: isSpaShell,\n children: contents\n });\n }\n return contents;\n }\n if (props.mode === \"spa-shell\") {\n return /* @__PURE__ */ _jsx(SpaShellContext.Provider, {\n value: true,\n children: contents\n });\n }\n return contents;\n}\nvar onUnhandledAction;\nif (process.env.NODE_ENV !== \"production\") {\n onUnhandledAction = function onUnhandledAction2(action) {\n var payload = action.payload;\n var message = `The action '${action.type}'${payload ? ` with payload ${JSON.stringify(action.payload)}` : \"\"} was not handled by any navigator.`;\n switch (action.type) {\n case \"NAVIGATE\":\n case \"PUSH\":\n case \"REPLACE\":\n case \"JUMP_TO\":\n if (payload === null || payload === void 0 ? void 0 : payload.name) {\n message += `\n\nDo you have a route named '${payload.name}'?`;\n } else {\n message += `\n\nYou need to pass the name of the screen to navigate to. This may be a bug.`;\n }\n break;\n case \"GO_BACK\":\n case \"POP\":\n case \"POP_TO_TOP\":\n message += `\n\nIs there any screen to go back to?`;\n break;\n case \"OPEN_DRAWER\":\n case \"CLOSE_DRAWER\":\n case \"TOGGLE_DRAWER\":\n message += `\n\nIs your screen inside a Drawer navigator?`;\n break;\n }\n message += `\n\nThis is a development-only warning and won't be shown in production.`;\n if (process.env.NODE_ENV === \"test\") {\n throw new Error(message);\n }\n console.error(message);\n };\n} else {\n onUnhandledAction = function onUnhandledAction2() {\n };\n}\nexport {\n Root\n};\n//# sourceMappingURL=Root.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Root.native.js","names":["UpstreamNavigationContainer","_Fragment"],"sources":["esm/Root.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { DarkTheme, DefaultTheme } from \"./fork/theme\";\nimport { useUserScheme } from \"@vxrn/color-scheme\";\nimport { createContext, StrictMode, useContext, useId, useLayoutEffect, useState } from \"react\";\nimport { SERVER_CONTEXT_KEY, isNative } from \"./constants\";\nimport { initScreensFeatureFlags } from \"./screensFeatureFlags\";\nimport { SpaShellContext } from \"./router/SpaShellContext\";\nimport { NavigationContainer as UpstreamNavigationContainer } from \"./fork/NavigationContainer\";\nimport { getURL } from \"./getURL\";\nimport { FlagsContext } from \"./router/FlagsContext\";\nimport { getResolvedLinking } from \"./router/linkingConfig\";\nimport { handleNavigationContainerStateChange } from \"./router/router\";\nimport { ServerLocationContext } from \"./router/serverLocationContext\";\nimport { useInitializeOneRouter } from \"./router/useInitializeOneRouter\";\nimport { useViteRoutes } from \"./router/useViteRoutes\";\nimport { evictOldest } from \"./utils/evictOldest\";\nimport { ServerRenderID } from \"./useServerHeadInsertion\";\nimport { PreloadLinks } from \"./views/PreloadLinks\";\nimport { SafeAreaProvider, initialWindowMetrics } from \"./safe-area-context\";\nimport { RootErrorBoundary } from \"./views/RootErrorBoundary\";\nimport { ScrollBehavior } from \"./views/ScrollBehavior\";\nvar ssrLocationCache = /* @__PURE__ */ new Map();\nfunction getCachedSSRLocation(path) {\n var url = ssrLocationCache.get(path);\n if (url) return url;\n url = new URL(path, getURL());\n evictOldest(ssrLocationCache, 5e3, 1e3);\n ssrLocationCache.set(path, url);\n return url;\n}\nvar ServerAsyncLocalIDContext = /* @__PURE__ */ createContext(null);\nfunction Root(props) {\n var _globalThis___vxrnrequestAsyncLocalStore;\n globalThis[\"__vxrnGetContextFromReactContext\"] = function() {\n return useContext(ServerAsyncLocalIDContext);\n };\n if (isNative) {\n initScreensFeatureFlags();\n }\n var { path, routes, routeOptions, isClient, navigationContainerProps, onRenderId, linking } = props;\n var context = useViteRoutes(routes, props.routerRoot, routeOptions, globalThis[\"__vxrnVersion\"]);\n var location = isNative ? void 0 : typeof window !== \"undefined\" && window.location ? new URL(path || window.location.href || \"/\", window.location.href) : getCachedSSRLocation(path || \"/\");\n var store = useInitializeOneRouter(context, location, linking);\n var userScheme = useUserScheme();\n var Component = store.rootComponent;\n if (!Component) {\n throw new Error(`No root component found`);\n }\n var id = useId();\n onRenderId === null || onRenderId === void 0 ? void 0 : onRenderId(id);\n var value = process.env.VERCEL ? globalThis[\"__oneGlobalContextId\"] : ((_globalThis___vxrnrequestAsyncLocalStore = globalThis[\"__vxrnrequestAsyncLocalStore\"]) === null || _globalThis___vxrnrequestAsyncLocalStore === void 0 ? void 0 : _globalThis___vxrnrequestAsyncLocalStore.getStore()) || null;\n var deferredPreloads = props.deferredPreloads;\n var contents = /* @__PURE__ */ _jsx(ServerAsyncLocalIDContext.Provider, {\n value,\n children: /* @__PURE__ */ _jsxs(ServerRenderID.Provider, {\n value: id,\n children: [\n typeof window === \"undefined\" && (deferredPreloads === null || deferredPreloads === void 0 ? void 0 : deferredPreloads.map(function(src) {\n return /* @__PURE__ */ _jsx(\"link\", {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n href: src\n }, src);\n })),\n /* one owns the safe area provider on every platform: apps read it\n through One.UI.SafeArea and never mount their own */\n /* @__PURE__ */ _jsx(SafeAreaProvider, {\n initialMetrics: initialWindowMetrics,\n children: /* @__PURE__ */ _jsx(UpstreamNavigationContainer, {\n ref: store.navigationRef,\n initialState: store.initialState,\n linking: getResolvedLinking(),\n onUnhandledAction,\n onStateChange: handleNavigationContainerStateChange,\n theme: userScheme.value === \"dark\" ? DarkTheme : DefaultTheme,\n documentTitle: {\n enabled: false\n },\n ...navigationContainerProps,\n children: /* @__PURE__ */ _jsx(ServerLocationContext.Provider, {\n value: location,\n children: /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(ScrollBehavior, {}),\n /* @__PURE__ */ _jsx(RootErrorBoundary, {\n children: /* @__PURE__ */ _jsx(Component, {})\n })\n ]\n })\n })\n })\n }),\n typeof window !== \"undefined\" && /* @__PURE__ */ _jsx(PreloadLinks, {}, \"preload-links\")\n ]\n })\n });\n if (props.flags) {\n contents = /* @__PURE__ */ _jsx(FlagsContext.Provider, {\n value: props.flags,\n children: contents\n });\n }\n if (!process.env.ONE_DISABLE_STRICT_MODE) {\n contents = /* @__PURE__ */ _jsx(StrictMode, {\n children: contents\n });\n }\n if (isClient) {\n var _globalThis_SERVER_CONTEXT_KEY;\n var serverMode = (_globalThis_SERVER_CONTEXT_KEY = globalThis[SERVER_CONTEXT_KEY]) === null || _globalThis_SERVER_CONTEXT_KEY === void 0 ? void 0 : _globalThis_SERVER_CONTEXT_KEY.mode;\n if (serverMode === \"spa\") {\n var [show, setShow] = useState(false);\n useLayoutEffect(function() {\n setShow(true);\n }, []);\n return show ? contents : null;\n }\n if (serverMode === \"spa-shell\") {\n var [isSpaShell, setIsSpaShell] = useState(true);\n useLayoutEffect(function() {\n setIsSpaShell(false);\n }, []);\n useLayoutEffect(function() {\n if (!isSpaShell) {\n var initialPath = window.location.pathname + window.location.search;\n requestAnimationFrame(function() {\n var _store_navigationRef;\n if (window.location.pathname + window.location.search !== initialPath) return;\n var nav = (_store_navigationRef = store.navigationRef) === null || _store_navigationRef === void 0 ? void 0 : _store_navigationRef.current;\n if (!nav) return;\n var linking2 = getResolvedLinking();\n if (linking2 === null || linking2 === void 0 ? void 0 : linking2.getStateFromPath) {\n var freshState = linking2.getStateFromPath(initialPath, linking2.config);\n if (freshState) {\n nav.resetRoot(freshState);\n }\n }\n });\n }\n }, [\n isSpaShell\n ]);\n return /* @__PURE__ */ _jsx(SpaShellContext.Provider, {\n value: isSpaShell,\n children: contents\n });\n }\n return contents;\n }\n if (props.mode === \"spa-shell\") {\n return /* @__PURE__ */ _jsx(SpaShellContext.Provider, {\n value: true,\n children: contents\n });\n }\n return contents;\n}\nvar onUnhandledAction;\nif (process.env.NODE_ENV !== \"production\") {\n onUnhandledAction = function onUnhandledAction2(action) {\n var payload = action.payload;\n var message = `The action '${action.type}'${payload ? ` with payload ${JSON.stringify(action.payload)}` : \"\"} was not handled by any navigator.`;\n switch (action.type) {\n case \"NAVIGATE\":\n case \"PUSH\":\n case \"REPLACE\":\n case \"JUMP_TO\":\n if (payload === null || payload === void 0 ? void 0 : payload.name) {\n message += `\n\nDo you have a route named '${payload.name}'?`;\n } else {\n message += `\n\nYou need to pass the name of the screen to navigate to. This may be a bug.`;\n }\n break;\n case \"GO_BACK\":\n case \"POP\":\n case \"POP_TO_TOP\":\n message += `\n\nIs there any screen to go back to?`;\n break;\n case \"OPEN_DRAWER\":\n case \"CLOSE_DRAWER\":\n case \"TOGGLE_DRAWER\":\n message += `\n\nIs your screen inside a Drawer navigator?`;\n break;\n }\n message += `\n\nThis is a development-only warning and won't be shown in production.`;\n if (process.env.NODE_ENV === \"test\") {\n throw new Error(message);\n }\n console.error(message);\n };\n} else {\n onUnhandledAction = function onUnhandledAction2() {\n };\n}\nexport {\n Root\n};\n//# sourceMappingURL=Root.js.map\n"],"mappings":"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"}
|
|
@@ -50,10 +50,11 @@ parentPort.on("message", async (msg) => {
|
|
|
50
50
|
const result = await runWithAsyncLocalContext(async () => {
|
|
51
51
|
return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);
|
|
52
52
|
});
|
|
53
|
+
const { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;
|
|
53
54
|
parentPort.postMessage({
|
|
54
55
|
type: "done",
|
|
55
56
|
id: msg.id,
|
|
56
|
-
result
|
|
57
|
+
result: buildInfo
|
|
57
58
|
});
|
|
58
59
|
} catch (err) {
|
|
59
60
|
parentPort.postMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPageWorker.js","names":[],"sources":["esm/cli/buildPageWorker.js"],"sourcesContent":["import { parentPort } from \"node:worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nlet buildPageFn = null;\nlet runWithAsyncLocalContextFn = null;\nlet initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n const mod = await workerImport(\n \"./buildPage\",\n import.meta.url\n );\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n const mod = await workerImport(\n \"../vite/one-server-only\",\n import.meta.url\n );\n runWithAsyncLocalContextFn = mod.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async (msg) => {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({ type: \"init-done\", id: msg.id });\n return;\n }\n if (msg.type === \"build\") {\n try {\n const { buildPage, runWithAsyncLocalContext } = await ensureImports();\n const result = await runWithAsyncLocalContext(async () => {\n return await buildPage(\n msg.args.serverEntry,\n msg.args.routerRoot,\n msg.args.path,\n msg.args.relativeId,\n msg.args.params,\n msg.args.foundRoute,\n msg.args.clientManifestEntry,\n msg.args.staticDir,\n msg.args.clientDir,\n msg.args.builtMiddlewares,\n msg.args.serverJsPath,\n msg.args.preloads,\n msg.args.allCSS,\n msg.args.layoutCSS,\n msg.args.routePreloads,\n msg.args.allCSSContents,\n msg.args.criticalPreloads,\n msg.args.deferredPreloads,\n msg.args.useAfterLCP,\n msg.args.useAfterLCPAggressive\n );\n });\n parentPort.postMessage({ type: \"done\", id: msg.id, result });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({ type: \"ready\" });\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,MAAM,MAAM,MAAM,aAChB,eACA,YAAY,GACd;EACA,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,MAAM,MAAM,MAAM,aAChB,2BACA,YAAY,GACd;EACA,6BAA6B,IAAI;CACnC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,OAAO,QAAQ;CACtC,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GAAE,MAAM;GAAa,IAAI,IAAI;EAAG,CAAC;EACxD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,MAAM,EAAE,WAAW,6BAA6B,MAAM,cAAc;GACpE,MAAM,SAAS,MAAM,yBAAyB,YAAY;IACxD,OAAO,MAAM,UACX,IAAI,KAAK,aACT,IAAI,KAAK,YACT,IAAI,KAAK,MACT,IAAI,KAAK,YACT,IAAI,KAAK,QACT,IAAI,KAAK,YACT,IAAI,KAAK,qBACT,IAAI,KAAK,WACT,IAAI,KAAK,WACT,IAAI,KAAK,kBACT,IAAI,KAAK,cACT,IAAI,KAAK,UACT,IAAI,KAAK,QACT,IAAI,KAAK,WACT,IAAI,KAAK,eACT,IAAI,KAAK,gBACT,IAAI,KAAK,kBACT,IAAI,KAAK,kBACT,IAAI,KAAK,aACT,IAAI,KAAK,qBACX;GACF,CAAC;GACD,WAAW,YAAY;IAAE,MAAM;IAAQ,IAAI,IAAI;IAAI;
|
|
1
|
+
{"version":3,"file":"buildPageWorker.js","names":[],"sources":["esm/cli/buildPageWorker.js"],"sourcesContent":["import { parentPort } from \"node:worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nlet buildPageFn = null;\nlet runWithAsyncLocalContextFn = null;\nlet initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n const mod = await workerImport(\n \"./buildPage\",\n import.meta.url\n );\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n const mod = await workerImport(\n \"../vite/one-server-only\",\n import.meta.url\n );\n runWithAsyncLocalContextFn = mod.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async (msg) => {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({ type: \"init-done\", id: msg.id });\n return;\n }\n if (msg.type === \"build\") {\n try {\n const { buildPage, runWithAsyncLocalContext } = await ensureImports();\n const result = await runWithAsyncLocalContext(async () => {\n return await buildPage(\n msg.args.serverEntry,\n msg.args.routerRoot,\n msg.args.path,\n msg.args.relativeId,\n msg.args.params,\n msg.args.foundRoute,\n msg.args.clientManifestEntry,\n msg.args.staticDir,\n msg.args.clientDir,\n msg.args.builtMiddlewares,\n msg.args.serverJsPath,\n msg.args.preloads,\n msg.args.allCSS,\n msg.args.layoutCSS,\n msg.args.routePreloads,\n msg.args.allCSSContents,\n msg.args.criticalPreloads,\n msg.args.deferredPreloads,\n msg.args.useAfterLCP,\n msg.args.useAfterLCPAggressive\n );\n });\n const { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;\n parentPort.postMessage({ type: \"done\", id: msg.id, result: buildInfo });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({ type: \"ready\" });\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,MAAM,MAAM,MAAM,aAChB,eACA,YAAY,GACd;EACA,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,MAAM,MAAM,MAAM,aAChB,2BACA,YAAY,GACd;EACA,6BAA6B,IAAI;CACnC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,OAAO,QAAQ;CACtC,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GAAE,MAAM;GAAa,IAAI,IAAI;EAAG,CAAC;EACxD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,MAAM,EAAE,WAAW,6BAA6B,MAAM,cAAc;GACpE,MAAM,SAAS,MAAM,yBAAyB,YAAY;IACxD,OAAO,MAAM,UACX,IAAI,KAAK,aACT,IAAI,KAAK,YACT,IAAI,KAAK,MACT,IAAI,KAAK,YACT,IAAI,KAAK,QACT,IAAI,KAAK,YACT,IAAI,KAAK,qBACT,IAAI,KAAK,WACT,IAAI,KAAK,WACT,IAAI,KAAK,kBACT,IAAI,KAAK,cACT,IAAI,KAAK,UACT,IAAI,KAAK,QACT,IAAI,KAAK,WACT,IAAI,KAAK,eACT,IAAI,KAAK,gBACT,IAAI,KAAK,kBACT,IAAI,KAAK,kBACT,IAAI,KAAK,aACT,IAAI,KAAK,qBACX;GACF,CAAC;GACD,MAAM,EAAE,YAAY,aAAa,aAAa,cAAc,GAAG,cAAc;GAC7E,WAAW,YAAY;IAAE,MAAM;IAAQ,IAAI,IAAI;IAAI,QAAQ;GAAU,CAAC;EACxE,SAAS,KAAK;GACZ,WAAW,YAAY;IACrB,MAAM;IACN,IAAI,IAAI;IACR,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;IACtD,OAAO,eAAe,QAAQ,IAAI,QAAQ,KAAK;GACjD,CAAC;EACH;CACF;AACF,CAAC;AACD,WAAW,YAAY,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -50,10 +50,11 @@ parentPort.on("message", async function(msg) {
|
|
|
50
50
|
var result = await runWithAsyncLocalContext(async function() {
|
|
51
51
|
return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);
|
|
52
52
|
});
|
|
53
|
+
var { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;
|
|
53
54
|
parentPort.postMessage({
|
|
54
55
|
type: "done",
|
|
55
56
|
id: msg.id,
|
|
56
|
-
result
|
|
57
|
+
result: buildInfo
|
|
57
58
|
});
|
|
58
59
|
} catch (err) {
|
|
59
60
|
parentPort.postMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPageWorker.native.js","names":[],"sources":["esm/cli/buildPageWorker.native.js"],"sourcesContent":["import { parentPort } from \"worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nvar buildPageFn = null;\nvar runWithAsyncLocalContextFn = null;\nvar initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n var mod = await workerImport(\"./buildPage\", import.meta.url);\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n var mod1 = await workerImport(\"../vite/one-server-only\", import.meta.url);\n runWithAsyncLocalContextFn = mod1.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async function(msg) {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({\n type: \"init-done\",\n id: msg.id\n });\n return;\n }\n if (msg.type === \"build\") {\n try {\n var { buildPage, runWithAsyncLocalContext } = await ensureImports();\n var result = await runWithAsyncLocalContext(async function() {\n return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);\n });\n parentPort.postMessage({\n type: \"done\",\n id: msg.id,\n result\n });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({\n type: \"ready\"\n});\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,IAAI,MAAM,MAAM,aAAa,eAAe,YAAY,GAAG;EAC3D,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,IAAI,OAAO,MAAM,aAAa,2BAA2B,YAAY,GAAG;EACxE,6BAA6B,KAAK;CACpC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,eAAe,KAAK;CAC3C,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GACrB,MAAM;GACN,IAAI,IAAI;EACV,CAAC;EACD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,IAAI,EAAE,WAAW,6BAA6B,MAAM,cAAc;GAClE,IAAI,SAAS,MAAM,yBAAyB,iBAAiB;IAC3D,OAAO,MAAM,UAAU,IAAI,KAAK,aAAa,IAAI,KAAK,YAAY,IAAI,KAAK,MAAM,IAAI,KAAK,YAAY,IAAI,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,KAAK,qBAAqB,IAAI,KAAK,WAAW,IAAI,KAAK,WAAW,IAAI,KAAK,kBAAkB,IAAI,KAAK,cAAc,IAAI,KAAK,UAAU,IAAI,KAAK,QAAQ,IAAI,KAAK,WAAW,IAAI,KAAK,eAAe,IAAI,KAAK,gBAAgB,IAAI,KAAK,kBAAkB,IAAI,KAAK,kBAAkB,IAAI,KAAK,aAAa,IAAI,KAAK,qBAAqB;GACzd,CAAC;GACD,WAAW,YAAY;IACrB,MAAM;IACN,IAAI,IAAI;IACR;
|
|
1
|
+
{"version":3,"file":"buildPageWorker.native.js","names":[],"sources":["esm/cli/buildPageWorker.native.js"],"sourcesContent":["import { parentPort } from \"worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nvar buildPageFn = null;\nvar runWithAsyncLocalContextFn = null;\nvar initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n var mod = await workerImport(\"./buildPage\", import.meta.url);\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n var mod1 = await workerImport(\"../vite/one-server-only\", import.meta.url);\n runWithAsyncLocalContextFn = mod1.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async function(msg) {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({\n type: \"init-done\",\n id: msg.id\n });\n return;\n }\n if (msg.type === \"build\") {\n try {\n var { buildPage, runWithAsyncLocalContext } = await ensureImports();\n var result = await runWithAsyncLocalContext(async function() {\n return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);\n });\n var { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;\n parentPort.postMessage({\n type: \"done\",\n id: msg.id,\n result: buildInfo\n });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({\n type: \"ready\"\n});\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,IAAI,MAAM,MAAM,aAAa,eAAe,YAAY,GAAG;EAC3D,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,IAAI,OAAO,MAAM,aAAa,2BAA2B,YAAY,GAAG;EACxE,6BAA6B,KAAK;CACpC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,eAAe,KAAK;CAC3C,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GACrB,MAAM;GACN,IAAI,IAAI;EACV,CAAC;EACD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,IAAI,EAAE,WAAW,6BAA6B,MAAM,cAAc;GAClE,IAAI,SAAS,MAAM,yBAAyB,iBAAiB;IAC3D,OAAO,MAAM,UAAU,IAAI,KAAK,aAAa,IAAI,KAAK,YAAY,IAAI,KAAK,MAAM,IAAI,KAAK,YAAY,IAAI,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,KAAK,qBAAqB,IAAI,KAAK,WAAW,IAAI,KAAK,WAAW,IAAI,KAAK,kBAAkB,IAAI,KAAK,cAAc,IAAI,KAAK,UAAU,IAAI,KAAK,QAAQ,IAAI,KAAK,WAAW,IAAI,KAAK,eAAe,IAAI,KAAK,gBAAgB,IAAI,KAAK,kBAAkB,IAAI,KAAK,kBAAkB,IAAI,KAAK,aAAa,IAAI,KAAK,qBAAqB;GACzd,CAAC;GACD,IAAI,EAAE,YAAY,aAAa,aAAa,cAAc,GAAG,cAAc;GAC3E,WAAW,YAAY;IACrB,MAAM;IACN,IAAI,IAAI;IACR,QAAQ;GACV,CAAC;EACH,SAAS,KAAK;GACZ,WAAW,YAAY;IACrB,MAAM;IACN,IAAI,IAAI;IACR,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;IACtD,OAAO,eAAe,QAAQ,IAAI,QAAQ,KAAK;GACjD,CAAC;EACH;CACF;AACF,CAAC;AACD,WAAW,YAAY,EACrB,MAAM,QACR,CAAC"}
|
|
@@ -108,7 +108,10 @@ var BuildWorkerPool = class {
|
|
|
108
108
|
return new Promise((resolve, reject) => {
|
|
109
109
|
const pending = {
|
|
110
110
|
id,
|
|
111
|
-
resolve
|
|
111
|
+
resolve: (result) => resolve({
|
|
112
|
+
...result,
|
|
113
|
+
cssContents: args.allCSSContents
|
|
114
|
+
}),
|
|
112
115
|
reject
|
|
113
116
|
};
|
|
114
117
|
this.taskQueue.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerPool.js","names":[],"sources":["esm/cli/workerPool.js"],"sourcesContent":["import { Worker } from \"node:worker_threads\";\nimport { cpus } from \"node:os\";\nimport { fileURLToPath } from \"node:url\";\nimport { dirname, join } from \"node:path\";\nconst workerDirectory = typeof __dirname === \"string\" ? join(__dirname, \"..\", \"..\", \"esm\", \"cli\") : dirname(fileURLToPath(import.meta.url));\nclass BuildWorkerPool {\n workers = [];\n available = [];\n taskQueue = [];\n pendingById = /* @__PURE__ */ new Map();\n nextId = 0;\n readyCount = 0;\n initCount = 0;\n _ready;\n _resolveReady;\n _initialized;\n _resolveInitialized;\n _terminated = false;\n constructor(size = Math.max(1, cpus().length - 1)) {\n this._ready = new Promise((resolve) => {\n this._resolveReady = resolve;\n });\n this._initialized = new Promise((resolve) => {\n this._resolveInitialized = resolve;\n });\n const workerPath = join(workerDirectory, \"buildPageWorker.mjs\");\n for (let i = 0; i < size; i++) {\n const worker = new Worker(workerPath);\n worker.on(\"message\", (msg) => {\n if (msg.type === \"ready\") {\n this.readyCount++;\n this.available.push(worker);\n if (this.readyCount === size) {\n this._resolveReady();\n }\n } else if (msg.type === \"init-done\") {\n this.initCount++;\n if (this.initCount === size) {\n this._resolveInitialized();\n }\n this.dispatch();\n } else if (msg.type === \"done\" || msg.type === \"error\") {\n const pending = this.pendingById.get(msg.id);\n if (pending) {\n this.pendingById.delete(msg.id);\n if (msg.type === \"done\") {\n pending.resolve(msg.result);\n } else {\n pending.reject(new Error(msg.error));\n }\n }\n this.available.push(worker);\n this.dispatch();\n }\n });\n worker.on(\"error\", (err) => {\n console.error(\"[BuildWorkerPool] Worker error:\", err);\n });\n this.workers.push(worker);\n }\n }\n get size() {\n return this.workers.length;\n }\n // initialize all workers with pre-loaded config from main thread\n async initialize(oneOptions) {\n await this._ready;\n for (const worker of this.workers) {\n worker.postMessage({ type: \"init\", id: this.nextId++, oneOptions });\n }\n await this._initialized;\n }\n dispatch() {\n while (this.available.length > 0 && this.taskQueue.length > 0) {\n const worker = this.available.shift();\n const { msg, pending } = this.taskQueue.shift();\n this.pendingById.set(pending.id, pending);\n worker.postMessage(msg);\n }\n }\n async buildPage(args) {\n if (this._terminated) {\n throw new Error(\"Worker pool has been terminated\");\n }\n const serializedRoute = {\n type: args.foundRoute.type,\n file: args.foundRoute.file,\n // only keep serializable layout data\n layouts: args.foundRoute.layouts?.map((layout) => ({\n contextKey: layout.contextKey,\n loaderServerPath: layout.loaderServerPath,\n layoutRenderMode: layout.layoutRenderMode\n })),\n // only keep contextKey from middlewares\n middlewares: args.foundRoute.middlewares?.map((mw) => ({\n contextKey: mw.contextKey\n }))\n };\n const id = this.nextId++;\n const msg = {\n type: \"build\",\n id,\n args: {\n ...args,\n foundRoute: serializedRoute\n }\n };\n return new Promise((resolve, reject) => {\n const pending = {
|
|
1
|
+
{"version":3,"file":"workerPool.js","names":[],"sources":["esm/cli/workerPool.js"],"sourcesContent":["import { Worker } from \"node:worker_threads\";\nimport { cpus } from \"node:os\";\nimport { fileURLToPath } from \"node:url\";\nimport { dirname, join } from \"node:path\";\nconst workerDirectory = typeof __dirname === \"string\" ? join(__dirname, \"..\", \"..\", \"esm\", \"cli\") : dirname(fileURLToPath(import.meta.url));\nclass BuildWorkerPool {\n workers = [];\n available = [];\n taskQueue = [];\n pendingById = /* @__PURE__ */ new Map();\n nextId = 0;\n readyCount = 0;\n initCount = 0;\n _ready;\n _resolveReady;\n _initialized;\n _resolveInitialized;\n _terminated = false;\n constructor(size = Math.max(1, cpus().length - 1)) {\n this._ready = new Promise((resolve) => {\n this._resolveReady = resolve;\n });\n this._initialized = new Promise((resolve) => {\n this._resolveInitialized = resolve;\n });\n const workerPath = join(workerDirectory, \"buildPageWorker.mjs\");\n for (let i = 0; i < size; i++) {\n const worker = new Worker(workerPath);\n worker.on(\"message\", (msg) => {\n if (msg.type === \"ready\") {\n this.readyCount++;\n this.available.push(worker);\n if (this.readyCount === size) {\n this._resolveReady();\n }\n } else if (msg.type === \"init-done\") {\n this.initCount++;\n if (this.initCount === size) {\n this._resolveInitialized();\n }\n this.dispatch();\n } else if (msg.type === \"done\" || msg.type === \"error\") {\n const pending = this.pendingById.get(msg.id);\n if (pending) {\n this.pendingById.delete(msg.id);\n if (msg.type === \"done\") {\n pending.resolve(msg.result);\n } else {\n pending.reject(new Error(msg.error));\n }\n }\n this.available.push(worker);\n this.dispatch();\n }\n });\n worker.on(\"error\", (err) => {\n console.error(\"[BuildWorkerPool] Worker error:\", err);\n });\n this.workers.push(worker);\n }\n }\n get size() {\n return this.workers.length;\n }\n // initialize all workers with pre-loaded config from main thread\n async initialize(oneOptions) {\n await this._ready;\n for (const worker of this.workers) {\n worker.postMessage({ type: \"init\", id: this.nextId++, oneOptions });\n }\n await this._initialized;\n }\n dispatch() {\n while (this.available.length > 0 && this.taskQueue.length > 0) {\n const worker = this.available.shift();\n const { msg, pending } = this.taskQueue.shift();\n this.pendingById.set(pending.id, pending);\n worker.postMessage(msg);\n }\n }\n async buildPage(args) {\n if (this._terminated) {\n throw new Error(\"Worker pool has been terminated\");\n }\n const serializedRoute = {\n type: args.foundRoute.type,\n file: args.foundRoute.file,\n // only keep serializable layout data\n layouts: args.foundRoute.layouts?.map((layout) => ({\n contextKey: layout.contextKey,\n loaderServerPath: layout.loaderServerPath,\n layoutRenderMode: layout.layoutRenderMode\n })),\n // only keep contextKey from middlewares\n middlewares: args.foundRoute.middlewares?.map((mw) => ({\n contextKey: mw.contextKey\n }))\n };\n const id = this.nextId++;\n const msg = {\n type: \"build\",\n id,\n args: {\n ...args,\n foundRoute: serializedRoute\n }\n };\n return new Promise((resolve, reject) => {\n const pending = {\n id,\n resolve: (result) => resolve({ ...result, cssContents: args.allCSSContents }),\n reject\n };\n this.taskQueue.push({ msg, pending });\n this.dispatch();\n });\n }\n async terminate() {\n this._terminated = true;\n await Promise.all(this.workers.map((w) => w.terminate()));\n this.workers = [];\n this.available = [];\n }\n}\nlet pool = null;\nfunction getWorkerPool(size) {\n if (!pool) {\n pool = new BuildWorkerPool(size);\n }\n return pool;\n}\nasync function terminateWorkerPool() {\n if (pool) {\n await pool.terminate();\n pool = null;\n }\n}\nexport {\n BuildWorkerPool,\n getWorkerPool,\n terminateWorkerPool\n};\n//# sourceMappingURL=workerPool.js.map\n"],"mappings":"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"}
|
|
@@ -176,7 +176,12 @@ var BuildWorkerPool = /* @__PURE__ */ (function() {
|
|
|
176
176
|
return new Promise(function(resolve, reject) {
|
|
177
177
|
var pending = {
|
|
178
178
|
id,
|
|
179
|
-
resolve
|
|
179
|
+
resolve: function resolve1(result) {
|
|
180
|
+
return resolve({
|
|
181
|
+
...result,
|
|
182
|
+
cssContents: args.allCSSContents
|
|
183
|
+
});
|
|
184
|
+
},
|
|
180
185
|
reject
|
|
181
186
|
};
|
|
182
187
|
_this.taskQueue.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerPool.native.js","names":[],"sources":["esm/cli/workerPool.native.js"],"sourcesContent":["import { Worker } from \"worker_threads\";\nimport { cpus } from \"os\";\nimport { fileURLToPath } from \"url\";\nimport { dirname, join } from \"path\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else obj[key] = value;\n return obj;\n}\nvar workerDirectory = typeof __dirname === \"string\" ? join(__dirname, \"..\", \"..\", \"esm\", \"cli\") : dirname(fileURLToPath(import.meta.url));\nvar BuildWorkerPool = /* @__PURE__ */ (function() {\n \"use strict\";\n function BuildWorkerPool2() {\n var _this, _loop = function(i2) {\n var worker = new Worker(workerPath);\n worker.on(\"message\", function(msg) {\n if (msg.type === \"ready\") {\n _this1.readyCount++;\n _this1.available.push(worker);\n if (_this1.readyCount === size) {\n _this1._resolveReady();\n }\n } else if (msg.type === \"init-done\") {\n _this1.initCount++;\n if (_this1.initCount === size) {\n _this1._resolveInitialized();\n }\n _this1.dispatch();\n } else if (msg.type === \"done\" || msg.type === \"error\") {\n var pending = _this1.pendingById.get(msg.id);\n if (pending) {\n _this1.pendingById.delete(msg.id);\n if (msg.type === \"done\") {\n pending.resolve(msg.result);\n } else {\n pending.reject(new Error(msg.error));\n }\n }\n _this1.available.push(worker);\n _this1.dispatch();\n }\n });\n worker.on(\"error\", function(err) {\n console.error(\"[BuildWorkerPool] Worker error:\", err);\n });\n _this.workers.push(worker);\n };\n var _this1 = this;\n var size = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Math.max(1, cpus().length - 1);\n _class_call_check(this, BuildWorkerPool2);\n _define_property(this, \"workers\", []);\n _define_property(this, \"available\", []);\n _define_property(this, \"taskQueue\", []);\n _define_property(this, \"pendingById\", /* @__PURE__ */ new Map());\n _define_property(this, \"nextId\", 0);\n _define_property(this, \"readyCount\", 0);\n _define_property(this, \"initCount\", 0);\n _define_property(this, \"_ready\", void 0);\n _define_property(this, \"_resolveReady\", void 0);\n _define_property(this, \"_initialized\", void 0);\n _define_property(this, \"_resolveInitialized\", void 0);\n _define_property(this, \"_terminated\", false);\n this._ready = new Promise(function(resolve) {\n _this1._resolveReady = resolve;\n });\n this._initialized = new Promise(function(resolve) {\n _this1._resolveInitialized = resolve;\n });\n var workerPath = join(workerDirectory, \"buildPageWorker.mjs\");\n for (var i = 0; i < size; i++) _this = this, _loop(i);\n }\n _create_class(BuildWorkerPool2, [\n {\n key: \"size\",\n get: function get() {\n return this.workers.length;\n }\n },\n {\n key: \"initialize\",\n value: (\n // initialize all workers with pre-loaded config from main thread\n async function initialize(oneOptions) {\n await this._ready;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.workers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var worker = _step.value;\n worker.postMessage({\n type: \"init\",\n id: this.nextId++,\n oneOptions\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n await this._initialized;\n }\n )\n },\n {\n key: \"dispatch\",\n value: function dispatch() {\n while (this.available.length > 0 && this.taskQueue.length > 0) {\n var worker = this.available.shift();\n var { msg, pending } = this.taskQueue.shift();\n this.pendingById.set(pending.id, pending);\n worker.postMessage(msg);\n }\n }\n },\n {\n key: \"buildPage\",\n value: async function buildPage(args) {\n var _this = this;\n var _args_foundRoute_layouts, _args_foundRoute_middlewares;\n if (this._terminated) {\n throw new Error(\"Worker pool has been terminated\");\n }\n var serializedRoute = {\n type: args.foundRoute.type,\n file: args.foundRoute.file,\n // only keep serializable layout data\n layouts: (_args_foundRoute_layouts = args.foundRoute.layouts) === null || _args_foundRoute_layouts === void 0 ? void 0 : _args_foundRoute_layouts.map(function(layout) {\n return {\n contextKey: layout.contextKey,\n loaderServerPath: layout.loaderServerPath,\n layoutRenderMode: layout.layoutRenderMode\n };\n }),\n // only keep contextKey from middlewares\n middlewares: (_args_foundRoute_middlewares = args.foundRoute.middlewares) === null || _args_foundRoute_middlewares === void 0 ? void 0 : _args_foundRoute_middlewares.map(function(mw) {\n return {\n contextKey: mw.contextKey\n };\n })\n };\n var id = this.nextId++;\n var msg = {\n type: \"build\",\n id,\n args: {\n ...args,\n foundRoute: serializedRoute\n }\n };\n return new Promise(function(resolve, reject) {\n var pending = {\n id,\n resolve,\n reject\n };\n _this.taskQueue.push({\n msg,\n pending\n });\n _this.dispatch();\n });\n }\n },\n {\n key: \"terminate\",\n value: async function terminate() {\n this._terminated = true;\n await Promise.all(this.workers.map(function(w) {\n return w.terminate();\n }));\n this.workers = [];\n this.available = [];\n }\n }\n ]);\n return BuildWorkerPool2;\n})();\nvar pool = null;\nfunction getWorkerPool(size) {\n if (!pool) {\n pool = new BuildWorkerPool(size);\n }\n return pool;\n}\nasync function terminateWorkerPool() {\n if (pool) {\n await pool.terminate();\n pool = null;\n }\n}\nexport {\n BuildWorkerPool,\n getWorkerPool,\n terminateWorkerPool\n};\n//# sourceMappingURL=workerPool.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workerPool.native.js","names":[],"sources":["esm/cli/workerPool.native.js"],"sourcesContent":["import { Worker } from \"worker_threads\";\nimport { cpus } from \"os\";\nimport { fileURLToPath } from \"url\";\nimport { dirname, join } from \"path\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else obj[key] = value;\n return obj;\n}\nvar workerDirectory = typeof __dirname === \"string\" ? join(__dirname, \"..\", \"..\", \"esm\", \"cli\") : dirname(fileURLToPath(import.meta.url));\nvar BuildWorkerPool = /* @__PURE__ */ (function() {\n \"use strict\";\n function BuildWorkerPool2() {\n var _this, _loop = function(i2) {\n var worker = new Worker(workerPath);\n worker.on(\"message\", function(msg) {\n if (msg.type === \"ready\") {\n _this1.readyCount++;\n _this1.available.push(worker);\n if (_this1.readyCount === size) {\n _this1._resolveReady();\n }\n } else if (msg.type === \"init-done\") {\n _this1.initCount++;\n if (_this1.initCount === size) {\n _this1._resolveInitialized();\n }\n _this1.dispatch();\n } else if (msg.type === \"done\" || msg.type === \"error\") {\n var pending = _this1.pendingById.get(msg.id);\n if (pending) {\n _this1.pendingById.delete(msg.id);\n if (msg.type === \"done\") {\n pending.resolve(msg.result);\n } else {\n pending.reject(new Error(msg.error));\n }\n }\n _this1.available.push(worker);\n _this1.dispatch();\n }\n });\n worker.on(\"error\", function(err) {\n console.error(\"[BuildWorkerPool] Worker error:\", err);\n });\n _this.workers.push(worker);\n };\n var _this1 = this;\n var size = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Math.max(1, cpus().length - 1);\n _class_call_check(this, BuildWorkerPool2);\n _define_property(this, \"workers\", []);\n _define_property(this, \"available\", []);\n _define_property(this, \"taskQueue\", []);\n _define_property(this, \"pendingById\", /* @__PURE__ */ new Map());\n _define_property(this, \"nextId\", 0);\n _define_property(this, \"readyCount\", 0);\n _define_property(this, \"initCount\", 0);\n _define_property(this, \"_ready\", void 0);\n _define_property(this, \"_resolveReady\", void 0);\n _define_property(this, \"_initialized\", void 0);\n _define_property(this, \"_resolveInitialized\", void 0);\n _define_property(this, \"_terminated\", false);\n this._ready = new Promise(function(resolve) {\n _this1._resolveReady = resolve;\n });\n this._initialized = new Promise(function(resolve) {\n _this1._resolveInitialized = resolve;\n });\n var workerPath = join(workerDirectory, \"buildPageWorker.mjs\");\n for (var i = 0; i < size; i++) _this = this, _loop(i);\n }\n _create_class(BuildWorkerPool2, [\n {\n key: \"size\",\n get: function get() {\n return this.workers.length;\n }\n },\n {\n key: \"initialize\",\n value: (\n // initialize all workers with pre-loaded config from main thread\n async function initialize(oneOptions) {\n await this._ready;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.workers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var worker = _step.value;\n worker.postMessage({\n type: \"init\",\n id: this.nextId++,\n oneOptions\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n await this._initialized;\n }\n )\n },\n {\n key: \"dispatch\",\n value: function dispatch() {\n while (this.available.length > 0 && this.taskQueue.length > 0) {\n var worker = this.available.shift();\n var { msg, pending } = this.taskQueue.shift();\n this.pendingById.set(pending.id, pending);\n worker.postMessage(msg);\n }\n }\n },\n {\n key: \"buildPage\",\n value: async function buildPage(args) {\n var _this = this;\n var _args_foundRoute_layouts, _args_foundRoute_middlewares;\n if (this._terminated) {\n throw new Error(\"Worker pool has been terminated\");\n }\n var serializedRoute = {\n type: args.foundRoute.type,\n file: args.foundRoute.file,\n // only keep serializable layout data\n layouts: (_args_foundRoute_layouts = args.foundRoute.layouts) === null || _args_foundRoute_layouts === void 0 ? void 0 : _args_foundRoute_layouts.map(function(layout) {\n return {\n contextKey: layout.contextKey,\n loaderServerPath: layout.loaderServerPath,\n layoutRenderMode: layout.layoutRenderMode\n };\n }),\n // only keep contextKey from middlewares\n middlewares: (_args_foundRoute_middlewares = args.foundRoute.middlewares) === null || _args_foundRoute_middlewares === void 0 ? void 0 : _args_foundRoute_middlewares.map(function(mw) {\n return {\n contextKey: mw.contextKey\n };\n })\n };\n var id = this.nextId++;\n var msg = {\n type: \"build\",\n id,\n args: {\n ...args,\n foundRoute: serializedRoute\n }\n };\n return new Promise(function(resolve, reject) {\n var pending = {\n id,\n resolve: function resolve1(result) {\n return resolve({\n ...result,\n cssContents: args.allCSSContents\n });\n },\n reject\n };\n _this.taskQueue.push({\n msg,\n pending\n });\n _this.dispatch();\n });\n }\n },\n {\n key: \"terminate\",\n value: async function terminate() {\n this._terminated = true;\n await Promise.all(this.workers.map(function(w) {\n return w.terminate();\n }));\n this.workers = [];\n this.available = [];\n }\n }\n ]);\n return BuildWorkerPool2;\n})();\nvar pool = null;\nfunction getWorkerPool(size) {\n if (!pool) {\n pool = new BuildWorkerPool(size);\n }\n return pool;\n}\nasync function terminateWorkerPool() {\n if (pool) {\n await pool.terminate();\n pool = null;\n }\n}\nexport {\n BuildWorkerPool,\n getWorkerPool,\n terminateWorkerPool\n};\n//# sourceMappingURL=workerPool.js.map\n"],"mappings":";;;;;;AAIA,SAAS,kBAAkB,UAAU,aAAa;CAChD,IAAI,EAAE,oBAAoB,cAAc,MAAM,IAAI,UAAU,mCAAmC;AACjG;AACA,SAAS,kBAAkB,QAAQ,OAAO;CACxC,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,IAAI,aAAa,MAAM;EACvB,WAAW,aAAa,WAAW,cAAc;EACjD,WAAW,eAAe;EAC1B,IAAI,WAAW,YAAY,WAAW,WAAW;EACjD,OAAO,eAAe,QAAQ,WAAW,KAAK,UAAU;CAC1D;AACF;AACA,SAAS,cAAc,aAAa,YAAY,aAAa;CAC3D,IAAI,YAAY,kBAAkB,YAAY,WAAW,UAAU;CACnE,IAAI,aAAa,kBAAkB,aAAa,WAAW;CAC3D,OAAO;AACT;AACA,SAAS,iBAAiB,KAAK,KAAK,OAAO;CACzC,IAAI,OAAO,KAAK;EACd,OAAO,eAAe,KAAK,KAAK;GAC9B;GACA,YAAY;GACZ,cAAc;GACd,UAAU;EACZ,CAAC;CACH,OAAO,IAAI,OAAO;CAClB,OAAO;AACT;AACA,IAAI,kBAAkB,OAAO,cAAc,WAAW,KAAK,WAAW,MAAM,MAAM,OAAO,KAAK,IAAI,QAAQ,cAAc,YAAY,GAAG,CAAC;AACxI,IAAI,kBAAkC,iBAAC,WAAW;CAChD;CACA,SAAS,mBAAmB;EAC1B,IAAI,OAAO,QAAQ,SAAS,IAAI;GAC9B,IAAI,SAAS,IAAI,OAAO,UAAU;GAClC,OAAO,GAAG,WAAW,SAAS,KAAK;IACjC,IAAI,IAAI,SAAS,SAAS;KACxB,OAAO;KACP,OAAO,UAAU,KAAK,MAAM;KAC5B,IAAI,OAAO,eAAe,MAAM;MAC9B,OAAO,cAAc;KACvB;IACF,OAAO,IAAI,IAAI,SAAS,aAAa;KACnC,OAAO;KACP,IAAI,OAAO,cAAc,MAAM;MAC7B,OAAO,oBAAoB;KAC7B;KACA,OAAO,SAAS;IAClB,OAAO,IAAI,IAAI,SAAS,UAAU,IAAI,SAAS,SAAS;KACtD,IAAI,UAAU,OAAO,YAAY,IAAI,IAAI,EAAE;KAC3C,IAAI,SAAS;MACX,OAAO,YAAY,OAAO,IAAI,EAAE;MAChC,IAAI,IAAI,SAAS,QAAQ;OACvB,QAAQ,QAAQ,IAAI,MAAM;MAC5B,OAAO;OACL,QAAQ,OAAO,IAAI,MAAM,IAAI,KAAK,CAAC;MACrC;KACF;KACA,OAAO,UAAU,KAAK,MAAM;KAC5B,OAAO,SAAS;IAClB;GACF,CAAC;GACD,OAAO,GAAG,SAAS,SAAS,KAAK;IAC/B,QAAQ,MAAM,mCAAmC,GAAG;GACtD,CAAC;GACD,MAAM,QAAQ,KAAK,MAAM;EAC3B;EACA,IAAI,SAAS;EACb,IAAI,OAAO,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;EACzG,kBAAkB,MAAM,gBAAgB;EACxC,iBAAiB,MAAM,WAAW,CAAC,CAAC;EACpC,iBAAiB,MAAM,aAAa,CAAC,CAAC;EACtC,iBAAiB,MAAM,aAAa,CAAC,CAAC;EACtC,iBAAiB,MAAM,+BAA+B,IAAI,IAAI,CAAC;EAC/D,iBAAiB,MAAM,UAAU,CAAC;EAClC,iBAAiB,MAAM,cAAc,CAAC;EACtC,iBAAiB,MAAM,aAAa,CAAC;EACrC,iBAAiB,MAAM,UAAU,KAAK,CAAC;EACvC,iBAAiB,MAAM,iBAAiB,KAAK,CAAC;EAC9C,iBAAiB,MAAM,gBAAgB,KAAK,CAAC;EAC7C,iBAAiB,MAAM,uBAAuB,KAAK,CAAC;EACpD,iBAAiB,MAAM,eAAe,KAAK;EAC3C,KAAK,SAAS,IAAI,QAAQ,SAAS,SAAS;GAC1C,OAAO,gBAAgB;EACzB,CAAC;EACD,KAAK,eAAe,IAAI,QAAQ,SAAS,SAAS;GAChD,OAAO,sBAAsB;EAC/B,CAAC;EACD,IAAI,aAAa,KAAK,iBAAiB,qBAAqB;EAC5D,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,KAAK,QAAQ,MAAM,MAAM,CAAC;CACtD;CACA,cAAc,kBAAkB;EAC9B;GACE,KAAK;GACL,KAAK,SAAS,MAAM;IAClB,OAAO,KAAK,QAAQ;GACtB;EACF;EACA;GACE,KAAK;GACL,QAEE,eAAe,WAAW,YAAY;IACpC,MAAM,KAAK;IACX,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;IACvF,IAAI;KACF,KAAK,IAAI,YAAY,KAAK,QAAQ,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;MAC7J,IAAI,SAAS,MAAM;MACnB,OAAO,YAAY;OACjB,MAAM;OACN,IAAI,KAAK;OACT;MACF,CAAC;KACH;IACF,SAAS,KAAK;KACZ,oBAAoB;KACpB,iBAAiB;IACnB,UAAU;KACR,IAAI;MACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;OAC1D,UAAU,OAAO;MACnB;KACF,UAAU;MACR,IAAI,mBAAmB;OACrB,MAAM;MACR;KACF;IACF;IACA,MAAM,KAAK;GACb;EAEJ;EACA;GACE,KAAK;GACL,OAAO,SAAS,WAAW;IACzB,OAAO,KAAK,UAAU,SAAS,KAAK,KAAK,UAAU,SAAS,GAAG;KAC7D,IAAI,SAAS,KAAK,UAAU,MAAM;KAClC,IAAI,EAAE,KAAK,YAAY,KAAK,UAAU,MAAM;KAC5C,KAAK,YAAY,IAAI,QAAQ,IAAI,OAAO;KACxC,OAAO,YAAY,GAAG;IACxB;GACF;EACF;EACA;GACE,KAAK;GACL,OAAO,eAAe,UAAU,MAAM;IACpC,IAAI,QAAQ;IACZ,IAAI,0BAA0B;IAC9B,IAAI,KAAK,aAAa;KACpB,MAAM,IAAI,MAAM,iCAAiC;IACnD;IACA,IAAI,kBAAkB;KACpB,MAAM,KAAK,WAAW;KACtB,MAAM,KAAK,WAAW;KAEtB,UAAU,2BAA2B,KAAK,WAAW,aAAa,QAAQ,6BAA6B,KAAK,IAAI,KAAK,IAAI,yBAAyB,IAAI,SAAS,QAAQ;MACrK,OAAO;OACL,YAAY,OAAO;OACnB,kBAAkB,OAAO;OACzB,kBAAkB,OAAO;MAC3B;KACF,CAAC;KAED,cAAc,+BAA+B,KAAK,WAAW,iBAAiB,QAAQ,iCAAiC,KAAK,IAAI,KAAK,IAAI,6BAA6B,IAAI,SAAS,IAAI;MACrL,OAAO,EACL,YAAY,GAAG,WACjB;KACF,CAAC;IACH;IACA,IAAI,KAAK,KAAK;IACd,IAAI,MAAM;KACR,MAAM;KACN;KACA,MAAM;MACJ,GAAG;MACH,YAAY;KACd;IACF;IACA,OAAO,IAAI,QAAQ,SAAS,SAAS,QAAQ;KAC3C,IAAI,UAAU;MACZ;MACA,SAAS,SAAS,SAAS,QAAQ;OACjC,OAAO,QAAQ;QACb,GAAG;QACH,aAAa,KAAK;OACpB,CAAC;MACH;MACA;KACF;KACA,MAAM,UAAU,KAAK;MACnB;MACA;KACF,CAAC;KACD,MAAM,SAAS;IACjB,CAAC;GACH;EACF;EACA;GACE,KAAK;GACL,OAAO,eAAe,YAAY;IAChC,KAAK,cAAc;IACnB,MAAM,QAAQ,IAAI,KAAK,QAAQ,IAAI,SAAS,GAAG;KAC7C,OAAO,EAAE,UAAU;IACrB,CAAC,CAAC;IACF,KAAK,UAAU,CAAC;IAChB,KAAK,YAAY,CAAC;GACpB;EACF;CACF,CAAC;CACD,OAAO;AACT,EAAC,CAAE;AACH,IAAI,OAAO;AACX,SAAS,cAAc,MAAM;CAC3B,IAAI,CAAC,MAAM;EACT,OAAO,IAAI,gBAAgB,IAAI;CACjC;CACA,OAAO;AACT;AACA,eAAe,sBAAsB;CACnC,IAAI,MAAM;EACR,MAAM,KAAK,UAAU;EACrB,OAAO;CACT;AACF"}
|
|
@@ -6,7 +6,7 @@ import { Image, StyleSheet } from "react-native";
|
|
|
6
6
|
import NativeComposeNode from "./specs/OneNativeComposeNodeNativeComponent.native.js";
|
|
7
7
|
import { iconColorRoles } from "./ui/iconRoles.native.js";
|
|
8
8
|
import { useControlled } from "./controlled.native.js";
|
|
9
|
-
import { getSyncStateId } from "./syncStore.native.js";
|
|
9
|
+
import { getSyncStateId, publishNativeSyncState } from "./syncStore.native.js";
|
|
10
10
|
import { syncHandleOf, useSyncValue } from "./syncNativeState.native.js";
|
|
11
11
|
import { assertComposeStyle, assertFunction, composeIconGlyph, composeUtcDay, validateAlertDialogProps, validateAnimatedVisibilityProps, validateBadgeProps, validateBoxProps, validateButtonProps, validateCardProps, validateCheckboxProps, validateChipProps, validateColumnProps, validateDatePickerProps, validateDialogProps, validateDividerProps, validateDropdownMenuItemProps, validateDropdownMenuProps, validateExposedDropdownMenuBoxProps, validateFloatingActionButtonProps, validateFlowRowProps, validateIconButtonProps, validateIconProps, validateImageProps, validateLazyColumnProps, validateLazyRowProps, validateListItemProps, validateLoadingIndicatorProps, validateModalBottomSheetProps, validateNavigationBarItemProps, validateNavigationBarProps, validatePickerDialogProps, validateProgressIndicatorProps, validatePullToRefreshBoxProps, validateRadioButtonProps, validateRowProps, validateSearchBarProps, validateSegmentedButtonProps, validateSliderProps, validateSnackbarProps, validateSnackbarShowOptions, validateSurfaceProps, validateSwitchProps, validateTextFieldProps, validateTextProps, validateTimePickerProps, validateToggleButtonProps, validateTooltipBoxProps } from "./composeValidation.native.js";
|
|
12
12
|
|
|
@@ -1201,7 +1201,7 @@ function TextField(param) {
|
|
|
1201
1201
|
var syncHandle = syncHandleOf(text);
|
|
1202
1202
|
var syncedText = useSyncValue(text);
|
|
1203
1203
|
var controlled = useControlled(function(event) {
|
|
1204
|
-
|
|
1204
|
+
publishNativeSyncState(syncHandle);
|
|
1205
1205
|
onTextChange(event.text);
|
|
1206
1206
|
}, revision);
|
|
1207
1207
|
var controlledFocus = useControlled(function(event) {
|
|
@@ -1762,7 +1762,7 @@ function SyncSwitch(param) {
|
|
|
1762
1762
|
disabled: !enabled,
|
|
1763
1763
|
familyOptions: { syncCallbackId: callbackId },
|
|
1764
1764
|
onNativeComposeNodeBooleanValueChange: function onNativeComposeNodeBooleanValueChange() {
|
|
1765
|
-
return
|
|
1765
|
+
return publishNativeSyncState(isOn);
|
|
1766
1766
|
}
|
|
1767
1767
|
});
|
|
1768
1768
|
}
|