@makeswift/runtime 0.25.0-canary.5 → 0.25.0-canary.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/next/components/framework-provider/app-router/HeadSnippet.js +2 -2
- package/dist/cjs/next/components/framework-provider/app-router/HeadSnippet.js.map +1 -1
- package/dist/cjs/next/components/framework-provider/index.js +5 -2
- package/dist/cjs/next/components/framework-provider/index.js.map +1 -1
- package/dist/cjs/next/components/framework-provider/pages-router/HeadSnippet.js +6 -2
- package/dist/cjs/next/components/framework-provider/pages-router/HeadSnippet.js.map +1 -1
- package/dist/cjs/next/components/tests/__fixtures__/page-document.js +46 -0
- package/dist/cjs/next/components/tests/__fixtures__/page-document.js.map +1 -0
- package/dist/cjs/next/testing/element-data.js +4 -3
- package/dist/cjs/next/testing/element-data.js.map +1 -1
- package/dist/cjs/next/testing/index.js +3 -1
- package/dist/cjs/next/testing/index.js.map +1 -1
- package/dist/cjs/next/testing/page-rendering.js +52 -0
- package/dist/cjs/next/testing/page-rendering.js.map +1 -0
- package/dist/cjs/next/testing/react-provider.js +5 -3
- package/dist/cjs/next/testing/react-provider.js.map +1 -1
- package/dist/cjs/runtimes/react/components/page/HeadSnippet.js +3 -3
- package/dist/cjs/runtimes/react/components/page/HeadSnippet.js.map +1 -1
- package/dist/esm/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/next/components/framework-provider/app-router/HeadSnippet.js +3 -3
- package/dist/esm/next/components/framework-provider/app-router/HeadSnippet.js.map +1 -1
- package/dist/esm/next/components/framework-provider/index.js +5 -2
- package/dist/esm/next/components/framework-provider/index.js.map +1 -1
- package/dist/esm/next/components/framework-provider/pages-router/HeadSnippet.js +9 -5
- package/dist/esm/next/components/framework-provider/pages-router/HeadSnippet.js.map +1 -1
- package/dist/esm/next/components/tests/__fixtures__/page-document.js +22 -0
- package/dist/esm/next/components/tests/__fixtures__/page-document.js.map +1 -0
- package/dist/esm/next/testing/element-data.js +4 -3
- package/dist/esm/next/testing/element-data.js.map +1 -1
- package/dist/esm/next/testing/index.js +1 -0
- package/dist/esm/next/testing/index.js.map +1 -1
- package/dist/esm/next/testing/page-rendering.js +28 -0
- package/dist/esm/next/testing/page-rendering.js.map +1 -0
- package/dist/esm/next/testing/react-provider.js +5 -3
- package/dist/esm/next/testing/react-provider.js.map +1 -1
- package/dist/esm/runtimes/react/components/page/HeadSnippet.js +2 -2
- package/dist/esm/runtimes/react/components/page/HeadSnippet.js.map +1 -1
- package/dist/types/next/components/framework-provider/index.d.ts +3 -1
- package/dist/types/next/components/framework-provider/index.d.ts.map +1 -1
- package/dist/types/next/components/framework-provider/pages-router/HeadSnippet.d.ts.map +1 -1
- package/dist/types/next/components/tests/__fixtures__/page-document.d.ts +3 -0
- package/dist/types/next/components/tests/__fixtures__/page-document.d.ts.map +1 -0
- package/dist/types/next/components/tests/makeswift-page-snippets-rendering.test.d.ts +3 -0
- package/dist/types/next/components/tests/makeswift-page-snippets-rendering.test.d.ts.map +1 -0
- package/dist/types/next/testing/element-data.d.ts +2 -2
- package/dist/types/next/testing/element-data.d.ts.map +1 -1
- package/dist/types/next/testing/index.d.ts +1 -0
- package/dist/types/next/testing/index.d.ts.map +1 -1
- package/dist/types/next/testing/page-rendering.d.ts +7 -0
- package/dist/types/next/testing/page-rendering.d.ts.map +1 -0
- package/dist/types/next/testing/react-provider.d.ts +2 -1
- package/dist/types/next/testing/react-provider.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts +1 -1
- package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -28,7 +28,7 @@ async function manifestHandler(req, { apiKey, manifest }) {
|
|
|
28
28
|
return import_request_response.ApiResponse.json({ message: "Unauthorized" }, { status: 401 });
|
|
29
29
|
}
|
|
30
30
|
return import_request_response.ApiResponse.json({
|
|
31
|
-
version: "0.25.0-canary.
|
|
31
|
+
version: "0.25.0-canary.6",
|
|
32
32
|
previewMode: false,
|
|
33
33
|
draftMode: false,
|
|
34
34
|
interactionMode: true,
|
|
@@ -26,13 +26,13 @@ var import_react = require("react");
|
|
|
26
26
|
var import_navigation = require("next/navigation");
|
|
27
27
|
var import_HeadSnippet = require("../../../../runtimes/react/components/page/HeadSnippet");
|
|
28
28
|
function HeadSnippet({ snippet }) {
|
|
29
|
-
const
|
|
29
|
+
const headSnippetElements = (0, import_HeadSnippet.snippetToElements)(snippet);
|
|
30
30
|
const insertedServerHTML = (0, import_react.useRef)(false);
|
|
31
31
|
(0, import_navigation.useServerInsertedHTML)(() => {
|
|
32
32
|
if (insertedServerHTML.current)
|
|
33
33
|
return;
|
|
34
34
|
insertedServerHTML.current = true;
|
|
35
|
-
return
|
|
35
|
+
return headSnippetElements;
|
|
36
36
|
});
|
|
37
37
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_HeadSnippet.BaseHeadSnippet, { snippet });
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/app-router/HeadSnippet.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useServerInsertedHTML } from 'next/navigation'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n BaseHeadSnippet,\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/app-router/HeadSnippet.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useServerInsertedHTML } from 'next/navigation'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n BaseHeadSnippet,\n snippetToElements,\n} from '../../../../runtimes/react/components/page/HeadSnippet'\n\nexport function HeadSnippet({ snippet }: { snippet: Snippet }) {\n const headSnippetElements = snippetToElements(snippet)\n const insertedServerHTML = useRef(false)\n\n useServerInsertedHTML(() => {\n if (insertedServerHTML.current) return\n\n insertedServerHTML.current = true\n\n return headSnippetElements\n })\n\n return <BaseHeadSnippet snippet={snippet} />\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBS;AAtBT,mBAAuB;AACvB,wBAAsC;AAItC,yBAGO;AAEA,SAAS,YAAY,EAAE,QAAQ,GAAyB;AAC7D,QAAM,0BAAsB,sCAAkB,OAAO;AACrD,QAAM,yBAAqB,qBAAO,KAAK;AAEvC,+CAAsB,MAAM;AAC1B,QAAI,mBAAmB;AAAS;AAEhC,uBAAmB,UAAU;AAE7B,WAAO;AAAA,EACT,CAAC;AAED,SAAO,4CAAC,sCAAgB,SAAkB;AAC5C;","names":[]}
|
|
@@ -28,8 +28,11 @@ var import_use_is_pages_router = require("../../hooks/use-is-pages-router");
|
|
|
28
28
|
var import_app_router = require("./app-router");
|
|
29
29
|
var import_pages_router = require("./pages-router");
|
|
30
30
|
var import_framework_context = require("../../../runtimes/react/components/framework-context");
|
|
31
|
-
function FrameworkProvider({
|
|
32
|
-
|
|
31
|
+
function FrameworkProvider({
|
|
32
|
+
children,
|
|
33
|
+
forcePagesRouter
|
|
34
|
+
}) {
|
|
35
|
+
const isPagesRouter = (0, import_use_is_pages_router.useIsPagesRouter)() || forcePagesRouter;
|
|
33
36
|
const context = (0, import_react.useMemo)(
|
|
34
37
|
() => isPagesRouter ? import_pages_router.context : import_app_router.context,
|
|
35
38
|
[isPagesRouter]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/next/components/framework-provider/index.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useMemo } from 'react'\nimport { useIsPagesRouter } from '../../hooks/use-is-pages-router'\n\nimport { context as appRouterContext } from './app-router'\nimport { context as pagesRouterContext } from './pages-router'\nimport { FrameworkContext } from '../../../runtimes/react/components/framework-context'\n\nexport function FrameworkProvider({
|
|
1
|
+
{"version":3,"sources":["../../../../../src/next/components/framework-provider/index.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useMemo } from 'react'\nimport { useIsPagesRouter } from '../../hooks/use-is-pages-router'\n\nimport { context as appRouterContext } from './app-router'\nimport { context as pagesRouterContext } from './pages-router'\nimport { FrameworkContext } from '../../../runtimes/react/components/framework-context'\n\nexport function FrameworkProvider({\n children,\n forcePagesRouter,\n}: PropsWithChildren<{ forcePagesRouter?: boolean }>) {\n const isPagesRouter = useIsPagesRouter() || forcePagesRouter\n const context = useMemo(\n () => (isPagesRouter ? pagesRouterContext : appRouterContext),\n [isPagesRouter],\n )\n\n return <FrameworkContext.Provider value={context}>{children}</FrameworkContext.Provider>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBS;AAjBT,mBAAgD;AAChD,iCAAiC;AAEjC,wBAA4C;AAC5C,0BAA8C;AAC9C,+BAAiC;AAE1B,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAAsD;AACpD,QAAM,oBAAgB,6CAAiB,KAAK;AAC5C,QAAM,cAAU;AAAA,IACd,MAAO,gBAAgB,oBAAAA,UAAqB,kBAAAC;AAAA,IAC5C,CAAC,aAAa;AAAA,EAChB;AAEA,SAAO,4CAAC,0CAAiB,UAAjB,EAA0B,OAAO,SAAU,UAAS;AAC9D;","names":["pagesRouterContext","appRouterContext"]}
|
|
@@ -34,7 +34,9 @@ module.exports = __toCommonJS(HeadSnippet_exports);
|
|
|
34
34
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
35
|
var import_react = require("react");
|
|
36
36
|
var import_head = __toESM(require("next/head"));
|
|
37
|
+
var import_script = __toESM(require("next/script"));
|
|
37
38
|
var import_HeadSnippet = require("../../../../runtimes/react/components/page/HeadSnippet");
|
|
39
|
+
const isScriptElement = (element) => (0, import_react.isValidElement)(element) && element.type === "script";
|
|
38
40
|
function HeadSnippet({ snippet }) {
|
|
39
41
|
(0, import_react.useEffect)(() => {
|
|
40
42
|
return () => {
|
|
@@ -44,8 +46,10 @@ function HeadSnippet({ snippet }) {
|
|
|
44
46
|
(0, import_HeadSnippet.cleanUpSnippet)(snippet);
|
|
45
47
|
};
|
|
46
48
|
}, [snippet]);
|
|
47
|
-
const
|
|
48
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
49
|
+
const headSnippetElements = (0, import_HeadSnippet.snippetToElements)(snippet);
|
|
50
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: headSnippetElements.map(
|
|
51
|
+
(element, i) => isScriptElement(element) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_script.default, { ...element.props, strategy: "beforeInteractive" }, element.key) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_head.default, { children: element }, (0, import_react.isValidElement)(element) ? element.key : i)
|
|
52
|
+
) });
|
|
49
53
|
}
|
|
50
54
|
// Annotate the CommonJS export names for ESM import in node:
|
|
51
55
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/pages-router/HeadSnippet.tsx"],"sourcesContent":["import { useEffect } from 'react'\n\nimport Head from 'next/head'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/pages-router/HeadSnippet.tsx"],"sourcesContent":["import { type ReactElement, useEffect, isValidElement } from 'react'\n\nimport Head from 'next/head'\nimport Script from 'next/script'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n snippetToElements,\n getSnippetElementsFromDOM,\n cleanUpSnippet,\n} from '../../../../runtimes/react/components/page/HeadSnippet'\n\nconst isScriptElement = (element: string | JSX.Element): element is ReactElement<any, 'script'> =>\n isValidElement(element) && element.type === 'script'\n\nexport function HeadSnippet({ snippet }: { snippet: Snippet }) {\n useEffect(() => {\n return () => {\n const snippetElements = getSnippetElementsFromDOM(snippet)\n if (snippetElements.length > 0) return\n cleanUpSnippet(snippet)\n }\n }, [snippet])\n\n const headSnippetElements = snippetToElements(snippet)\n\n return (\n <>\n {headSnippetElements.map((element, i) =>\n isScriptElement(element) ? (\n <Script key={element.key} {...element.props} strategy=\"beforeInteractive\" />\n ) : (\n <Head key={isValidElement(element) ? element.key : i}>{element}</Head>\n ),\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BI;AA5BJ,mBAA6D;AAE7D,kBAAiB;AACjB,oBAAmB;AAInB,yBAIO;AAEP,MAAM,kBAAkB,CAAC,gBACvB,6BAAe,OAAO,KAAK,QAAQ,SAAS;AAEvC,SAAS,YAAY,EAAE,QAAQ,GAAyB;AAC7D,8BAAU,MAAM;AACd,WAAO,MAAM;AACX,YAAM,sBAAkB,8CAA0B,OAAO;AACzD,UAAI,gBAAgB,SAAS;AAAG;AAChC,6CAAe,OAAO;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,0BAAsB,sCAAkB,OAAO;AAErD,SACE,2EACG,8BAAoB;AAAA,IAAI,CAAC,SAAS,MACjC,gBAAgB,OAAO,IACrB,4CAAC,cAAAA,SAAA,EAA0B,GAAG,QAAQ,OAAO,UAAS,uBAAzC,QAAQ,GAAqD,IAE1E,4CAAC,YAAAC,SAAA,EAAsD,yBAA5C,6BAAe,OAAO,IAAI,QAAQ,MAAM,CAAY;AAAA,EAEnE,GACF;AAEJ;","names":["Script","Head"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var page_document_exports = {};
|
|
20
|
+
__export(page_document_exports, {
|
|
21
|
+
pageDocument: () => pageDocument
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(page_document_exports);
|
|
24
|
+
var import_components = require("../../../../components");
|
|
25
|
+
const pageDocument = {
|
|
26
|
+
id: "2222-2222-2222-2222",
|
|
27
|
+
site: {
|
|
28
|
+
id: "1111-1111-1111-1111"
|
|
29
|
+
},
|
|
30
|
+
data: {
|
|
31
|
+
type: import_components.MakeswiftComponentType.Root,
|
|
32
|
+
key: "0000-0000-0000-0000",
|
|
33
|
+
props: {}
|
|
34
|
+
},
|
|
35
|
+
snippets: [],
|
|
36
|
+
fonts: [],
|
|
37
|
+
localizedPages: [],
|
|
38
|
+
locale: null,
|
|
39
|
+
meta: {},
|
|
40
|
+
seo: {}
|
|
41
|
+
};
|
|
42
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
+
0 && (module.exports = {
|
|
44
|
+
pageDocument
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=page-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/tests/__fixtures__/page-document.ts"],"sourcesContent":["import { type MakeswiftPageDocument } from '../../../../client'\nimport { MakeswiftComponentType } from '../../../../components'\n\nexport const pageDocument: MakeswiftPageDocument = {\n id: '2222-2222-2222-2222',\n site: {\n id: '1111-1111-1111-1111',\n },\n data: {\n type: MakeswiftComponentType.Root,\n key: '0000-0000-0000-0000',\n props: {},\n },\n snippets: [],\n fonts: [],\n localizedPages: [],\n locale: null,\n meta: {},\n seo: {},\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAuC;AAEhC,MAAM,eAAsC;AAAA,EACjD,IAAI;AAAA,EACJ,MAAM;AAAA,IACJ,IAAI;AAAA,EACN;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,yCAAuB;AAAA,IAC7B,KAAK;AAAA,IACL,OAAO,CAAC;AAAA,EACV;AAAA,EACA,UAAU,CAAC;AAAA,EACX,OAAO,CAAC;AAAA,EACR,gBAAgB,CAAC;AAAA,EACjB,QAAQ;AAAA,EACR,MAAM,CAAC;AAAA,EACP,KAAK,CAAC;AACR;","names":[]}
|
|
@@ -46,15 +46,16 @@ function createRootComponent(elements, rootId) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
const isDocument = (elementDataOrDocument) => "snippets" in elementDataOrDocument || "fonts" in elementDataOrDocument || "meta" in elementDataOrDocument || "seo" in elementDataOrDocument;
|
|
50
|
+
function createMakeswiftPageSnapshot(elementDataOrDocument, {
|
|
50
51
|
cacheData = {},
|
|
51
52
|
locale = null
|
|
52
53
|
} = {}) {
|
|
53
54
|
return {
|
|
54
|
-
document: {
|
|
55
|
+
document: isDocument(elementDataOrDocument) ? elementDataOrDocument : {
|
|
55
56
|
id: "test-page-id",
|
|
56
57
|
site: { id: "test-site-id" },
|
|
57
|
-
data:
|
|
58
|
+
data: elementDataOrDocument,
|
|
58
59
|
snippets: [],
|
|
59
60
|
fonts: [],
|
|
60
61
|
meta: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/testing/element-data.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/element-data.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\n\nimport {\n type MakeswiftPageSnapshot,\n type MakeswiftPageDocument,\n type MakeswiftComponentSnapshot,\n} from '../../client'\nimport { CacheData } from '../../api/react'\nimport { type ElementData } from '../../state/react-page'\nimport { MakeswiftComponentType } from '../../components'\n\nexport function createRootComponent(elements: ElementData[], rootId?: string) {\n return {\n key: rootId ?? randomUUID(),\n type: MakeswiftComponentType.Root,\n props: {\n children: {\n columns: [\n {\n deviceId: 'desktop',\n value: {\n count: 12,\n spans: elements?.map(() => [12]),\n },\n },\n ],\n elements,\n },\n },\n }\n}\n\nconst isDocument = (\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n): elementDataOrDocument is MakeswiftPageDocument =>\n 'snippets' in elementDataOrDocument ||\n 'fonts' in elementDataOrDocument ||\n 'meta' in elementDataOrDocument ||\n 'seo' in elementDataOrDocument\n\nexport function createMakeswiftPageSnapshot(\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftPageSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftPageSnapshot {\n return {\n document: isDocument(elementDataOrDocument)\n ? elementDataOrDocument\n : {\n id: 'test-page-id',\n site: { id: 'test-site-id' },\n data: elementDataOrDocument,\n snippets: [],\n fonts: [],\n meta: {},\n seo: {},\n localizedPages: [],\n locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n\nexport function createMakeswiftComponentSnapshot(\n elementData: ElementData,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftComponentSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftComponentSnapshot {\n return {\n key: randomUUID(),\n document: {\n id: 'test-component-id',\n name: 'Test Component Document',\n siteId: 'test-site-id',\n data: elementData,\n inheritsFromParent: false,\n locale,\n },\n meta: {\n allowLocaleFallback: false,\n requestedLocale: locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAO3B,mBAA0B;AAE1B,wBAAuC;AAEhC,SAAS,oBAAoB,UAAyB,QAAiB;AAC5E,SAAO;AAAA,IACL,KAAK,cAAU,0BAAW;AAAA,IAC1B,MAAM,yCAAuB;AAAA,IAC7B,OAAO;AAAA,MACL,UAAU;AAAA,QACR,SAAS;AAAA,UACP;AAAA,YACE,UAAU;AAAA,YACV,OAAO;AAAA,cACL,OAAO;AAAA,cACP,OAAO,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,aAAa,CACjB,0BAEA,cAAc,yBACd,WAAW,yBACX,UAAU,yBACV,SAAS;AAEJ,SAAS,4BACd,uBACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAAyF,CAAC,GACnE;AACvB,SAAO;AAAA,IACL,UAAU,WAAW,qBAAqB,IACtC,wBACA;AAAA,MACE,IAAI;AAAA,MACJ,MAAM,EAAE,IAAI,eAAe;AAAA,MAC3B,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,OAAO,CAAC;AAAA,MACR,MAAM,CAAC;AAAA,MACP,KAAK,CAAC;AAAA,MACN,gBAAgB,CAAC;AAAA,MACjB;AAAA,IACF;AAAA,IACJ,WAAW;AAAA,MACT,GAAG,uBAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,iCACd,aACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAA8F,CAAC,GACnE;AAC5B,SAAO;AAAA,IACL,SAAK,0BAAW;AAAA,IAChB,UAAU;AAAA,MACR,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,oBAAoB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,MACT,GAAG,uBAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;","names":[]}
|
|
@@ -18,10 +18,12 @@ module.exports = __toCommonJS(testing_exports);
|
|
|
18
18
|
__reExport(testing_exports, require("./breakpoints"), module.exports);
|
|
19
19
|
__reExport(testing_exports, require("./element-data"), module.exports);
|
|
20
20
|
__reExport(testing_exports, require("./react-provider"), module.exports);
|
|
21
|
+
__reExport(testing_exports, require("./page-rendering"), module.exports);
|
|
21
22
|
// Annotate the CommonJS export names for ESM import in node:
|
|
22
23
|
0 && (module.exports = {
|
|
23
24
|
...require("./breakpoints"),
|
|
24
25
|
...require("./element-data"),
|
|
25
|
-
...require("./react-provider")
|
|
26
|
+
...require("./react-provider"),
|
|
27
|
+
...require("./page-rendering")
|
|
26
28
|
});
|
|
27
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/testing/index.ts"],"sourcesContent":["export * from './breakpoints'\nexport * from './element-data'\nexport * from './react-provider'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,0BAAd;AACA,4BAAc,2BADd;AAEA,4BAAc,6BAFd;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/index.ts"],"sourcesContent":["export * from './breakpoints'\nexport * from './element-data'\nexport * from './react-provider'\nexport * from './page-rendering'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,0BAAd;AACA,4BAAc,2BADd;AAEA,4BAAc,6BAFd;AAGA,4BAAc,6BAHd;","names":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var page_rendering_exports = {};
|
|
20
|
+
__export(page_rendering_exports, {
|
|
21
|
+
testMakeswiftPageHeadRendering: () => testMakeswiftPageHeadRendering
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(page_rendering_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_jest_dom = require("@testing-library/jest-dom");
|
|
26
|
+
var import_test_utils = require("react-dom/test-utils");
|
|
27
|
+
var import_react2 = require("@testing-library/react");
|
|
28
|
+
var import_react_runtime = require("../../runtimes/react/react-runtime");
|
|
29
|
+
var import_components = require("../../components");
|
|
30
|
+
var import_page = require("../components/page");
|
|
31
|
+
var import_react_provider = require("./react-provider");
|
|
32
|
+
async function testMakeswiftPageHeadRendering(props, { forcePagesRouter = false } = {}) {
|
|
33
|
+
const runtime = new import_react_runtime.ReactRuntime();
|
|
34
|
+
runtime.registerComponent(() => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {}), {
|
|
35
|
+
type: import_components.MakeswiftComponentType.Root,
|
|
36
|
+
label: "Root",
|
|
37
|
+
props: {}
|
|
38
|
+
});
|
|
39
|
+
return await (0, import_test_utils.act)(
|
|
40
|
+
async () => (0, import_react2.render)(
|
|
41
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_provider.ReactProvider, { runtime, previewMode: false, forcePagesRouter, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_page.Page, { ...props }) }),
|
|
42
|
+
{
|
|
43
|
+
container: document.body.appendChild(document.createElement("head"))
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
testMakeswiftPageHeadRendering
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=page-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/page-rendering.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef } from 'react'\n\nimport '@testing-library/jest-dom'\nimport { act } from 'react-dom/test-utils'\nimport { render } from '@testing-library/react'\n\nimport { ReactRuntime } from '../../runtimes/react/react-runtime'\nimport { MakeswiftComponentType } from '../../components'\n\nimport { Page as MakeswiftPage } from '../components/page'\n\nimport { ReactProvider } from './react-provider'\n\nexport async function testMakeswiftPageHeadRendering(\n props: ComponentPropsWithoutRef<typeof MakeswiftPage>,\n { forcePagesRouter = false }: { forcePagesRouter?: boolean } = {},\n) {\n const runtime = new ReactRuntime()\n\n runtime.registerComponent(() => <></>, {\n type: MakeswiftComponentType.Root,\n label: 'Root',\n props: {},\n })\n\n return await act(async () =>\n render(\n <ReactProvider runtime={runtime} previewMode={false} forcePagesRouter={forcePagesRouter}>\n <MakeswiftPage {...props} />\n </ReactProvider>,\n {\n container: document.body.appendChild(document.createElement('head')),\n },\n ),\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBkC;AAjBlC,sBAAO;AACP,wBAAoB;AACpB,IAAAA,gBAAuB;AAEvB,2BAA6B;AAC7B,wBAAuC;AAEvC,kBAAsC;AAEtC,4BAA8B;AAE9B,eAAsB,+BACpB,OACA,EAAE,mBAAmB,MAAM,IAAoC,CAAC,GAChE;AACA,QAAM,UAAU,IAAI,kCAAa;AAEjC,UAAQ,kBAAkB,MAAM,2EAAE,GAAK;AAAA,IACrC,MAAM,yCAAuB;AAAA,IAC7B,OAAO;AAAA,IACP,OAAO,CAAC;AAAA,EACV,CAAC;AAED,SAAO,UAAM;AAAA,IAAI,gBACf;AAAA,MACE,4CAAC,uCAAc,SAAkB,aAAa,OAAO,kBACnD,sDAAC,YAAAC,MAAA,EAAe,GAAG,OAAO,GAC5B;AAAA,MACA;AAAA,QACE,WAAW,SAAS,KAAK,YAAY,SAAS,cAAc,MAAM,CAAC;AAAA,MACrE;AAAA,IACF;AAAA,EACF;AACF;","names":["import_react","MakeswiftPage"]}
|
|
@@ -22,14 +22,16 @@ __export(react_provider_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(react_provider_exports);
|
|
24
24
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_RuntimeProvider = require("../../runtimes/react/components/RuntimeProvider");
|
|
26
|
+
var import_framework_provider = require("../components/framework-provider");
|
|
25
27
|
var import_root_style_registry = require("../root-style-registry");
|
|
26
|
-
var import_runtime_provider = require("../runtime-provider");
|
|
27
28
|
function ReactProvider({
|
|
28
29
|
children,
|
|
29
30
|
runtime,
|
|
30
|
-
previewMode = false
|
|
31
|
+
previewMode = false,
|
|
32
|
+
forcePagesRouter = false
|
|
31
33
|
}) {
|
|
32
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
34
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_framework_provider.FrameworkProvider, { forcePagesRouter, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_RuntimeProvider.RuntimeProvider, { previewMode, runtime, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_root_style_registry.RootStyleRegistry, { children }) }) });
|
|
33
35
|
}
|
|
34
36
|
// Annotate the CommonJS export names for ESM import in node:
|
|
35
37
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/testing/react-provider.tsx"],"sourcesContent":["import { ReactRuntime } from '../../runtimes/react/react-runtime'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/react-provider.tsx"],"sourcesContent":["import { ReactRuntime } from '../../runtimes/react/react-runtime'\nimport { RuntimeProvider } from '../../runtimes/react/components/RuntimeProvider'\n\nimport { FrameworkProvider } from '../components/framework-provider'\nimport { RootStyleRegistry } from '../root-style-registry'\n\nexport function ReactProvider({\n children,\n runtime,\n previewMode = false,\n forcePagesRouter = false,\n}: {\n children: React.ReactNode\n runtime: ReactRuntime\n previewMode?: boolean\n forcePagesRouter?: boolean\n}) {\n return (\n <FrameworkProvider forcePagesRouter={forcePagesRouter}>\n <RuntimeProvider previewMode={previewMode} runtime={runtime}>\n <RootStyleRegistry>{children}</RootStyleRegistry>\n </RuntimeProvider>\n </FrameworkProvider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBQ;AAnBR,6BAAgC;AAEhC,gCAAkC;AAClC,iCAAkC;AAE3B,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AACrB,GAKG;AACD,SACE,4CAAC,+CAAkB,kBACjB,sDAAC,0CAAgB,aAA0B,SACzC,sDAAC,gDAAmB,UAAS,GAC/B,GACF;AAEJ;","names":[]}
|
|
@@ -32,7 +32,7 @@ __export(HeadSnippet_exports, {
|
|
|
32
32
|
cleanUpSnippet: () => cleanUpSnippet,
|
|
33
33
|
getSnippetElementsFromDOM: () => getSnippetElementsFromDOM,
|
|
34
34
|
renderSnippetAndExecuteScripts: () => renderSnippetAndExecuteScripts,
|
|
35
|
-
|
|
35
|
+
snippetToElements: () => snippetToElements
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(HeadSnippet_exports);
|
|
38
38
|
var import_react = require("react");
|
|
@@ -58,7 +58,7 @@ const VALID_HEAD_ELEMENT_TYPES = [
|
|
|
58
58
|
"noscript",
|
|
59
59
|
"template"
|
|
60
60
|
];
|
|
61
|
-
function
|
|
61
|
+
function snippetToElements(snippet) {
|
|
62
62
|
return import_react.Children.map((0, import_html_react_parser.default)(snippet.code), (element) => {
|
|
63
63
|
if (typeof element === "string")
|
|
64
64
|
return element;
|
|
@@ -113,6 +113,6 @@ function getSnippetElementsFromDOM(snippet) {
|
|
|
113
113
|
cleanUpSnippet,
|
|
114
114
|
getSnippetElementsFromDOM,
|
|
115
115
|
renderSnippetAndExecuteScripts,
|
|
116
|
-
|
|
116
|
+
snippetToElements
|
|
117
117
|
});
|
|
118
118
|
//# sourceMappingURL=HeadSnippet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/runtimes/react/components/page/HeadSnippet.tsx"],"sourcesContent":["import { Children, createElement, useEffect } from 'react'\nimport parse from 'html-react-parser'\n\nimport { type Snippet } from '../../../../client'\n\nexport function BaseHeadSnippet({ snippet }: { snippet: Snippet }) {\n useEffect(() => {\n const snippetElements = getSnippetElementsFromDOM(snippet)\n const isAlreadyInTheDOM = snippetElements.length > 0\n\n if (isAlreadyInTheDOM) return\n\n return renderSnippetAndExecuteScripts(snippet, window.document.head)\n }, [snippet])\n\n return null\n}\n\nconst SNIPPET_ID_ATRIBUTE_NAME = 'data-makeswift-snippet-id'\n\nconst VALID_HEAD_ELEMENT_TYPES = [\n 'title',\n 'base',\n 'link',\n 'style',\n 'meta',\n 'script',\n 'noscript',\n 'template',\n]\n\nexport function
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/components/page/HeadSnippet.tsx"],"sourcesContent":["import { Children, createElement, useEffect } from 'react'\nimport parse from 'html-react-parser'\n\nimport { type Snippet } from '../../../../client'\n\nexport function BaseHeadSnippet({ snippet }: { snippet: Snippet }) {\n useEffect(() => {\n const snippetElements = getSnippetElementsFromDOM(snippet)\n const isAlreadyInTheDOM = snippetElements.length > 0\n\n if (isAlreadyInTheDOM) return\n\n return renderSnippetAndExecuteScripts(snippet, window.document.head)\n }, [snippet])\n\n return null\n}\n\nconst SNIPPET_ID_ATRIBUTE_NAME = 'data-makeswift-snippet-id'\n\nconst VALID_HEAD_ELEMENT_TYPES = [\n 'title',\n 'base',\n 'link',\n 'style',\n 'meta',\n 'script',\n 'noscript',\n 'template',\n]\n\nexport function snippetToElements(snippet: Pick<Snippet, 'id' | 'code'>): (string | JSX.Element)[] {\n return Children.map(parse(snippet.code), element => {\n if (typeof element === 'string') return element\n\n if (!VALID_HEAD_ELEMENT_TYPES.includes(element.type as string)) return null\n\n const key = element.key ? `${snippet.id}:${element.key}` : snippet.id\n\n return createElement(element.type, {\n ...element.props,\n key,\n [SNIPPET_ID_ATRIBUTE_NAME]: snippet.id,\n })\n })\n}\n\nexport function renderSnippetAndExecuteScripts(\n snippet: Snippet,\n container: HTMLElement,\n): () => void {\n const virtualContainer = container.ownerDocument.createElement(container.tagName)\n\n virtualContainer.innerHTML = snippet.code\n\n const elements = Array.from(virtualContainer.querySelectorAll('*'))\n const scripts = elements.filter(el => el instanceof HTMLScriptElement)\n\n scripts.forEach(script => {\n const clone = script.ownerDocument.createElement(script.tagName)\n\n clone.textContent = script.textContent\n Array.from(script.attributes).forEach(({ name, value }) => {\n clone.setAttribute(name, value)\n })\n clone.setAttribute(SNIPPET_ID_ATRIBUTE_NAME, snippet.id)\n script.parentNode?.replaceChild(clone, script)\n })\n\n const nodes = Array.from(virtualContainer.childNodes)\n container.append(...nodes)\n\n return () => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node)\n })\n\n cleanUpSnippet(snippet)\n }\n}\n\nexport function cleanUpSnippet(snippet: Snippet): void {\n if (snippet.cleanup == null) return\n try {\n const cleanUp = new Function(snippet.cleanup)\n cleanUp()\n } catch {\n // Ignore errors from user input.\n }\n}\n\nexport function getSnippetElementsFromDOM(snippet: Snippet) {\n return document.head.querySelectorAll(`[${SNIPPET_ID_ATRIBUTE_NAME}=\"${snippet.id}\"]`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmD;AACnD,+BAAkB;AAIX,SAAS,gBAAgB,EAAE,QAAQ,GAAyB;AACjE,8BAAU,MAAM;AACd,UAAM,kBAAkB,0BAA0B,OAAO;AACzD,UAAM,oBAAoB,gBAAgB,SAAS;AAEnD,QAAI;AAAmB;AAEvB,WAAO,+BAA+B,SAAS,OAAO,SAAS,IAAI;AAAA,EACrE,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO;AACT;AAEA,MAAM,2BAA2B;AAEjC,MAAM,2BAA2B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,kBAAkB,SAAiE;AACjG,SAAO,sBAAS,QAAI,yBAAAA,SAAM,QAAQ,IAAI,GAAG,aAAW;AAClD,QAAI,OAAO,YAAY;AAAU,aAAO;AAExC,QAAI,CAAC,yBAAyB,SAAS,QAAQ,IAAc;AAAG,aAAO;AAEvE,UAAM,MAAM,QAAQ,MAAM,GAAG,QAAQ,EAAE,IAAI,QAAQ,GAAG,KAAK,QAAQ;AAEnE,eAAO,4BAAc,QAAQ,MAAM;AAAA,MACjC,GAAG,QAAQ;AAAA,MACX;AAAA,MACA,CAAC,wBAAwB,GAAG,QAAQ;AAAA,IACtC,CAAC;AAAA,EACH,CAAC;AACH;AAEO,SAAS,+BACd,SACA,WACY;AACZ,QAAM,mBAAmB,UAAU,cAAc,cAAc,UAAU,OAAO;AAEhF,mBAAiB,YAAY,QAAQ;AAErC,QAAM,WAAW,MAAM,KAAK,iBAAiB,iBAAiB,GAAG,CAAC;AAClE,QAAM,UAAU,SAAS,OAAO,QAAM,cAAc,iBAAiB;AAErE,UAAQ,QAAQ,YAAU;AACxB,UAAM,QAAQ,OAAO,cAAc,cAAc,OAAO,OAAO;AAE/D,UAAM,cAAc,OAAO;AAC3B,UAAM,KAAK,OAAO,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,MAAM,MAAM;AACzD,YAAM,aAAa,MAAM,KAAK;AAAA,IAChC,CAAC;AACD,UAAM,aAAa,0BAA0B,QAAQ,EAAE;AACvD,WAAO,YAAY,aAAa,OAAO,MAAM;AAAA,EAC/C,CAAC;AAED,QAAM,QAAQ,MAAM,KAAK,iBAAiB,UAAU;AACpD,YAAU,OAAO,GAAG,KAAK;AAEzB,SAAO,MAAM;AACX,UAAM,QAAQ,UAAQ;AACpB,WAAK,YAAY,YAAY,IAAI;AAAA,IACnC,CAAC;AAED,mBAAe,OAAO;AAAA,EACxB;AACF;AAEO,SAAS,eAAe,SAAwB;AACrD,MAAI,QAAQ,WAAW;AAAM;AAC7B,MAAI;AACF,UAAM,UAAU,IAAI,SAAS,QAAQ,OAAO;AAC5C,YAAQ;AAAA,EACV,QAAQ;AAAA,EAER;AACF;AAEO,SAAS,0BAA0B,SAAkB;AAC1D,SAAO,SAAS,KAAK,iBAAiB,IAAI,wBAAwB,KAAK,QAAQ,EAAE,IAAI;AACvF;","names":["parse"]}
|
|
@@ -8,7 +8,7 @@ async function manifestHandler(req, { apiKey, manifest }) {
|
|
|
8
8
|
return ApiResponse.json({ message: "Unauthorized" }, { status: 401 });
|
|
9
9
|
}
|
|
10
10
|
return ApiResponse.json({
|
|
11
|
-
version: "0.25.0-canary.
|
|
11
|
+
version: "0.25.0-canary.6",
|
|
12
12
|
previewMode: false,
|
|
13
13
|
draftMode: false,
|
|
14
14
|
interactionMode: true,
|
|
@@ -3,16 +3,16 @@ import { useRef } from "react";
|
|
|
3
3
|
import { useServerInsertedHTML } from "next/navigation";
|
|
4
4
|
import {
|
|
5
5
|
BaseHeadSnippet,
|
|
6
|
-
|
|
6
|
+
snippetToElements
|
|
7
7
|
} from "../../../../runtimes/react/components/page/HeadSnippet";
|
|
8
8
|
function HeadSnippet({ snippet }) {
|
|
9
|
-
const
|
|
9
|
+
const headSnippetElements = snippetToElements(snippet);
|
|
10
10
|
const insertedServerHTML = useRef(false);
|
|
11
11
|
useServerInsertedHTML(() => {
|
|
12
12
|
if (insertedServerHTML.current)
|
|
13
13
|
return;
|
|
14
14
|
insertedServerHTML.current = true;
|
|
15
|
-
return
|
|
15
|
+
return headSnippetElements;
|
|
16
16
|
});
|
|
17
17
|
return /* @__PURE__ */ jsx(BaseHeadSnippet, { snippet });
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/app-router/HeadSnippet.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useServerInsertedHTML } from 'next/navigation'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n BaseHeadSnippet,\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/app-router/HeadSnippet.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useServerInsertedHTML } from 'next/navigation'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n BaseHeadSnippet,\n snippetToElements,\n} from '../../../../runtimes/react/components/page/HeadSnippet'\n\nexport function HeadSnippet({ snippet }: { snippet: Snippet }) {\n const headSnippetElements = snippetToElements(snippet)\n const insertedServerHTML = useRef(false)\n\n useServerInsertedHTML(() => {\n if (insertedServerHTML.current) return\n\n insertedServerHTML.current = true\n\n return headSnippetElements\n })\n\n return <BaseHeadSnippet snippet={snippet} />\n}\n"],"mappings":"AAsBS;AAtBT,SAAS,cAAc;AACvB,SAAS,6BAA6B;AAItC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEA,SAAS,YAAY,EAAE,QAAQ,GAAyB;AAC7D,QAAM,sBAAsB,kBAAkB,OAAO;AACrD,QAAM,qBAAqB,OAAO,KAAK;AAEvC,wBAAsB,MAAM;AAC1B,QAAI,mBAAmB;AAAS;AAEhC,uBAAmB,UAAU;AAE7B,WAAO;AAAA,EACT,CAAC;AAED,SAAO,oBAAC,mBAAgB,SAAkB;AAC5C;","names":[]}
|
|
@@ -5,8 +5,11 @@ import { useIsPagesRouter } from "../../hooks/use-is-pages-router";
|
|
|
5
5
|
import { context as appRouterContext } from "./app-router";
|
|
6
6
|
import { context as pagesRouterContext } from "./pages-router";
|
|
7
7
|
import { FrameworkContext } from "../../../runtimes/react/components/framework-context";
|
|
8
|
-
function FrameworkProvider({
|
|
9
|
-
|
|
8
|
+
function FrameworkProvider({
|
|
9
|
+
children,
|
|
10
|
+
forcePagesRouter
|
|
11
|
+
}) {
|
|
12
|
+
const isPagesRouter = useIsPagesRouter() || forcePagesRouter;
|
|
10
13
|
const context = useMemo(
|
|
11
14
|
() => isPagesRouter ? pagesRouterContext : appRouterContext,
|
|
12
15
|
[isPagesRouter]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/next/components/framework-provider/index.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useMemo } from 'react'\nimport { useIsPagesRouter } from '../../hooks/use-is-pages-router'\n\nimport { context as appRouterContext } from './app-router'\nimport { context as pagesRouterContext } from './pages-router'\nimport { FrameworkContext } from '../../../runtimes/react/components/framework-context'\n\nexport function FrameworkProvider({
|
|
1
|
+
{"version":3,"sources":["../../../../../src/next/components/framework-provider/index.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useMemo } from 'react'\nimport { useIsPagesRouter } from '../../hooks/use-is-pages-router'\n\nimport { context as appRouterContext } from './app-router'\nimport { context as pagesRouterContext } from './pages-router'\nimport { FrameworkContext } from '../../../runtimes/react/components/framework-context'\n\nexport function FrameworkProvider({\n children,\n forcePagesRouter,\n}: PropsWithChildren<{ forcePagesRouter?: boolean }>) {\n const isPagesRouter = useIsPagesRouter() || forcePagesRouter\n const context = useMemo(\n () => (isPagesRouter ? pagesRouterContext : appRouterContext),\n [isPagesRouter],\n )\n\n return <FrameworkContext.Provider value={context}>{children}</FrameworkContext.Provider>\n}\n"],"mappings":";AAmBS;AAjBT,SAAiC,eAAe;AAChD,SAAS,wBAAwB;AAEjC,SAAS,WAAW,wBAAwB;AAC5C,SAAS,WAAW,0BAA0B;AAC9C,SAAS,wBAAwB;AAE1B,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAAsD;AACpD,QAAM,gBAAgB,iBAAiB,KAAK;AAC5C,QAAM,UAAU;AAAA,IACd,MAAO,gBAAgB,qBAAqB;AAAA,IAC5C,CAAC,aAAa;AAAA,EAChB;AAEA,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,SAAU,UAAS;AAC9D;","names":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect } from "react";
|
|
1
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, isValidElement } from "react";
|
|
3
3
|
import Head from "next/head";
|
|
4
|
+
import Script from "next/script";
|
|
4
5
|
import {
|
|
5
|
-
|
|
6
|
+
snippetToElements,
|
|
6
7
|
getSnippetElementsFromDOM,
|
|
7
8
|
cleanUpSnippet
|
|
8
9
|
} from "../../../../runtimes/react/components/page/HeadSnippet";
|
|
10
|
+
const isScriptElement = (element) => isValidElement(element) && element.type === "script";
|
|
9
11
|
function HeadSnippet({ snippet }) {
|
|
10
12
|
useEffect(() => {
|
|
11
13
|
return () => {
|
|
@@ -15,8 +17,10 @@ function HeadSnippet({ snippet }) {
|
|
|
15
17
|
cleanUpSnippet(snippet);
|
|
16
18
|
};
|
|
17
19
|
}, [snippet]);
|
|
18
|
-
const
|
|
19
|
-
return /* @__PURE__ */ jsx(
|
|
20
|
+
const headSnippetElements = snippetToElements(snippet);
|
|
21
|
+
return /* @__PURE__ */ jsx(Fragment, { children: headSnippetElements.map(
|
|
22
|
+
(element, i) => isScriptElement(element) ? /* @__PURE__ */ jsx(Script, { ...element.props, strategy: "beforeInteractive" }, element.key) : /* @__PURE__ */ jsx(Head, { children: element }, isValidElement(element) ? element.key : i)
|
|
23
|
+
) });
|
|
20
24
|
}
|
|
21
25
|
export {
|
|
22
26
|
HeadSnippet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/pages-router/HeadSnippet.tsx"],"sourcesContent":["import { useEffect } from 'react'\n\nimport Head from 'next/head'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/pages-router/HeadSnippet.tsx"],"sourcesContent":["import { type ReactElement, useEffect, isValidElement } from 'react'\n\nimport Head from 'next/head'\nimport Script from 'next/script'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n snippetToElements,\n getSnippetElementsFromDOM,\n cleanUpSnippet,\n} from '../../../../runtimes/react/components/page/HeadSnippet'\n\nconst isScriptElement = (element: string | JSX.Element): element is ReactElement<any, 'script'> =>\n isValidElement(element) && element.type === 'script'\n\nexport function HeadSnippet({ snippet }: { snippet: Snippet }) {\n useEffect(() => {\n return () => {\n const snippetElements = getSnippetElementsFromDOM(snippet)\n if (snippetElements.length > 0) return\n cleanUpSnippet(snippet)\n }\n }, [snippet])\n\n const headSnippetElements = snippetToElements(snippet)\n\n return (\n <>\n {headSnippetElements.map((element, i) =>\n isScriptElement(element) ? (\n <Script key={element.key} {...element.props} strategy=\"beforeInteractive\" />\n ) : (\n <Head key={isValidElement(element) ? element.key : i}>{element}</Head>\n ),\n )}\n </>\n )\n}\n"],"mappings":"AA4BI,mBAGM,WAHN;AA5BJ,SAA4B,WAAW,sBAAsB;AAE7D,OAAO,UAAU;AACjB,OAAO,YAAY;AAInB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,kBAAkB,CAAC,YACvB,eAAe,OAAO,KAAK,QAAQ,SAAS;AAEvC,SAAS,YAAY,EAAE,QAAQ,GAAyB;AAC7D,YAAU,MAAM;AACd,WAAO,MAAM;AACX,YAAM,kBAAkB,0BAA0B,OAAO;AACzD,UAAI,gBAAgB,SAAS;AAAG;AAChC,qBAAe,OAAO;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,sBAAsB,kBAAkB,OAAO;AAErD,SACE,gCACG,8BAAoB;AAAA,IAAI,CAAC,SAAS,MACjC,gBAAgB,OAAO,IACrB,oBAAC,UAA0B,GAAG,QAAQ,OAAO,UAAS,uBAAzC,QAAQ,GAAqD,IAE1E,oBAAC,QAAsD,qBAA5C,eAAe,OAAO,IAAI,QAAQ,MAAM,CAAY;AAAA,EAEnE,GACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MakeswiftComponentType } from "../../../../components";
|
|
2
|
+
const pageDocument = {
|
|
3
|
+
id: "2222-2222-2222-2222",
|
|
4
|
+
site: {
|
|
5
|
+
id: "1111-1111-1111-1111"
|
|
6
|
+
},
|
|
7
|
+
data: {
|
|
8
|
+
type: MakeswiftComponentType.Root,
|
|
9
|
+
key: "0000-0000-0000-0000",
|
|
10
|
+
props: {}
|
|
11
|
+
},
|
|
12
|
+
snippets: [],
|
|
13
|
+
fonts: [],
|
|
14
|
+
localizedPages: [],
|
|
15
|
+
locale: null,
|
|
16
|
+
meta: {},
|
|
17
|
+
seo: {}
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
pageDocument
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=page-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/tests/__fixtures__/page-document.ts"],"sourcesContent":["import { type MakeswiftPageDocument } from '../../../../client'\nimport { MakeswiftComponentType } from '../../../../components'\n\nexport const pageDocument: MakeswiftPageDocument = {\n id: '2222-2222-2222-2222',\n site: {\n id: '1111-1111-1111-1111',\n },\n data: {\n type: MakeswiftComponentType.Root,\n key: '0000-0000-0000-0000',\n props: {},\n },\n snippets: [],\n fonts: [],\n localizedPages: [],\n locale: null,\n meta: {},\n seo: {},\n}\n"],"mappings":"AACA,SAAS,8BAA8B;AAEhC,MAAM,eAAsC;AAAA,EACjD,IAAI;AAAA,EACJ,MAAM;AAAA,IACJ,IAAI;AAAA,EACN;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,uBAAuB;AAAA,IAC7B,KAAK;AAAA,IACL,OAAO,CAAC;AAAA,EACV;AAAA,EACA,UAAU,CAAC;AAAA,EACX,OAAO,CAAC;AAAA,EACR,gBAAgB,CAAC;AAAA,EACjB,QAAQ;AAAA,EACR,MAAM,CAAC;AAAA,EACP,KAAK,CAAC;AACR;","names":[]}
|
|
@@ -21,15 +21,16 @@ function createRootComponent(elements, rootId) {
|
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
const isDocument = (elementDataOrDocument) => "snippets" in elementDataOrDocument || "fonts" in elementDataOrDocument || "meta" in elementDataOrDocument || "seo" in elementDataOrDocument;
|
|
25
|
+
function createMakeswiftPageSnapshot(elementDataOrDocument, {
|
|
25
26
|
cacheData = {},
|
|
26
27
|
locale = null
|
|
27
28
|
} = {}) {
|
|
28
29
|
return {
|
|
29
|
-
document: {
|
|
30
|
+
document: isDocument(elementDataOrDocument) ? elementDataOrDocument : {
|
|
30
31
|
id: "test-page-id",
|
|
31
32
|
site: { id: "test-site-id" },
|
|
32
|
-
data:
|
|
33
|
+
data: elementDataOrDocument,
|
|
33
34
|
snippets: [],
|
|
34
35
|
fonts: [],
|
|
35
36
|
meta: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/testing/element-data.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/element-data.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\n\nimport {\n type MakeswiftPageSnapshot,\n type MakeswiftPageDocument,\n type MakeswiftComponentSnapshot,\n} from '../../client'\nimport { CacheData } from '../../api/react'\nimport { type ElementData } from '../../state/react-page'\nimport { MakeswiftComponentType } from '../../components'\n\nexport function createRootComponent(elements: ElementData[], rootId?: string) {\n return {\n key: rootId ?? randomUUID(),\n type: MakeswiftComponentType.Root,\n props: {\n children: {\n columns: [\n {\n deviceId: 'desktop',\n value: {\n count: 12,\n spans: elements?.map(() => [12]),\n },\n },\n ],\n elements,\n },\n },\n }\n}\n\nconst isDocument = (\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n): elementDataOrDocument is MakeswiftPageDocument =>\n 'snippets' in elementDataOrDocument ||\n 'fonts' in elementDataOrDocument ||\n 'meta' in elementDataOrDocument ||\n 'seo' in elementDataOrDocument\n\nexport function createMakeswiftPageSnapshot(\n elementDataOrDocument: ElementData | MakeswiftPageDocument,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftPageSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftPageSnapshot {\n return {\n document: isDocument(elementDataOrDocument)\n ? elementDataOrDocument\n : {\n id: 'test-page-id',\n site: { id: 'test-site-id' },\n data: elementDataOrDocument,\n snippets: [],\n fonts: [],\n meta: {},\n seo: {},\n localizedPages: [],\n locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n\nexport function createMakeswiftComponentSnapshot(\n elementData: ElementData,\n {\n cacheData = {},\n locale = null,\n }: { cacheData?: Partial<MakeswiftComponentSnapshot['cacheData']>; locale?: string | null } = {},\n): MakeswiftComponentSnapshot {\n return {\n key: randomUUID(),\n document: {\n id: 'test-component-id',\n name: 'Test Component Document',\n siteId: 'test-site-id',\n data: elementData,\n inheritsFromParent: false,\n locale,\n },\n meta: {\n allowLocaleFallback: false,\n requestedLocale: locale,\n },\n cacheData: {\n ...CacheData.empty(),\n ...cacheData,\n },\n }\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAO3B,SAAS,iBAAiB;AAE1B,SAAS,8BAA8B;AAEhC,SAAS,oBAAoB,UAAyB,QAAiB;AAC5E,SAAO;AAAA,IACL,KAAK,UAAU,WAAW;AAAA,IAC1B,MAAM,uBAAuB;AAAA,IAC7B,OAAO;AAAA,MACL,UAAU;AAAA,QACR,SAAS;AAAA,UACP;AAAA,YACE,UAAU;AAAA,YACV,OAAO;AAAA,cACL,OAAO;AAAA,cACP,OAAO,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;AAAA,YACjC;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,aAAa,CACjB,0BAEA,cAAc,yBACd,WAAW,yBACX,UAAU,yBACV,SAAS;AAEJ,SAAS,4BACd,uBACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAAyF,CAAC,GACnE;AACvB,SAAO;AAAA,IACL,UAAU,WAAW,qBAAqB,IACtC,wBACA;AAAA,MACE,IAAI;AAAA,MACJ,MAAM,EAAE,IAAI,eAAe;AAAA,MAC3B,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,OAAO,CAAC;AAAA,MACR,MAAM,CAAC;AAAA,MACP,KAAK,CAAC;AAAA,MACN,gBAAgB,CAAC;AAAA,MACjB;AAAA,IACF;AAAA,IACJ,WAAW;AAAA,MACT,GAAG,UAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;AAEO,SAAS,iCACd,aACA;AAAA,EACE,YAAY,CAAC;AAAA,EACb,SAAS;AACX,IAA8F,CAAC,GACnE;AAC5B,SAAO;AAAA,IACL,KAAK,WAAW;AAAA,IAChB,UAAU;AAAA,MACR,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,oBAAoB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,MACT,GAAG,UAAU,MAAM;AAAA,MACnB,GAAG;AAAA,IACL;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/testing/index.ts"],"sourcesContent":["export * from './breakpoints'\nexport * from './element-data'\nexport * from './react-provider'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/index.ts"],"sourcesContent":["export * from './breakpoints'\nexport * from './element-data'\nexport * from './react-provider'\nexport * from './page-rendering'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import "@testing-library/jest-dom";
|
|
3
|
+
import { act } from "react-dom/test-utils";
|
|
4
|
+
import { render } from "@testing-library/react";
|
|
5
|
+
import { ReactRuntime } from "../../runtimes/react/react-runtime";
|
|
6
|
+
import { MakeswiftComponentType } from "../../components";
|
|
7
|
+
import { Page as MakeswiftPage } from "../components/page";
|
|
8
|
+
import { ReactProvider } from "./react-provider";
|
|
9
|
+
async function testMakeswiftPageHeadRendering(props, { forcePagesRouter = false } = {}) {
|
|
10
|
+
const runtime = new ReactRuntime();
|
|
11
|
+
runtime.registerComponent(() => /* @__PURE__ */ jsx(Fragment, {}), {
|
|
12
|
+
type: MakeswiftComponentType.Root,
|
|
13
|
+
label: "Root",
|
|
14
|
+
props: {}
|
|
15
|
+
});
|
|
16
|
+
return await act(
|
|
17
|
+
async () => render(
|
|
18
|
+
/* @__PURE__ */ jsx(ReactProvider, { runtime, previewMode: false, forcePagesRouter, children: /* @__PURE__ */ jsx(MakeswiftPage, { ...props }) }),
|
|
19
|
+
{
|
|
20
|
+
container: document.body.appendChild(document.createElement("head"))
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
testMakeswiftPageHeadRendering
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=page-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/page-rendering.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef } from 'react'\n\nimport '@testing-library/jest-dom'\nimport { act } from 'react-dom/test-utils'\nimport { render } from '@testing-library/react'\n\nimport { ReactRuntime } from '../../runtimes/react/react-runtime'\nimport { MakeswiftComponentType } from '../../components'\n\nimport { Page as MakeswiftPage } from '../components/page'\n\nimport { ReactProvider } from './react-provider'\n\nexport async function testMakeswiftPageHeadRendering(\n props: ComponentPropsWithoutRef<typeof MakeswiftPage>,\n { forcePagesRouter = false }: { forcePagesRouter?: boolean } = {},\n) {\n const runtime = new ReactRuntime()\n\n runtime.registerComponent(() => <></>, {\n type: MakeswiftComponentType.Root,\n label: 'Root',\n props: {},\n })\n\n return await act(async () =>\n render(\n <ReactProvider runtime={runtime} previewMode={false} forcePagesRouter={forcePagesRouter}>\n <MakeswiftPage {...props} />\n </ReactProvider>,\n {\n container: document.body.appendChild(document.createElement('head')),\n },\n ),\n )\n}\n"],"mappings":"AAmBkC;AAjBlC,OAAO;AACP,SAAS,WAAW;AACpB,SAAS,cAAc;AAEvB,SAAS,oBAAoB;AAC7B,SAAS,8BAA8B;AAEvC,SAAS,QAAQ,qBAAqB;AAEtC,SAAS,qBAAqB;AAE9B,eAAsB,+BACpB,OACA,EAAE,mBAAmB,MAAM,IAAoC,CAAC,GAChE;AACA,QAAM,UAAU,IAAI,aAAa;AAEjC,UAAQ,kBAAkB,MAAM,gCAAE,GAAK;AAAA,IACrC,MAAM,uBAAuB;AAAA,IAC7B,OAAO;AAAA,IACP,OAAO,CAAC;AAAA,EACV,CAAC;AAED,SAAO,MAAM;AAAA,IAAI,YACf;AAAA,MACE,oBAAC,iBAAc,SAAkB,aAAa,OAAO,kBACnD,8BAAC,iBAAe,GAAG,OAAO,GAC5B;AAAA,MACA;AAAA,QACE,WAAW,SAAS,KAAK,YAAY,SAAS,cAAc,MAAM,CAAC;AAAA,MACrE;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { RuntimeProvider } from "../../runtimes/react/components/RuntimeProvider";
|
|
3
|
+
import { FrameworkProvider } from "../components/framework-provider";
|
|
2
4
|
import { RootStyleRegistry } from "../root-style-registry";
|
|
3
|
-
import { NextRuntimeProvider } from "../runtime-provider";
|
|
4
5
|
function ReactProvider({
|
|
5
6
|
children,
|
|
6
7
|
runtime,
|
|
7
|
-
previewMode = false
|
|
8
|
+
previewMode = false,
|
|
9
|
+
forcePagesRouter = false
|
|
8
10
|
}) {
|
|
9
|
-
return /* @__PURE__ */ jsx(
|
|
11
|
+
return /* @__PURE__ */ jsx(FrameworkProvider, { forcePagesRouter, children: /* @__PURE__ */ jsx(RuntimeProvider, { previewMode, runtime, children: /* @__PURE__ */ jsx(RootStyleRegistry, { children }) }) });
|
|
10
12
|
}
|
|
11
13
|
export {
|
|
12
14
|
ReactProvider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/testing/react-provider.tsx"],"sourcesContent":["import { ReactRuntime } from '../../runtimes/react/react-runtime'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/testing/react-provider.tsx"],"sourcesContent":["import { ReactRuntime } from '../../runtimes/react/react-runtime'\nimport { RuntimeProvider } from '../../runtimes/react/components/RuntimeProvider'\n\nimport { FrameworkProvider } from '../components/framework-provider'\nimport { RootStyleRegistry } from '../root-style-registry'\n\nexport function ReactProvider({\n children,\n runtime,\n previewMode = false,\n forcePagesRouter = false,\n}: {\n children: React.ReactNode\n runtime: ReactRuntime\n previewMode?: boolean\n forcePagesRouter?: boolean\n}) {\n return (\n <FrameworkProvider forcePagesRouter={forcePagesRouter}>\n <RuntimeProvider previewMode={previewMode} runtime={runtime}>\n <RootStyleRegistry>{children}</RootStyleRegistry>\n </RuntimeProvider>\n </FrameworkProvider>\n )\n}\n"],"mappings":"AAoBQ;AAnBR,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAClC,SAAS,yBAAyB;AAE3B,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AACrB,GAKG;AACD,SACE,oBAAC,qBAAkB,kBACjB,8BAAC,mBAAgB,aAA0B,SACzC,8BAAC,qBAAmB,UAAS,GAC/B,GACF;AAEJ;","names":[]}
|
|
@@ -21,7 +21,7 @@ const VALID_HEAD_ELEMENT_TYPES = [
|
|
|
21
21
|
"noscript",
|
|
22
22
|
"template"
|
|
23
23
|
];
|
|
24
|
-
function
|
|
24
|
+
function snippetToElements(snippet) {
|
|
25
25
|
return Children.map(parse(snippet.code), (element) => {
|
|
26
26
|
if (typeof element === "string")
|
|
27
27
|
return element;
|
|
@@ -75,6 +75,6 @@ export {
|
|
|
75
75
|
cleanUpSnippet,
|
|
76
76
|
getSnippetElementsFromDOM,
|
|
77
77
|
renderSnippetAndExecuteScripts,
|
|
78
|
-
|
|
78
|
+
snippetToElements
|
|
79
79
|
};
|
|
80
80
|
//# sourceMappingURL=HeadSnippet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/runtimes/react/components/page/HeadSnippet.tsx"],"sourcesContent":["import { Children, createElement, useEffect } from 'react'\nimport parse from 'html-react-parser'\n\nimport { type Snippet } from '../../../../client'\n\nexport function BaseHeadSnippet({ snippet }: { snippet: Snippet }) {\n useEffect(() => {\n const snippetElements = getSnippetElementsFromDOM(snippet)\n const isAlreadyInTheDOM = snippetElements.length > 0\n\n if (isAlreadyInTheDOM) return\n\n return renderSnippetAndExecuteScripts(snippet, window.document.head)\n }, [snippet])\n\n return null\n}\n\nconst SNIPPET_ID_ATRIBUTE_NAME = 'data-makeswift-snippet-id'\n\nconst VALID_HEAD_ELEMENT_TYPES = [\n 'title',\n 'base',\n 'link',\n 'style',\n 'meta',\n 'script',\n 'noscript',\n 'template',\n]\n\nexport function
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/components/page/HeadSnippet.tsx"],"sourcesContent":["import { Children, createElement, useEffect } from 'react'\nimport parse from 'html-react-parser'\n\nimport { type Snippet } from '../../../../client'\n\nexport function BaseHeadSnippet({ snippet }: { snippet: Snippet }) {\n useEffect(() => {\n const snippetElements = getSnippetElementsFromDOM(snippet)\n const isAlreadyInTheDOM = snippetElements.length > 0\n\n if (isAlreadyInTheDOM) return\n\n return renderSnippetAndExecuteScripts(snippet, window.document.head)\n }, [snippet])\n\n return null\n}\n\nconst SNIPPET_ID_ATRIBUTE_NAME = 'data-makeswift-snippet-id'\n\nconst VALID_HEAD_ELEMENT_TYPES = [\n 'title',\n 'base',\n 'link',\n 'style',\n 'meta',\n 'script',\n 'noscript',\n 'template',\n]\n\nexport function snippetToElements(snippet: Pick<Snippet, 'id' | 'code'>): (string | JSX.Element)[] {\n return Children.map(parse(snippet.code), element => {\n if (typeof element === 'string') return element\n\n if (!VALID_HEAD_ELEMENT_TYPES.includes(element.type as string)) return null\n\n const key = element.key ? `${snippet.id}:${element.key}` : snippet.id\n\n return createElement(element.type, {\n ...element.props,\n key,\n [SNIPPET_ID_ATRIBUTE_NAME]: snippet.id,\n })\n })\n}\n\nexport function renderSnippetAndExecuteScripts(\n snippet: Snippet,\n container: HTMLElement,\n): () => void {\n const virtualContainer = container.ownerDocument.createElement(container.tagName)\n\n virtualContainer.innerHTML = snippet.code\n\n const elements = Array.from(virtualContainer.querySelectorAll('*'))\n const scripts = elements.filter(el => el instanceof HTMLScriptElement)\n\n scripts.forEach(script => {\n const clone = script.ownerDocument.createElement(script.tagName)\n\n clone.textContent = script.textContent\n Array.from(script.attributes).forEach(({ name, value }) => {\n clone.setAttribute(name, value)\n })\n clone.setAttribute(SNIPPET_ID_ATRIBUTE_NAME, snippet.id)\n script.parentNode?.replaceChild(clone, script)\n })\n\n const nodes = Array.from(virtualContainer.childNodes)\n container.append(...nodes)\n\n return () => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node)\n })\n\n cleanUpSnippet(snippet)\n }\n}\n\nexport function cleanUpSnippet(snippet: Snippet): void {\n if (snippet.cleanup == null) return\n try {\n const cleanUp = new Function(snippet.cleanup)\n cleanUp()\n } catch {\n // Ignore errors from user input.\n }\n}\n\nexport function getSnippetElementsFromDOM(snippet: Snippet) {\n return document.head.querySelectorAll(`[${SNIPPET_ID_ATRIBUTE_NAME}=\"${snippet.id}\"]`)\n}\n"],"mappings":"AAAA,SAAS,UAAU,eAAe,iBAAiB;AACnD,OAAO,WAAW;AAIX,SAAS,gBAAgB,EAAE,QAAQ,GAAyB;AACjE,YAAU,MAAM;AACd,UAAM,kBAAkB,0BAA0B,OAAO;AACzD,UAAM,oBAAoB,gBAAgB,SAAS;AAEnD,QAAI;AAAmB;AAEvB,WAAO,+BAA+B,SAAS,OAAO,SAAS,IAAI;AAAA,EACrE,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO;AACT;AAEA,MAAM,2BAA2B;AAEjC,MAAM,2BAA2B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,kBAAkB,SAAiE;AACjG,SAAO,SAAS,IAAI,MAAM,QAAQ,IAAI,GAAG,aAAW;AAClD,QAAI,OAAO,YAAY;AAAU,aAAO;AAExC,QAAI,CAAC,yBAAyB,SAAS,QAAQ,IAAc;AAAG,aAAO;AAEvE,UAAM,MAAM,QAAQ,MAAM,GAAG,QAAQ,EAAE,IAAI,QAAQ,GAAG,KAAK,QAAQ;AAEnE,WAAO,cAAc,QAAQ,MAAM;AAAA,MACjC,GAAG,QAAQ;AAAA,MACX;AAAA,MACA,CAAC,wBAAwB,GAAG,QAAQ;AAAA,IACtC,CAAC;AAAA,EACH,CAAC;AACH;AAEO,SAAS,+BACd,SACA,WACY;AACZ,QAAM,mBAAmB,UAAU,cAAc,cAAc,UAAU,OAAO;AAEhF,mBAAiB,YAAY,QAAQ;AAErC,QAAM,WAAW,MAAM,KAAK,iBAAiB,iBAAiB,GAAG,CAAC;AAClE,QAAM,UAAU,SAAS,OAAO,QAAM,cAAc,iBAAiB;AAErE,UAAQ,QAAQ,YAAU;AACxB,UAAM,QAAQ,OAAO,cAAc,cAAc,OAAO,OAAO;AAE/D,UAAM,cAAc,OAAO;AAC3B,UAAM,KAAK,OAAO,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,MAAM,MAAM;AACzD,YAAM,aAAa,MAAM,KAAK;AAAA,IAChC,CAAC;AACD,UAAM,aAAa,0BAA0B,QAAQ,EAAE;AACvD,WAAO,YAAY,aAAa,OAAO,MAAM;AAAA,EAC/C,CAAC;AAED,QAAM,QAAQ,MAAM,KAAK,iBAAiB,UAAU;AACpD,YAAU,OAAO,GAAG,KAAK;AAEzB,SAAO,MAAM;AACX,UAAM,QAAQ,UAAQ;AACpB,WAAK,YAAY,YAAY,IAAI;AAAA,IACnC,CAAC;AAED,mBAAe,OAAO;AAAA,EACxB;AACF;AAEO,SAAS,eAAe,SAAwB;AACrD,MAAI,QAAQ,WAAW;AAAM;AAC7B,MAAI;AACF,UAAM,UAAU,IAAI,SAAS,QAAQ,OAAO;AAC5C,YAAQ;AAAA,EACV,QAAQ;AAAA,EAER;AACF;AAEO,SAAS,0BAA0B,SAAkB;AAC1D,SAAO,SAAS,KAAK,iBAAiB,IAAI,wBAAwB,KAAK,QAAQ,EAAE,IAAI;AACvF;","names":[]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { type PropsWithChildren } from 'react';
|
|
2
|
-
export declare function FrameworkProvider({ children }: PropsWithChildren
|
|
2
|
+
export declare function FrameworkProvider({ children, forcePagesRouter, }: PropsWithChildren<{
|
|
3
|
+
forcePagesRouter?: boolean;
|
|
4
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/framework-provider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAOvD,wBAAgB,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/framework-provider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAOvD,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,gBAAgB,GACjB,EAAE,iBAAiB,CAAC;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,2CAQnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadSnippet.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/framework-provider/pages-router/HeadSnippet.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeadSnippet.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/framework-provider/pages-router/HeadSnippet.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAWjD,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,2CAsB5D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-document.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/tests/__fixtures__/page-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG/D,eAAO,MAAM,YAAY,EAAE,qBAgB1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeswift-page-snippets-rendering.test.d.ts","sourceRoot":"","sources":["../../../../../src/next/components/tests/makeswift-page-snippets-rendering.test.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,2BAA2B,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type MakeswiftPageSnapshot, type MakeswiftComponentSnapshot } from '../../client';
|
|
1
|
+
import { type MakeswiftPageSnapshot, type MakeswiftPageDocument, type MakeswiftComponentSnapshot } from '../../client';
|
|
2
2
|
import { type ElementData } from '../../state/react-page';
|
|
3
3
|
export declare function createRootComponent(elements: ElementData[], rootId?: string): {
|
|
4
4
|
key: string;
|
|
@@ -44,7 +44,7 @@ export declare function createRootComponent(elements: ElementData[], rootId?: st
|
|
|
44
44
|
};
|
|
45
45
|
};
|
|
46
46
|
};
|
|
47
|
-
export declare function createMakeswiftPageSnapshot(
|
|
47
|
+
export declare function createMakeswiftPageSnapshot(elementDataOrDocument: ElementData | MakeswiftPageDocument, { cacheData, locale, }?: {
|
|
48
48
|
cacheData?: Partial<MakeswiftPageSnapshot['cacheData']>;
|
|
49
49
|
locale?: string | null;
|
|
50
50
|
}): MakeswiftPageSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-data.d.ts","sourceRoot":"","sources":["../../../../src/next/testing/element-data.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"element-data.d.ts","sourceRoot":"","sources":["../../../../src/next/testing/element-data.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAChC,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGzD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB3E;AAUD,wBAAgB,2BAA2B,CACzC,qBAAqB,EAAE,WAAW,GAAG,qBAAqB,EAC1D,EACE,SAAc,EACd,MAAa,GACd,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC1F,qBAAqB,CAoBvB;AAED,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,WAAW,EACxB,EACE,SAAc,EACd,MAAa,GACd,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/F,0BAA0B,CAoB5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/next/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/next/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { Page as MakeswiftPage } from '../components/page';
|
|
4
|
+
export declare function testMakeswiftPageHeadRendering(props: ComponentPropsWithoutRef<typeof MakeswiftPage>, { forcePagesRouter }?: {
|
|
5
|
+
forcePagesRouter?: boolean;
|
|
6
|
+
}): Promise<import("@testing-library/react").RenderResult<import("@testing-library/react").Queries, HTMLHeadElement, HTMLHeadElement>>;
|
|
7
|
+
//# sourceMappingURL=page-rendering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-rendering.d.ts","sourceRoot":"","sources":["../../../../src/next/testing/page-rendering.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAErD,OAAO,2BAA2B,CAAA;AAOlC,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAI1D,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,wBAAwB,CAAC,OAAO,aAAa,CAAC,EACrD,EAAE,gBAAwB,EAAE,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,sIAoBlE"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ReactRuntime } from '../../runtimes/react/react-runtime';
|
|
3
|
-
export declare function ReactProvider({ children, runtime, previewMode, }: {
|
|
3
|
+
export declare function ReactProvider({ children, runtime, previewMode, forcePagesRouter, }: {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
runtime: ReactRuntime;
|
|
6
6
|
previewMode?: boolean;
|
|
7
|
+
forcePagesRouter?: boolean;
|
|
7
8
|
}): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
//# sourceMappingURL=react-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-provider.d.ts","sourceRoot":"","sources":["../../../../src/next/testing/react-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"react-provider.d.ts","sourceRoot":"","sources":["../../../../src/next/testing/react-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAMjE,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,WAAmB,EACnB,gBAAwB,GACzB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,2CAQA"}
|
|
@@ -3,7 +3,7 @@ import { type Snippet } from '../../../../client';
|
|
|
3
3
|
export declare function BaseHeadSnippet({ snippet }: {
|
|
4
4
|
snippet: Snippet;
|
|
5
5
|
}): null;
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function snippetToElements(snippet: Pick<Snippet, 'id' | 'code'>): (string | JSX.Element)[];
|
|
7
7
|
export declare function renderSnippetAndExecuteScripts(snippet: Snippet, container: HTMLElement): () => void;
|
|
8
8
|
export declare function cleanUpSnippet(snippet: Snippet): void;
|
|
9
9
|
export declare function getSnippetElementsFromDOM(snippet: Snippet): NodeListOf<Element>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadSnippet.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/components/page/HeadSnippet.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEjD,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,QAWhE;AAeD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"HeadSnippet.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/components/page/HeadSnippet.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEjD,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,QAWhE;AAeD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAcjG;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,WAAW,GACrB,MAAM,IAAI,CA6BZ;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQrD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,uBAEzD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@makeswift/runtime",
|
|
3
|
-
"version": "0.25.0-canary.
|
|
3
|
+
"version": "0.25.0-canary.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -173,8 +173,8 @@
|
|
|
173
173
|
"use-sync-external-store": "^1.0.0-rc.0",
|
|
174
174
|
"uuid": "^9.0.0",
|
|
175
175
|
"zod": "^3.21.4",
|
|
176
|
-
"@makeswift/controls": "0.1.12",
|
|
177
176
|
"@makeswift/next-plugin": "0.4.1",
|
|
177
|
+
"@makeswift/controls": "0.1.12",
|
|
178
178
|
"@makeswift/prop-controllers": "0.4.6-canary.1"
|
|
179
179
|
},
|
|
180
180
|
"devDependencies": {
|