@shopify/cli-hydrogen 1.0.9 → 2.0.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/CHANGELOG.md +26 -0
- package/dist/{Command-720f737d.js → Command-a8d57e22.js} +590 -528
- package/dist/Command-a8d57e22.js.map +1 -0
- package/dist/commands/hydrogen/build.js +77 -0
- package/dist/commands/hydrogen/build.js.map +1 -0
- package/dist/commands/hydrogen/check.js +1 -1
- package/dist/commands/hydrogen/dev.js +39 -0
- package/dist/commands/hydrogen/dev.js.map +1 -0
- package/dist/commands/hydrogen/init.js +8 -7
- package/dist/commands/hydrogen/init.js.map +1 -1
- package/dist/commands/hydrogen/preview.js +32 -3321
- package/dist/commands/hydrogen/preview.js.map +1 -1
- package/package.json +7 -11
- package/dist/Command-720f737d.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { build as build$1 } from 'vite';
|
|
2
|
+
import { ui, path } from '@shopify/cli-kit';
|
|
3
|
+
import { Flags, Command } from '@oclif/core';
|
|
4
|
+
|
|
5
|
+
async function build({ directory, targets, base }) {
|
|
6
|
+
const commonConfig = { base, root: directory };
|
|
7
|
+
const tasks = Object.entries(targets).filter(([_, value]) => value).map(([key, value]) => {
|
|
8
|
+
return {
|
|
9
|
+
title: `Building ${key} code`,
|
|
10
|
+
task: async (_, task) => {
|
|
11
|
+
process.env.WORKER = key === "worker" ? "true" : void 0;
|
|
12
|
+
await build$1({
|
|
13
|
+
...commonConfig,
|
|
14
|
+
build: {
|
|
15
|
+
outDir: `dist/${key}`,
|
|
16
|
+
ssr: typeof value === "string" ? value : void 0,
|
|
17
|
+
manifest: key === "client"
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
task.title = `Built ${key} code`;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
const list = new ui.Listr(tasks);
|
|
25
|
+
await list.run();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const PLATFORM_ENTRIES = {
|
|
29
|
+
node: `@shopify/hydrogen/platforms/node`,
|
|
30
|
+
worker: `@shopify/hydrogen/platforms/worker`
|
|
31
|
+
};
|
|
32
|
+
const _Build = class extends Command {
|
|
33
|
+
async run() {
|
|
34
|
+
const { flags } = await this.parse(_Build);
|
|
35
|
+
const directory = flags.path ? path.resolve(flags.path) : process.cwd();
|
|
36
|
+
const entry = flags.entry || PLATFORM_ENTRIES[flags.target];
|
|
37
|
+
const targets = {
|
|
38
|
+
client: flags.client,
|
|
39
|
+
worker: flags.target === "worker" ? entry : false,
|
|
40
|
+
node: flags.target === "node" ? entry : false
|
|
41
|
+
};
|
|
42
|
+
await build({ ...flags, directory, targets });
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
let Build = _Build;
|
|
46
|
+
Build.description = "Builds a Hydrogen storefront for production";
|
|
47
|
+
Build.flags = {
|
|
48
|
+
path: Flags.string({
|
|
49
|
+
hidden: true,
|
|
50
|
+
description: "the path to your hydrogen storefront",
|
|
51
|
+
env: "SHOPIFY_FLAG_PATH"
|
|
52
|
+
}),
|
|
53
|
+
base: Flags.string({
|
|
54
|
+
description: " the public path when served in production",
|
|
55
|
+
env: "SHOPIFY_FLAG_BUILD_BASE"
|
|
56
|
+
}),
|
|
57
|
+
client: Flags.boolean({
|
|
58
|
+
description: "build the client code",
|
|
59
|
+
env: "SHOPIFY_FLAG_BUILD_CLIENT",
|
|
60
|
+
allowNo: true,
|
|
61
|
+
default: true
|
|
62
|
+
}),
|
|
63
|
+
target: Flags.string({
|
|
64
|
+
char: "t",
|
|
65
|
+
description: "the target platform to build for (worker or node)",
|
|
66
|
+
options: ["node", "worker"],
|
|
67
|
+
default: "worker",
|
|
68
|
+
env: "SHOPIFY_FLAG_BUILD_TARGET"
|
|
69
|
+
}),
|
|
70
|
+
entry: Flags.string({
|
|
71
|
+
description: "produce Server Side Rendering (SSR) build for node environments",
|
|
72
|
+
env: "SHOPIFY_FLAG_BUILD_SSR_ENTRY"
|
|
73
|
+
})
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export { Build as default };
|
|
77
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sources":["../../../src/cli/services/build.ts","../../../src/cli/commands/hydrogen/build.ts"],"sourcesContent":["import {build as viteBuild} from 'vite'\nimport {ui} from '@shopify/cli-kit'\n\ntype Target = 'node' | 'client' | 'worker'\n\ninterface DevOptions {\n directory: string\n targets: {[key in Target]: boolean | string}\n base?: string\n}\n\nasync function build({directory, targets, base}: DevOptions) {\n const commonConfig = {base, root: directory}\n\n const tasks: ui.ListrTask[] = Object.entries(targets)\n .filter(([_, value]) => value)\n .map(([key, value]) => {\n return {\n title: `Building ${key} code`,\n task: async (_, task) => {\n process.env.WORKER = key === 'worker' ? 'true' : undefined\n await viteBuild({\n ...commonConfig,\n build: {\n outDir: `dist/${key}`,\n ssr: typeof value === 'string' ? value : undefined,\n manifest: key === 'client',\n },\n })\n\n task.title = `Built ${key} code`\n },\n }\n })\n\n const list = new ui.Listr(tasks)\n\n await list.run()\n}\n\nexport default build\n","import buildService from '../../services/build'\nimport {Command, Flags} from '@oclif/core'\nimport {path} from '@shopify/cli-kit'\n\nconst PLATFORM_ENTRIES = {\n node: `@shopify/hydrogen/platforms/node`,\n worker: `@shopify/hydrogen/platforms/worker`,\n}\n\nexport default class Build extends Command {\n static description = 'Builds a Hydrogen storefront for production'\n static flags = {\n path: Flags.string({\n hidden: true,\n description: 'the path to your hydrogen storefront',\n env: 'SHOPIFY_FLAG_PATH',\n }),\n base: Flags.string({\n description: ' the public path when served in production',\n env: 'SHOPIFY_FLAG_BUILD_BASE',\n }),\n client: Flags.boolean({\n description: 'build the client code',\n env: 'SHOPIFY_FLAG_BUILD_CLIENT',\n allowNo: true,\n default: true,\n }),\n target: Flags.string({\n char: 't',\n description: 'the target platform to build for (worker or node)',\n options: ['node', 'worker'],\n default: 'worker',\n env: 'SHOPIFY_FLAG_BUILD_TARGET',\n }),\n entry: Flags.string({\n description: 'produce Server Side Rendering (SSR) build for node environments',\n env: 'SHOPIFY_FLAG_BUILD_SSR_ENTRY',\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Build)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n\n const entry = flags.entry || PLATFORM_ENTRIES[flags.target as 'node' | 'worker']\n\n const targets = {\n client: flags.client,\n worker: flags.target === 'worker' ? entry : false,\n node: flags.target === 'node' ? entry : false,\n }\n\n await buildService({...flags, directory, targets})\n }\n}\n"],"names":["viteBuild","buildService"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as semver, c as cliHydrogenPackageJson, C as Command, H as HelpfulError, a as source } from '../../Command-
|
|
1
|
+
import { s as semver, c as cliHydrogenPackageJson, C as Command, H as HelpfulError, a as source } from '../../Command-a8d57e22.js';
|
|
2
2
|
import 'prettier';
|
|
3
3
|
import { output } from '@shopify/cli-kit';
|
|
4
4
|
import 'fs';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createServer } from 'vite';
|
|
2
|
+
import { path } from '@shopify/cli-kit';
|
|
3
|
+
import { Flags, Command } from '@oclif/core';
|
|
4
|
+
|
|
5
|
+
async function dev({ directory, force }) {
|
|
6
|
+
const server = await createServer({
|
|
7
|
+
root: directory,
|
|
8
|
+
server: {
|
|
9
|
+
open: true,
|
|
10
|
+
force
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
await server.listen();
|
|
14
|
+
server.printUrls();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const _Dev = class extends Command {
|
|
18
|
+
async run() {
|
|
19
|
+
const { flags } = await this.parse(_Dev);
|
|
20
|
+
const directory = flags.path ? path.resolve(flags.path) : process.cwd();
|
|
21
|
+
await dev({ directory, ...flags });
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
let Dev = _Dev;
|
|
25
|
+
Dev.description = "Run a Hydrogen storefront locally for development";
|
|
26
|
+
Dev.flags = {
|
|
27
|
+
path: Flags.string({
|
|
28
|
+
hidden: true,
|
|
29
|
+
description: "the path to your hydrogen storefront",
|
|
30
|
+
env: "SHOPIFY_FLAG_PATH"
|
|
31
|
+
}),
|
|
32
|
+
force: Flags.boolean({
|
|
33
|
+
description: "force dependency pre-bundling.",
|
|
34
|
+
env: "SHOPIFY_FLAG_DEV_FORCE"
|
|
35
|
+
})
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { Dev as default };
|
|
39
|
+
//# sourceMappingURL=dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.js","sources":["../../../src/cli/services/dev.ts","../../../src/cli/commands/hydrogen/dev.ts"],"sourcesContent":["import {createServer} from 'vite'\n\ninterface DevOptions {\n directory: string\n force: boolean\n}\n\nasync function dev({directory, force}: DevOptions) {\n const server = await createServer({\n root: directory,\n server: {\n open: true,\n force,\n },\n })\n\n await server.listen()\n server.printUrls()\n}\n\nexport default dev\n","import devService from '../../services/dev'\nimport {path} from '@shopify/cli-kit'\nimport {Command, Flags} from '@oclif/core'\n\nexport default class Dev extends Command {\n static description = 'Run a Hydrogen storefront locally for development'\n static flags = {\n path: Flags.string({\n hidden: true,\n description: 'the path to your hydrogen storefront',\n env: 'SHOPIFY_FLAG_PATH',\n }),\n force: Flags.boolean({\n description: 'force dependency pre-bundling.',\n env: 'SHOPIFY_FLAG_DEV_FORCE',\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Dev)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n\n await devService({directory, ...flags})\n }\n}\n"],"names":["devService"],"mappings":";;;;AACA,eAAe,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;AACzC,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;AACpC,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK;AACX,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;AACrB;;ACRA,MAAM,IAAI,GAAG,cAAc,OAAO,CAAC;AACnC,EAAE,MAAM,GAAG,GAAG;AACd,IAAI,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC5E,IAAI,MAAMA,GAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC9C,GAAG;AACH,CAAC,CAAC;AACC,IAAC,GAAG,GAAG,KAAK;AACf,GAAG,CAAC,WAAW,GAAG,mDAAmD,CAAC;AACtE,GAAG,CAAC,KAAK,GAAG;AACZ,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;AACrB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,WAAW,EAAE,sCAAsC;AACvD,IAAI,GAAG,EAAE,mBAAmB;AAC5B,GAAG,CAAC;AACJ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;AACvB,IAAI,WAAW,EAAE,gCAAgC;AACjD,IAAI,GAAG,EAAE,wBAAwB;AACjC,GAAG,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as commonjsGlobal$1, d as commonjsRequire, C as Command, a as source$1, c as cliHydrogenPackageJson } from '../../Command-
|
|
1
|
+
import { b as commonjsGlobal$1, d as commonjsRequire, C as Command, a as source$1, c as cliHydrogenPackageJson } from '../../Command-a8d57e22.js';
|
|
2
2
|
import require$$0$a from 'fs';
|
|
3
3
|
import require$$0$3 from 'path';
|
|
4
4
|
import require$$0$4 from 'events';
|
|
@@ -15,7 +15,7 @@ import require$$0$c from 'constants';
|
|
|
15
15
|
import require$$16 from 'https';
|
|
16
16
|
import require$$1$2 from 'child_process';
|
|
17
17
|
import require$$7 from 'url';
|
|
18
|
-
import require$$
|
|
18
|
+
import require$$19 from 'net';
|
|
19
19
|
import require$$20 from 'tls';
|
|
20
20
|
import { ui, output } from '@shopify/cli-kit';
|
|
21
21
|
import { Flags } from '@oclif/core';
|
|
@@ -26,7 +26,7 @@ import 'v8';
|
|
|
26
26
|
import 'prettier';
|
|
27
27
|
|
|
28
28
|
var name = "@shopify/cli";
|
|
29
|
-
var version$2 = "1.
|
|
29
|
+
var version$2 = "1.1.1";
|
|
30
30
|
var description = "A CLI tool to build for the Shopify platform";
|
|
31
31
|
var type = "module";
|
|
32
32
|
var main = "src/index.js";
|
|
@@ -76,10 +76,10 @@ var dependencies = {
|
|
|
76
76
|
"@oclif/core": "1.6.4",
|
|
77
77
|
"@oclif/plugin-help": "^5.1.12",
|
|
78
78
|
"@oclif/plugin-plugins": "^2.1.0",
|
|
79
|
-
"@shopify/cli-kit": "1.
|
|
79
|
+
"@shopify/cli-kit": "1.1.1"
|
|
80
80
|
};
|
|
81
81
|
var devDependencies = {
|
|
82
|
-
vitest: "0.
|
|
82
|
+
vitest: "0.9.4"
|
|
83
83
|
};
|
|
84
84
|
var engines = {
|
|
85
85
|
node: "^14.13.1 || ^16.0.0 || ^17.0.0"
|
|
@@ -93,9 +93,10 @@ var oclif = {
|
|
|
93
93
|
bin: "shopify",
|
|
94
94
|
commands: "dist/commands",
|
|
95
95
|
plugins: [
|
|
96
|
-
"@oclif/plugin-help",
|
|
97
96
|
"@shopify/app",
|
|
97
|
+
"@shopify/theme",
|
|
98
98
|
"@shopify/cli-hydrogen",
|
|
99
|
+
"@oclif/plugin-help",
|
|
99
100
|
"@oclif/plugin-plugins"
|
|
100
101
|
],
|
|
101
102
|
topicSeparator: " ",
|
|
@@ -153,7 +154,7 @@ var constants$1 = require$$0$c;
|
|
|
153
154
|
var https = require$$16;
|
|
154
155
|
var child_process = require$$1$2;
|
|
155
156
|
var require$$2 = require$$7;
|
|
156
|
-
var require$$0$2 = require$$
|
|
157
|
+
var require$$0$2 = require$$19;
|
|
157
158
|
var require$$1 = require$$20;
|
|
158
159
|
|
|
159
160
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|