@shopify/create-hydrogen 5.0.26 → 5.0.27

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.
@@ -6,7 +6,7 @@ import {getSchema} from '@shopify/hydrogen-codegen';
6
6
  * @see https://the-guild.dev/graphql/config/docs/user/usage
7
7
  * @type {IGraphQLConfig}
8
8
  */
9
- export default {
9
+ const graphqlConfig: IGraphQLConfig = {
10
10
  projects: {
11
11
  default: {
12
12
  schema: getSchema('storefront'),
@@ -24,4 +24,6 @@ export default {
24
24
 
25
25
  // Add your own GraphQL projects here for CMS, Shopify Admin API, etc.
26
26
  },
27
- } as IGraphQLConfig;
27
+ };
28
+
29
+ export default graphqlConfig;
@@ -1,5 +1,73 @@
1
1
  # skeleton
2
2
 
3
+ ## 2025.7.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Support OAuth parameters via URL query strings in skeleton login route ([#3391](https://github.com/Shopify/hydrogen/pull/3391)) by [@kdaviduik](https://github.com/kdaviduik)
8
+
9
+ The skeleton template's login route (`account_.login.tsx`) now reads OAuth parameters from the URL and forwards them to `customerAccount.login()`. This enables deep linking to the login page with pre-configured authentication options.
10
+
11
+ ### Supported Query Parameters
12
+
13
+ | Query Parameter | Description |
14
+ | ----------------- | ---------------------------------------------------------------------------------- |
15
+ | `acr_values` | Direct users to a specific login method (e.g., `provider:google` for social login) |
16
+ | `login_hint` | Pre-fill the email address field |
17
+ | `login_hint_mode` | When set to `submit` with `login_hint`, auto-submits the login form |
18
+ | `locale` | Display the login page in a specific language (e.g., `fr`, `zh-CN`) |
19
+
20
+ ### Usage Examples
21
+
22
+ ```
23
+ /account/login?login_hint=user@example.com
24
+ /account/login?login_hint=user@example.com&login_hint_mode=submit
25
+ /account/login?acr_values=provider:google
26
+ /account/login?locale=fr
27
+ ```
28
+
29
+ - Updated dependencies [[`7c077f5f21a595c0355873ac8073b716dfeaf4d0`](https://github.com/Shopify/hydrogen/commit/7c077f5f21a595c0355873ac8073b716dfeaf4d0), [`7c077f5f21a595c0355873ac8073b716dfeaf4d0`](https://github.com/Shopify/hydrogen/commit/7c077f5f21a595c0355873ac8073b716dfeaf4d0), [`7c077f5f21a595c0355873ac8073b716dfeaf4d0`](https://github.com/Shopify/hydrogen/commit/7c077f5f21a595c0355873ac8073b716dfeaf4d0)]:
30
+ - @shopify/hydrogen@2025.8.0
31
+
32
+ ## 2025.7.2
33
+
34
+ ### Patch Changes
35
+
36
+ - Updated dependencies [[`6d22e45d29e89a7a8dddfe3c06459d89e4590483`](https://github.com/Shopify/hydrogen/commit/6d22e45d29e89a7a8dddfe3c06459d89e4590483), [`702f966c8e60eba7434363c9012f12bed92a8e4d`](https://github.com/Shopify/hydrogen/commit/702f966c8e60eba7434363c9012f12bed92a8e4d)]:
37
+ - @shopify/hydrogen@2025.7.2
38
+
39
+ ## 2025.7.1
40
+
41
+ ### Patch Changes
42
+
43
+ - Update React Router to 7.12.0 with stabilized future flags ([#3346](https://github.com/Shopify/hydrogen/pull/3346)) by [@kdaviduik](https://github.com/kdaviduik)
44
+
45
+ This release uses React Router's newly stabilized future flags (`v8_splitRouteModules`, `v8_middleware`) instead of their unstable counterparts
46
+
47
+ - Moved server build in `server.ts` from a dynamic import to a static import to speed up first rendering during local development (2s => 200ms). ([#3331](https://github.com/Shopify/hydrogen/pull/3331)) by [@frandiox](https://github.com/frandiox)
48
+
49
+ ```diff
50
+ // server.ts
51
+
52
+ +import * as serverBuild from 'virtual:react-router/server-build';
53
+
54
+ const handleRequest = createRequestHandler({
55
+ - build: await import('virtual:react-router/server-build'),
56
+ + build: serverBuild,
57
+ ```
58
+
59
+ Updated ESLint config to allow `virtual:` imports:
60
+
61
+ ```diff
62
+ // eslint.config.js
63
+
64
+ rules: {
65
+ + 'import/no-unresolved': ['error', {ignore: ['^virtual:']}],
66
+ ```
67
+
68
+ - Updated dependencies [[`264e13349168f17cc1f096c84135d13d38cfc8df`](https://github.com/Shopify/hydrogen/commit/264e13349168f17cc1f096c84135d13d38cfc8df), [`6d5e3d371e7e02e15be17029a0f34daae53a978e`](https://github.com/Shopify/hydrogen/commit/6d5e3d371e7e02e15be17029a0f34daae53a978e), [`ee00f1025867c40d5f67fa89d4ffb215bf280e8f`](https://github.com/Shopify/hydrogen/commit/ee00f1025867c40d5f67fa89d4ffb215bf280e8f), [`5a38948133766e358c5f357f52562f6fdcfe7969`](https://github.com/Shopify/hydrogen/commit/5a38948133766e358c5f357f52562f6fdcfe7969), [`264e13349168f17cc1f096c84135d13d38cfc8df`](https://github.com/Shopify/hydrogen/commit/264e13349168f17cc1f096c84135d13d38cfc8df)]:
69
+ - @shopify/hydrogen@2025.7.1
70
+
3
71
  ## 2025.7.0
4
72
 
5
73
  ### Major Changes
@@ -1,7 +1,17 @@
1
1
  import type {Route} from './+types/account_.login';
2
2
 
3
3
  export async function loader({request, context}: Route.LoaderArgs) {
4
+ const url = new URL(request.url);
5
+ const acrValues = url.searchParams.get('acr_values') || undefined;
6
+ const loginHint = url.searchParams.get('login_hint') || undefined;
7
+ const loginHintMode = url.searchParams.get('login_hint_mode') || undefined;
8
+ const locale = url.searchParams.get('locale') || undefined;
9
+
4
10
  return context.customerAccount.login({
5
11
  countryCode: context.storefront.i18n.country,
12
+ acrValues,
13
+ loginHint,
14
+ loginHintMode,
15
+ locale,
6
16
  });
7
17
  }
@@ -211,6 +211,7 @@ export default [
211
211
  '@typescript-eslint/no-floating-promises': 'error',
212
212
  '@typescript-eslint/no-misused-promises': 'error',
213
213
  'react/prop-types': 'off',
214
+ 'import/no-unresolved': ['error', {ignore: ['^virtual:']}],
214
215
  },
215
216
  },
216
217
  {
@@ -2,7 +2,7 @@
2
2
  "name": "skeleton",
3
3
  "private": true,
4
4
  "sideEffects": false,
5
- "version": "2025.7.0",
5
+ "version": "2025.7.3",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "build": "shopify hydrogen build --codegen",
@@ -14,22 +14,22 @@
14
14
  },
15
15
  "prettier": "@shopify/prettier-config",
16
16
  "dependencies": {
17
- "@shopify/hydrogen": "2025.7.0",
17
+ "@shopify/hydrogen": "2025.7.3",
18
18
  "graphql": "^16.10.0",
19
19
  "graphql-tag": "^2.12.6",
20
20
  "isbot": "^5.1.22",
21
21
  "react": "18.3.1",
22
22
  "react-dom": "18.3.1",
23
- "react-router": "7.9.2",
24
- "react-router-dom": "7.9.2"
23
+ "react-router": "7.12.0",
24
+ "react-router-dom": "7.12.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@eslint/compat": "^1.2.5",
28
28
  "@eslint/eslintrc": "^3.2.0",
29
29
  "@eslint/js": "^9.18.0",
30
30
  "@graphql-codegen/cli": "5.0.2",
31
- "@react-router/dev": "7.9.2",
32
- "@react-router/fs-routes": "7.9.2",
31
+ "@react-router/dev": "7.12.0",
32
+ "@react-router/fs-routes": "7.12.0",
33
33
  "@shopify/cli": "3.85.4",
34
34
  "@shopify/hydrogen-codegen": "^0.3.3",
35
35
  "@shopify/mini-oxygen": "^4.0.0",
@@ -51,6 +51,7 @@
51
51
  "eslint-plugin-react": "^7.37.4",
52
52
  "eslint-plugin-react-hooks": "^5.1.0",
53
53
  "globals": "^15.14.0",
54
+ "graphql-config": "^5.0.3",
54
55
  "prettier": "^3.4.2",
55
56
  "typescript": "^5.9.2",
56
57
  "vite": "^6.2.4",
@@ -1,6 +1,5 @@
1
- // Virtual entry point for the app
2
- import {storefrontRedirect} from '@shopify/hydrogen';
3
- import {createRequestHandler} from '@shopify/hydrogen/oxygen';
1
+ import * as serverBuild from 'virtual:react-router/server-build';
2
+ import {createRequestHandler, storefrontRedirect} from '@shopify/hydrogen';
4
3
  import {createHydrogenRouterContext} from '~/lib/context';
5
4
 
6
5
  /**
@@ -20,12 +19,11 @@ export default {
20
19
  );
21
20
 
22
21
  /**
23
- * Create a Remix request handler and pass
24
- * Hydrogen's Storefront client to the loader context.
22
+ * Create a Hydrogen request handler that internally
23
+ * delegates to React Router for routing and rendering.
25
24
  */
26
25
  const handleRequest = createRequestHandler({
27
- // eslint-disable-next-line import/no-unresolved
28
- build: await import('virtual:react-router/server-build'),
26
+ build: serverBuild,
29
27
  mode: process.env.NODE_ENV,
30
28
  getLoadContext: () => hydrogenContext,
31
29
  });