Updates from Shopify Editions Summer 2023

2023-08-31

Overview

My past few blog posts have revolved around replacing the logic in the checkout.liquid file using Shopify Functions or Shopify Extensions.

To continue with this theme, in this blog post I will be covering the some of the updates that were recently announced at the Shopify Editions Summer 2023 event.

Extension-only apps

Perhaps the biggest announcement was the introduction of extension-only apps.

Extension-only apps are custom apps that don't have embedded app pages. Because they're made up entirely of extensions, extension-only apps can be hosted on Shopify.

This is great! Previously, if you wanted to customize your Shopify Checkout using Checkout UI Extensions or Shopify Functions, you would need to create and host your own Shopify app.

With the new extension-only apps, you can now host your app on Shopify for free!

The steps to create an extension-only app are still the same as before, so you can still follow the steps the I outlined in my last post on creating Shopify Checkout UI extensions. Be sure to checkout the updates to the shopify.extension.toml file below.

In short, once you have your app and extension setup you can simply run npm run dev to preview the extension locally and then npm run deploy to deploy the extension to your Shopify store.

It can't get much easier than that!

Simplified Deployment

Another helpful update is the simpliflication of the extension deployment process. Previously, you would need to deploy each extension independently.

individual deployment

Now with the new update, all of your app's extensions are versioned together. This means that each app version is also a snapshot of all of the extensions that are included in that version.

simplified deployment

Changes to Checkout UI Extensions

A few changes were announced for Checkout UI Extensions.

If you followed my previous blog post on creating Shopify Checkout UI extensions, you will need to make a few changes to your extension to get it working again.

The main changes that need to be made concern the toml configuration file. First, it was renamed from shopify.ui.extension.toml to shopify.extension.toml.

Next, you will need to update the shopify.extension.toml file to match the new format.

Also, the extension_points field was renamed to targeting and the formatting of the extension points was also changes (e.g. Checkout::Dynamic::Render is now purchase.checkout.block.render).

Here are the two formats side-by-side for comparison:

Previous shopify.ui.extension.toml

type = "checkout_ui_extension"
name = "My Extension"

extension_points = ['Checkout::Dynamic::Render']

[[metafields]]
namespace = "my_namespace"
key = "my_key"

[settings]
[[settings.fields]]
key = "banner_title"
type = "single_line_text_field"
name = "Banner title"
description = "Enter a title for the banner"

Current shopify.extension.toml

api_version = "2023-07"

[[extensions]]
type = "ui_extension"
name = "My Extension"
handle = "my-extension"

[[extensions.targeting]]
module = "./src/index.ts"
target = "purchase.checkout.block.render"

[[extensions.metafields]]
namespace = "my_namespace"
key = "my_key"

[extensions.settings]
[[extensions.settings.fields]]
key = "banner_title"
type = "single_line_text_field"
name = "Banner title"
description = "Enter a title for the banner"

You can read the full details on the changes to the toml file on the Shopify developer docs and also on Github.

Conclusion

The new updates to Shopify Checkout UI Extensions and the introduction of extension-only apps are great news for developers.

The new simplified deployment model will save developers a lot of time and headaches that were previously spent on managing deployments.

The ability to create extension-only apps will also allow developers to create and host their own Shopify apps without any additional cost or hassle.

I'm excited to see what developers will create using these new features.

Thanks for reading!