From the source
At Vercel Ship 26 in New York, we announced that we are working with Shopify to rebuild it from the ground up, a shared bet on a more open web.
The new version is open source and runtime agnostic, meaning it can run anywhere JavaScript does.
You can build with Svelte , Nuxt , Next.js or even bring your own custom framework.
Our strategy includes three layers: core, client and server.
Copy link to heading The core Core is the JavaScript we all used to write for the Shopify API, and never shared.
Now it lives in one place.
Take formatMoney .
The open web already solved most of this with Intl.NumberFormat . const price = new Intl .
NumberFormat ( "en-US" , { style : "currency" , currency : "USD" , } ) . format ( 19.99 ) ; // "$19.99" But the Shopify API doesn't hand you a number .
It responds with a custom type, MoneyV2 , and the amount is a signed decimal number serialized as a string. import { formatMoney , type MoneyV2 } from "@shopify/hydrogen" ; export function formatPrice ( money : MoneyV2 , locale = "en-US" ) { return formatMoney ( money , { locale } ) . toString ( ) ; // $19.99 } …






