@weaverse/next 0.1.0-alpha.13 → 0.1.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +125 -23
- package/dist/{chunk-MQ6N5ODA.mjs → chunk-NL22OVD7.mjs} +93 -4
- package/dist/chunk-NL22OVD7.mjs.map +1 -0
- package/dist/index.js +86 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +20 -27
- package/dist/index.mjs.map +1 -1
- package/dist/server.js +158 -2
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +126 -5
- package/dist/server.mjs.map +1 -1
- package/dist/types/client.d.ts +16 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/hooks.d.ts +20 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +34 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/item.d.ts +54 -0
- package/dist/types/item.d.ts.map +1 -0
- package/dist/types/loader.d.ts +25 -0
- package/dist/types/loader.d.ts.map +1 -0
- package/dist/types/main.d.ts +11 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/provider.d.ts +82 -0
- package/dist/types/provider.d.ts.map +1 -0
- package/dist/types/registry.d.ts +15 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/renderer.d.ts +20 -0
- package/dist/types/renderer.d.ts.map +1 -0
- package/dist/types/request-info.d.ts +8 -0
- package/dist/types/request-info.d.ts.map +1 -0
- package/dist/types/revalidate-item.d.ts +81 -0
- package/dist/types/revalidate-item.d.ts.map +1 -0
- package/dist/types/root-provider.d.ts +61 -0
- package/dist/types/root-provider.d.ts.map +1 -0
- package/dist/types/runtime.d.ts +113 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/seo.d.ts +55 -0
- package/dist/types/seo.d.ts.map +1 -0
- package/dist/types/server/configs.d.ts +27 -0
- package/dist/types/server/configs.d.ts.map +1 -0
- package/dist/types/server/normalize-page-url.d.ts +19 -0
- package/dist/types/server/normalize-page-url.d.ts.map +1 -0
- package/dist/types/server/revalidate-handler.d.ts +55 -0
- package/dist/types/server/revalidate-handler.d.ts.map +1 -0
- package/dist/types/server/server-client.d.ts +21 -0
- package/dist/types/server/server-client.d.ts.map +1 -0
- package/dist/types/server.d.ts +19 -0
- package/dist/types/server.d.ts.map +1 -0
- package/dist/types/studio-bridge.d.ts +16 -0
- package/dist/types/studio-bridge.d.ts.map +1 -0
- package/dist/types/studio-connect.d.ts +27 -0
- package/dist/types/studio-connect.d.ts.map +1 -0
- package/dist/types/studio-router.d.ts +50 -0
- package/dist/types/studio-router.d.ts.map +1 -0
- package/dist/types/studio-script-src.d.ts +12 -0
- package/dist/types/studio-script-src.d.ts.map +1 -0
- package/dist/types/theme-settings-store.d.ts +17 -0
- package/dist/types/theme-settings-store.d.ts.map +1 -0
- package/dist/types/translation-context.d.ts +156 -0
- package/dist/types/translation-context.d.ts.map +1 -0
- package/dist/types/translation-store.d.ts +44 -0
- package/dist/types/translation-store.d.ts.map +1 -0
- package/dist/types/types.d.ts +661 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/use-weaverse-next-studio.d.ts +34 -0
- package/dist/types/use-weaverse-next-studio.d.ts.map +1 -0
- package/dist/types/utils.d.ts +12 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +7 -6
- package/src/client.ts +101 -0
- package/src/hooks.ts +50 -0
- package/src/index.ts +153 -0
- package/src/item.ts +151 -0
- package/src/loader.ts +135 -0
- package/src/main.tsx +45 -0
- package/src/provider.tsx +225 -0
- package/src/registry.ts +63 -0
- package/src/renderer.tsx +99 -0
- package/src/request-info.ts +95 -0
- package/src/revalidate-item.ts +210 -0
- package/src/root-provider.tsx +181 -0
- package/src/runtime.ts +521 -0
- package/src/seo.ts +157 -0
- package/src/server/configs.ts +182 -0
- package/src/server/normalize-page-url.ts +65 -0
- package/src/server/revalidate-handler.ts +357 -0
- package/src/server/server-client.ts +727 -0
- package/src/server.ts +67 -0
- package/src/studio-bridge.tsx +82 -0
- package/src/studio-connect.tsx +88 -0
- package/src/studio-router.ts +85 -0
- package/src/studio-script-src.ts +128 -0
- package/src/theme-settings-store.ts +46 -0
- package/src/translation-context.tsx +299 -0
- package/src/translation-store.ts +69 -0
- package/src/types.ts +748 -0
- package/src/use-weaverse-next-studio.tsx +106 -0
- package/src/utils.ts +37 -0
- package/dist/chunk-MQ6N5ODA.mjs.map +0 -1
- package/dist/index.d.mts +0 -592
- package/dist/index.d.ts +0 -592
- package/dist/seo-CrEFl_Up.d.mts +0 -516
- package/dist/seo-CrEFl_Up.d.ts +0 -516
- package/dist/server.d.mts +0 -100
- package/dist/server.d.ts +0 -100
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { buildWeaverseNextRequestInfo, generateDataFromSchema } from './chunk-
|
|
2
|
-
export { buildWeaverseNextRequestInfo, formatWeaverseNextSeoMetadata, generateDataFromSchema, getWeaverseNextSeoMetadata, runWeaverseComponentLoaders } from './chunk-
|
|
1
|
+
import { buildWeaverseNextRequestInfo, DEFAULT_REVALIDATE_ENDPOINT, revalidateWeaverseNextItem, generateDataFromSchema } from './chunk-NL22OVD7.mjs';
|
|
2
|
+
export { DEFAULT_REVALIDATE_ENDPOINT, buildWeaverseNextRequestInfo, buildWeaverseNextRevalidateRouteContext, formatWeaverseNextSeoMetadata, generateDataFromSchema, getWeaverseNextSeoMetadata, revalidateWeaverseNextItem, runWeaverseComponentLoaders } from './chunk-NL22OVD7.mjs';
|
|
3
3
|
import { WeaverseRoot, Weaverse, WeaverseItemStore, useSafeExternalStore } from '@weaverse/react';
|
|
4
4
|
export { isBrowser, isIframe, useChildInstances, useItemInstance, useParentInstance, useWeaverse } from '@weaverse/react';
|
|
5
5
|
import { createSchema } from '@weaverse/schema';
|
|
@@ -35,6 +35,7 @@ var WeaverseNextItem = class extends WeaverseItemStore {
|
|
|
35
35
|
_cachedSnapshot = null;
|
|
36
36
|
_snapshotStoreRef = null;
|
|
37
37
|
_snapshotTranslationRef = null;
|
|
38
|
+
/** Create an item store from serialized component data and its runtime. */
|
|
38
39
|
constructor(initialData, weaverse) {
|
|
39
40
|
super(initialData, weaverse);
|
|
40
41
|
let schemaData = generateDataFromSchema(this.Element?.schema);
|
|
@@ -300,18 +301,24 @@ var useThemeText = useTranslation;
|
|
|
300
301
|
|
|
301
302
|
// src/translation-store.ts
|
|
302
303
|
var TranslationStore = class {
|
|
304
|
+
/** Current flat translation overrides keyed by dot path. */
|
|
303
305
|
overrides = {};
|
|
304
306
|
listeners = /* @__PURE__ */ new Set();
|
|
307
|
+
/** Replace every override and notify subscribers. */
|
|
305
308
|
setOverrides = (overrides) => {
|
|
306
309
|
this.overrides = { ...overrides };
|
|
307
310
|
this.emit();
|
|
308
311
|
};
|
|
312
|
+
/** Merge changed overrides into the current values and notify subscribers. */
|
|
309
313
|
updateOverrides = (newOverrides) => {
|
|
310
314
|
this.overrides = { ...this.overrides, ...newOverrides };
|
|
311
315
|
this.emit();
|
|
312
316
|
};
|
|
317
|
+
/** Return the current client-side override snapshot. */
|
|
313
318
|
getSnapshot = () => this.overrides;
|
|
319
|
+
/** Return the override snapshot used during server rendering. */
|
|
314
320
|
getServerSnapshot = () => this.overrides;
|
|
321
|
+
/** Subscribe to override changes and return an unsubscribe function. */
|
|
315
322
|
subscribe = (callback) => {
|
|
316
323
|
this.listeners.add(callback);
|
|
317
324
|
return () => {
|
|
@@ -551,11 +558,17 @@ function rebindPageItemsToRuntime(runtime) {
|
|
|
551
558
|
}
|
|
552
559
|
}
|
|
553
560
|
var WeaverseNextRuntime = class extends Weaverse {
|
|
561
|
+
/** Stable ID of the page owned by this runtime. */
|
|
554
562
|
pageId;
|
|
563
|
+
/** Mutable callbacks and stores consumed by the Studio bridge. */
|
|
555
564
|
internal;
|
|
565
|
+
/** Path, query, and locale metadata for Studio navigation. */
|
|
556
566
|
requestInfo;
|
|
567
|
+
/** Whether this runtime renders a component preview. */
|
|
557
568
|
isPreviewMode;
|
|
569
|
+
/** Whether this runtime renders a saved revision. */
|
|
558
570
|
isRevisionPreview;
|
|
571
|
+
/** Component type rendered in section preview mode. */
|
|
559
572
|
sectionType;
|
|
560
573
|
// ─── Item-level translation sidecar (design mode only) ─────────────
|
|
561
574
|
/**
|
|
@@ -564,7 +577,9 @@ var WeaverseNextRuntime = class extends Weaverse {
|
|
|
564
577
|
* components, so translations render without mutating the base `_store`.
|
|
565
578
|
*/
|
|
566
579
|
translationMap = {};
|
|
580
|
+
/** Locale associated with the item-level translation sidecar. */
|
|
567
581
|
translationLocale = String();
|
|
582
|
+
/** Weaverse language ID used when saving translation changes. */
|
|
568
583
|
translationLanguageId = String();
|
|
569
584
|
/**
|
|
570
585
|
* Fresh page data captured while React was rendering. Runtime reuse happens
|
|
@@ -582,6 +597,7 @@ var WeaverseNextRuntime = class extends Weaverse {
|
|
|
582
597
|
* deferred to `flushRenderPhaseUpdates()`.
|
|
583
598
|
*/
|
|
584
599
|
pendingItemUpdates = [];
|
|
600
|
+
/** Create a browser runtime from a loaded page and its request context. */
|
|
585
601
|
constructor(config) {
|
|
586
602
|
let { client, data } = config;
|
|
587
603
|
let page = getRenderablePage(data);
|
|
@@ -803,29 +819,6 @@ function bindWeaverseNextStudioRuntime(runtime) {
|
|
|
803
819
|
});
|
|
804
820
|
return true;
|
|
805
821
|
}
|
|
806
|
-
|
|
807
|
-
// src/revalidate-item.ts
|
|
808
|
-
var DEFAULT_REVALIDATE_ENDPOINT = "/api/weaverse/revalidate";
|
|
809
|
-
async function revalidateWeaverseNextItem(runtime, draftItem, endpoint = DEFAULT_REVALIDATE_ENDPOINT) {
|
|
810
|
-
let instance = runtime.itemInstances.get(draftItem.id);
|
|
811
|
-
if (!instance) {
|
|
812
|
-
throw new Error(
|
|
813
|
-
`[weaverse-next] No live item instance for "${draftItem.id}".`
|
|
814
|
-
);
|
|
815
|
-
}
|
|
816
|
-
let response = await fetch(endpoint, {
|
|
817
|
-
method: "POST",
|
|
818
|
-
headers: { "Content-Type": "application/json" },
|
|
819
|
-
body: JSON.stringify({ draftItem })
|
|
820
|
-
});
|
|
821
|
-
if (!response.ok) {
|
|
822
|
-
throw new Error(
|
|
823
|
-
`[weaverse-next] Revalidate endpoint responded ${response.status}.`
|
|
824
|
-
);
|
|
825
|
-
}
|
|
826
|
-
let { loaderData } = await response.json();
|
|
827
|
-
instance.setData({ loaderData: loaderData ?? null });
|
|
828
|
-
}
|
|
829
822
|
var STUDIO_BIND_RETRY_INTERVAL_MS = 50;
|
|
830
823
|
var STUDIO_BIND_MAX_ATTEMPTS = 100;
|
|
831
824
|
function WeaverseNextStudioBridge(props) {
|
|
@@ -1040,7 +1033,7 @@ function resolveWeaverseNextStudioScriptSrc(context, options = {}) {
|
|
|
1040
1033
|
if (!isTrustedStudioOrigin(origin, storefrontHostname)) {
|
|
1041
1034
|
return null;
|
|
1042
1035
|
}
|
|
1043
|
-
let bundle =
|
|
1036
|
+
let bundle = isPreviewMode || isRevisionPreview ? "preview.js" : "index.js";
|
|
1044
1037
|
let version = last(searchParams, "weaverseVersion");
|
|
1045
1038
|
let url = `${origin}/static/studio/next/${bundle}`;
|
|
1046
1039
|
return version ? `${url}?v=${encodeURIComponent(version)}` : url;
|
|
@@ -1090,6 +1083,6 @@ function WeaverseNextStudioConnect(props) {
|
|
|
1090
1083
|
return null;
|
|
1091
1084
|
}
|
|
1092
1085
|
|
|
1093
|
-
export {
|
|
1086
|
+
export { ThemeTextProvider, ThemeTextStore, TranslationProvider, TranslationStore, WeaverseNextProvider, WeaverseNextRenderer, WeaverseNextRootProvider, WeaverseNextRuntime, WeaverseNextStudio, WeaverseNextStudioBridge, WeaverseNextStudioConnect, bindWeaverseNextStudioRuntime, createTranslate, createWeaverseNextClient, createWeaverseNextRuntime, createWeaverseNextStudioInternals, createWeaverseNextThemeSettingsStore, getNestedKey, interpolate, loadWeaverseNextStudioScript, resolveWeaverseNextStudioScriptSrc, useThemeSettings, useThemeText, useTranslation, useWeaverseCommerce, useWeaverseNextStudioInternals, useWeaversePageData, useWeaverseRootData };
|
|
1094
1087
|
//# sourceMappingURL=index.mjs.map
|
|
1095
1088
|
//# sourceMappingURL=index.mjs.map
|