@shopify/cli 3.80.7 → 3.81.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/dev-console/extensions/dev-console/assets/index-ohOjvIJh.js +64 -0
- package/dist/assets/dev-console/index.html +1 -1
- package/dist/assets/hydrogen/starter/.cursor/rules/cookbook-recipe-subscriptions.mdc +921 -0
- package/dist/assets/hydrogen/starter/CHANGELOG.md +0 -35
- package/dist/assets/hydrogen/starter/app/components/AddToCartButton.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/CartLineItem.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/CartMain.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/CartSummary.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/Footer.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/Header.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/PageLayout.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/ProductForm.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/ProductItem.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/SearchForm.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/SearchFormPredictive.tsx +6 -1
- package/dist/assets/hydrogen/starter/app/components/SearchResults.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/components/SearchResultsPredictive.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/entry.client.tsx +2 -2
- package/dist/assets/hydrogen/starter/app/entry.server.tsx +4 -9
- package/dist/assets/hydrogen/starter/app/lib/variants.ts +1 -1
- package/dist/assets/hydrogen/starter/app/root.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/_index.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/account.addresses.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/account.orders.$id.tsx +4 -4
- package/dist/assets/hydrogen/starter/app/routes/account.orders._index.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/account.profile.tsx +7 -1
- package/dist/assets/hydrogen/starter/app/routes/account.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle.$articleHandle.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle._index.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/blogs._index.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/cart.tsx +2 -7
- package/dist/assets/hydrogen/starter/app/routes/collections.$handle.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/collections._index.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/collections.all.tsx +2 -2
- package/dist/assets/hydrogen/starter/app/routes/pages.$handle.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/policies.$handle.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/policies._index.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/products.$handle.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes/search.tsx +1 -1
- package/dist/assets/hydrogen/starter/app/routes.ts +2 -2
- package/dist/assets/hydrogen/starter/env.d.ts +2 -12
- package/dist/assets/hydrogen/starter/eslint.config.js +0 -2
- package/dist/assets/hydrogen/starter/package.json +12 -11
- package/dist/assets/hydrogen/starter/server.ts +5 -2
- package/dist/assets/hydrogen/starter/tsconfig.json +6 -18
- package/dist/assets/hydrogen/starter/vite.config.ts +24 -3
- package/dist/assets/hydrogen/tailwind/package.json +1 -4
- package/dist/assets/hydrogen/virtual-routes/components/RequestDetails.jsx +1 -1
- package/dist/assets/hydrogen/virtual-routes/layout.jsx +7 -1
- package/dist/assets/hydrogen/virtual-routes/routes/index.jsx +1 -1
- package/dist/assets/hydrogen/virtual-routes/routes/subrequest-profiler.jsx +1 -1
- package/dist/assets/hydrogen/virtual-routes/virtual-root-with-layout.jsx +1 -1
- package/dist/assets/hydrogen/virtual-routes/virtual-root.jsx +1 -1
- package/dist/assets/hydrogen/vite/vite.config.js +1 -1
- package/dist/{chunk-TNF6QFVZ.js → chunk-27MYZBXV.js} +28 -31
- package/dist/{chunk-63DIRIVX.js → chunk-2Y3UFXD6.js} +242 -216
- package/dist/{chunk-YQXBJZRZ.js → chunk-5CZUSVND.js} +2 -2
- package/dist/{chunk-TMYCLPMW.js → chunk-5LMBCQDG.js} +544 -336
- package/dist/{chunk-KGZTFG3M.js → chunk-5NWUTFCV.js} +3 -3
- package/dist/{chunk-JRAEVQWT.js → chunk-5OBLOY7U.js} +2 -2
- package/dist/{chunk-RJJFC36J.js → chunk-5RPSJUXQ.js} +28 -28
- package/dist/{chunk-5K4EFFDY.js → chunk-6CJ6BGWA.js} +9 -8
- package/dist/{chunk-OQ7ZCSZM.js → chunk-6GAIDVJR.js} +8 -6
- package/dist/{chunk-PJZWUPY4.js → chunk-6NGGBF47.js} +5 -5
- package/dist/{chunk-XZM7J5LL.js → chunk-ALHM5GST.js} +5 -5
- package/dist/{chunk-ECV2CLGW.js → chunk-B44H2P6E.js} +4 -4
- package/dist/{chunk-T6CKLCY3.js → chunk-B5JZHKPR.js} +3 -3
- package/dist/{chunk-IHC7Q4LY.js → chunk-CN7P6XXP.js} +4 -4
- package/dist/{chunk-TJM3YBLQ.js → chunk-CTFDRWUN.js} +15 -12
- package/dist/{chunk-HWRJLLWI.js → chunk-DDYH6337.js} +2 -2
- package/dist/{chunk-NY2OPNXU.js → chunk-E6T6HFSE.js} +5 -5
- package/dist/{chunk-CDBXAE2F.js → chunk-EG6MBBEN.js} +99 -11
- package/dist/{chunk-OWRPRJTD.js → chunk-FAITFLRX.js} +2 -2
- package/dist/{chunk-ZOUELNMC.js → chunk-GMFX4XJF.js} +3 -3
- package/dist/{chunk-2W6OLZFD.js → chunk-H37YPI3Y.js} +3 -3
- package/dist/{chunk-RJ4CN43L.js → chunk-I2M5KL5Z.js} +4 -4
- package/dist/{chunk-VYIBTTN2.js → chunk-JKKYVUPT.js} +3 -3
- package/dist/{chunk-QPXAGLXJ.js → chunk-JV3N43QW.js} +5 -5
- package/dist/{chunk-NSTNFY7W.js → chunk-KJXXNUND.js} +45 -23
- package/dist/{chunk-5AFYDRV4.js → chunk-LPU2VGJR.js} +42 -507
- package/dist/{chunk-KUZYMDX4.js → chunk-NEQJPNB5.js} +8 -8
- package/dist/{chunk-5YH5HMRM.js → chunk-NZVDI2PG.js} +3 -3
- package/dist/{chunk-W4ZWJMX2.js → chunk-O66CPW2Z.js} +2 -2
- package/dist/{chunk-PDNRVFZE.js → chunk-OU2VE5NL.js} +16 -11
- package/dist/{chunk-RFO2FC5M.js → chunk-PINTEIWG.js} +6 -6
- package/dist/{chunk-JDRMHPFL.js → chunk-PLXKIAXS.js} +4 -4
- package/dist/{chunk-MQCYR4KR.js → chunk-R7PQLQRT.js} +4 -4
- package/dist/{chunk-MSHN7O5N.js → chunk-SOZ33QZX.js} +2 -2
- package/dist/{chunk-LQ2ZKVR6.js → chunk-UMUTXITN.js} +87 -4
- package/dist/chunk-V67D4V7T.js +107 -0
- package/dist/{chunk-77RMKCKT.js → chunk-VANXFY34.js} +2 -2
- package/dist/chunk-W5G2YPO2.js +11805 -0
- package/dist/{chunk-3DYG3ZWU.js → chunk-WSP4T6BG.js} +3 -3
- package/dist/{chunk-JU6SOKDJ.js → chunk-X2GG47RT.js} +4 -4
- package/dist/{chunk-HYECXSZG.js → chunk-ZARNHYRC.js} +276 -77
- package/dist/cli/commands/auth/logout.js +16 -17
- package/dist/cli/commands/auth/logout.test.js +18 -19
- package/dist/cli/commands/cache/clear.js +15 -16
- package/dist/cli/commands/debug/command-flags.js +15 -16
- package/dist/cli/commands/docs/generate.js +15 -16
- package/dist/cli/commands/docs/generate.test.js +16 -17
- package/dist/cli/commands/help.js +15 -16
- package/dist/cli/commands/kitchen-sink/async.js +16 -17
- package/dist/cli/commands/kitchen-sink/async.test.js +17 -18
- package/dist/cli/commands/kitchen-sink/index.js +18 -19
- package/dist/cli/commands/kitchen-sink/index.test.js +19 -20
- package/dist/cli/commands/kitchen-sink/prompts.js +16 -17
- package/dist/cli/commands/kitchen-sink/prompts.test.js +17 -18
- package/dist/cli/commands/kitchen-sink/static.js +16 -17
- package/dist/cli/commands/kitchen-sink/static.test.js +17 -18
- package/dist/cli/commands/notifications/generate.js +16 -17
- package/dist/cli/commands/notifications/list.js +16 -17
- package/dist/cli/commands/search.js +16 -17
- package/dist/cli/commands/upgrade.js +16 -17
- package/dist/cli/commands/upgrade.test.js +1 -2
- package/dist/cli/commands/version.js +16 -17
- package/dist/cli/commands/version.test.js +17 -18
- package/dist/cli/services/commands/notifications.js +11 -12
- package/dist/cli/services/commands/search.js +7 -8
- package/dist/cli/services/commands/search.test.js +8 -9
- package/dist/cli/services/commands/version.js +8 -9
- package/dist/cli/services/commands/version.test.js +10 -11
- package/dist/cli/services/kitchen-sink/async.js +7 -8
- package/dist/cli/services/kitchen-sink/prompts.js +7 -8
- package/dist/cli/services/kitchen-sink/static.js +7 -8
- package/dist/cli/services/upgrade.js +8 -9
- package/dist/cli/services/upgrade.test.js +10 -11
- package/dist/{custom-oclif-loader-XTWWK7GM.js → custom-oclif-loader-7E5Z2M56.js} +7 -8
- package/dist/{del-YIU34DZ5.js → del-4JSTEFDW.js} +3 -3
- package/dist/{devtools-J4QAI6HR.js → devtools-LDCSRUXB.js} +4 -4
- package/dist/{error-handler-MIQWANES.js → error-handler-GHVJK7OK.js} +13 -14
- package/dist/hooks/postrun.js +11 -12
- package/dist/hooks/prerun.js +12 -13
- package/dist/{http-proxy-KGLXPNEY.js → http-proxy-LHSVRGJ5.js} +14 -10
- package/dist/index.js +153266 -162667
- package/dist/{lib-MIBR2T7P.js → lib-2ZBT3UR2.js} +5 -5
- package/dist/{local-OL4QQF7A.js → local-GLHD5LYH.js} +9 -14
- package/dist/{magic-string.es-BSVDQOZI.js → magic-string.es-UZAAPNRE.js} +42 -36
- package/dist/{morph-3VOLMA55.js → morph-DFRO3NRL.js} +10 -10
- package/dist/node-OFSPLONP.js +164 -0
- package/dist/{node-package-manager-YZ7SC7JY.js → node-package-manager-K7DEALW5.js} +8 -9
- package/dist/{out-5KP5WGIK.js → out-NKJPLKLB.js} +2 -2
- package/dist/{path-2K5HIMHZ.js → path-GB4VIEM6.js} +2 -3
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{ui-UMSB2BWG.js → ui-G7IYCY5T.js} +7 -10
- package/dist/{workerd-K4ZX64LQ.js → workerd-IDTCFUND.js} +18 -20
- package/oclif.manifest.json +29 -9
- package/package.json +10 -11
- package/dist/assets/dev-console/extensions/dev-console/assets/index-CqNhY1h-.js +0 -64
- package/dist/assets/hydrogen/starter/.cursor/rules/hydrogen-react-router.mdc +0 -52
- package/dist/assets/hydrogen/starter/app/routes/api.$version.[graphql.json].tsx +0 -14
- package/dist/assets/hydrogen/starter/react-router.config.ts +0 -7
- package/dist/chunk-3I3GQNEW.js +0 -95
- package/dist/chunk-57Q6OQG4.js +0 -111
- package/dist/chunk-ZEM3T4UY.js +0 -10590
- package/dist/toml-patch-wasm-J5VGG6WG.js +0 -140
|
@@ -1,40 +1,5 @@
|
|
|
1
1
|
# skeleton
|
|
2
2
|
|
|
3
|
-
## 2025.5.2
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- Fixing the skeleton's Vite Config ([#2958](https://github.com/Shopify/hydrogen/pull/2958)) by [@balazsbajorics](https://github.com/balazsbajorics)
|
|
8
|
-
|
|
9
|
-
## 2025.5.1
|
|
10
|
-
|
|
11
|
-
### Patch Changes
|
|
12
|
-
|
|
13
|
-
- Bumping the cli to 3.80.4 ([#2956](https://github.com/Shopify/hydrogen/pull/2956)) by [@balazsbajorics](https://github.com/balazsbajorics)
|
|
14
|
-
|
|
15
|
-
## 2025.5.0
|
|
16
|
-
|
|
17
|
-
### Patch Changes
|
|
18
|
-
|
|
19
|
-
- Migrating to React Router 7 ([#2866](https://github.com/Shopify/hydrogen/pull/2866)) by [@balazsbajorics](https://github.com/balazsbajorics)
|
|
20
|
-
|
|
21
|
-
- Updated dependencies [[`e9132d88`](https://github.com/Shopify/hydrogen/commit/e9132d8888ad090d3db41fe4d5d63569a30e9d8e), [`e9132d88`](https://github.com/Shopify/hydrogen/commit/e9132d8888ad090d3db41fe4d5d63569a30e9d8e)]:
|
|
22
|
-
- @shopify/remix-oxygen@3.0.0
|
|
23
|
-
- @shopify/hydrogen@2025.5.0
|
|
24
|
-
|
|
25
|
-
## 2025.4.0
|
|
26
|
-
|
|
27
|
-
### Patch Changes
|
|
28
|
-
|
|
29
|
-
- Moved the Cursor rules into more generic LLM prompt files. If you were using the Cursor rules, you will find the prompts in the `cookbook/llms` folder and they can be put into your `.cursor/rules` folder manually. LLM prompt files will be maintained moving forward, while previous Cursor rules will not be updated anymore. ([#2936](https://github.com/Shopify/hydrogen/pull/2936)) by [@ruggishop](https://github.com/ruggishop)
|
|
30
|
-
|
|
31
|
-
- Bump skeleton @shopify/cli and @shopify/mini-oxygen ([#2883](https://github.com/Shopify/hydrogen/pull/2883)) by [@juanpprieto](https://github.com/juanpprieto)
|
|
32
|
-
|
|
33
|
-
- Update SFAPI and CAAPI versions to 2025.04 ([#2886](https://github.com/Shopify/hydrogen/pull/2886)) by [@juanpprieto](https://github.com/juanpprieto)
|
|
34
|
-
|
|
35
|
-
- Updated dependencies [[`af23e710`](https://github.com/Shopify/hydrogen/commit/af23e710dac83bb57498d9c2ef1d8bcf9df55d34), [`9d8a6644`](https://github.com/Shopify/hydrogen/commit/9d8a6644a5b67dca890c6687df390aee78fc85c3)]:
|
|
36
|
-
- @shopify/hydrogen@2025.4.0
|
|
37
|
-
|
|
38
3
|
## 2025.1.7
|
|
39
4
|
|
|
40
5
|
### Patch Changes
|
|
@@ -2,7 +2,7 @@ import type {CartLineUpdateInput} from '@shopify/hydrogen/storefront-api-types';
|
|
|
2
2
|
import type {CartLayout} from '~/components/CartMain';
|
|
3
3
|
import {CartForm, Image, type OptimisticCartLine} from '@shopify/hydrogen';
|
|
4
4
|
import {useVariantUrl} from '~/lib/variants';
|
|
5
|
-
import {
|
|
5
|
+
import {Link} from '@remix-run/react';
|
|
6
6
|
import {ProductPrice} from './ProductPrice';
|
|
7
7
|
import {useAside} from './Aside';
|
|
8
8
|
import type {CartApiQueryFragment} from 'storefrontapi.generated';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {useOptimisticCart} from '@shopify/hydrogen';
|
|
2
|
-
import {
|
|
2
|
+
import {Link} from '@remix-run/react';
|
|
3
3
|
import type {CartApiQueryFragment} from 'storefrontapi.generated';
|
|
4
4
|
import {useAside} from '~/components/Aside';
|
|
5
5
|
import {CartLineItem} from '~/components/CartLineItem';
|
|
@@ -2,7 +2,7 @@ import type {CartApiQueryFragment} from 'storefrontapi.generated';
|
|
|
2
2
|
import type {CartLayout} from '~/components/CartMain';
|
|
3
3
|
import {CartForm, Money, type OptimisticCart} from '@shopify/hydrogen';
|
|
4
4
|
import {useRef} from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import {FetcherWithComponents} from '@remix-run/react';
|
|
6
6
|
|
|
7
7
|
type CartSummaryProps = {
|
|
8
8
|
cart: OptimisticCart<CartApiQueryFragment | null>;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
useFetcher,
|
|
3
|
+
useNavigate,
|
|
4
|
+
type FormProps,
|
|
5
|
+
type Fetcher,
|
|
6
|
+
} from '@remix-run/react';
|
|
2
7
|
import React, {useRef, useEffect} from 'react';
|
|
3
8
|
import type {PredictiveSearchReturn} from '~/lib/search';
|
|
4
9
|
import {useAside} from './Aside';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {RemixBrowser} from '@remix-run/react';
|
|
2
2
|
import {startTransition, StrictMode} from 'react';
|
|
3
3
|
import {hydrateRoot} from 'react-dom/client';
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ if (!window.location.origin.includes('webcache.googleusercontent.com')) {
|
|
|
7
7
|
hydrateRoot(
|
|
8
8
|
document,
|
|
9
9
|
<StrictMode>
|
|
10
|
-
<
|
|
10
|
+
<RemixBrowser />
|
|
11
11
|
</StrictMode>,
|
|
12
12
|
);
|
|
13
13
|
});
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import type {AppLoadContext} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
1
|
+
import type {EntryContext, AppLoadContext} from '@shopify/remix-oxygen';
|
|
2
|
+
import {RemixServer} from '@remix-run/react';
|
|
3
3
|
import {isbot} from 'isbot';
|
|
4
4
|
import {renderToReadableStream} from 'react-dom/server';
|
|
5
5
|
import {createContentSecurityPolicy} from '@shopify/hydrogen';
|
|
6
|
-
import type {EntryContext} from 'react-router';
|
|
7
6
|
|
|
8
7
|
export default async function handleRequest(
|
|
9
8
|
request: Request,
|
|
10
9
|
responseStatusCode: number,
|
|
11
10
|
responseHeaders: Headers,
|
|
12
|
-
|
|
11
|
+
remixContext: EntryContext,
|
|
13
12
|
context: AppLoadContext,
|
|
14
13
|
) {
|
|
15
14
|
const {nonce, header, NonceProvider} = createContentSecurityPolicy({
|
|
@@ -21,11 +20,7 @@ export default async function handleRequest(
|
|
|
21
20
|
|
|
22
21
|
const body = await renderToReadableStream(
|
|
23
22
|
<NonceProvider>
|
|
24
|
-
<
|
|
25
|
-
context={reactRouterContext}
|
|
26
|
-
url={request.url}
|
|
27
|
-
nonce={nonce}
|
|
28
|
-
/>
|
|
23
|
+
<RemixServer context={remixContext} url={request.url} nonce={nonce}/>
|
|
29
24
|
</NonceProvider>,
|
|
30
25
|
{
|
|
31
26
|
nonce,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
Scripts,
|
|
11
11
|
ScrollRestoration,
|
|
12
12
|
useRouteLoaderData,
|
|
13
|
-
} from 'react
|
|
13
|
+
} from '@remix-run/react';
|
|
14
14
|
import favicon from '~/assets/favicon.svg';
|
|
15
15
|
import {FOOTER_QUERY, HEADER_QUERY} from '~/lib/fragments';
|
|
16
16
|
import resetStyles from '~/styles/reset.css?url';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {Await, useLoaderData, Link, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {Suspense} from 'react';
|
|
4
4
|
import {Image, Money} from '@shopify/hydrogen';
|
|
5
5
|
import type {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {redirect, type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {Money, Image, flattenConnection} from '@shopify/hydrogen';
|
|
4
4
|
import type {OrderLineItemFullFragment} from 'customer-accountapi.generated';
|
|
5
5
|
import {CUSTOMER_ORDER_QUERY} from '~/graphql/customer-account/CustomerOrderQuery';
|
|
@@ -60,7 +60,7 @@ export default function OrderRoute() {
|
|
|
60
60
|
fulfillmentStatus,
|
|
61
61
|
} = useLoaderData<typeof loader>();
|
|
62
62
|
return (
|
|
63
|
-
|
|
63
|
+
<div className="account-order">
|
|
64
64
|
<h2>Order {order.name}</h2>
|
|
65
65
|
<p>Placed on {new Date(order.processedAt!).toDateString()}</p>
|
|
66
66
|
<br />
|
|
@@ -77,7 +77,7 @@ export default function OrderRoute() {
|
|
|
77
77
|
<tbody>
|
|
78
78
|
{lineItems.map((lineItem, lineItemIndex) => (
|
|
79
79
|
// eslint-disable-next-line react/no-array-index-key
|
|
80
|
-
|
|
80
|
+
<OrderLineRow key={lineItemIndex} lineItem={lineItem} />
|
|
81
81
|
))}
|
|
82
82
|
</tbody>
|
|
83
83
|
<tfoot>
|
|
@@ -165,7 +165,7 @@ export default function OrderRoute() {
|
|
|
165
165
|
View Order Status →
|
|
166
166
|
</a>
|
|
167
167
|
</p>
|
|
168
|
-
</div>
|
|
168
|
+
</div>
|
|
169
169
|
);
|
|
170
170
|
}
|
|
171
171
|
|
|
@@ -6,7 +6,13 @@ import {
|
|
|
6
6
|
type ActionFunctionArgs,
|
|
7
7
|
type LoaderFunctionArgs,
|
|
8
8
|
} from '@shopify/remix-oxygen';
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
Form,
|
|
11
|
+
useActionData,
|
|
12
|
+
useNavigation,
|
|
13
|
+
useOutletContext,
|
|
14
|
+
type MetaFunction,
|
|
15
|
+
} from '@remix-run/react';
|
|
10
16
|
|
|
11
17
|
export type ActionResponse = {
|
|
12
18
|
error: string | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {data as remixData, type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {Form, NavLink, Outlet, useLoaderData} from '@remix-run/react';
|
|
3
3
|
import {CUSTOMER_DETAILS_QUERY} from '~/graphql/customer-account/CustomerDetailsQuery';
|
|
4
4
|
|
|
5
5
|
export function shouldRevalidate() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {Image} from '@shopify/hydrogen';
|
|
4
4
|
import {redirectIfHandleIsLocalized} from '~/lib/redirect';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {Link, useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {Image, getPaginationVariables} from '@shopify/hydrogen';
|
|
4
4
|
import type {ArticleItemFragment} from 'storefrontapi.generated';
|
|
5
5
|
import {PaginatedResourceSection} from '~/components/PaginatedResourceSection';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {Link, useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {getPaginationVariables} from '@shopify/hydrogen';
|
|
4
4
|
import {PaginatedResourceSection} from '~/components/PaginatedResourceSection';
|
|
5
5
|
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {type MetaFunction, useLoaderData} from '@remix-run/react';
|
|
2
2
|
import type {CartQueryDataReturn} from '@shopify/hydrogen';
|
|
3
3
|
import {CartForm} from '@shopify/hydrogen';
|
|
4
|
-
import {
|
|
5
|
-
data,
|
|
6
|
-
type LoaderFunctionArgs,
|
|
7
|
-
type ActionFunctionArgs,
|
|
8
|
-
type HeadersFunction,
|
|
9
|
-
} from '@shopify/remix-oxygen';
|
|
4
|
+
import {data, type LoaderFunctionArgs, type ActionFunctionArgs, type HeadersFunction} from '@shopify/remix-oxygen';
|
|
10
5
|
import {CartMain} from '~/components/CartMain';
|
|
11
6
|
|
|
12
7
|
export const meta: MetaFunction = () => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {redirect, type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {useLoaderData, type MetaFunction} from 'react
|
|
2
|
+
import {useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {getPaginationVariables, Analytics} from '@shopify/hydrogen';
|
|
4
4
|
import {PaginatedResourceSection} from '~/components/PaginatedResourceSection';
|
|
5
5
|
import {redirectIfHandleIsLocalized} from '~/lib/redirect';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {useLoaderData, Link} from '@remix-run/react';
|
|
2
2
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
3
3
|
import {getPaginationVariables, Image} from '@shopify/hydrogen';
|
|
4
4
|
import type {CollectionFragment} from 'storefrontapi.generated';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {useLoaderData, type MetaFunction} from 'react
|
|
3
|
-
import {getPaginationVariables
|
|
2
|
+
import {useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
|
+
import {getPaginationVariables} from '@shopify/hydrogen';
|
|
4
4
|
import {PaginatedResourceSection} from '~/components/PaginatedResourceSection';
|
|
5
5
|
import {ProductItem} from '~/components/ProductItem';
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {redirectIfHandleIsLocalized} from '~/lib/redirect';
|
|
4
4
|
|
|
5
5
|
export const meta: MetaFunction<typeof loader> = ({data}) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {Link, useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
3
3
|
import {type Shop} from '@shopify/hydrogen/storefront-api-types';
|
|
4
4
|
|
|
5
5
|
type SelectedPolicies = keyof Pick<
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {type LoaderFunctionArgs} from '@shopify/remix-oxygen';
|
|
2
|
-
import {
|
|
2
|
+
import {useLoaderData, Link} from '@remix-run/react';
|
|
3
3
|
|
|
4
4
|
export async function loader({context}: LoaderFunctionArgs) {
|
|
5
5
|
const data = await context.storefront.query(POLICIES_QUERY);
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
type LoaderFunctionArgs,
|
|
3
3
|
type ActionFunctionArgs,
|
|
4
4
|
} from '@shopify/remix-oxygen';
|
|
5
|
-
import {
|
|
5
|
+
import {useLoaderData, type MetaFunction} from '@remix-run/react';
|
|
6
6
|
import {getPaginationVariables, Analytics} from '@shopify/hydrogen';
|
|
7
7
|
import {SearchForm} from '~/components/SearchForm';
|
|
8
8
|
import {SearchResults} from '~/components/SearchResults';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {flatRoutes} from '@
|
|
2
|
-
import {type RouteConfig} from '@
|
|
1
|
+
import {flatRoutes} from '@remix-run/fs-routes';
|
|
2
|
+
import {type RouteConfig} from '@remix-run/route-config';
|
|
3
3
|
import {hydrogenRoutes} from '@shopify/hydrogen';
|
|
4
4
|
|
|
5
5
|
export default hydrogenRoutes([
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="vite/client" />
|
|
2
|
-
/// <reference types="
|
|
2
|
+
/// <reference types="@shopify/remix-oxygen" />
|
|
3
3
|
/// <reference types="@shopify/oxygen-workers-types" />
|
|
4
4
|
|
|
5
5
|
// Enhance TypeScript's built-in typings.
|
|
@@ -23,22 +23,12 @@ declare global {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
declare module '
|
|
26
|
+
declare module '@shopify/remix-oxygen' {
|
|
27
27
|
interface AppLoadContext
|
|
28
28
|
extends Awaited<ReturnType<typeof createAppLoadContext>> {
|
|
29
29
|
// to change context type, change the return of createAppLoadContext() instead
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
// TODO: remove this once we've migrated our loaders to `Route.LoaderArgs`
|
|
33
|
-
interface LoaderFunctionArgs {
|
|
34
|
-
context: AppLoadContext;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// TODO: remove this once we've migrated our loaders to `Route.ActionArgs`
|
|
38
|
-
interface ActionFunctionArgs {
|
|
39
|
-
context: AppLoadContext;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
32
|
interface SessionData extends HydrogenSessionData {
|
|
43
33
|
// declare local additions to the Remix session data here
|
|
44
34
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "skeleton",
|
|
3
3
|
"private": true,
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "2025.
|
|
5
|
+
"version": "2025.1.7",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "shopify hydrogen build --codegen",
|
|
@@ -14,29 +14,31 @@
|
|
|
14
14
|
},
|
|
15
15
|
"prettier": "@shopify/prettier-config",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@
|
|
18
|
-
"@
|
|
17
|
+
"@remix-run/react": "^2.16.1",
|
|
18
|
+
"@remix-run/server-runtime": "^2.16.1",
|
|
19
19
|
"graphql": "^16.10.0",
|
|
20
|
+
"@shopify/hydrogen": "2025.1.4",
|
|
21
|
+
"@shopify/remix-oxygen": "^2.0.12",
|
|
20
22
|
"graphql-tag": "^2.12.6",
|
|
21
23
|
"isbot": "^5.1.22",
|
|
22
24
|
"react": "^18.2.0",
|
|
23
|
-
"react-dom": "^18.2.0"
|
|
24
|
-
"react-router": "7.6.0",
|
|
25
|
-
"react-router-dom": "7.6.0"
|
|
25
|
+
"react-dom": "^18.2.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@eslint/compat": "^1.2.5",
|
|
29
29
|
"@eslint/eslintrc": "^3.2.0",
|
|
30
30
|
"@eslint/js": "^9.18.0",
|
|
31
31
|
"@graphql-codegen/cli": "5.0.2",
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"@
|
|
32
|
+
"@remix-run/dev": "^2.16.1",
|
|
33
|
+
"@remix-run/fs-routes": "^2.16.1",
|
|
34
|
+
"@remix-run/route-config": "^2.16.1",
|
|
35
|
+
"@shopify/cli": "~3.78.1",
|
|
35
36
|
"@shopify/hydrogen-codegen": "^0.3.3",
|
|
36
37
|
"@shopify/mini-oxygen": "^3.2.1",
|
|
37
38
|
"@shopify/oxygen-workers-types": "^4.1.6",
|
|
38
39
|
"@shopify/prettier-config": "^1.1.2",
|
|
39
40
|
"@total-typescript/ts-reset": "^0.6.1",
|
|
41
|
+
"prettier": "^3.4.2",
|
|
40
42
|
"@types/eslint": "^9.6.1",
|
|
41
43
|
"@types/react": "^18.2.22",
|
|
42
44
|
"@types/react-dom": "^18.2.7",
|
|
@@ -52,7 +54,6 @@
|
|
|
52
54
|
"eslint-plugin-react": "^7.37.4",
|
|
53
55
|
"eslint-plugin-react-hooks": "^5.1.0",
|
|
54
56
|
"globals": "^15.14.0",
|
|
55
|
-
"prettier": "^3.4.2",
|
|
56
57
|
"typescript": "^5.2.2",
|
|
57
58
|
"vite": "^6.2.4",
|
|
58
59
|
"vite-tsconfig-paths": "^4.3.1"
|
|
@@ -60,4 +61,4 @@
|
|
|
60
61
|
"engines": {
|
|
61
62
|
"node": ">=18.0.0"
|
|
62
63
|
}
|
|
63
|
-
}
|
|
64
|
+
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
// Virtual entry point for the app
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
// eslint-disable-next-line import/no-unresolved
|
|
5
|
+
import * as remixBuild from 'virtual:remix/server-build';
|
|
2
6
|
import {storefrontRedirect} from '@shopify/hydrogen';
|
|
3
7
|
import {createRequestHandler} from '@shopify/remix-oxygen';
|
|
4
8
|
import {createAppLoadContext} from '~/lib/context';
|
|
@@ -24,8 +28,7 @@ export default {
|
|
|
24
28
|
* Hydrogen's Storefront client to the loader context.
|
|
25
29
|
*/
|
|
26
30
|
const handleRequest = createRequestHandler({
|
|
27
|
-
|
|
28
|
-
build: await import('virtual:react-router/server-build'),
|
|
31
|
+
build: remixBuild,
|
|
29
32
|
mode: process.env.NODE_ENV,
|
|
30
33
|
getLoadContext: () => appLoadContext,
|
|
31
34
|
});
|
|
@@ -1,16 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"include": [
|
|
3
|
-
"./**/*.d.ts",
|
|
4
|
-
"./**/*.ts",
|
|
5
|
-
"./**/*.tsx",
|
|
6
|
-
".react-router/types/**/*"
|
|
7
|
-
],
|
|
2
|
+
"include": ["./**/*.d.ts", "./**/*.ts", "./**/*.tsx"],
|
|
8
3
|
"compilerOptions": {
|
|
9
|
-
"lib": [
|
|
10
|
-
"DOM",
|
|
11
|
-
"DOM.Iterable",
|
|
12
|
-
"ES2022"
|
|
13
|
-
],
|
|
4
|
+
"lib": ["DOM", "DOM.Iterable", "ES2022"],
|
|
14
5
|
"isolatedModules": true,
|
|
15
6
|
"esModuleInterop": true,
|
|
16
7
|
"jsx": "react-jsx",
|
|
@@ -25,15 +16,12 @@
|
|
|
25
16
|
"baseUrl": ".",
|
|
26
17
|
"types": [
|
|
27
18
|
"@shopify/oxygen-workers-types",
|
|
28
|
-
"
|
|
19
|
+
"@remix-run/server-runtime",
|
|
29
20
|
"vite/client"
|
|
30
21
|
],
|
|
31
22
|
"paths": {
|
|
32
|
-
"~/*": [
|
|
33
|
-
"app/*"
|
|
34
|
-
]
|
|
23
|
+
"~/*": ["app/*"]
|
|
35
24
|
},
|
|
36
|
-
"noEmit": true
|
|
37
|
-
"rootDirs": [".", "./.react-router/types"]
|
|
25
|
+
"noEmit": true
|
|
38
26
|
}
|
|
39
|
-
}
|
|
27
|
+
}
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import {defineConfig} from 'vite';
|
|
2
2
|
import {hydrogen} from '@shopify/hydrogen/vite';
|
|
3
3
|
import {oxygen} from '@shopify/mini-oxygen/vite';
|
|
4
|
-
import {
|
|
4
|
+
import {vitePlugin as remix} from '@remix-run/dev';
|
|
5
5
|
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
6
6
|
|
|
7
|
+
declare module "@remix-run/server-runtime" {
|
|
8
|
+
interface Future {
|
|
9
|
+
v3_singleFetch: true;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
7
13
|
export default defineConfig({
|
|
8
|
-
plugins: [
|
|
14
|
+
plugins: [
|
|
15
|
+
hydrogen(),
|
|
16
|
+
oxygen(),
|
|
17
|
+
remix({
|
|
18
|
+
presets: [hydrogen.v3preset()],
|
|
19
|
+
future: {
|
|
20
|
+
v3_fetcherPersist: true,
|
|
21
|
+
v3_relativeSplatPath: true,
|
|
22
|
+
v3_throwAbortReason: true,
|
|
23
|
+
v3_lazyRouteDiscovery: true,
|
|
24
|
+
v3_routeConfig: true,
|
|
25
|
+
v3_singleFetch: true,
|
|
26
|
+
},
|
|
27
|
+
}),
|
|
28
|
+
tsconfigPaths(),
|
|
29
|
+
],
|
|
9
30
|
build: {
|
|
10
31
|
// Allow a strict Content-Security-Policy
|
|
11
32
|
// withtout inlining assets as base64:
|
|
@@ -23,7 +44,7 @@ export default defineConfig({
|
|
|
23
44
|
* Include 'example-dep' in the array below.
|
|
24
45
|
* @see https://vitejs.dev/config/dep-optimization-options
|
|
25
46
|
*/
|
|
26
|
-
include: [
|
|
47
|
+
include: [],
|
|
27
48
|
},
|
|
28
49
|
},
|
|
29
50
|
});
|