Skip to content

Version Packages (integrations/makeswift)#2864

Merged
matthewvolk merged 1 commit intointegrations/makeswiftfrom
changeset-release/integrations/makeswift
Mar 13, 2026
Merged

Version Packages (integrations/makeswift)#2864
matthewvolk merged 1 commit intointegrations/makeswiftfrom
changeset-release/integrations/makeswift

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Feb 4, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to integrations/makeswift, this PR will be updated.

Releases

@bigcommerce/catalyst-makeswift@1.5.0

Minor Changes

  • Pulls in changes from the @bigcommerce/catalyst-core@1.5.0 release. For more information about what was included in the @bigcommerce/catalyst-core@1.5.0 release, see the changelog entry.

Patch Changes

  • #2919 32be644 Thanks @matthewvolk! - Upgrade @makeswift/runtime to 0.26.3, which uses the <Activity> API instead of <Suspense>. This fixes layout shift both when loading a Makeswift page directly and when client-side navigating from a non-Makeswift page to a Makeswift page after a hard refresh.

  • #2862 52207b6 Thanks @Codeseph! - fix: handle OPTIONS requests via MakeswiftApiHandler

  • #2860 5097034 Thanks @jorgemoya! - Add explicit Makeswift SEO metadata support to public-facing pages. When configured in Makeswift, the SEO title and description will take priority over the default values from BigCommerce or static translations.

    The following pages now support Makeswift SEO metadata:

    • Home page (/)
    • Catch-all page (/[...rest])
    • Product page (/product/[slug])
    • Brand page (/brand/[slug])
    • Category page (/category/[slug])
    • Blog list page (/blog)
    • Blog post page (/blog/[blogId])
    • Search page (/search)
    • Cart page (/cart)
    • Compare page (/compare)
    • Gift certificates page (/gift-certificates)
    • Gift certificates balance page (/gift-certificates/balance)
    • Contact webpage (/webpages/[id]/contact)
    • Normal webpage (/webpages/[id]/normal)

    Migration steps

    Step 1: Add getMakeswiftPageMetadata function

    Add the getMakeswiftPageMetadata function to core/lib/makeswift/client.ts:

    + export async function getMakeswiftPageMetadata({ path, locale }: { path: string; locale: string }) {
    +   const { data: pages } = await client.getPages({
    +     pathPrefix: path,
    +     locale: normalizeLocale(locale),
    +     siteVersion: await getSiteVersion(),
    +   });
    +
    +   if (pages.length === 0 || !pages[0]) {
    +     return null;
    +   }
    +
    +   const { title, description } = pages[0];
    +
    +   return {
    +     ...(title && { title }),
    +     ...(description && { description }),
    +   };
    + }

    Export the function from core/lib/makeswift/index.ts:

      export { Page } from './page';
    - export { client } from './client';
    + export { client, getMakeswiftPageMetadata } from './client';

    Step 2: Update page metadata

    Each page's generateMetadata function has been updated to fetch Makeswift metadata and use it as the primary source, falling back to existing values. Here's an example using the cart page:

    Update core/app/[locale]/(default)/cart/page.tsx:

      import { getPreferredCurrencyCode } from '~/lib/currency';
    + import { getMakeswiftPageMetadata } from '~/lib/makeswift';
      import { Slot } from '~/lib/makeswift/slot';
      export async function generateMetadata({ params }: Props): Promise<Metadata> {
        const { locale } = await params;
    
        const t = await getTranslations({ locale, namespace: 'Cart' });
    +   const makeswiftMetadata = await getMakeswiftPageMetadata({ path: '/cart', locale });
    
        return {
    -     title: t('title'),
    +     title: makeswiftMetadata?.title || t('title'),
    +     description: makeswiftMetadata?.description || undefined,
        };
      }

    Apply the same pattern to the other pages listed above, using the appropriate path for each page (e.g., /blog, /search, /compare, etc.).

@github-actions github-actions Bot requested a review from a team February 4, 2026 16:51
@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
catalyst Ready Ready Preview, Comment Mar 13, 2026 5:37pm

Request Review

@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented Mar 10, 2026

Unlighthouse Performance Comparison — Vercel

Comparing PR preview deployment Unlighthouse scores vs production Unlighthouse scores.

Summary Score

Aggregate score across all categories as reported by Unlighthouse.

Prod Desktop Prod Mobile Preview Desktop Preview Mobile
Score 87 90 89 93

Category Scores

Category Prod Desktop Prod Mobile Preview Desktop Preview Mobile
Performance 67 78 67 78
Accessibility 91 91 91 91
Best Practices 95 100 95 100
SEO 89 89 100 100

Core Web Vitals

Metric Prod Desktop Prod Mobile Preview Desktop Preview Mobile
LCP 6.2 s 5.9 s 5.8 s 6.0 s
CLS 0.001 0.039 0.041 0.039
FCP 1.1 s 1.1 s 1.1 s 1.1 s
TBT 60 ms 20 ms 20 ms 70 ms
Max Potential FID 170 ms 80 ms 90 ms 120 ms
Time to Interactive 8.5 s 7.5 s 7.0 s 6.1 s

Full Unlighthouse report →

@github-actions
Copy link
Copy Markdown
Contributor Author

Bundle Size Report

Comparing against baseline from c87ef34 (2026-03-13).

No bundle size changes detected.

@matthewvolk matthewvolk force-pushed the changeset-release/integrations/makeswift branch from 59785c9 to bc7d91b Compare March 13, 2026 17:41
@matthewvolk matthewvolk merged commit 990727b into integrations/makeswift Mar 13, 2026
17 of 19 checks passed
@matthewvolk matthewvolk deleted the changeset-release/integrations/makeswift branch March 13, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant