Starter Kits are curated combinations of custom coded components within fully designed templates. Starter Kits let you experience custom components without having to touch any code.
You can now browse our Starter Kits and select one during the integration process after running `npx makeswift@latest` in your terminal. There are currently three Starter Kits — all ecommerce examples using BigCommerce, Shopify, and an NFT drop created with thirdweb.
We are planning to create more Starter Kits in the future so hit us up in Discord to suggest which ones to create next.
Preview mode is a new feature that reinforces a core design principle of Makeswift: what you see in the builder is exactly what you see when visiting your site. Without preview mode there was a discrepancy between live and preview pages which caused 2 issues:
1. Developers had to define two separate files when integrating with Makeswift
2. When previewing your site in Makeswift it wasn’t possible to navigate to pages since the URL for preview didn’t match the URL for live pages
Now, instead of requiring two pages for integrating with Makeswift, we only require 1 page and use Next.js’ Preview Mode to fetch the appropriate data when in the builder and preview `iframe`s. This removes the discrepancy we had before while also providing a better integration experience for developers.
For more background on Preview Mode, here’s a link to the RFC.
As part of this release we also introduced a new concept to the Makeswift integration: the Makeswift API route. This was necessary to support Preview Mode but also gives us the ability to support other features automatically. With it, we’ve added support for automatic on-demand revalidation. This is a big improvement since it means that Makeswift pages can be statically generated at build time and regenerated on demand whenever published, without needing to redeploy the Next.js app.
In the past we had to specify a low revalidation period of 1 second so pages would become stale after 1 second and regenerate. Now, pages only regenerate exactly when they’ve changed. If they haven’t changed, pages will stay cached forever. This results in lower infrastructure costs for Makeswift customers since most requests will be cached instead of resulting in a lambda execution for revalidation at worst every 1 second.
Finally, we also introduced a new client for Makeswift’s API to make the Makeswift integration more explicit and less magical. While more verbose, this should help developers better understand how Makeswift works with their Next.js app and how they can use it together with other data sources like a headless CMS, APIs, etc.
For details on how to migrate to the new release and what changed in the integration, here are the release notes.