Blog
Practical notes on JavaScript tooling, module systems and the platform decisions behind the work we do
-
Shopify stagedUploadsCreate: Upload, Register, Poll
stagedUploadsCreate returns a signed URL and parameters: PUT images, POST videos as multipart, then pass resourceUrl to fileCreate and poll fileStatus.
-
React Activity Component: Hide Without Unmounting
React's Activity component hides a subtree with display: none, tears down its Effects and keeps its state, so tabs and back navigation stop losing input.
-
Hydrogen Content Security Policy: Extend the Defaults
Hydrogen's createContentSecurityPolicy appends your directives to its defaults; here is what the header allows and how to add third-party scripts safely.
-
Shopify B2B Catalog API: Company, Catalog, Price List
Build a Shopify B2B catalog with the Admin GraphQL API: companyCreate, a company-location catalog, a price list, fixed prices and quantity rules.
-
tsup to tsdown Migration: Four Defaults Flip
Moving from tsup to tsdown flips four defaults (format, clean, dts, target) and renames nine options; check them before you publish the next version.
-
Shopify Function Input Query Variables: Filter Up Front
Shopify Function input query variables fill a query from a JSON metafield on the function owner, so collection checks resolve before your Wasm runs.
-
Shopify Metaobject Pages: Template, URL and SEO Fields
Enable the onlineStore and renderable capabilities, add templates/metaobject/{type}.json, and each entry is served at /pages/{urlHandle}/{entry-handle}.
-
Intl.NumberFormat Currency: Pass the Amount as a String
Format prices with Intl.NumberFormat: hand format() the decimal string your API sent, set trailingZeroDisplay, and build the formatter once.
-
Shopify Admin UI Extensions: Action or Block?
How to choose between a Shopify admin action and an admin block, read the selected resource and call the Admin API from the extension with no backend.
-
Shopify Storefront API Shipping Rates: Before Checkout
Add a delivery address with cartDeliveryAddressesAdd, then read deliveryGroups to show Shopify shipping rates in the cart before checkout.
-
Astro Sessions: Pick the Driver Before You Deploy
Astro.session keeps server-side state behind one cookie; the adapter picks the storage driver, and that default decides what survives a deploy.
-
Shopify Hydrogen Pagination: Cursors in the URL
Hydrogen keeps the pagination cursor in the URL: getPaginationVariables plus the Pagination component, the query shape, and what 2026.10 drops.