@makeswift/react-router 0.0.0-snapshot-20250829013357
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/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/cjs/api-handler.js +61 -0
- package/dist/cjs/api-handler.js.map +1 -0
- package/dist/cjs/client.js +34 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/components/framework-provider/index.js +42 -0
- package/dist/cjs/components/framework-provider/index.js.map +1 -0
- package/dist/cjs/components/framework-provider/link.js +38 -0
- package/dist/cjs/components/framework-provider/link.js.map +1 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/root-style-registry.js +39 -0
- package/dist/cjs/root-style-registry.js.map +1 -0
- package/dist/cjs/runtime-provider.js +37 -0
- package/dist/cjs/runtime-provider.js.map +1 -0
- package/dist/cjs/server/index.js +35 -0
- package/dist/cjs/server/index.js.map +1 -0
- package/dist/cjs/server/preview.js +67 -0
- package/dist/cjs/server/preview.js.map +1 -0
- package/dist/cjs/server/render.js +95 -0
- package/dist/cjs/server/render.js.map +1 -0
- package/dist/cjs/server/site-version.js +37 -0
- package/dist/cjs/server/site-version.js.map +1 -0
- package/dist/esm/api-handler.js +39 -0
- package/dist/esm/api-handler.js.map +1 -0
- package/dist/esm/client.js +10 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/components/framework-provider/index.js +24 -0
- package/dist/esm/components/framework-provider/index.js.map +1 -0
- package/dist/esm/components/framework-provider/link.js +14 -0
- package/dist/esm/components/framework-provider/link.js.map +1 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/root-style-registry.js +18 -0
- package/dist/esm/root-style-registry.js.map +1 -0
- package/dist/esm/runtime-provider.js +13 -0
- package/dist/esm/runtime-provider.js.map +1 -0
- package/dist/esm/server/index.js +9 -0
- package/dist/esm/server/index.js.map +1 -0
- package/dist/esm/server/preview.js +51 -0
- package/dist/esm/server/preview.js.map +1 -0
- package/dist/esm/server/render.js +75 -0
- package/dist/esm/server/render.js.map +1 -0
- package/dist/esm/server/site-version.js +15 -0
- package/dist/esm/server/site-version.js.map +1 -0
- package/dist/types/api-handler.d.ts +14 -0
- package/dist/types/api-handler.d.ts.map +1 -0
- package/dist/types/client.d.ts +5 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/components/framework-provider/index.d.ts +3 -0
- package/dist/types/components/framework-provider/index.d.ts.map +1 -0
- package/dist/types/components/framework-provider/link.d.ts +2 -0
- package/dist/types/components/framework-provider/link.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/root-style-registry.d.ts +4 -0
- package/dist/types/root-style-registry.d.ts.map +1 -0
- package/dist/types/runtime-provider.d.ts +4 -0
- package/dist/types/runtime-provider.d.ts.map +1 -0
- package/dist/types/server/index.d.ts +4 -0
- package/dist/types/server/index.d.ts.map +1 -0
- package/dist/types/server/preview.d.ts +11 -0
- package/dist/types/server/preview.d.ts.map +1 -0
- package/dist/types/server/render.d.ts +9 -0
- package/dist/types/server/render.d.ts.map +1 -0
- package/dist/types/server/site-version.d.ts +3 -0
- package/dist/types/server/site-version.d.ts.map +1 -0
- package/package.json +66 -0
- package/server/package.json +5 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createApiHandler as createMakeswiftApiHandler
|
|
3
|
+
} from "@makeswift/runtime/unstable-framework-support";
|
|
4
|
+
import { Makeswift as MakeswiftClient } from "./client";
|
|
5
|
+
import { siteVersionCookie } from "./server/preview";
|
|
6
|
+
function validateApiRoute(params) {
|
|
7
|
+
const route = decodeURIComponent(params["*"] ?? "");
|
|
8
|
+
if (route.includes("/api/") || route.includes("/makeswift/")) {
|
|
9
|
+
throw new Error(
|
|
10
|
+
`Unexpected API route '${route}'. Please make sure the Makeswift API handler is invoked from a nested catch-all route named 'api.makeswift.$.ts'`
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
return `/${route}`;
|
|
14
|
+
}
|
|
15
|
+
async function revalidationHandler(path) {
|
|
16
|
+
if (path != null) {
|
|
17
|
+
} else {
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function createApiHandler(apiKey, { apiOrigin, runtime, ...userConfig }) {
|
|
21
|
+
const client = new MakeswiftClient(apiKey, { apiOrigin, runtime });
|
|
22
|
+
return {
|
|
23
|
+
async loader({ request, params }) {
|
|
24
|
+
const route = validateApiRoute(params);
|
|
25
|
+
const apiHandler = createMakeswiftApiHandler(apiKey, {
|
|
26
|
+
...userConfig,
|
|
27
|
+
runtime,
|
|
28
|
+
client,
|
|
29
|
+
revalidationHandler,
|
|
30
|
+
previewCookieNames: [siteVersionCookie.name]
|
|
31
|
+
});
|
|
32
|
+
return await apiHandler(request, route);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
createApiHandler
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=api-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api-handler.ts"],"sourcesContent":["import {\n type ApiHandlerUserConfig,\n createApiHandler as createMakeswiftApiHandler,\n} from '@makeswift/runtime/unstable-framework-support'\n\nimport { Makeswift as MakeswiftClient } from './client'\nimport { siteVersionCookie } from './server/preview'\n\nfunction validateApiRoute(params: Record<string, string>): string {\n const route = decodeURIComponent(params['*'] ?? '')\n if (route.includes('/api/') || route.includes('/makeswift/')) {\n throw new Error(\n `Unexpected API route '${route}'. Please make sure the Makeswift API handler is invoked from a nested catch-all route named 'api.makeswift.$.ts'`,\n )\n }\n\n return `/${route}`\n}\n\nasync function revalidationHandler(path?: string): Promise<void> {\n if (path != null) {\n // revalidate a specific path\n } else {\n // revalidate the entire site\n }\n}\n\nexport function createApiHandler(\n apiKey: string,\n { apiOrigin, runtime, ...userConfig }: ApiHandlerUserConfig,\n) {\n const client = new MakeswiftClient(apiKey, { apiOrigin, runtime })\n\n return {\n async loader({ request, params }: { request: Request; params: Record<string, string> }) {\n const route = validateApiRoute(params)\n\n const apiHandler = createMakeswiftApiHandler(apiKey, {\n ...userConfig,\n runtime,\n client,\n revalidationHandler,\n previewCookieNames: [siteVersionCookie.name],\n })\n\n return await apiHandler(request, route)\n },\n }\n}\n"],"mappings":"AAAA;AAAA,EAEE,oBAAoB;AAAA,OACf;AAEP,SAAS,aAAa,uBAAuB;AAC7C,SAAS,yBAAyB;AAElC,SAAS,iBAAiB,QAAwC;AAChE,QAAM,QAAQ,mBAAmB,OAAO,GAAG,KAAK,EAAE;AAClD,MAAI,MAAM,SAAS,OAAO,KAAK,MAAM,SAAS,aAAa,GAAG;AAC5D,UAAM,IAAI;AAAA,MACR,yBAAyB,KAAK;AAAA,IAChC;AAAA,EACF;AAEA,SAAO,IAAI,KAAK;AAClB;AAEA,eAAe,oBAAoB,MAA8B;AAC/D,MAAI,QAAQ,MAAM;AAAA,EAElB,OAAO;AAAA,EAEP;AACF;AAEO,SAAS,iBACd,QACA,EAAE,WAAW,SAAS,GAAG,WAAW,GACpC;AACA,QAAM,SAAS,IAAI,gBAAgB,QAAQ,EAAE,WAAW,QAAQ,CAAC;AAEjE,SAAO;AAAA,IACL,MAAM,OAAO,EAAE,SAAS,OAAO,GAAyD;AACtF,YAAM,QAAQ,iBAAiB,MAAM;AAErC,YAAM,aAAa,0BAA0B,QAAQ;AAAA,QACnD,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA,oBAAoB,CAAC,kBAAkB,IAAI;AAAA,MAC7C,CAAC;AAED,aAAO,MAAM,WAAW,SAAS,KAAK;AAAA,IACxC;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/client.ts"],"sourcesContent":["import { type SiteVersion, MakeswiftClient } from '@makeswift/runtime/unstable-framework-support'\n\nexport class Makeswift extends MakeswiftClient {\n fetchOptions(_siteVersion: SiteVersion | null): Record<string, unknown> {\n return {}\n }\n}\n"],"mappings":"AAAA,SAA2B,uBAAuB;AAE3C,MAAM,kBAAkB,gBAAgB;AAAA,EAC7C,aAAa,cAA2D;AACtE,WAAO,CAAC;AAAA,EACV;AACF;","names":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import {
|
|
4
|
+
FrameworkContext,
|
|
5
|
+
DefaultHead,
|
|
6
|
+
DefaultHeadSnippet,
|
|
7
|
+
DefaultImage,
|
|
8
|
+
versionedFetch
|
|
9
|
+
} from "@makeswift/runtime/unstable-framework-support";
|
|
10
|
+
import { Link } from "./link";
|
|
11
|
+
function FrameworkProvider({ children }) {
|
|
12
|
+
const [context] = useState({
|
|
13
|
+
Head: DefaultHead,
|
|
14
|
+
HeadSnippet: DefaultHeadSnippet,
|
|
15
|
+
Image: DefaultImage,
|
|
16
|
+
Link,
|
|
17
|
+
versionedFetch
|
|
18
|
+
});
|
|
19
|
+
return /* @__PURE__ */ jsx(FrameworkContext.Provider, { value: context, children });
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
FrameworkProvider
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/framework-provider/index.tsx"],"sourcesContent":["import { type PropsWithChildren, useState } from 'react'\n\nimport {\n FrameworkContext,\n DefaultHead,\n DefaultHeadSnippet,\n DefaultImage,\n versionedFetch,\n} from '@makeswift/runtime/unstable-framework-support'\n\nimport { Link } from './link'\n\nexport function FrameworkProvider({ children }: PropsWithChildren) {\n const [context] = useState<FrameworkContext>({\n Head: DefaultHead,\n HeadSnippet: DefaultHeadSnippet,\n Image: DefaultImage,\n Link,\n versionedFetch,\n })\n\n return <FrameworkContext.Provider value={context}>{children}</FrameworkContext.Provider>\n}\n"],"mappings":"AAqBS;AArBT,SAAiC,gBAAgB;AAEjD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,YAAY;AAEd,SAAS,kBAAkB,EAAE,SAAS,GAAsB;AACjE,QAAM,CAAC,OAAO,IAAI,SAA2B;AAAA,IAC3C,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,SAAU,UAAS;AAC9D;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { Link as RRLink } from "react-router";
|
|
4
|
+
const Link = forwardRef(function Link2({ linkType, href, ...props }, ref) {
|
|
5
|
+
const useRRLink = href != null && linkType === "OPEN_PAGE";
|
|
6
|
+
if (useRRLink) {
|
|
7
|
+
return /* @__PURE__ */ jsx(RRLink, { ...props, ref, to: href, prefetch: "intent" });
|
|
8
|
+
}
|
|
9
|
+
return /* @__PURE__ */ jsx("a", { ...props, ref, href });
|
|
10
|
+
});
|
|
11
|
+
export {
|
|
12
|
+
Link
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/framework-provider/link.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, forwardRef } from 'react'\nimport { Link as RRLink } from 'react-router'\n\nimport { type FrameworkContext } from '@makeswift/runtime/unstable-framework-support'\n\nexport const Link = forwardRef<HTMLAnchorElement>(function Link(\n { linkType, href, ...props }: ComponentPropsWithoutRef<FrameworkContext['Link']>,\n ref,\n) {\n const useRRLink = href != null && linkType === 'OPEN_PAGE'\n if (useRRLink) {\n return <RRLink {...props} ref={ref} to={href} prefetch=\"intent\" />\n }\n\n return <a {...props} ref={ref} href={href} />\n})\n"],"mappings":"AAWW;AAXX,SAAwC,kBAAkB;AAC1D,SAAS,QAAQ,cAAc;AAIxB,MAAM,OAAO,WAA8B,SAASA,MACzD,EAAE,UAAU,MAAM,GAAG,MAAM,GAC3B,KACA;AACA,QAAM,YAAY,QAAQ,QAAQ,aAAa;AAC/C,MAAI,WAAW;AACb,WAAO,oBAAC,UAAQ,GAAG,OAAO,KAAU,IAAI,MAAM,UAAS,UAAS;AAAA,EAClE;AAEA,SAAO,oBAAC,OAAG,GAAG,OAAO,KAAU,MAAY;AAC7C,CAAC;","names":["Link"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Page,
|
|
3
|
+
MakeswiftComponent,
|
|
4
|
+
Slot,
|
|
5
|
+
ReactRuntime
|
|
6
|
+
} from "@makeswift/runtime/unstable-framework-support";
|
|
7
|
+
import { Makeswift } from "./client";
|
|
8
|
+
import { createApiHandler } from "./api-handler";
|
|
9
|
+
import { RemixRuntimeProvider } from "./runtime-provider";
|
|
10
|
+
import { RemixRootStyleRegistry } from "./root-style-registry";
|
|
11
|
+
export {
|
|
12
|
+
Makeswift,
|
|
13
|
+
MakeswiftComponent,
|
|
14
|
+
Page,
|
|
15
|
+
ReactRuntime,
|
|
16
|
+
RemixRuntimeProvider as ReactRuntimeProvider,
|
|
17
|
+
RemixRootStyleRegistry as RootStyleRegistry,
|
|
18
|
+
Slot,
|
|
19
|
+
createApiHandler
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export {\n type SiteVersion,\n Page,\n MakeswiftComponent,\n Slot,\n ReactRuntime,\n} from '@makeswift/runtime/unstable-framework-support'\n\nexport { Makeswift } from './client'\nexport { createApiHandler } from './api-handler'\nexport { RemixRuntimeProvider as ReactRuntimeProvider } from './runtime-provider'\nexport { RemixRootStyleRegistry as RootStyleRegistry } from './root-style-registry'\n"],"mappings":"AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,iBAAiB;AAC1B,SAAS,wBAAwB;AACjC,SAAiC,4BAA4B;AAC7D,SAAmC,8BAAyB;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import {
|
|
4
|
+
createRootStyleCache,
|
|
5
|
+
RootStyleRegistry as ReactRootStyleRegistry
|
|
6
|
+
} from "@makeswift/runtime/unstable-framework-support";
|
|
7
|
+
function RemixRootStyleRegistry({
|
|
8
|
+
children,
|
|
9
|
+
cacheKey,
|
|
10
|
+
enableCssReset
|
|
11
|
+
}) {
|
|
12
|
+
const [cache] = useState(createRootStyleCache({ key: cacheKey }));
|
|
13
|
+
return /* @__PURE__ */ jsx(ReactRootStyleRegistry, { cache, enableCssReset, children });
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
RemixRootStyleRegistry
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=root-style-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/root-style-registry.tsx"],"sourcesContent":["import { type PropsWithChildren, useState } from 'react'\n\nimport {\n createRootStyleCache,\n RootStyleRegistry as ReactRootStyleRegistry,\n type RootStyleProps,\n} from '@makeswift/runtime/unstable-framework-support'\n\nexport function RemixRootStyleRegistry({\n children,\n cacheKey,\n enableCssReset,\n}: PropsWithChildren<RootStyleProps>) {\n const [cache] = useState(createRootStyleCache({ key: cacheKey }))\n\n return (\n <ReactRootStyleRegistry cache={cache} enableCssReset={enableCssReset}>\n {children}\n </ReactRootStyleRegistry>\n )\n}\n"],"mappings":"AAgBI;AAhBJ,SAAiC,gBAAgB;AAEjD;AAAA,EACE;AAAA,EACA,qBAAqB;AAAA,OAEhB;AAEA,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF,GAAsC;AACpC,QAAM,CAAC,KAAK,IAAI,SAAS,qBAAqB,EAAE,KAAK,SAAS,CAAC,CAAC;AAEhE,SACE,oBAAC,0BAAuB,OAAc,gBACnC,UACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { RuntimeProvider } from "@makeswift/runtime/unstable-framework-support";
|
|
3
|
+
import { FrameworkProvider } from "./components/framework-provider";
|
|
4
|
+
function RemixRuntimeProvider({
|
|
5
|
+
children,
|
|
6
|
+
...props
|
|
7
|
+
}) {
|
|
8
|
+
return /* @__PURE__ */ jsx(FrameworkProvider, { children: /* @__PURE__ */ jsx(RuntimeProvider, { ...props, children }) });
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
RemixRuntimeProvider
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=runtime-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/runtime-provider.tsx"],"sourcesContent":["import { ComponentProps } from 'react'\n\nimport { RuntimeProvider } from '@makeswift/runtime/unstable-framework-support'\n\nimport { FrameworkProvider } from './components/framework-provider'\n\nexport function RemixRuntimeProvider({\n children,\n ...props\n}: ComponentProps<typeof RuntimeProvider>) {\n return (\n <FrameworkProvider>\n <RuntimeProvider {...props}>{children}</RuntimeProvider>\n </FrameworkProvider>\n )\n}\n"],"mappings":"AAYM;AAVN,SAAS,uBAAuB;AAEhC,SAAS,yBAAyB;AAE3B,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA,GAAG;AACL,GAA2C;AACzC,SACE,oBAAC,qBACC,8BAAC,mBAAiB,GAAG,OAAQ,UAAS,GACxC;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/index.ts"],"sourcesContent":["export { renderHtml } from './render'\nexport { getSiteVersion } from './site-version'\nexport { withMakeswift } from './preview'\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;","names":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { redirect, createCookie } from "react-router";
|
|
2
|
+
import {
|
|
3
|
+
MAKESWIFT_SITE_VERSION_COOKIE,
|
|
4
|
+
REDIRECT_SEARCH_PARAM,
|
|
5
|
+
SET_COOKIE_HEADER,
|
|
6
|
+
cookieSettingOptions,
|
|
7
|
+
serializeSiteVersion,
|
|
8
|
+
secondsUntilSiteVersionExpiration,
|
|
9
|
+
SearchParams,
|
|
10
|
+
redirectLiveHandler
|
|
11
|
+
} from "@makeswift/runtime/unstable-framework-support";
|
|
12
|
+
const siteVersionCookie = createCookie(MAKESWIFT_SITE_VERSION_COOKIE, cookieSettingOptions);
|
|
13
|
+
async function requestedSiteVersion({
|
|
14
|
+
searchParams,
|
|
15
|
+
client
|
|
16
|
+
}) {
|
|
17
|
+
const previewToken = searchParams.get(SearchParams.PreviewToken);
|
|
18
|
+
if (previewToken == null)
|
|
19
|
+
return null;
|
|
20
|
+
const verifiedToken = await client.readPreviewToken(previewToken);
|
|
21
|
+
if (verifiedToken == null)
|
|
22
|
+
return null;
|
|
23
|
+
const { payload } = verifiedToken;
|
|
24
|
+
return { version: payload.version, token: previewToken };
|
|
25
|
+
}
|
|
26
|
+
function withMakeswift(loader, { client }) {
|
|
27
|
+
return async function withMakeswiftLoader(args) {
|
|
28
|
+
const { origin, pathname, searchParams } = new URL(args.request.url);
|
|
29
|
+
const redirectLive = searchParams.get(REDIRECT_SEARCH_PARAM);
|
|
30
|
+
if (redirectLive != null) {
|
|
31
|
+
return redirectLiveHandler(args.request, { previewCookieNames: [siteVersionCookie.name] });
|
|
32
|
+
}
|
|
33
|
+
const siteVersion = await requestedSiteVersion({ searchParams, client });
|
|
34
|
+
if (siteVersion == null)
|
|
35
|
+
return loader(args);
|
|
36
|
+
const serializedSiteVersion = serializeSiteVersion(siteVersion);
|
|
37
|
+
const secondsUntilExpiration = secondsUntilSiteVersionExpiration(siteVersion);
|
|
38
|
+
return redirect(`${origin}${pathname}`, {
|
|
39
|
+
headers: {
|
|
40
|
+
[SET_COOKIE_HEADER]: await siteVersionCookie.serialize(serializedSiteVersion, {
|
|
41
|
+
maxAge: secondsUntilExpiration
|
|
42
|
+
})
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
siteVersionCookie,
|
|
49
|
+
withMakeswift
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/preview.ts"],"sourcesContent":["import { redirect, createCookie } from 'react-router'\n\nimport {\n type SiteVersion,\n MAKESWIFT_SITE_VERSION_COOKIE,\n REDIRECT_SEARCH_PARAM,\n SET_COOKIE_HEADER,\n cookieSettingOptions,\n MakeswiftClient,\n serializeSiteVersion,\n secondsUntilSiteVersionExpiration,\n SearchParams,\n redirectLiveHandler,\n} from '@makeswift/runtime/unstable-framework-support'\n\nexport const siteVersionCookie = createCookie(MAKESWIFT_SITE_VERSION_COOKIE, cookieSettingOptions)\n\nasync function requestedSiteVersion({\n searchParams,\n client,\n}: {\n searchParams: URLSearchParams\n client: MakeswiftClient\n}): Promise<SiteVersion | null> {\n const previewToken = searchParams.get(SearchParams.PreviewToken)\n if (previewToken == null) return null\n\n const verifiedToken = await client.readPreviewToken(previewToken)\n if (verifiedToken == null) return null\n\n const { payload } = verifiedToken\n\n return { version: payload.version, token: previewToken }\n}\n\ntype LoaderArgs = { request: Request }\ntype Loader<T extends LoaderArgs, R> = (args: T) => Promise<Response | R>\n\nexport function withMakeswift<T extends LoaderArgs, R>(\n loader: Loader<T, R>,\n { client }: { client: MakeswiftClient },\n): Loader<T, R> {\n return async function withMakeswiftLoader(args: T): Promise<Response | R> {\n const { origin, pathname, searchParams } = new URL(args.request.url)\n\n const redirectLive = searchParams.get(REDIRECT_SEARCH_PARAM)\n if (redirectLive != null) {\n return redirectLiveHandler(args.request, { previewCookieNames: [siteVersionCookie.name] })\n }\n\n const siteVersion = await requestedSiteVersion({ searchParams, client })\n if (siteVersion == null) return loader(args)\n\n const serializedSiteVersion = serializeSiteVersion(siteVersion)\n const secondsUntilExpiration = secondsUntilSiteVersionExpiration(siteVersion)\n\n return redirect(`${origin}${pathname}`, {\n headers: {\n [SET_COOKIE_HEADER]: await siteVersionCookie.serialize(serializedSiteVersion, {\n maxAge: secondsUntilExpiration,\n }),\n },\n })\n }\n}\n"],"mappings":"AAAA,SAAS,UAAU,oBAAoB;AAEvC;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,MAAM,oBAAoB,aAAa,+BAA+B,oBAAoB;AAEjG,eAAe,qBAAqB;AAAA,EAClC;AAAA,EACA;AACF,GAGgC;AAC9B,QAAM,eAAe,aAAa,IAAI,aAAa,YAAY;AAC/D,MAAI,gBAAgB;AAAM,WAAO;AAEjC,QAAM,gBAAgB,MAAM,OAAO,iBAAiB,YAAY;AAChE,MAAI,iBAAiB;AAAM,WAAO;AAElC,QAAM,EAAE,QAAQ,IAAI;AAEpB,SAAO,EAAE,SAAS,QAAQ,SAAS,OAAO,aAAa;AACzD;AAKO,SAAS,cACd,QACA,EAAE,OAAO,GACK;AACd,SAAO,eAAe,oBAAoB,MAAgC;AACxE,UAAM,EAAE,QAAQ,UAAU,aAAa,IAAI,IAAI,IAAI,KAAK,QAAQ,GAAG;AAEnE,UAAM,eAAe,aAAa,IAAI,qBAAqB;AAC3D,QAAI,gBAAgB,MAAM;AACxB,aAAO,oBAAoB,KAAK,SAAS,EAAE,oBAAoB,CAAC,kBAAkB,IAAI,EAAE,CAAC;AAAA,IAC3F;AAEA,UAAM,cAAc,MAAM,qBAAqB,EAAE,cAAc,OAAO,CAAC;AACvE,QAAI,eAAe;AAAM,aAAO,OAAO,IAAI;AAE3C,UAAM,wBAAwB,qBAAqB,WAAW;AAC9D,UAAM,yBAAyB,kCAAkC,WAAW;AAE5E,WAAO,SAAS,GAAG,MAAM,GAAG,QAAQ,IAAI;AAAA,MACtC,SAAS;AAAA,QACP,CAAC,iBAAiB,GAAG,MAAM,kBAAkB,UAAU,uBAAuB;AAAA,UAC5E,QAAQ;AAAA,QACV,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createReadableStreamFromReadable } from "@react-router/node";
|
|
3
|
+
import { renderToPipeableStream } from "react-dom/server";
|
|
4
|
+
import { PassThrough, Transform } from "node:stream";
|
|
5
|
+
import {
|
|
6
|
+
createRootStyleCache,
|
|
7
|
+
RootStyleRegistry,
|
|
8
|
+
styleTagHtml
|
|
9
|
+
} from "@makeswift/runtime/unstable-framework-support";
|
|
10
|
+
const DEFAULT_TIMEOUT = 1e4;
|
|
11
|
+
function renderHtml(children, {
|
|
12
|
+
timeout,
|
|
13
|
+
cacheKey,
|
|
14
|
+
enableCssReset,
|
|
15
|
+
responseStatusCode,
|
|
16
|
+
responseHeaders
|
|
17
|
+
}) {
|
|
18
|
+
const cache = createRootStyleCache({ key: cacheKey });
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
let didError = false;
|
|
21
|
+
const { pipe, abort } = renderToPipeableStream(
|
|
22
|
+
/* @__PURE__ */ jsx(RootStyleRegistry, { cache, enableCssReset, children }),
|
|
23
|
+
{
|
|
24
|
+
// wait for all Suspense boundaries before streaming for consistent Emotion CSS
|
|
25
|
+
onAllReady() {
|
|
26
|
+
const { classNames, css } = cache.flush();
|
|
27
|
+
const headInjector = createHeadInjectionTransform(
|
|
28
|
+
styleTagHtml({ cacheKey: cache.key, classNames, css })
|
|
29
|
+
);
|
|
30
|
+
const body = new PassThrough();
|
|
31
|
+
const responseStream = createReadableStreamFromReadable(
|
|
32
|
+
classNames.length > 0 ? body.pipe(headInjector) : body
|
|
33
|
+
);
|
|
34
|
+
responseHeaders.set("Content-Type", "text/html; charset=utf-8");
|
|
35
|
+
resolve(
|
|
36
|
+
new Response(responseStream, {
|
|
37
|
+
status: didError ? 500 : responseStatusCode,
|
|
38
|
+
headers: responseHeaders
|
|
39
|
+
})
|
|
40
|
+
);
|
|
41
|
+
body.write("<!DOCTYPE html>");
|
|
42
|
+
pipe(body);
|
|
43
|
+
},
|
|
44
|
+
onShellError(err) {
|
|
45
|
+
reject(err);
|
|
46
|
+
},
|
|
47
|
+
onError(err) {
|
|
48
|
+
didError = true;
|
|
49
|
+
console.error(err);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
setTimeout(abort, timeout ?? DEFAULT_TIMEOUT);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function createHeadInjectionTransform(snippet) {
|
|
57
|
+
let injected = false;
|
|
58
|
+
return new Transform({
|
|
59
|
+
transform(chunk, _enc, cb) {
|
|
60
|
+
if (injected)
|
|
61
|
+
return cb(null, chunk);
|
|
62
|
+
const str = chunk.toString();
|
|
63
|
+
const idx = str.indexOf("</head>");
|
|
64
|
+
if (idx === -1)
|
|
65
|
+
return cb(null, chunk);
|
|
66
|
+
injected = true;
|
|
67
|
+
const out = str.slice(0, idx) + snippet + str.slice(idx);
|
|
68
|
+
cb(null, out);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
renderHtml
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/render.tsx"],"sourcesContent":["import { type ReactNode } from 'react'\n\nimport { createReadableStreamFromReadable } from '@react-router/node'\nimport { renderToPipeableStream } from 'react-dom/server'\nimport { PassThrough, Transform } from 'node:stream'\n\nimport {\n createRootStyleCache,\n RootStyleRegistry,\n styleTagHtml,\n type RootStyleProps,\n} from '@makeswift/runtime/unstable-framework-support'\n\nconst DEFAULT_TIMEOUT = 10000\n\nexport function renderHtml(\n children: ReactNode,\n {\n timeout,\n cacheKey,\n enableCssReset,\n responseStatusCode,\n responseHeaders,\n }: RootStyleProps & {\n request: Request\n timeout?: number\n responseStatusCode: number\n responseHeaders: Headers\n },\n): Promise<Response> {\n const cache = createRootStyleCache({ key: cacheKey })\n\n return new Promise((resolve, reject) => {\n let didError = false\n\n const { pipe, abort } = renderToPipeableStream(\n <RootStyleRegistry cache={cache} enableCssReset={enableCssReset}>\n {children}\n </RootStyleRegistry>,\n {\n // wait for all Suspense boundaries before streaming for consistent Emotion CSS\n onAllReady() {\n // create a head injection transform with server-side styles\n const { classNames, css } = cache.flush()\n const headInjector = createHeadInjectionTransform(\n styleTagHtml({ cacheKey: cache.key, classNames, css }),\n )\n\n // prepare a pipeable response stream with the head transform\n const body = new PassThrough()\n const responseStream = createReadableStreamFromReadable(\n classNames.length > 0 ? body.pipe(headInjector) : body,\n )\n\n // amend response headers with content type\n responseHeaders.set('Content-Type', 'text/html; charset=utf-8')\n\n // return the stream response\n resolve(\n new Response(responseStream, {\n status: didError ? 500 : responseStatusCode,\n headers: responseHeaders,\n }),\n )\n\n // write the initial HTML doctype and start piping the stream\n body.write('<!DOCTYPE html>')\n pipe(body)\n },\n onShellError(err) {\n reject(err)\n },\n onError(err) {\n didError = true\n console.error(err)\n },\n },\n )\n\n setTimeout(abort, timeout ?? DEFAULT_TIMEOUT)\n })\n}\n\nfunction createHeadInjectionTransform(snippet: string) {\n let injected = false\n return new Transform({\n transform(chunk, _enc, cb) {\n if (injected) return cb(null, chunk)\n\n // inject `snippet` right before the first </head> tag\n const str = chunk.toString()\n const idx = str.indexOf('</head>')\n if (idx === -1) return cb(null, chunk)\n\n injected = true\n const out = str.slice(0, idx) + snippet + str.slice(idx)\n cb(null, out)\n },\n })\n}\n"],"mappings":"AAoCM;AAlCN,SAAS,wCAAwC;AACjD,SAAS,8BAA8B;AACvC,SAAS,aAAa,iBAAiB;AAEvC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAEP,MAAM,kBAAkB;AAEjB,SAAS,WACd,UACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMmB;AACnB,QAAM,QAAQ,qBAAqB,EAAE,KAAK,SAAS,CAAC;AAEpD,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,QAAI,WAAW;AAEf,UAAM,EAAE,MAAM,MAAM,IAAI;AAAA,MACtB,oBAAC,qBAAkB,OAAc,gBAC9B,UACH;AAAA,MACA;AAAA;AAAA,QAEE,aAAa;AAEX,gBAAM,EAAE,YAAY,IAAI,IAAI,MAAM,MAAM;AACxC,gBAAM,eAAe;AAAA,YACnB,aAAa,EAAE,UAAU,MAAM,KAAK,YAAY,IAAI,CAAC;AAAA,UACvD;AAGA,gBAAM,OAAO,IAAI,YAAY;AAC7B,gBAAM,iBAAiB;AAAA,YACrB,WAAW,SAAS,IAAI,KAAK,KAAK,YAAY,IAAI;AAAA,UACpD;AAGA,0BAAgB,IAAI,gBAAgB,0BAA0B;AAG9D;AAAA,YACE,IAAI,SAAS,gBAAgB;AAAA,cAC3B,QAAQ,WAAW,MAAM;AAAA,cACzB,SAAS;AAAA,YACX,CAAC;AAAA,UACH;AAGA,eAAK,MAAM,iBAAiB;AAC5B,eAAK,IAAI;AAAA,QACX;AAAA,QACA,aAAa,KAAK;AAChB,iBAAO,GAAG;AAAA,QACZ;AAAA,QACA,QAAQ,KAAK;AACX,qBAAW;AACX,kBAAQ,MAAM,GAAG;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAEA,eAAW,OAAO,WAAW,eAAe;AAAA,EAC9C,CAAC;AACH;AAEA,SAAS,6BAA6B,SAAiB;AACrD,MAAI,WAAW;AACf,SAAO,IAAI,UAAU;AAAA,IACnB,UAAU,OAAO,MAAM,IAAI;AACzB,UAAI;AAAU,eAAO,GAAG,MAAM,KAAK;AAGnC,YAAM,MAAM,MAAM,SAAS;AAC3B,YAAM,MAAM,IAAI,QAAQ,SAAS;AACjC,UAAI,QAAQ;AAAI,eAAO,GAAG,MAAM,KAAK;AAErC,iBAAW;AACX,YAAM,MAAM,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,IAAI,MAAM,GAAG;AACvD,SAAG,MAAM,GAAG;AAAA,IACd;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
deserializeSiteVersion
|
|
3
|
+
} from "@makeswift/runtime/unstable-framework-support";
|
|
4
|
+
import { siteVersionCookie } from "./preview";
|
|
5
|
+
async function getSiteVersion(request) {
|
|
6
|
+
const cookieHeader = request.headers.get("Cookie");
|
|
7
|
+
const cookieValue = await siteVersionCookie.parse(cookieHeader);
|
|
8
|
+
if (cookieValue == null)
|
|
9
|
+
return null;
|
|
10
|
+
return deserializeSiteVersion(cookieValue);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
getSiteVersion
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=site-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/server/site-version.tsx"],"sourcesContent":["import {\n deserializeSiteVersion,\n type SiteVersion,\n} from '@makeswift/runtime/unstable-framework-support'\nimport { siteVersionCookie } from './preview'\n\nexport async function getSiteVersion(request: Request): Promise<SiteVersion | null> {\n const cookieHeader = request.headers.get('Cookie')\n const cookieValue = await siteVersionCookie.parse(cookieHeader)\n if (cookieValue == null) return null\n\n return deserializeSiteVersion(cookieValue)\n}\n"],"mappings":"AAAA;AAAA,EACE;AAAA,OAEK;AACP,SAAS,yBAAyB;AAElC,eAAsB,eAAe,SAA+C;AAClF,QAAM,eAAe,QAAQ,QAAQ,IAAI,QAAQ;AACjD,QAAM,cAAc,MAAM,kBAAkB,MAAM,YAAY;AAC9D,MAAI,eAAe;AAAM,WAAO;AAEhC,SAAO,uBAAuB,WAAW;AAC3C;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ApiHandlerUserConfig } from '@makeswift/runtime/unstable-framework-support';
|
|
2
|
+
export declare function createApiHandler(apiKey: string, { apiOrigin, runtime, ...userConfig }: ApiHandlerUserConfig): {
|
|
3
|
+
loader({ request, params }: {
|
|
4
|
+
request: Request;
|
|
5
|
+
params: Record<string, string>;
|
|
6
|
+
}): Promise<Response | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<null> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<{
|
|
7
|
+
elementTree: import("@makeswift/runtime").Element;
|
|
8
|
+
} | import("@makeswift/runtime/dist/types/api-handler/request-response").ErrorResponseBody> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<import("@makeswift/runtime/dist/types/api-handler").Font[]> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<import("@makeswift/runtime/dist/types/api-handler/request-response").ErrorResponseBody | import("@makeswift/runtime/dist/types/api-handler").Manifest> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<import("@makeswift/runtime/dist/types/api-handler/request-response").ErrorResponseBody | {
|
|
9
|
+
elementTree: import("@makeswift/runtime").Element;
|
|
10
|
+
}> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<import("@makeswift/runtime/dist/types/api-handler/request-response").ErrorResponseBody | {
|
|
11
|
+
revalidated: boolean;
|
|
12
|
+
}> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<unknown> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<import("@makeswift/runtime/dist/types/api-handler/handlers/webhook/types").WebhookResponseBody> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<import("@makeswift/runtime/dist/types/api").APIResource> | import("@makeswift/runtime/dist/types/api-handler/request-response").ApiResponse<import("@makeswift/runtime/dist/types/api-handler/request-response").ErrorResponseBody>>;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=api-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-handler.d.ts","sourceRoot":"","sources":["../../src/api-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,+CAA+C,CAAA;AAwBtD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,oBAAoB;gCAKvB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;;;;;;;EAczF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type SiteVersion, MakeswiftClient } from '@makeswift/runtime/unstable-framework-support';
|
|
2
|
+
export declare class Makeswift extends MakeswiftClient {
|
|
3
|
+
fetchOptions(_siteVersion: SiteVersion | null): Record<string, unknown>;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAEjG,qBAAa,SAAU,SAAQ,eAAe;IAC5C,YAAY,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/framework-provider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAYxD,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAUhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/components/framework-provider/link.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI,6FAUf,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { type SiteVersion, Page, MakeswiftComponent, Slot, ReactRuntime, } from '@makeswift/runtime/unstable-framework-support';
|
|
2
|
+
export { Makeswift } from './client';
|
|
3
|
+
export { createApiHandler } from './api-handler';
|
|
4
|
+
export { RemixRuntimeProvider as ReactRuntimeProvider } from './runtime-provider';
|
|
5
|
+
export { RemixRootStyleRegistry as RootStyleRegistry } from './root-style-registry';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,IAAI,EACJ,kBAAkB,EAClB,IAAI,EACJ,YAAY,GACb,MAAM,+CAA+C,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,sBAAsB,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type PropsWithChildren } from 'react';
|
|
2
|
+
import { type RootStyleProps } from '@makeswift/runtime/unstable-framework-support';
|
|
3
|
+
export declare function RemixRootStyleRegistry({ children, cacheKey, enableCssReset, }: PropsWithChildren<RootStyleProps>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=root-style-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-style-registry.d.ts","sourceRoot":"","sources":["../../src/root-style-registry.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAExD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,+CAA+C,CAAA;AAEtD,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,QAAQ,EACR,cAAc,GACf,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAQnC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { RuntimeProvider } from '@makeswift/runtime/unstable-framework-support';
|
|
3
|
+
export declare function RemixRuntimeProvider({ children, ...props }: ComponentProps<typeof RuntimeProvider>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=runtime-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-provider.d.ts","sourceRoot":"","sources":["../../src/runtime-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAI/E,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,2CAMxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MakeswiftClient } from '@makeswift/runtime/unstable-framework-support';
|
|
2
|
+
export declare const siteVersionCookie: import("react-router").Cookie;
|
|
3
|
+
type LoaderArgs = {
|
|
4
|
+
request: Request;
|
|
5
|
+
};
|
|
6
|
+
type Loader<T extends LoaderArgs, R> = (args: T) => Promise<Response | R>;
|
|
7
|
+
export declare function withMakeswift<T extends LoaderArgs, R>(loader: Loader<T, R>, { client }: {
|
|
8
|
+
client: MakeswiftClient;
|
|
9
|
+
}): Loader<T, R>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=preview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/server/preview.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,eAAe,EAKhB,MAAM,+CAA+C,CAAA;AAEtD,eAAO,MAAM,iBAAiB,+BAAoE,CAAA;AAoBlG,KAAK,UAAU,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AACtC,KAAK,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;AAEzE,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,EACnD,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GACtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAuBd"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type RootStyleProps } from '@makeswift/runtime/unstable-framework-support';
|
|
3
|
+
export declare function renderHtml(children: ReactNode, { timeout, cacheKey, enableCssReset, responseStatusCode, responseHeaders, }: RootStyleProps & {
|
|
4
|
+
request: Request;
|
|
5
|
+
timeout?: number;
|
|
6
|
+
responseStatusCode: number;
|
|
7
|
+
responseHeaders: Headers;
|
|
8
|
+
}): Promise<Response>;
|
|
9
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/server/render.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,+CAA+C,CAAA;AAItD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,SAAS,EACnB,EACE,OAAO,EACP,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,eAAe,GAChB,EAAE,cAAc,GAAG;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,EAAE,OAAO,CAAA;CACzB,GACA,OAAO,CAAC,QAAQ,CAAC,CAoDnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-version.d.ts","sourceRoot":"","sources":["../../../src/server/site-version.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,+CAA+C,CAAA;AAGtD,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMlF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@makeswift/react-router",
|
|
3
|
+
"version": "0.0.0-snapshot-20250829013357",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist",
|
|
7
|
+
"server"
|
|
8
|
+
],
|
|
9
|
+
"engines": {
|
|
10
|
+
"node": ">=20.0.0"
|
|
11
|
+
},
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"require": "./dist/cjs/index.js",
|
|
16
|
+
"import": "./dist/esm/index.js",
|
|
17
|
+
"types": "./dist/types/index.d.ts"
|
|
18
|
+
},
|
|
19
|
+
"./server": {
|
|
20
|
+
"require": "./dist/cjs/server/index.js",
|
|
21
|
+
"import": "./dist/esm/server/index.js",
|
|
22
|
+
"types": "./dist/types/server/index.d.ts"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@makeswift/runtime": "0.0.0-snapshot-20250829013357"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"@react-router/node": "^7.0.0",
|
|
30
|
+
"@types/react": "^19.0.0",
|
|
31
|
+
"@types/react-dom": "^19.0.0",
|
|
32
|
+
"react": "^19.0.0",
|
|
33
|
+
"react-dom": "^19.0.0",
|
|
34
|
+
"react-router": "^7.0.0"
|
|
35
|
+
},
|
|
36
|
+
"peerDependenciesMeta": {
|
|
37
|
+
"@types/react": {
|
|
38
|
+
"optional": true
|
|
39
|
+
},
|
|
40
|
+
"@types/react-dom": {
|
|
41
|
+
"optional": true
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@react-router/node": "^7.8.1",
|
|
46
|
+
"@swc/jest": "^0.2.36",
|
|
47
|
+
"@types/jest": "^29.5.12",
|
|
48
|
+
"@types/react": "^18.2.14",
|
|
49
|
+
"@types/react-dom": "^18.2.6",
|
|
50
|
+
"concurrently": "^8.2.2",
|
|
51
|
+
"jest": "^29.7.0",
|
|
52
|
+
"react": "18.2.0",
|
|
53
|
+
"react-dom": "18.2.0",
|
|
54
|
+
"react-router": "^7.8.1",
|
|
55
|
+
"tsup": "^8.0.2",
|
|
56
|
+
"typescript": "^5.9.2"
|
|
57
|
+
},
|
|
58
|
+
"scripts": {
|
|
59
|
+
"dev": "concurrently -k 'tsc --watch --preserveWatchOutput' 'tsup --watch'",
|
|
60
|
+
"clean": "rm -rf dist",
|
|
61
|
+
"build": "tsc && tsup",
|
|
62
|
+
"test": "jest --passWithNoTests",
|
|
63
|
+
"format": "prettier --write .",
|
|
64
|
+
"format:check": "prettier --check ."
|
|
65
|
+
}
|
|
66
|
+
}
|