diff --git a/examples/cms-makeswift/next.config.js b/examples/cms-makeswift/next.config.js index 31c157001e77..4894cbefb913 100644 --- a/examples/cms-makeswift/next.config.js +++ b/examples/cms-makeswift/next.config.js @@ -3,6 +3,7 @@ const withMakeswift = require('@makeswift/runtime/next/plugin')() /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, + swcMinify: true, } module.exports = withMakeswift(nextConfig) diff --git a/examples/cms-makeswift/package.json b/examples/cms-makeswift/package.json index e7b953008c94..e02e952e2cb5 100644 --- a/examples/cms-makeswift/package.json +++ b/examples/cms-makeswift/package.json @@ -6,7 +6,7 @@ "start": "next start" }, "dependencies": { - "@makeswift/runtime": "0.1.10", + "@makeswift/runtime": "0.2.2", "next": "latest", "react": "18.2.0", "react-dom": "18.2.0" diff --git a/examples/cms-makeswift/pages/[[...path]].ts b/examples/cms-makeswift/pages/[[...path]].ts deleted file mode 100644 index f26a401b5fe9..000000000000 --- a/examples/cms-makeswift/pages/[[...path]].ts +++ /dev/null @@ -1,7 +0,0 @@ -import '../lib/makeswift/register-components' - -export { - getStaticPaths, - getStaticProps, - Page as default, -} from '@makeswift/runtime/next' diff --git a/examples/cms-makeswift/pages/[[...path]].tsx b/examples/cms-makeswift/pages/[[...path]].tsx new file mode 100644 index 000000000000..f8edbde7e886 --- /dev/null +++ b/examples/cms-makeswift/pages/[[...path]].tsx @@ -0,0 +1,51 @@ +import '../lib/makeswift/register-components' + +import { Makeswift } from '@makeswift/runtime/next' +import { + GetStaticPathsResult, + GetStaticPropsContext, + GetStaticPropsResult, +} from 'next' + +import { + Page as MakeswiftPage, + PageProps as MakeswiftPageProps, +} from '@makeswift/runtime/next' + +type ParsedUrlQuery = { path?: string[] } + +export async function getStaticPaths(): Promise< + GetStaticPathsResult +> { + const makeswift = new Makeswift(process.env.MAKESWIFT_SITE_API_KEY!) + const pages = await makeswift.getPages() + + return { + paths: pages.map((page) => ({ + params: { + path: page.path.split('/').filter((segment) => segment !== ''), + }, + })), + fallback: 'blocking', + } +} + +type Props = MakeswiftPageProps + +export async function getStaticProps( + ctx: GetStaticPropsContext +): Promise> { + const makeswift = new Makeswift(process.env.MAKESWIFT_SITE_API_KEY!) + const path = '/' + (ctx.params?.path ?? []).join('/') + const snapshot = await makeswift.getPageSnapshot(path, { + preview: ctx.preview, + }) + + if (snapshot == null) return { notFound: true } + + return { props: { snapshot } } +} + +export default function Page({ snapshot }: Props) { + return +} diff --git a/examples/cms-makeswift/pages/api/makeswift/[...makeswift].ts b/examples/cms-makeswift/pages/api/makeswift/[...makeswift].ts new file mode 100644 index 000000000000..edf4ad5ccae5 --- /dev/null +++ b/examples/cms-makeswift/pages/api/makeswift/[...makeswift].ts @@ -0,0 +1,3 @@ +import { MakeswiftApiHandler } from '@makeswift/runtime/next' + +export default MakeswiftApiHandler(process.env.MAKESWIFT_SITE_API_KEY!) diff --git a/examples/cms-makeswift/pages/makeswift.ts b/examples/cms-makeswift/pages/makeswift.ts deleted file mode 100644 index 365f94474357..000000000000 --- a/examples/cms-makeswift/pages/makeswift.ts +++ /dev/null @@ -1,3 +0,0 @@ -import '../lib/makeswift/register-components' - -export { getServerSideProps, Page as default } from '@makeswift/runtime/next'