@shopify/cli-hydrogen 8.0.3 → 8.1.0
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/{lib/setups/i18n/templates → assets/hydrogen/i18n}/domains.ts +1 -1
- package/dist/assets/hydrogen/i18n/mock-i18n-types.ts +3 -0
- package/dist/{lib/setups/i18n/templates → assets/hydrogen/i18n}/subdomains.ts +1 -1
- package/dist/{lib/setups/i18n/templates → assets/hydrogen/i18n}/subfolders.ts +1 -1
- package/dist/{generator-templates → assets/hydrogen}/starter/.eslintrc.cjs +1 -0
- package/dist/{generator-templates → assets/hydrogen}/starter/CHANGELOG.md +24 -0
- package/dist/assets/hydrogen/starter/app/components/Aside.tsx +76 -0
- package/dist/{generator-templates → assets/hydrogen}/starter/app/components/Cart.tsx +38 -14
- package/dist/{generator-templates → assets/hydrogen}/starter/app/components/Footer.tsx +30 -13
- package/dist/{generator-templates → assets/hydrogen}/starter/app/components/Header.tsx +52 -12
- package/dist/{generator-templates/starter/app/components/Layout.tsx → assets/hydrogen/starter/app/components/PageLayout.tsx} +38 -28
- package/dist/{generator-templates → assets/hydrogen}/starter/app/components/Search.tsx +5 -3
- package/dist/{generator-templates → assets/hydrogen}/starter/app/entry.server.tsx +8 -2
- package/dist/{generator-templates → assets/hydrogen}/starter/app/lib/fragments.ts +70 -0
- package/dist/assets/hydrogen/starter/app/root.tsx +204 -0
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/_index.tsx +62 -25
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account.addresses.tsx +0 -1
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account.orders.$id.tsx +2 -2
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account.profile.tsx +0 -1
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/api.predictive-search.tsx +6 -1
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/blogs.$blogHandle.$articleHandle.tsx +34 -8
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/blogs.$blogHandle._index.tsx +36 -10
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/blogs._index.tsx +35 -12
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/cart.tsx +7 -7
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/collections.$handle.tsx +49 -7
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/collections._index.tsx +32 -6
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/collections.all.tsx +31 -6
- package/dist/assets/hydrogen/starter/app/routes/pages.$handle.tsx +84 -0
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/products.$handle.tsx +83 -30
- package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/search.tsx +4 -1
- package/dist/{generator-templates → assets/hydrogen}/starter/app/styles/app.css +22 -4
- package/dist/{generator-templates → assets/hydrogen}/starter/customer-accountapi.generated.d.ts +1 -1
- package/dist/{generator-templates → assets/hydrogen}/starter/env.d.ts +1 -0
- package/dist/{generator-templates → assets/hydrogen}/starter/package.json +11 -11
- package/dist/{generator-templates → assets/hydrogen}/starter/storefrontapi.generated.d.ts +4 -2
- package/dist/{generator-templates → assets/hydrogen}/starter/vite.config.ts +15 -0
- package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/routes/index.jsx +0 -10
- package/dist/{generator-templates/assets → assets/hydrogen}/vite/vite.config.js +15 -0
- package/dist/commands/hydrogen/build.js +171 -111
- package/dist/commands/hydrogen/debug/cpu.js +74 -64
- package/dist/commands/hydrogen/deploy.js +6 -6
- package/dist/commands/hydrogen/dev.js +246 -233
- package/dist/{init.d.ts → commands/hydrogen/init.d.ts} +5 -5
- package/dist/commands/hydrogen/init.js +19 -18
- package/dist/commands/hydrogen/preview.js +101 -13
- package/dist/commands/hydrogen/setup/vite.js +2 -2
- package/dist/commands/hydrogen/setup.js +1 -1
- package/dist/commands/hydrogen/upgrade.js +98 -82
- package/dist/index.d.ts +403 -0
- package/dist/index.js +61 -0
- package/dist/lib/build.js +48 -37
- package/dist/lib/bundle/analyzer.js +2 -4
- package/dist/lib/check-version.js +38 -18
- package/dist/lib/classic-compiler/build.js +139 -0
- package/dist/lib/classic-compiler/debug-cpu.js +52 -0
- package/dist/lib/classic-compiler/dev.js +269 -0
- package/dist/lib/codegen.js +34 -9
- package/dist/lib/cpu-profiler.js +29 -12
- package/dist/lib/defer.js +13 -7
- package/dist/lib/deps-optimizer.js +146 -0
- package/dist/lib/flags.js +3 -8
- package/dist/lib/format-code.js +1 -2
- package/dist/lib/import-utils.js +21 -0
- package/dist/lib/live-reload.js +15 -5
- package/dist/lib/log.js +24 -2
- package/dist/lib/mini-oxygen/index.js +6 -2
- package/dist/lib/mini-oxygen/node.js +18 -4
- package/dist/lib/mini-oxygen/workerd.js +18 -5
- package/dist/lib/onboarding/index.js +16 -2
- package/dist/lib/onboarding/local.js +1 -1
- package/dist/lib/onboarding/setup-template.mocks.js +68 -0
- package/dist/lib/remix-config.js +11 -9
- package/dist/lib/remix-version-check.js +8 -13
- package/dist/lib/resource-cleanup.js +13 -0
- package/dist/lib/setups/css/assets.js +3 -3
- package/dist/lib/setups/css/css-modules.js +2 -2
- package/dist/lib/setups/css/postcss.js +2 -2
- package/dist/lib/setups/css/tailwind.js +2 -2
- package/dist/lib/setups/css/vanilla-extract.js +2 -2
- package/dist/lib/setups/i18n/index.js +3 -5
- package/dist/lib/setups/routes/generate.js +17 -16
- package/dist/lib/template-diff.js +127 -45
- package/dist/lib/template-downloader.js +6 -11
- package/dist/lib/transpile/morph/typedefs.js +17 -0
- package/dist/lib/virtual-routes.js +2 -2
- package/dist/lib/vite-config.js +2 -1
- package/oclif.manifest.json +120 -241
- package/package.json +14 -10
- package/dist/commands/hydrogen/build-vite.js +0 -140
- package/dist/commands/hydrogen/dev-vite.js +0 -228
- package/dist/generator-templates/starter/app/components/Aside.tsx +0 -47
- package/dist/generator-templates/starter/app/lib/root-data.ts +0 -11
- package/dist/generator-templates/starter/app/root.tsx +0 -227
- package/dist/generator-templates/starter/app/routes/pages.$handle.tsx +0 -56
- package/dist/lib/setups/i18n/mock-i18n-types.js +0 -1
- package/dist/lib/setups/i18n/templates/domains.js +0 -14
- package/dist/lib/setups/i18n/templates/subdomains.js +0 -14
- package/dist/lib/setups/i18n/templates/subfolders.js +0 -13
- package/dist/lib/setups/routes/templates/locale-check.js +0 -9
- package/dist/virtual-routes/components/IconDiscord.jsx +0 -21
- /package/dist/{lib/bundle/bundle-analyzer.html → assets/hydrogen/bundle/analyzer.html} +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/css-modules/package.json +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/postcss/package.json +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/postcss/postcss.config.js +0 -0
- /package/dist/{lib/setups/routes/templates → assets/hydrogen/routes}/locale-check.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/.eslintignore +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/.graphqlrc.yml +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/README.md +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/assets/favicon.svg +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/entry.client.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/graphql/customer-account/CustomerAddressMutations.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/graphql/customer-account/CustomerDetailsQuery.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/graphql/customer-account/CustomerOrderQuery.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/graphql/customer-account/CustomerOrdersQuery.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/graphql/customer-account/CustomerUpdateMutation.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/lib/search.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/lib/session.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/lib/variants.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/$.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/[robots.txt].tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/[sitemap.xml].tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account.$.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account._index.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account.orders._index.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account_.authorize.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account_.login.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/account_.logout.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/cart.$lines.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/discount.$code.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/policies.$handle.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/routes/policies._index.tsx +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/app/styles/reset.css +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/public/.gitkeep +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/server.ts +0 -0
- /package/dist/{generator-templates → assets/hydrogen}/starter/tsconfig.json +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/tailwind/package.json +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/tailwind/postcss.config.js +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/tailwind/tailwind.config.js +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/tailwind/tailwind.css +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/vanilla-extract/package.json +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/assets/debug-network.css +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/assets/favicon-dark.svg +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/assets/favicon.svg +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/assets/inter-variable-font.woff2 +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/assets/jetbrainsmono-variable-font.woff2 +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/assets/styles.css +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/FlameChartWrapper.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/HydrogenLogoBaseBW.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/HydrogenLogoBaseColor.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/IconBanner.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/IconClose.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/IconDiscard.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/IconError.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/IconGithub.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/IconTwitter.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/Layout.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/RequestDetails.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/RequestTable.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/components/RequestWaterfall.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/lib/useDebugNetworkServer.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/routes/graphiql.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/routes/subrequest-profiler.jsx +0 -0
- /package/dist/{virtual-routes → assets/hydrogen/virtual-routes}/virtual-root.jsx +0 -0
- /package/dist/{generator-templates/assets → assets/hydrogen}/vite/package.json +0 -0
package/oclif.manifest.json
CHANGED
|
@@ -1,89 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"commands": {
|
|
3
3
|
"hydrogen:build": {
|
|
4
|
-
"aliases": [],
|
|
5
|
-
"args": {},
|
|
6
|
-
"description": "Builds a Hydrogen storefront for production.",
|
|
7
|
-
"flags": {
|
|
8
|
-
"path": {
|
|
9
|
-
"description": "The path to the directory of the Hydrogen storefront. Defaults to the current directory where the command is run.",
|
|
10
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_PATH",
|
|
11
|
-
"name": "path",
|
|
12
|
-
"hasDynamicHelp": false,
|
|
13
|
-
"multiple": false,
|
|
14
|
-
"type": "option"
|
|
15
|
-
},
|
|
16
|
-
"sourcemap": {
|
|
17
|
-
"description": "Controls whether sourcemaps are generated. Default to `true`. Deactivate `--no-sourcemaps`.",
|
|
18
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_SOURCEMAP",
|
|
19
|
-
"name": "sourcemap",
|
|
20
|
-
"allowNo": true,
|
|
21
|
-
"type": "boolean"
|
|
22
|
-
},
|
|
23
|
-
"bundle-stats": {
|
|
24
|
-
"description": "Show a bundle size summary after building. Defaults to true, use `--no-bundle-stats` to disable.",
|
|
25
|
-
"name": "bundle-stats",
|
|
26
|
-
"allowNo": true,
|
|
27
|
-
"type": "boolean"
|
|
28
|
-
},
|
|
29
|
-
"lockfile-check": {
|
|
30
|
-
"description": "Checks that there is exactly one valid lockfile in the project. Defaults to `true`. Deactivate with `--no-lockfile-check`.",
|
|
31
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_LOCKFILE_CHECK",
|
|
32
|
-
"name": "lockfile-check",
|
|
33
|
-
"allowNo": true,
|
|
34
|
-
"type": "boolean"
|
|
35
|
-
},
|
|
36
|
-
"disable-route-warning": {
|
|
37
|
-
"description": "Disables any warnings about missing standard routes.",
|
|
38
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_DISABLE_ROUTE_WARNING",
|
|
39
|
-
"name": "disable-route-warning",
|
|
40
|
-
"allowNo": false,
|
|
41
|
-
"type": "boolean"
|
|
42
|
-
},
|
|
43
|
-
"codegen": {
|
|
44
|
-
"description": "Automatically generates GraphQL types for your project’s Storefront API queries.",
|
|
45
|
-
"name": "codegen",
|
|
46
|
-
"required": false,
|
|
47
|
-
"allowNo": false,
|
|
48
|
-
"type": "boolean"
|
|
49
|
-
},
|
|
50
|
-
"codegen-config-path": {
|
|
51
|
-
"dependsOn": [
|
|
52
|
-
"codegen"
|
|
53
|
-
],
|
|
54
|
-
"description": "Specifies a path to a codegen configuration file. Defaults to `<root>/codegen.ts` if this file exists.",
|
|
55
|
-
"name": "codegen-config-path",
|
|
56
|
-
"required": false,
|
|
57
|
-
"hasDynamicHelp": false,
|
|
58
|
-
"multiple": false,
|
|
59
|
-
"type": "option"
|
|
60
|
-
},
|
|
61
|
-
"diff": {
|
|
62
|
-
"description": "Applies the current files on top of Hydrogen's starter template in a temporary directory.",
|
|
63
|
-
"hidden": true,
|
|
64
|
-
"name": "diff",
|
|
65
|
-
"required": false,
|
|
66
|
-
"allowNo": false,
|
|
67
|
-
"type": "boolean"
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
"hasDynamicHelp": false,
|
|
71
|
-
"hiddenAliases": [],
|
|
72
|
-
"id": "hydrogen:build",
|
|
73
|
-
"pluginAlias": "@shopify/cli-hydrogen",
|
|
74
|
-
"pluginName": "@shopify/cli-hydrogen",
|
|
75
|
-
"pluginType": "core",
|
|
76
|
-
"strict": true,
|
|
77
|
-
"descriptionWithMarkdown": "Builds a Hydrogen storefront for production. The client and app worker files are compiled to a `/dist` folder in your Hydrogen project directory.",
|
|
78
|
-
"isESM": true,
|
|
79
|
-
"relativePath": [
|
|
80
|
-
"dist",
|
|
81
|
-
"commands",
|
|
82
|
-
"hydrogen",
|
|
83
|
-
"build.js"
|
|
84
|
-
]
|
|
85
|
-
},
|
|
86
|
-
"hydrogen:build-vite": {
|
|
87
4
|
"aliases": [],
|
|
88
5
|
"args": {},
|
|
89
6
|
"description": "Builds a Hydrogen storefront for production.",
|
|
@@ -150,22 +67,35 @@
|
|
|
150
67
|
"required": false,
|
|
151
68
|
"allowNo": false,
|
|
152
69
|
"type": "boolean"
|
|
70
|
+
},
|
|
71
|
+
"watch": {
|
|
72
|
+
"description": "Watches for changes and rebuilds the project writing output to disk.",
|
|
73
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_WATCH",
|
|
74
|
+
"name": "watch",
|
|
75
|
+
"allowNo": false,
|
|
76
|
+
"type": "boolean"
|
|
77
|
+
},
|
|
78
|
+
"bundle-stats": {
|
|
79
|
+
"description": "[Classic Remix Compiler] Show a bundle size summary after building. Defaults to true, use `--no-bundle-stats` to disable.",
|
|
80
|
+
"name": "bundle-stats",
|
|
81
|
+
"allowNo": true,
|
|
82
|
+
"type": "boolean"
|
|
153
83
|
}
|
|
154
84
|
},
|
|
155
85
|
"hasDynamicHelp": false,
|
|
156
|
-
"hidden": true,
|
|
157
86
|
"hiddenAliases": [],
|
|
158
|
-
"id": "hydrogen:build
|
|
87
|
+
"id": "hydrogen:build",
|
|
159
88
|
"pluginAlias": "@shopify/cli-hydrogen",
|
|
160
89
|
"pluginName": "@shopify/cli-hydrogen",
|
|
161
90
|
"pluginType": "core",
|
|
162
91
|
"strict": true,
|
|
92
|
+
"descriptionWithMarkdown": "Builds a Hydrogen storefront for production. The client and app worker files are compiled to a `/dist` folder in your Hydrogen project directory.",
|
|
163
93
|
"isESM": true,
|
|
164
94
|
"relativePath": [
|
|
165
95
|
"dist",
|
|
166
96
|
"commands",
|
|
167
97
|
"hydrogen",
|
|
168
|
-
"build
|
|
98
|
+
"build.js"
|
|
169
99
|
]
|
|
170
100
|
},
|
|
171
101
|
"hydrogen:check": {
|
|
@@ -332,6 +262,22 @@
|
|
|
332
262
|
"multiple": false,
|
|
333
263
|
"type": "option"
|
|
334
264
|
},
|
|
265
|
+
"diff": {
|
|
266
|
+
"description": "Applies the current files on top of Hydrogen's starter template in a temporary directory.",
|
|
267
|
+
"hidden": true,
|
|
268
|
+
"name": "diff",
|
|
269
|
+
"required": false,
|
|
270
|
+
"allowNo": false,
|
|
271
|
+
"type": "boolean"
|
|
272
|
+
},
|
|
273
|
+
"entry": {
|
|
274
|
+
"description": "Entry file for the worker. Defaults to `./server`.",
|
|
275
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_ENTRY",
|
|
276
|
+
"name": "entry",
|
|
277
|
+
"hasDynamicHelp": false,
|
|
278
|
+
"multiple": false,
|
|
279
|
+
"type": "option"
|
|
280
|
+
},
|
|
335
281
|
"output": {
|
|
336
282
|
"description": "Specify a path to generate the profile file. Defaults to \"startup.cpuprofile\".",
|
|
337
283
|
"name": "output",
|
|
@@ -555,26 +501,23 @@
|
|
|
555
501
|
"multiple": false,
|
|
556
502
|
"type": "option"
|
|
557
503
|
},
|
|
504
|
+
"entry": {
|
|
505
|
+
"description": "Entry file for the worker. Defaults to `./server`.",
|
|
506
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_ENTRY",
|
|
507
|
+
"name": "entry",
|
|
508
|
+
"hasDynamicHelp": false,
|
|
509
|
+
"multiple": false,
|
|
510
|
+
"type": "option"
|
|
511
|
+
},
|
|
558
512
|
"port": {
|
|
559
513
|
"description": "The port to run the server on. Defaults to 3000.",
|
|
560
514
|
"env": "SHOPIFY_HYDROGEN_FLAG_PORT",
|
|
561
515
|
"name": "port",
|
|
516
|
+
"required": false,
|
|
562
517
|
"hasDynamicHelp": false,
|
|
563
518
|
"multiple": false,
|
|
564
519
|
"type": "option"
|
|
565
520
|
},
|
|
566
|
-
"worker": {
|
|
567
|
-
"hidden": true,
|
|
568
|
-
"name": "worker",
|
|
569
|
-
"type": "boolean"
|
|
570
|
-
},
|
|
571
|
-
"legacy-runtime": {
|
|
572
|
-
"description": "Runs the app in a Node.js sandbox instead of an Oxygen worker.",
|
|
573
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_WORKER",
|
|
574
|
-
"name": "legacy-runtime",
|
|
575
|
-
"allowNo": false,
|
|
576
|
-
"type": "boolean"
|
|
577
|
-
},
|
|
578
521
|
"codegen": {
|
|
579
522
|
"description": "Automatically generates GraphQL types for your project’s Storefront API queries.",
|
|
580
523
|
"name": "codegen",
|
|
@@ -593,13 +536,6 @@
|
|
|
593
536
|
"multiple": false,
|
|
594
537
|
"type": "option"
|
|
595
538
|
},
|
|
596
|
-
"sourcemap": {
|
|
597
|
-
"description": "Controls whether sourcemaps are generated. Default to `true`. Deactivate `--no-sourcemaps`.",
|
|
598
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_SOURCEMAP",
|
|
599
|
-
"name": "sourcemap",
|
|
600
|
-
"allowNo": true,
|
|
601
|
-
"type": "boolean"
|
|
602
|
-
},
|
|
603
539
|
"disable-virtual-routes": {
|
|
604
540
|
"description": "Disable rendering fallback routes when a route file doesn't exist.",
|
|
605
541
|
"env": "SHOPIFY_HYDROGEN_FLAG_DISABLE_VIRTUAL_ROUTES",
|
|
@@ -675,170 +611,55 @@
|
|
|
675
611
|
"required": false,
|
|
676
612
|
"allowNo": false,
|
|
677
613
|
"type": "boolean"
|
|
678
|
-
}
|
|
679
|
-
},
|
|
680
|
-
"hasDynamicHelp": false,
|
|
681
|
-
"hiddenAliases": [],
|
|
682
|
-
"id": "hydrogen:dev",
|
|
683
|
-
"pluginAlias": "@shopify/cli-hydrogen",
|
|
684
|
-
"pluginName": "@shopify/cli-hydrogen",
|
|
685
|
-
"pluginType": "core",
|
|
686
|
-
"strict": true,
|
|
687
|
-
"descriptionWithMarkdown": "Runs a Hydrogen storefront in a local runtime that emulates an Oxygen worker for development.\n\n If your project is [linked](https://shopify.dev/docs/api/shopify-cli/hydrogen/hydrogen-link) to a Hydrogen storefront, then its environment variables will be loaded with the runtime.",
|
|
688
|
-
"isESM": true,
|
|
689
|
-
"relativePath": [
|
|
690
|
-
"dist",
|
|
691
|
-
"commands",
|
|
692
|
-
"hydrogen",
|
|
693
|
-
"dev.js"
|
|
694
|
-
]
|
|
695
|
-
},
|
|
696
|
-
"hydrogen:dev-vite": {
|
|
697
|
-
"aliases": [],
|
|
698
|
-
"args": {},
|
|
699
|
-
"description": "Runs Hydrogen storefront in an Oxygen worker for development.",
|
|
700
|
-
"flags": {
|
|
701
|
-
"path": {
|
|
702
|
-
"description": "The path to the directory of the Hydrogen storefront. Defaults to the current directory where the command is run.",
|
|
703
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_PATH",
|
|
704
|
-
"name": "path",
|
|
705
|
-
"hasDynamicHelp": false,
|
|
706
|
-
"multiple": false,
|
|
707
|
-
"type": "option"
|
|
708
|
-
},
|
|
709
|
-
"entry": {
|
|
710
|
-
"description": "Entry file for the worker. Defaults to `./server`.",
|
|
711
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_ENTRY",
|
|
712
|
-
"name": "entry",
|
|
713
|
-
"hasDynamicHelp": false,
|
|
714
|
-
"multiple": false,
|
|
715
|
-
"type": "option"
|
|
716
|
-
},
|
|
717
|
-
"port": {
|
|
718
|
-
"description": "The port to run the server on. Defaults to 3000.",
|
|
719
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_PORT",
|
|
720
|
-
"name": "port",
|
|
721
|
-
"required": false,
|
|
722
|
-
"hasDynamicHelp": false,
|
|
723
|
-
"multiple": false,
|
|
724
|
-
"type": "option"
|
|
725
|
-
},
|
|
726
|
-
"codegen": {
|
|
727
|
-
"description": "Automatically generates GraphQL types for your project’s Storefront API queries.",
|
|
728
|
-
"name": "codegen",
|
|
729
|
-
"required": false,
|
|
730
|
-
"allowNo": false,
|
|
731
|
-
"type": "boolean"
|
|
732
|
-
},
|
|
733
|
-
"codegen-config-path": {
|
|
734
|
-
"dependsOn": [
|
|
735
|
-
"codegen"
|
|
736
|
-
],
|
|
737
|
-
"description": "Specifies a path to a codegen configuration file. Defaults to `<root>/codegen.ts` if this file exists.",
|
|
738
|
-
"name": "codegen-config-path",
|
|
739
|
-
"required": false,
|
|
740
|
-
"hasDynamicHelp": false,
|
|
741
|
-
"multiple": false,
|
|
742
|
-
"type": "option"
|
|
743
|
-
},
|
|
744
|
-
"disable-virtual-routes": {
|
|
745
|
-
"description": "Disable rendering fallback routes when a route file doesn't exist.",
|
|
746
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_DISABLE_VIRTUAL_ROUTES",
|
|
747
|
-
"name": "disable-virtual-routes",
|
|
748
|
-
"allowNo": false,
|
|
749
|
-
"type": "boolean"
|
|
750
|
-
},
|
|
751
|
-
"debug": {
|
|
752
|
-
"description": "Enables inspector connections to the server with a debugger such as Visual Studio Code or Chrome DevTools.",
|
|
753
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_DEBUG",
|
|
754
|
-
"name": "debug",
|
|
755
|
-
"allowNo": false,
|
|
756
|
-
"type": "boolean"
|
|
757
|
-
},
|
|
758
|
-
"inspector-port": {
|
|
759
|
-
"description": "The port where the inspector is available. Defaults to 9229.",
|
|
760
|
-
"env": "SHOPIFY_HYDROGEN_FLAG_INSPECTOR_PORT",
|
|
761
|
-
"name": "inspector-port",
|
|
762
|
-
"hasDynamicHelp": false,
|
|
763
|
-
"multiple": false,
|
|
764
|
-
"type": "option"
|
|
765
614
|
},
|
|
766
615
|
"host": {
|
|
767
|
-
"description": "Expose the server to the network",
|
|
616
|
+
"description": "Expose the server to the local network",
|
|
768
617
|
"name": "host",
|
|
769
618
|
"required": false,
|
|
770
619
|
"allowNo": false,
|
|
771
620
|
"type": "boolean"
|
|
772
621
|
},
|
|
773
|
-
"
|
|
774
|
-
"description": "
|
|
775
|
-
"
|
|
776
|
-
|
|
777
|
-
],
|
|
778
|
-
"name": "env",
|
|
779
|
-
"hasDynamicHelp": false,
|
|
780
|
-
"multiple": false,
|
|
781
|
-
"type": "option"
|
|
782
|
-
},
|
|
783
|
-
"env-branch": {
|
|
784
|
-
"deprecated": {
|
|
785
|
-
"to": "env",
|
|
786
|
-
"message": "--env-branch is deprecated. Use --env instead."
|
|
787
|
-
},
|
|
788
|
-
"description": "Specifies the environment to perform the operation using its Git branch name.",
|
|
789
|
-
"env": "SHOPIFY_HYDROGEN_ENVIRONMENT_BRANCH",
|
|
790
|
-
"name": "env-branch",
|
|
791
|
-
"hasDynamicHelp": false,
|
|
792
|
-
"multiple": false,
|
|
793
|
-
"type": "option"
|
|
794
|
-
},
|
|
795
|
-
"disable-version-check": {
|
|
796
|
-
"description": "Skip the version check when running `hydrogen dev`",
|
|
797
|
-
"name": "disable-version-check",
|
|
798
|
-
"required": false,
|
|
622
|
+
"disable-deps-optimizer": {
|
|
623
|
+
"description": "Disable adding dependencies to Vite's `ssr.optimizeDeps.include` automatically",
|
|
624
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_DISABLE_DEPS_OPTIMIZER",
|
|
625
|
+
"name": "disable-deps-optimizer",
|
|
799
626
|
"allowNo": false,
|
|
800
627
|
"type": "boolean"
|
|
801
628
|
},
|
|
802
|
-
"
|
|
803
|
-
"description": "Applies the current files on top of Hydrogen's starter template in a temporary directory.",
|
|
629
|
+
"worker": {
|
|
804
630
|
"hidden": true,
|
|
805
|
-
"name": "
|
|
806
|
-
"required": false,
|
|
807
|
-
"allowNo": false,
|
|
631
|
+
"name": "worker",
|
|
808
632
|
"type": "boolean"
|
|
809
633
|
},
|
|
810
|
-
"
|
|
811
|
-
"description": "
|
|
812
|
-
"env": "
|
|
813
|
-
"
|
|
814
|
-
"name": "customer-account-push__unstable",
|
|
815
|
-
"required": false,
|
|
634
|
+
"legacy-runtime": {
|
|
635
|
+
"description": "[Classic Remix Compiler] Runs the app in a Node.js sandbox instead of an Oxygen worker.",
|
|
636
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_LEGACY_RUNTIME",
|
|
637
|
+
"name": "legacy-runtime",
|
|
816
638
|
"allowNo": false,
|
|
817
639
|
"type": "boolean"
|
|
818
640
|
},
|
|
819
|
-
"
|
|
820
|
-
"description": "
|
|
821
|
-
"env": "
|
|
822
|
-
"name": "
|
|
823
|
-
"
|
|
824
|
-
"allowNo": false,
|
|
641
|
+
"sourcemap": {
|
|
642
|
+
"description": "[Classic Remix Compiler] Controls whether sourcemaps are generated. Default to `true`. Deactivate `--no-sourcemaps`.",
|
|
643
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_SOURCEMAP",
|
|
644
|
+
"name": "sourcemap",
|
|
645
|
+
"allowNo": true,
|
|
825
646
|
"type": "boolean"
|
|
826
647
|
}
|
|
827
648
|
},
|
|
828
649
|
"hasDynamicHelp": false,
|
|
829
|
-
"hidden": true,
|
|
830
650
|
"hiddenAliases": [],
|
|
831
|
-
"id": "hydrogen:dev
|
|
651
|
+
"id": "hydrogen:dev",
|
|
832
652
|
"pluginAlias": "@shopify/cli-hydrogen",
|
|
833
653
|
"pluginName": "@shopify/cli-hydrogen",
|
|
834
654
|
"pluginType": "core",
|
|
835
655
|
"strict": true,
|
|
656
|
+
"descriptionWithMarkdown": "Runs a Hydrogen storefront in a local runtime that emulates an Oxygen worker for development.\n\n If your project is [linked](https://shopify.dev/docs/api/shopify-cli/hydrogen/hydrogen-link) to a Hydrogen storefront, then its environment variables will be loaded with the runtime.",
|
|
836
657
|
"isESM": true,
|
|
837
658
|
"relativePath": [
|
|
838
659
|
"dist",
|
|
839
660
|
"commands",
|
|
840
661
|
"hydrogen",
|
|
841
|
-
"dev
|
|
662
|
+
"dev.js"
|
|
842
663
|
]
|
|
843
664
|
},
|
|
844
665
|
"hydrogen:env:list": {
|
|
@@ -1435,7 +1256,7 @@
|
|
|
1435
1256
|
},
|
|
1436
1257
|
"legacy-runtime": {
|
|
1437
1258
|
"description": "Runs the app in a Node.js sandbox instead of an Oxygen worker.",
|
|
1438
|
-
"env": "
|
|
1259
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_LEGACY_RUNTIME",
|
|
1439
1260
|
"name": "legacy-runtime",
|
|
1440
1261
|
"allowNo": false,
|
|
1441
1262
|
"type": "boolean"
|
|
@@ -1484,6 +1305,64 @@
|
|
|
1484
1305
|
"required": false,
|
|
1485
1306
|
"allowNo": false,
|
|
1486
1307
|
"type": "boolean"
|
|
1308
|
+
},
|
|
1309
|
+
"build": {
|
|
1310
|
+
"description": "Builds the app before starting the preview server.",
|
|
1311
|
+
"name": "build",
|
|
1312
|
+
"allowNo": false,
|
|
1313
|
+
"type": "boolean"
|
|
1314
|
+
},
|
|
1315
|
+
"watch": {
|
|
1316
|
+
"dependsOn": [
|
|
1317
|
+
"build"
|
|
1318
|
+
],
|
|
1319
|
+
"description": "Watches for changes and rebuilds the project.",
|
|
1320
|
+
"name": "watch",
|
|
1321
|
+
"allowNo": false,
|
|
1322
|
+
"type": "boolean"
|
|
1323
|
+
},
|
|
1324
|
+
"entry": {
|
|
1325
|
+
"dependsOn": [
|
|
1326
|
+
"build"
|
|
1327
|
+
],
|
|
1328
|
+
"description": "Entry file for the worker. Defaults to `./server`.",
|
|
1329
|
+
"env": "SHOPIFY_HYDROGEN_FLAG_ENTRY",
|
|
1330
|
+
"name": "entry",
|
|
1331
|
+
"hasDynamicHelp": false,
|
|
1332
|
+
"multiple": false,
|
|
1333
|
+
"type": "option"
|
|
1334
|
+
},
|
|
1335
|
+
"codegen": {
|
|
1336
|
+
"dependsOn": [
|
|
1337
|
+
"build"
|
|
1338
|
+
],
|
|
1339
|
+
"description": "Automatically generates GraphQL types for your project’s Storefront API queries.",
|
|
1340
|
+
"name": "codegen",
|
|
1341
|
+
"required": false,
|
|
1342
|
+
"allowNo": false,
|
|
1343
|
+
"type": "boolean"
|
|
1344
|
+
},
|
|
1345
|
+
"codegen-config-path": {
|
|
1346
|
+
"dependsOn": [
|
|
1347
|
+
"codegen"
|
|
1348
|
+
],
|
|
1349
|
+
"description": "Specifies a path to a codegen configuration file. Defaults to `<root>/codegen.ts` if this file exists.",
|
|
1350
|
+
"name": "codegen-config-path",
|
|
1351
|
+
"required": false,
|
|
1352
|
+
"hasDynamicHelp": false,
|
|
1353
|
+
"multiple": false,
|
|
1354
|
+
"type": "option"
|
|
1355
|
+
},
|
|
1356
|
+
"diff": {
|
|
1357
|
+
"dependsOn": [
|
|
1358
|
+
"build"
|
|
1359
|
+
],
|
|
1360
|
+
"description": "Applies the current files on top of Hydrogen's starter template in a temporary directory.",
|
|
1361
|
+
"hidden": true,
|
|
1362
|
+
"name": "diff",
|
|
1363
|
+
"required": false,
|
|
1364
|
+
"allowNo": false,
|
|
1365
|
+
"type": "boolean"
|
|
1487
1366
|
}
|
|
1488
1367
|
},
|
|
1489
1368
|
"hasDynamicHelp": false,
|
|
@@ -1788,5 +1667,5 @@
|
|
|
1788
1667
|
]
|
|
1789
1668
|
}
|
|
1790
1669
|
},
|
|
1791
|
-
"version": "8.0
|
|
1670
|
+
"version": "8.1.0"
|
|
1792
1671
|
}
|
package/package.json
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"access": "public",
|
|
5
5
|
"@shopify:registry": "https://registry.npmjs.org"
|
|
6
6
|
},
|
|
7
|
-
"version": "8.0
|
|
7
|
+
"version": "8.1.0",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsup && node scripts/build-check.mjs",
|
|
12
|
-
"dev": "tsup --watch ./src",
|
|
12
|
+
"dev": "tsup --watch ./src --watch ../../templates/skeleton",
|
|
13
13
|
"typecheck": "tsc --noEmit",
|
|
14
14
|
"generate:manifest": "node scripts/generate-manifest.mjs",
|
|
15
15
|
"test": "cross-env SHOPIFY_UNIT_TEST=1 vitest run --test-timeout=20000",
|
|
16
16
|
"test:watch": "cross-env SHOPIFY_UNIT_TEST=1 vitest --test-timeout=20000"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@remix-run/dev": "^2.
|
|
19
|
+
"@remix-run/dev": "^2.9.2",
|
|
20
20
|
"@types/diff": "^5.0.2",
|
|
21
21
|
"@types/fs-extra": "^11.0.1",
|
|
22
22
|
"@types/gunzip-maybe": "^1.4.0",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@ast-grep/napi": "0.11.0",
|
|
37
|
-
"@oclif/core": "3.
|
|
38
|
-
"@shopify/cli-kit": "3.
|
|
39
|
-
"@shopify/oxygen-cli": "
|
|
40
|
-
"@shopify/plugin-cloudflare": "3.
|
|
37
|
+
"@oclif/core": "3.26.5",
|
|
38
|
+
"@shopify/cli-kit": "3.60.0",
|
|
39
|
+
"@shopify/oxygen-cli": "4.4.9",
|
|
40
|
+
"@shopify/plugin-cloudflare": "3.60.0",
|
|
41
41
|
"ansi-escapes": "^6.2.0",
|
|
42
42
|
"cli-truncate": "^4.0.0",
|
|
43
43
|
"diff": "^5.1.0",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"@graphql-codegen/cli": "^5.0.2",
|
|
61
61
|
"@remix-run/dev": "^2.1.0",
|
|
62
|
-
"@shopify/hydrogen-codegen": "^0.3.
|
|
63
|
-
"@shopify/mini-oxygen": "^3.0.
|
|
62
|
+
"@shopify/hydrogen-codegen": "^0.3.1",
|
|
63
|
+
"@shopify/mini-oxygen": "^3.0.3",
|
|
64
64
|
"graphql-config": "^5.0.3",
|
|
65
65
|
"vite": "^5.1.0"
|
|
66
66
|
},
|
|
@@ -88,8 +88,12 @@
|
|
|
88
88
|
"exports": {
|
|
89
89
|
"./package.json": "./package.json",
|
|
90
90
|
"./commands/hydrogen/init": {
|
|
91
|
-
"types": "./dist/init.d.ts",
|
|
91
|
+
"types": "./dist/commands/hydrogen/init.d.ts",
|
|
92
92
|
"default": "./dist/commands/hydrogen/init.js"
|
|
93
|
+
},
|
|
94
|
+
".": {
|
|
95
|
+
"types": "./dist/index.d.ts",
|
|
96
|
+
"default": "./dist/index.js"
|
|
93
97
|
}
|
|
94
98
|
},
|
|
95
99
|
"files": [
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import Command from '@shopify/cli-kit/node/base-command';
|
|
2
|
-
import { collectLog, outputWarn } from '@shopify/cli-kit/node/output';
|
|
3
|
-
import { removeFile, fileSize } from '@shopify/cli-kit/node/fs';
|
|
4
|
-
import { resolvePath, joinPath } from '@shopify/cli-kit/node/path';
|
|
5
|
-
import { getPackageManager } from '@shopify/cli-kit/node/node-package-manager';
|
|
6
|
-
import { commonFlags, flagsToCamelObject } from '../../lib/flags.js';
|
|
7
|
-
import { checkLockfileStatus } from '../../lib/check-lockfile.js';
|
|
8
|
-
import { findMissingRoutes } from '../../lib/missing-routes.js';
|
|
9
|
-
import { codegen } from '../../lib/codegen.js';
|
|
10
|
-
import { isCI } from '../../lib/is-ci.js';
|
|
11
|
-
import { prepareDiffDirectory, copyDiffBuild } from '../../lib/template-diff.js';
|
|
12
|
-
import { getViteConfig } from '../../lib/vite-config.js';
|
|
13
|
-
|
|
14
|
-
const WORKER_BUILD_SIZE_LIMIT = 5;
|
|
15
|
-
class Build extends Command {
|
|
16
|
-
static description = "Builds a Hydrogen storefront for production.";
|
|
17
|
-
static flags = {
|
|
18
|
-
...commonFlags.path,
|
|
19
|
-
...commonFlags.entry,
|
|
20
|
-
...commonFlags.sourcemap,
|
|
21
|
-
...commonFlags.lockfileCheck,
|
|
22
|
-
...commonFlags.disableRouteWarning,
|
|
23
|
-
...commonFlags.codegen,
|
|
24
|
-
...commonFlags.diff
|
|
25
|
-
};
|
|
26
|
-
static hidden = true;
|
|
27
|
-
async run() {
|
|
28
|
-
const { flags } = await this.parse(Build);
|
|
29
|
-
const originalDirectory = flags.path ? resolvePath(flags.path) : process.cwd();
|
|
30
|
-
let directory = originalDirectory;
|
|
31
|
-
if (flags.diff) {
|
|
32
|
-
directory = await prepareDiffDirectory(originalDirectory, false);
|
|
33
|
-
}
|
|
34
|
-
await runViteBuild({
|
|
35
|
-
...flagsToCamelObject(flags),
|
|
36
|
-
useCodegen: flags.codegen,
|
|
37
|
-
directory
|
|
38
|
-
});
|
|
39
|
-
if (flags.diff) {
|
|
40
|
-
await copyDiffBuild(directory, originalDirectory);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
async function runViteBuild({
|
|
45
|
-
entry: ssrEntry,
|
|
46
|
-
directory,
|
|
47
|
-
useCodegen = false,
|
|
48
|
-
codegenConfigPath,
|
|
49
|
-
sourcemap = false,
|
|
50
|
-
disableRouteWarning = false,
|
|
51
|
-
lockfileCheck = true,
|
|
52
|
-
assetPath = "/"
|
|
53
|
-
}) {
|
|
54
|
-
if (!process.env.NODE_ENV) {
|
|
55
|
-
process.env.NODE_ENV = "production";
|
|
56
|
-
}
|
|
57
|
-
const root = directory ?? process.cwd();
|
|
58
|
-
if (lockfileCheck) {
|
|
59
|
-
await checkLockfileStatus(root, isCI());
|
|
60
|
-
}
|
|
61
|
-
const [
|
|
62
|
-
vite,
|
|
63
|
-
{ userViteConfig, remixConfig, clientOutDir, serverOutDir, serverOutFile }
|
|
64
|
-
] = await Promise.all([
|
|
65
|
-
// Avoid static imports because this file is imported by `deploy` command,
|
|
66
|
-
// which must have a hard dependency on 'vite'.
|
|
67
|
-
import('vite'),
|
|
68
|
-
getViteConfig(root, ssrEntry)
|
|
69
|
-
]);
|
|
70
|
-
const customLogger = vite.createLogger();
|
|
71
|
-
if (process.env.SHOPIFY_UNIT_TEST) {
|
|
72
|
-
customLogger.info = (msg) => collectLog("info", msg);
|
|
73
|
-
customLogger.warn = (msg) => collectLog("warn", msg);
|
|
74
|
-
customLogger.error = (msg) => collectLog("error", msg);
|
|
75
|
-
}
|
|
76
|
-
const serverMinify = userViteConfig.build?.minify ?? true;
|
|
77
|
-
const commonConfig = {
|
|
78
|
-
root,
|
|
79
|
-
mode: process.env.NODE_ENV,
|
|
80
|
-
base: assetPath,
|
|
81
|
-
customLogger
|
|
82
|
-
};
|
|
83
|
-
await vite.build({
|
|
84
|
-
...commonConfig,
|
|
85
|
-
build: {
|
|
86
|
-
emptyOutDir: true,
|
|
87
|
-
copyPublicDir: true,
|
|
88
|
-
// Disable client sourcemaps in production
|
|
89
|
-
sourcemap: process.env.NODE_ENV !== "production" && sourcemap
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
console.log("");
|
|
93
|
-
await vite.build({
|
|
94
|
-
...commonConfig,
|
|
95
|
-
build: {
|
|
96
|
-
sourcemap,
|
|
97
|
-
ssr: ssrEntry ?? true,
|
|
98
|
-
emptyOutDir: false,
|
|
99
|
-
copyPublicDir: false,
|
|
100
|
-
minify: serverMinify
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
await Promise.all([
|
|
104
|
-
removeFile(joinPath(clientOutDir, ".vite")),
|
|
105
|
-
removeFile(joinPath(serverOutDir, ".vite")),
|
|
106
|
-
removeFile(joinPath(serverOutDir, "assets"))
|
|
107
|
-
]);
|
|
108
|
-
if (useCodegen) {
|
|
109
|
-
await codegen({
|
|
110
|
-
rootDirectory: root,
|
|
111
|
-
appDirectory: remixConfig.appDirectory,
|
|
112
|
-
configFilePath: codegenConfigPath
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
if (process.env.NODE_ENV !== "development") {
|
|
116
|
-
const sizeMB = await fileSize(serverOutFile) / (1024 * 1024);
|
|
117
|
-
if (sizeMB >= WORKER_BUILD_SIZE_LIMIT) {
|
|
118
|
-
outputWarn(
|
|
119
|
-
`\u{1F6A8} Smaller worker bundles are faster to deploy and run.${serverMinify ? "" : "\n Minify your bundle by adding `build.minify: true` to vite.config.js."}
|
|
120
|
-
Learn more about optimizing your worker bundle file: https://h2o.fyi/debugging/bundle-size
|
|
121
|
-
`
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
if (!disableRouteWarning) {
|
|
126
|
-
const missingRoutes = findMissingRoutes(remixConfig);
|
|
127
|
-
if (missingRoutes.length) {
|
|
128
|
-
const packageManager = await getPackageManager(root);
|
|
129
|
-
const exec = packageManager === "npm" ? "npx" : packageManager;
|
|
130
|
-
outputWarn(
|
|
131
|
-
`Heads up: Shopify stores have a number of standard routes that aren\u2019t set up yet.
|
|
132
|
-
Some functionality and backlinks might not work as expected until these are created or redirects are set up.
|
|
133
|
-
This build is missing ${missingRoutes.length} route${missingRoutes.length > 1 ? "s" : ""}. For more details, run \`${exec} shopify hydrogen check routes\`.
|
|
134
|
-
`
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
export { Build as default, runViteBuild };
|