@shopify/cli-hydrogen 11.1.4 → 11.1.6
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/hydrogen/starter/CHANGELOG.md +32 -0
- package/dist/assets/hydrogen/starter/eslint.config.js +1 -0
- package/dist/assets/hydrogen/starter/package.json +7 -7
- package/dist/assets/hydrogen/starter/server.ts +5 -7
- package/dist/commands/hydrogen/dev.js +2 -0
- package/dist/commands/hydrogen/upgrade.js +10 -2
- package/dist/lib/react-router-version-check.js +2 -2
- package/oclif.manifest.json +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# skeleton
|
|
2
2
|
|
|
3
|
+
## 2025.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 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)
|
|
8
|
+
|
|
9
|
+
This release uses React Router's newly stabilized future flags (`v8_splitRouteModules`, `v8_middleware`) instead of their unstable counterparts
|
|
10
|
+
|
|
11
|
+
- 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)
|
|
12
|
+
|
|
13
|
+
```diff
|
|
14
|
+
// server.ts
|
|
15
|
+
|
|
16
|
+
+import * as serverBuild from 'virtual:react-router/server-build';
|
|
17
|
+
|
|
18
|
+
const handleRequest = createRequestHandler({
|
|
19
|
+
- build: await import('virtual:react-router/server-build'),
|
|
20
|
+
+ build: serverBuild,
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Updated ESLint config to allow `virtual:` imports:
|
|
24
|
+
|
|
25
|
+
```diff
|
|
26
|
+
// eslint.config.js
|
|
27
|
+
|
|
28
|
+
rules: {
|
|
29
|
+
+ 'import/no-unresolved': ['error', {ignore: ['^virtual:']}],
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- 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)]:
|
|
33
|
+
- @shopify/hydrogen@2025.7.1
|
|
34
|
+
|
|
3
35
|
## 2025.7.0
|
|
4
36
|
|
|
5
37
|
### Major Changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "skeleton",
|
|
3
3
|
"private": true,
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "2025.7.
|
|
5
|
+
"version": "2025.7.1",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "shopify hydrogen build --codegen",
|
|
@@ -14,23 +14,23 @@
|
|
|
14
14
|
},
|
|
15
15
|
"prettier": "@shopify/prettier-config",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@shopify/hydrogen": "2025.7.
|
|
17
|
+
"@shopify/hydrogen": "2025.7.1",
|
|
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.
|
|
24
|
-
"react-router-dom": "7.
|
|
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.
|
|
32
|
-
"@react-router/fs-routes": "7.
|
|
33
|
-
"@shopify/cli": "3.
|
|
31
|
+
"@react-router/dev": "7.12.0",
|
|
32
|
+
"@react-router/fs-routes": "7.12.0",
|
|
33
|
+
"@shopify/cli": "3.85.4",
|
|
34
34
|
"@shopify/hydrogen-codegen": "^0.3.3",
|
|
35
35
|
"@shopify/mini-oxygen": "^4.0.0",
|
|
36
36
|
"@shopify/oxygen-workers-types": "^4.1.6",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
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
|
|
24
|
-
*
|
|
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
|
-
|
|
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
|
});
|
|
@@ -134,6 +134,8 @@ async function runDev({
|
|
|
134
134
|
const viteServer = await vite.createServer({
|
|
135
135
|
root,
|
|
136
136
|
clearScreen: false,
|
|
137
|
+
// In unit tests, node_modules is a symlink. Avoid writing .vite cache inside it.
|
|
138
|
+
cacheDir: process.env.SHOPIFY_UNIT_TEST ? joinPath(root, ".vite") : void 0,
|
|
137
139
|
customLogger: process.env.SHOPIFY_UNIT_TEST ? Object.assign(vite.createLogger(), {
|
|
138
140
|
info: (msg) => collectLog("info", msg),
|
|
139
141
|
warn: (msg) => collectLog("warn", msg),
|
|
@@ -882,7 +882,15 @@ async function displayDevUpgradeNotice({
|
|
|
882
882
|
) : changelog.releases.findIndex(
|
|
883
883
|
(release) => getAbsoluteVersion(release.version) === pinnedCurrentVersion
|
|
884
884
|
);
|
|
885
|
-
|
|
885
|
+
let relevantReleases;
|
|
886
|
+
if (currentReleaseIndex === -1) {
|
|
887
|
+
const insertionIndex = changelog.releases.findIndex(
|
|
888
|
+
(release) => semver.lte(getAbsoluteVersion(release.version), pinnedCurrentVersion)
|
|
889
|
+
);
|
|
890
|
+
relevantReleases = insertionIndex === -1 ? changelog.releases : changelog.releases.slice(0, insertionIndex);
|
|
891
|
+
} else {
|
|
892
|
+
relevantReleases = changelog.releases.slice(0, currentReleaseIndex);
|
|
893
|
+
}
|
|
886
894
|
const nextReleases = Object.values(
|
|
887
895
|
[...relevantReleases].reverse().reduce(
|
|
888
896
|
(acc, release) => {
|
|
@@ -891,7 +899,7 @@ async function displayDevUpgradeNotice({
|
|
|
891
899
|
},
|
|
892
900
|
{}
|
|
893
901
|
)
|
|
894
|
-
).slice(0, 5);
|
|
902
|
+
).reverse().slice(0, 5);
|
|
895
903
|
let headline = Object.keys(uniqueAvailableUpgrades).length > 1 ? `There are ${Object.keys(uniqueAvailableUpgrades).length} new @shopify/hydrogen versions available.` : `There's a new @shopify/hydrogen version available.`;
|
|
896
904
|
const cliCommand = await getCliCommand();
|
|
897
905
|
renderInfo({
|
|
@@ -10,7 +10,7 @@ const REACT_ROUTER_PACKAGES = [
|
|
|
10
10
|
"@react-router/dev",
|
|
11
11
|
"@react-router/fs-routes"
|
|
12
12
|
];
|
|
13
|
-
const EXPECTED_VERSION = "7.
|
|
13
|
+
const EXPECTED_VERSION = "7.12.0";
|
|
14
14
|
async function checkReactRouterVersions(appPath) {
|
|
15
15
|
const mismatches = [];
|
|
16
16
|
const packageJsonPath = joinPath(appPath, "package.json");
|
|
@@ -65,7 +65,7 @@ async function checkReactRouterVersions(appPath) {
|
|
|
65
65
|
renderWarning({
|
|
66
66
|
headline: "React Router version mismatch detected",
|
|
67
67
|
body: [
|
|
68
|
-
"Hydrogen requires React Router 7.
|
|
68
|
+
"Hydrogen requires React Router 7.12.0 for proper functionality.",
|
|
69
69
|
"",
|
|
70
70
|
"Version mismatches found:",
|
|
71
71
|
mismatchList,
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public",
|
|
5
5
|
"@shopify:registry": "https://registry.npmjs.org"
|
|
6
6
|
},
|
|
7
|
-
"version": "11.1.
|
|
7
|
+
"version": "11.1.6",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"repository": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"test:watch": "cross-env SHOPIFY_UNIT_TEST=1 LANG=en-US.UTF-8 vitest --test-timeout=60000"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@react-router/dev": "7.
|
|
24
|
+
"@react-router/dev": "7.12.0",
|
|
25
25
|
"@types/diff": "^5.0.2",
|
|
26
26
|
"@types/gunzip-maybe": "^1.4.0",
|
|
27
27
|
"@types/prettier": "^2.7.2",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"@graphql-codegen/cli": "^5.0.2",
|
|
63
|
-
"@react-router/dev": "7.
|
|
63
|
+
"@react-router/dev": "7.12.0",
|
|
64
64
|
"@shopify/hydrogen-codegen": "^0.3.3",
|
|
65
65
|
"@shopify/mini-oxygen": "^4.0.0",
|
|
66
66
|
"graphql-config": "^5.0.3",
|