@shopify/cli-hydrogen 3.32.1 → 3.34.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/cli/commands/hydrogen/add/eslint.js +3 -2
- package/dist/cli/commands/hydrogen/add/eslint.js.map +1 -1
- package/dist/cli/commands/hydrogen/add/tailwind.js +3 -2
- package/dist/cli/commands/hydrogen/add/tailwind.js.map +1 -1
- package/dist/cli/commands/hydrogen/build.js +4 -3
- package/dist/cli/commands/hydrogen/build.js.map +1 -1
- package/dist/cli/commands/hydrogen/deploy.js +6 -4
- package/dist/cli/commands/hydrogen/deploy.js.map +1 -1
- package/dist/cli/commands/hydrogen/dev.js +4 -3
- package/dist/cli/commands/hydrogen/dev.js.map +1 -1
- package/dist/cli/commands/hydrogen/info.js +4 -3
- package/dist/cli/commands/hydrogen/info.js.map +1 -1
- package/dist/cli/commands/hydrogen/preview.js +4 -3
- package/dist/cli/commands/hydrogen/preview.js.map +1 -1
- package/dist/cli/services/build.js +3 -2
- package/dist/cli/services/build.js.map +1 -1
- package/dist/cli/services/deploy.js +8 -7
- package/dist/cli/services/deploy.js.map +1 -1
- package/dist/cli/services/dev/check-version.js +2 -2
- package/dist/cli/services/dev/check-version.js.map +1 -1
- package/dist/cli/services/eslint.js +3 -2
- package/dist/cli/services/eslint.js.map +1 -1
- package/dist/cli/services/preview.js +5 -4
- package/dist/cli/services/preview.js.map +1 -1
- package/dist/cli/services/tailwind.js +3 -2
- package/dist/cli/services/tailwind.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,8 @@ import { hydrogenFlags } from '../../../flags.js';
|
|
|
2
2
|
import { addESLint } from '../../../services/eslint.js';
|
|
3
3
|
import { load as loadApp } from '../../../models/hydrogen.js';
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
|
-
import {
|
|
5
|
+
import { globalFlags } from '@shopify/cli-kit/node/cli';
|
|
6
|
+
import { path } from '@shopify/cli-kit';
|
|
6
7
|
import Command from '@shopify/cli-kit/node/base-command';
|
|
7
8
|
export default class AddESLint extends Command {
|
|
8
9
|
async run() {
|
|
@@ -13,7 +14,7 @@ export default class AddESLint extends Command {
|
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
AddESLint.flags = {
|
|
16
|
-
...
|
|
17
|
+
...globalFlags,
|
|
17
18
|
...hydrogenFlags,
|
|
18
19
|
force: Flags.boolean({
|
|
19
20
|
hidden: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../src/cli/commands/hydrogen/add/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAC,IAAI,IAAI,OAAO,EAAc,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../src/cli/commands/hydrogen/add/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAC,IAAI,IAAI,OAAO,EAAc,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,OAAO,MAAM,oCAAoC,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAarC,KAAK,CAAC,GAAG;QACd,MAAM,EACJ,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAC,GACxC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QAEnE,MAAM,GAAG,GAAgB,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;QAEjD,MAAM,SAAS,CAAC,EAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;IACxC,CAAC;;AArBM,eAAK,GAAG;IACb,GAAG,WAAW;IACd,GAAG,aAAa;IAChB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,oBAAoB;KAC1B,CAAC;CACH,CAAA","sourcesContent":["import {hydrogenFlags} from '../../../flags.js'\nimport {addESLint} from '../../../services/eslint.js'\nimport {load as loadApp, HydrogenApp} from '../../../models/hydrogen.js'\nimport {Flags} from '@oclif/core'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\nimport {path} from '@shopify/cli-kit'\nimport Command from '@shopify/cli-kit/node/base-command'\n\nexport default class AddESLint extends Command {\n static flags = {\n ...globalFlags,\n ...hydrogenFlags,\n force: Flags.boolean({\n hidden: false,\n char: 'f',\n description: 'Overwrite existing configuration',\n default: false,\n env: 'SHOPIFY_FLAG_FORCE',\n }),\n }\n\n public async run(): Promise<void> {\n const {\n flags: {path: pathFlag, install, force},\n } = await this.parse(AddESLint)\n const directory = pathFlag ? path.resolve(pathFlag) : process.cwd()\n\n const app: HydrogenApp = await loadApp(directory)\n\n await addESLint({app, install, force})\n }\n}\n"]}
|
|
@@ -2,7 +2,8 @@ import { hydrogenFlags } from '../../../flags.js';
|
|
|
2
2
|
import { addTailwind } from '../../../services/tailwind.js';
|
|
3
3
|
import { load as loadApp } from '../../../models/hydrogen.js';
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
|
-
import {
|
|
5
|
+
import { globalFlags } from '@shopify/cli-kit/node/cli';
|
|
6
|
+
import { path } from '@shopify/cli-kit';
|
|
6
7
|
import Command from '@shopify/cli-kit/node/base-command';
|
|
7
8
|
export default class AddTailwind extends Command {
|
|
8
9
|
async run() {
|
|
@@ -13,7 +14,7 @@ export default class AddTailwind extends Command {
|
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
AddTailwind.flags = {
|
|
16
|
-
...
|
|
17
|
+
...globalFlags,
|
|
17
18
|
...hydrogenFlags,
|
|
18
19
|
force: Flags.boolean({
|
|
19
20
|
hidden: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../../../../src/cli/commands/hydrogen/add/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAC,IAAI,IAAI,OAAO,EAAc,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../../../../src/cli/commands/hydrogen/add/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAC,IAAI,IAAI,OAAO,EAAc,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,OAAO,MAAM,oCAAoC,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAavC,KAAK,CAAC,GAAG;QACd,MAAM,EACJ,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAC,GACxC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QAEnE,MAAM,GAAG,GAAgB,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;QAEjD,MAAM,WAAW,CAAC,EAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAA;IACrD,CAAC;;AArBM,iBAAK,GAAG;IACb,GAAG,WAAW;IACd,GAAG,aAAa;IAChB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,oBAAoB;KAC1B,CAAC;CACH,CAAA","sourcesContent":["import {hydrogenFlags} from '../../../flags.js'\nimport {addTailwind} from '../../../services/tailwind.js'\nimport {load as loadApp, HydrogenApp} from '../../../models/hydrogen.js'\nimport {Flags} from '@oclif/core'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\nimport {path} from '@shopify/cli-kit'\nimport Command from '@shopify/cli-kit/node/base-command'\n\nexport default class AddTailwind extends Command {\n static flags = {\n ...globalFlags,\n ...hydrogenFlags,\n force: Flags.boolean({\n hidden: false,\n char: 'f',\n description: 'overwrite existing configuration',\n default: false,\n env: 'SHOPIFY_FLAG_FORCE',\n }),\n }\n\n public async run(): Promise<void> {\n const {\n flags: {path: pathFlag, install, force},\n } = await this.parse(AddTailwind)\n const directory = pathFlag ? path.resolve(pathFlag) : process.cwd()\n\n const app: HydrogenApp = await loadApp(directory)\n\n await addTailwind({app, directory, install, force})\n }\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { build } from '../../services/build.js';
|
|
2
2
|
import { hydrogenFlags } from '../../flags.js';
|
|
3
3
|
import { Flags } from '@oclif/core';
|
|
4
|
-
import {
|
|
4
|
+
import { globalFlags } from '@shopify/cli-kit/node/cli';
|
|
5
|
+
import { path } from '@shopify/cli-kit';
|
|
5
6
|
import Command from '@shopify/cli-kit/node/base-command';
|
|
6
7
|
const PLATFORM_ENTRIES = {
|
|
7
8
|
node: `@shopify/hydrogen/platforms/node`,
|
|
@@ -20,9 +21,9 @@ export default class Build extends Command {
|
|
|
20
21
|
await build({ ...flags, directory, targets });
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
Build.description = 'Builds a Hydrogen storefront for production';
|
|
24
|
+
Build.description = 'Builds a Hydrogen storefront for production.';
|
|
24
25
|
Build.flags = {
|
|
25
|
-
...
|
|
26
|
+
...globalFlags,
|
|
26
27
|
path: hydrogenFlags.path,
|
|
27
28
|
base: Flags.string({
|
|
28
29
|
description: ' the public path when served in production',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAA;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAA;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,OAAO,MAAM,oCAAoC,CAAA;AAExD,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,kCAAkC;IACxC,MAAM,EAAE,oCAAoC;CAC7C,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IA4BxC,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QAEvE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAA2B,CAAC,CAAA;QAEhF,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YACjD,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;SAC9C,CAAA;QAED,MAAM,KAAK,CAAC,EAAC,GAAG,KAAK,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAA;IAC7C,CAAC;;AAxCM,iBAAW,GAAG,8CAA8C,CAAA;AAC5D,WAAK,GAAG;IACb,GAAG,WAAW;IACd,IAAI,EAAE,aAAa,CAAC,IAAI;IACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,4CAA4C;QACzD,GAAG,EAAE,yBAAyB;KAC/B,CAAC;IACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;QACpB,WAAW,EAAE,uBAAuB;QACpC,GAAG,EAAE,2BAA2B;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3B,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,2BAA2B;KACjC,CAAC;IACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,iEAAiE;QAC9E,GAAG,EAAE,8BAA8B;KACpC,CAAC;CACH,CAAA","sourcesContent":["import {build} from '../../services/build.js'\nimport {hydrogenFlags} from '../../flags.js'\nimport {Flags} from '@oclif/core'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\nimport {path} from '@shopify/cli-kit'\nimport Command from '@shopify/cli-kit/node/base-command'\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 ...globalFlags,\n path: hydrogenFlags.path,\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 build({...flags, directory, targets})\n }\n}\n"]}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { hydrogenFlags } from '../../flags.js';
|
|
2
2
|
import { deployToOxygen } from '../../services/deploy.js';
|
|
3
|
-
import { output,
|
|
3
|
+
import { output, path } from '@shopify/cli-kit';
|
|
4
4
|
import Command from '@shopify/cli-kit/node/base-command';
|
|
5
5
|
import { Flags } from '@oclif/core';
|
|
6
|
+
import { isShopify } from '@shopify/cli-kit/node/environment/local';
|
|
7
|
+
import { globalFlags } from '@shopify/cli-kit/node/cli';
|
|
6
8
|
export default class Deploy extends Command {
|
|
7
9
|
async run() {
|
|
8
|
-
const
|
|
9
|
-
if (!
|
|
10
|
+
const isShopifolk = await isShopify();
|
|
11
|
+
if (!isShopifolk) {
|
|
10
12
|
output.warn('Command coming soon...');
|
|
11
13
|
return;
|
|
12
14
|
}
|
|
@@ -18,7 +20,7 @@ export default class Deploy extends Command {
|
|
|
18
20
|
Deploy.description = 'Deploy your Hydrogen app to Oxygen hosting';
|
|
19
21
|
Deploy.hidden = true;
|
|
20
22
|
Deploy.flags = {
|
|
21
|
-
...
|
|
23
|
+
...globalFlags,
|
|
22
24
|
...hydrogenFlags,
|
|
23
25
|
deploymentToken: Flags.string({
|
|
24
26
|
required: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,OAAO,MAAM,oCAAoC,CAAA;AACxD,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAA;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IA2ClC,KAAK,CAAC,GAAG;QACd,MAAM,WAAW,GAAG,MAAM,SAAS,EAAE,CAAA;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YACrC,OAAM;SACP;QAED,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QAEjE,MAAM,cAAc,CAAC,EAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAA;IAC7C,CAAC;;AArDM,kBAAW,GAAG,4CAA4C,CAAA;AAC1D,aAAM,GAAG,IAAI,CAAA;AAEb,YAAK,GAAG;IACb,GAAG,WAAW;IACd,GAAG,aAAa;IAChB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,wCAAwC;QAC7C,WAAW,EAAE,uCAAuC;KACrD,CAAC;IACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;QAC1B,GAAG,EAAE,sCAAsC;QAC3C,WAAW,EAAE,0CAA0C;KACxD,CAAC;IACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;QACzB,GAAG,EAAE,qCAAqC;QAC1C,WAAW,EAAE,yCAAyC;KACvD,CAAC;IACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,qCAAqC;QAC1C,WAAW,EAAE,oDAAoD;KAClE,CAAC;IACF,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;QACzB,GAAG,EAAE,oCAAoC;QACzC,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,wDAAwD;KACtE,CAAC;IACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;QACvB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,kCAAkC;QACvC,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,4FAA4F;KAC1G,CAAC;IACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,sCAAsC;QAC3C,OAAO,EAAE,6BAA6B;KACvC,CAAC;CACH,CAAA","sourcesContent":["import {hydrogenFlags} from '../../flags.js'\nimport {deployToOxygen} from '../../services/deploy.js'\nimport {output, path} from '@shopify/cli-kit'\nimport Command from '@shopify/cli-kit/node/base-command'\nimport {Flags} from '@oclif/core'\nimport {isShopify} from '@shopify/cli-kit/node/environment/local'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\n\nexport default class Deploy extends Command {\n static description = 'Deploy your Hydrogen app to Oxygen hosting'\n static hidden = true\n\n static flags = {\n ...globalFlags,\n ...hydrogenFlags,\n deploymentToken: Flags.string({\n required: true,\n env: 'SHOPIFY_HYDROGEN_FLAG_DEPLOYMENT_TOKEN',\n description: 'Specify your Oxygen deployment token.',\n }),\n commitMessage: Flags.string({\n env: 'SHOPIFY_HYDROGEN_FLAG_COMMIT_MESSAGE',\n description: 'Override the default Git commit message.',\n }),\n commitAuthor: Flags.string({\n env: 'SHOPIFY_HYDROGEN_FLAG_COMMIT_AUTHOR',\n description: 'Override the default Git commit author.',\n }),\n pathToBuild: Flags.string({\n hidden: true,\n env: 'SHOPIFY_HYDROGEN_FLAG_PATH_TO_BUILD',\n description: 'Skip build process and use provided value as build',\n }),\n healthCheck: Flags.boolean({\n env: 'SHOPIFY_HYDROGEN_FLAG_HEALTH_CHECK',\n default: true,\n description: 'Require a health check before the deployment succeeds.',\n }),\n assumeYes: Flags.boolean({\n char: 'y',\n env: 'SHOPIFY_HYDROGEN_FLAG_ASSUME_YES',\n default: false,\n description: 'Automatic yes to prompts. Assume \"yes\" as answer to all prompts and run non-interactively.',\n }),\n oxygenAddress: Flags.string({\n hidden: true,\n env: 'SHOPIFY_HYDROGEN_FLAG_OXYGEN_ADDRESS',\n default: 'oxygen-dms.shopifycloud.com',\n }),\n }\n\n public async run(): Promise<void> {\n const isShopifolk = await isShopify()\n if (!isShopifolk) {\n output.warn('Command coming soon...')\n return\n }\n\n const {flags} = await this.parse(Deploy)\n const dir = flags.path ? path.resolve(flags.path) : process.cwd()\n\n await deployToOxygen({...flags, path: dir})\n }\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import devService from '../../services/dev.js';
|
|
2
2
|
import { hydrogenFlags } from '../../flags.js';
|
|
3
|
-
import { path
|
|
3
|
+
import { path } from '@shopify/cli-kit';
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
|
+
import { globalFlags } from '@shopify/cli-kit/node/cli';
|
|
5
6
|
import Command from '@shopify/cli-kit/node/base-command';
|
|
6
7
|
export default class Dev extends Command {
|
|
7
8
|
async run() {
|
|
@@ -10,9 +11,9 @@ export default class Dev extends Command {
|
|
|
10
11
|
await devService({ directory, ...flags, commandConfig: this.config });
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
|
-
Dev.description = 'Run a Hydrogen storefront locally for development';
|
|
14
|
+
Dev.description = 'Run a Hydrogen storefront locally for development.';
|
|
14
15
|
Dev.flags = {
|
|
15
|
-
...
|
|
16
|
+
...globalFlags,
|
|
16
17
|
path: hydrogenFlags.path,
|
|
17
18
|
force: Flags.boolean({
|
|
18
19
|
description: 'force dependency pre-bundling.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/dev.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/dev.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,OAAO,MAAM,oCAAoC,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IAoBtC,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QAEvE,MAAM,UAAU,CAAC,EAAC,SAAS,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAA;IACrE,CAAC;;AAxBM,eAAW,GAAG,oDAAoD,CAAA;AAClE,SAAK,GAAG;IACb,GAAG,WAAW;IACd,IAAI,EAAE,aAAa,CAAC,IAAI;IACxB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACnB,WAAW,EAAE,gCAAgC;QAC7C,GAAG,EAAE,wBAAwB;KAC9B,CAAC;IACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;QAClB,WAAW,EAAE,8DAA8D;QAC3E,GAAG,EAAE,uBAAuB;KAC7B,CAAC;IACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;QAClB,WAAW,EAAE,2CAA2C;QACxD,GAAG,EAAE,uBAAuB;QAC5B,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAA","sourcesContent":["import devService from '../../services/dev.js'\nimport {hydrogenFlags} from '../../flags.js'\nimport {path} from '@shopify/cli-kit'\nimport {Flags} from '@oclif/core'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\nimport Command from '@shopify/cli-kit/node/base-command'\n\nexport default class Dev extends Command {\n static description = 'Run a Hydrogen storefront locally for development.'\n static flags = {\n ...globalFlags,\n path: hydrogenFlags.path,\n force: Flags.boolean({\n description: 'force dependency pre-bundling.',\n env: 'SHOPIFY_FLAG_DEV_FORCE',\n }),\n host: Flags.boolean({\n description: 'listen on all addresses, including LAN and public addresses.',\n env: 'SHOPIFY_FLAG_DEV_HOST',\n }),\n open: Flags.boolean({\n description: 'automatically open the app in the browser',\n env: 'SHOPIFY_FLAG_DEV_OPEN',\n default: false,\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, commandConfig: this.config})\n }\n}\n"]}
|
|
@@ -2,7 +2,8 @@ import { info } from '../../services/info.js';
|
|
|
2
2
|
import { load as loadApp } from '../../models/hydrogen.js';
|
|
3
3
|
import { hydrogenFlags } from '../../flags.js';
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
|
-
import {
|
|
5
|
+
import { globalFlags } from '@shopify/cli-kit/node/cli';
|
|
6
|
+
import { output, path } from '@shopify/cli-kit';
|
|
6
7
|
import Command from '@shopify/cli-kit/node/base-command';
|
|
7
8
|
export default class Info extends Command {
|
|
8
9
|
async run() {
|
|
@@ -14,9 +15,9 @@ export default class Info extends Command {
|
|
|
14
15
|
process.exit(2);
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
|
-
Info.description = 'Print basic information about your hydrogen app';
|
|
18
|
+
Info.description = 'Print basic information about your hydrogen app.';
|
|
18
19
|
Info.flags = {
|
|
19
|
-
...
|
|
20
|
+
...globalFlags,
|
|
20
21
|
...hydrogenFlags,
|
|
21
22
|
showToken: Flags.boolean({
|
|
22
23
|
hidden: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAC,IAAI,IAAI,OAAO,EAAc,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAC,IAAI,IAAI,OAAO,EAAc,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,OAAO,MAAM,oCAAoC,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IAchC,KAAK,CAAC,GAAG;QACd,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QACvE,MAAM,GAAG,GAAgB,MAAM,OAAO,CAAC,SAAS,CAAC,CAAA;QAEjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,eAAe,EAAE,KAAK,CAAC,SAAS,EAAC,CAAC,CAAC,CAAA;QAC1D,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC;;AApBM,gBAAW,GAAG,kDAAkD,CAAA;AAEhE,UAAK,GAAG;IACb,GAAG,WAAW;IACd,GAAG,aAAa;IAChB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;QACvB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,kCAAkC;KACxC,CAAC;CACH,CAAA","sourcesContent":["import {info} from '../../services/info.js'\nimport {load as loadApp, HydrogenApp} from '../../models/hydrogen.js'\nimport {hydrogenFlags} from '../../flags.js'\nimport {Flags} from '@oclif/core'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\nimport {output, path} from '@shopify/cli-kit'\nimport Command from '@shopify/cli-kit/node/base-command'\n\nexport default class Info extends Command {\n static description = 'Print basic information about your hydrogen app.'\n\n static flags = {\n ...globalFlags,\n ...hydrogenFlags,\n showToken: Flags.boolean({\n hidden: false,\n description: 'Show storefront API token',\n default: false,\n env: 'SHOPIFY_HYDROGEN_FLAG_SHOW_TOKEN',\n }),\n }\n\n public async run(): Promise<void> {\n const {flags} = await this.parse(Info)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n const app: HydrogenApp = await loadApp(directory)\n\n output.info(info(app, {showPrivateData: flags.showToken}))\n if (app.errors) process.exit(2)\n }\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { previewInWorker, previewInNode } from '../../services/preview.js';
|
|
2
2
|
import { hydrogenFlags } from '../../flags.js';
|
|
3
|
-
import { path
|
|
3
|
+
import { path } from '@shopify/cli-kit';
|
|
4
4
|
import { Flags } from '@oclif/core';
|
|
5
|
+
import { globalFlags } from '@shopify/cli-kit/node/cli';
|
|
5
6
|
import Command from '@shopify/cli-kit/node/base-command';
|
|
6
7
|
export default class Preview extends Command {
|
|
7
8
|
async run() {
|
|
@@ -17,9 +18,9 @@ export default class Preview extends Command {
|
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
Preview.description = 'Run a Hydrogen storefront locally in a worker environment';
|
|
21
|
+
Preview.description = 'Run a Hydrogen storefront locally in a worker environment.';
|
|
21
22
|
Preview.flags = {
|
|
22
|
-
...
|
|
23
|
+
...globalFlags,
|
|
23
24
|
path: hydrogenFlags.path,
|
|
24
25
|
port: Flags.string({
|
|
25
26
|
char: 'p',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../../src/cli/commands/hydrogen/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAA;AACrD,OAAO,OAAO,MAAM,oCAAoC,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IA4B1C,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;QACvE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAA;QAEzB,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC7B,MAAM,eAAe,CAAC,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAA;SAClD;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;YAClC,MAAM,aAAa,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;SACvC;IACH,CAAC;;AAtCM,mBAAW,GAAG,4DAA4D,CAAA;AAC1E,aAAK,GAAG;IACb,GAAG,WAAW;IACd,IAAI,EAAE,aAAa,CAAC,IAAI;IACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,mBAAmB;KACzB,CAAC;IACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,GAAG,EAAE,uBAAuB;KAC7B,CAAC;IACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3B,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,6BAA6B;KACnC,CAAC;CACH,CAAA","sourcesContent":["import {previewInWorker, previewInNode} from '../../services/preview.js'\nimport {hydrogenFlags} from '../../flags.js'\nimport {path} from '@shopify/cli-kit'\nimport {Flags} from '@oclif/core'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\nimport Command from '@shopify/cli-kit/node/base-command'\n\nexport default class Preview extends Command {\n static description = 'Run a Hydrogen storefront locally in a worker environment.'\n static flags = {\n ...globalFlags,\n path: hydrogenFlags.path,\n port: Flags.string({\n char: 'p',\n hidden: true,\n description: 'the port to run the preview server on',\n default: '3000',\n env: 'SHOPIFY_FLAG_PORT',\n }),\n env: Flags.string({\n char: 'e',\n description: 'the file path to your .env',\n default: undefined,\n parse: (input, _) => Promise.resolve(path.resolve(input)),\n env: 'SHOPIFY_FLAG_ENV_PATH',\n }),\n target: Flags.string({\n char: 't',\n description: 'the target environment (worker or node)',\n options: ['node', 'worker'],\n default: 'worker',\n env: 'SHOPIFY_FLAG_PREVIEW_TARGET',\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Preview)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n const port = parseInt(flags.port, 10)\n const envPath = flags.env\n\n if (flags.target === 'worker') {\n await previewInWorker({directory, port, envPath})\n } else if (flags.target === 'node') {\n await previewInNode({directory, port})\n }\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { checkLockfileStatus } from './build/check-lockfile.js';
|
|
2
2
|
import { build as viteBuild } from 'vite';
|
|
3
|
-
import { ui,
|
|
3
|
+
import { ui, error as kitError } from '@shopify/cli-kit';
|
|
4
|
+
import { isUnitTest } from '@shopify/cli-kit/node/environment/local';
|
|
4
5
|
export function buildTaskList({ directory, targets, base, assetBaseURL, verbose }) {
|
|
5
6
|
const commonConfig = { base, root: directory };
|
|
6
7
|
return Object.entries(targets)
|
|
@@ -38,7 +39,7 @@ export function buildTaskList({ directory, targets, base, assetBaseURL, verbose
|
|
|
38
39
|
export async function build(options) {
|
|
39
40
|
await checkLockfileStatus(options.directory);
|
|
40
41
|
const tasks = await buildTaskList(options);
|
|
41
|
-
const list = ui.newListr(tasks, { rendererSilent:
|
|
42
|
+
const list = ui.newListr(tasks, { rendererSilent: isUnitTest() });
|
|
42
43
|
await list.run();
|
|
43
44
|
}
|
|
44
45
|
//# sourceMappingURL=build.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/services/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAC,KAAK,IAAI,SAAS,EAAC,MAAM,MAAM,CAAA;AACvC,OAAO,EAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/services/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAC,KAAK,IAAI,SAAS,EAAC,MAAM,MAAM,CAAA;AACvC,OAAO,EAAC,EAAE,EAAE,KAAK,IAAI,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,yCAAyC,CAAA;AAYlE,MAAM,UAAU,aAAa,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAa;IACzF,MAAM,YAAY,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,CAAA;IAE5C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,KAAK,EAAE,YAAY,GAAG,OAAO;QAC7B,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACtB,IAAI,GAAG,KAAK,QAAQ,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;aAC5B;YACD,IAAI,YAAY,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,YAAY,CAAA;aACnD;YAED,IAAI;gBACF,MAAM,SAAS,CAAC;oBACd,GAAG,YAAY;oBACf,KAAK,EAAE;wBACL,MAAM,EAAE,QAAQ,GAAG,EAAE;wBACrB,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBAClD,QAAQ,EAAE,GAAG,KAAK,QAAQ;qBAC3B;oBACD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;iBACtC,CAAC,CAAA;gBACF,8DAA8D;aAC/D;YAAC,OAAO,KAAU,EAAE;gBACnB,MAAM,UAAU,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACpD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;gBAC9B,MAAM,UAAU,CAAA;aACjB;YAED,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,OAAO,CAAA;QAClC,CAAC;KACF,CAAC,CAAC,CAAA;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAmB;IAC7C,MAAM,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE5C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;IAE1C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAC,cAAc,EAAE,UAAU,EAAE,EAAC,CAAC,CAAA;IAE/D,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;AAClB,CAAC","sourcesContent":["import {checkLockfileStatus} from './build/check-lockfile.js'\nimport {build as viteBuild} from 'vite'\nimport {ui, error as kitError} from '@shopify/cli-kit'\nimport {isUnitTest} from '@shopify/cli-kit/node/environment/local'\n\ntype Target = 'node' | 'client' | 'worker'\n\ninterface DevOptions {\n directory: string\n targets: {[key in Target]: boolean | string}\n base?: string\n assetBaseURL?: string\n verbose?: boolean\n}\n\nexport function buildTaskList({directory, targets, base, assetBaseURL, verbose}: DevOptions): ui.ListrTask[] {\n const commonConfig = {base, root: directory}\n\n return Object.entries(targets)\n .filter(([_, value]) => value)\n .map(([key, value]) => ({\n title: `Building ${key} code`,\n task: async (_, task) => {\n if (key === 'worker') {\n process.env.WORKER = 'true'\n }\n if (assetBaseURL) {\n process.env.HYDROGEN_ASSET_BASE_URL = assetBaseURL\n }\n\n try {\n await viteBuild({\n ...commonConfig,\n build: {\n outDir: `dist/${key}`,\n ssr: typeof value === 'string' ? value : undefined,\n manifest: key === 'client',\n },\n logLevel: verbose ? 'info' : 'silent',\n })\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n const abortError = new kitError.Abort(error.message)\n abortError.stack = error.stack\n throw abortError\n }\n\n task.title = `Built ${key} code`\n },\n }))\n}\n\nexport async function build(options: DevOptions) {\n await checkLockfileStatus(options.directory)\n\n const tasks = await buildTaskList(options)\n\n const list = ui.newListr(tasks, {rendererSilent: isUnitTest()})\n\n await list.run()\n}\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createDeployment, healthCheck, uploadDeployment } from './deploy/upload.js';
|
|
2
2
|
import { buildTaskList } from './build.js';
|
|
3
3
|
import { validateProject, fillDeployConfig } from './deploy/config.js';
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import { ui } from '@shopify/cli-kit';
|
|
5
|
+
import { sleep } from '@shopify/cli-kit/node/system';
|
|
6
|
+
import { isUnitTest } from '@shopify/cli-kit/node/environment/local';
|
|
6
7
|
const backoffPolicy = [5, 10, 15, 30, 60];
|
|
7
8
|
export async function deployToOxygen(_config) {
|
|
8
9
|
await validateProject(_config);
|
|
@@ -65,8 +66,8 @@ export async function deployToOxygen(_config) {
|
|
|
65
66
|
"The deployment uploaded but hasn't become reachable within 2 minutes. Check the preview URL to see if deployment succeeded. If it didn't, then try again later.";
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
|
-
if (retryCount && !isUnitTest)
|
|
69
|
-
await
|
|
69
|
+
if (retryCount && !isUnitTest())
|
|
70
|
+
await sleep(backoffPolicy[retryCount - 1]);
|
|
70
71
|
await healthCheck(ctx.previewURL);
|
|
71
72
|
task.title = '✅ Deployed successfully';
|
|
72
73
|
},
|
|
@@ -78,7 +79,7 @@ export async function deployToOxygen(_config) {
|
|
|
78
79
|
const list = ui.newListr(tasks, {
|
|
79
80
|
concurrent: false,
|
|
80
81
|
rendererOptions: { collapse: false },
|
|
81
|
-
rendererSilent: isUnitTest,
|
|
82
|
+
rendererSilent: isUnitTest(),
|
|
82
83
|
});
|
|
83
84
|
return list.run();
|
|
84
85
|
}
|
|
@@ -97,7 +98,7 @@ task, errorMessage) {
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
|
-
if (retryCount && !isUnitTest)
|
|
101
|
-
await
|
|
101
|
+
if (retryCount && !isUnitTest())
|
|
102
|
+
await sleep(backoffPolicy[retryCount - 1]);
|
|
102
103
|
}
|
|
103
104
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/services/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAClF,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAA;AACxC,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/services/deploy.ts"],"names":[],"mappings":"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","sourcesContent":["import {DeployConfig, ReqDeployConfig} from './deploy/types.js'\nimport {createDeployment, healthCheck, uploadDeployment} from './deploy/upload.js'\nimport {buildTaskList} from './build.js'\nimport {validateProject, fillDeployConfig} from './deploy/config.js'\nimport {ui} from '@shopify/cli-kit'\nimport {sleep} from '@shopify/cli-kit/node/system'\nimport {isUnitTest} from '@shopify/cli-kit/node/environment/local'\n\ninterface TaskContext {\n config: ReqDeployConfig\n deploymentID: string\n assetBaseURL: string\n previewURL: string\n}\n\nconst backoffPolicy = [5, 10, 15, 30, 60]\n\nexport async function deployToOxygen(_config: DeployConfig) {\n await validateProject(_config)\n\n /* eslint-disable require-atomic-updates */\n const tasks: ui.ListrTask<TaskContext>[] = [\n {\n title: '📝 Getting deployment config',\n task: async (ctx, task) => {\n ctx.config = await fillDeployConfig(_config)\n task.title = '📝 Deployment config parsed'\n },\n },\n {\n title: '💡 Initializing deployment',\n task: async (ctx, task) => {\n await shouldRetryOxygenCall(task, 'Could not create deployment on Oxygen.')\n\n const {deploymentID, assetBaseURL} = await createDeployment(ctx.config)\n ctx.assetBaseURL = assetBaseURL\n ctx.deploymentID = deploymentID\n task.title = '✨ Deployment initialized'\n },\n retry: backoffPolicy.length,\n },\n {\n title: '🛠 Building project',\n task: async (ctx, task) => {\n const subTasks = buildTaskList({\n directory: ctx.config.path,\n targets: {\n client: true,\n worker: '@shopify/hydrogen/platforms/worker',\n node: false,\n },\n assetBaseURL: ctx.assetBaseURL,\n })\n\n return task.newListr(subTasks)\n },\n skip: (ctx) => ctx.config.pathToBuild,\n },\n {\n title: '🚀 Uploading deployment files',\n task: async (ctx, task) => {\n await shouldRetryOxygenCall(task, 'Uploading files to Oxygen failed.')\n\n ctx.previewURL = await uploadDeployment(ctx.config, ctx.deploymentID)\n task.output = `Preview URL: ${ctx.previewURL}`\n task.title = '🚀 Files uploaded'\n },\n options: {\n bottomBar: Infinity,\n persistentOutput: true,\n },\n retry: backoffPolicy.length,\n },\n {\n title: '📡 Checking deployment health',\n task: async (ctx, task) => {\n const retryCount = task.isRetrying()?.count\n\n if (retryCount === backoffPolicy.length) {\n task.title =\n \"The deployment uploaded but hasn't become reachable within 2 minutes. Check the preview URL to see if deployment succeeded. If it didn't, then try again later.\"\n return\n }\n if (retryCount && !isUnitTest()) await sleep(backoffPolicy[retryCount - 1]!)\n\n await healthCheck(ctx.previewURL)\n task.title = '✅ Deployed successfully'\n },\n retry: backoffPolicy.length,\n skip: (ctx) => !ctx.config.healthCheck,\n },\n ]\n /* eslint-enable require-atomic-updates */\n\n const list = ui.newListr(tasks, {\n concurrent: false,\n rendererOptions: {collapse: false},\n rendererSilent: isUnitTest(),\n })\n\n return list.run()\n}\n\nasync function shouldRetryOxygenCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n task: ui.ListrTaskWrapper<TaskContext, any>,\n errorMessage: string,\n) {\n const retryCount = task.isRetrying()?.count\n if (retryCount === backoffPolicy.length) {\n throw new Error(`${errorMessage} ${task.errors[task.errors.length - 1]?.message}`)\n }\n if (retryCount) {\n if (task.errors.length > 0) {\n const unrecoverableError = task.errors.find((error) => error.message.includes('Unrecoverable'))\n if (unrecoverableError) {\n throw new Error(unrecoverableError.message)\n }\n }\n }\n if (retryCount && !isUnitTest()) await sleep(backoffPolicy[retryCount - 1]!)\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { system } from '@shopify/cli-kit';
|
|
2
1
|
import { checkForNewVersion } from '@shopify/cli-kit/node/node-package-manager';
|
|
2
|
+
import { captureOutput } from '@shopify/cli-kit/node/system';
|
|
3
3
|
import { renderInfo } from '@shopify/cli-kit/node/ui';
|
|
4
4
|
const PACKAGE_NAME = '@shopify/hydrogen';
|
|
5
5
|
export async function checkHydrogenVersion(directory) {
|
|
6
|
-
const currentVersion = await
|
|
6
|
+
const currentVersion = await captureOutput('node', ['-p', `require('./node_modules/${PACKAGE_NAME}/package.json').version`], {
|
|
7
7
|
cwd: directory,
|
|
8
8
|
});
|
|
9
9
|
if (!currentVersion) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-version.js","sourceRoot":"","sources":["../../../../src/cli/services/dev/check-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"check-version.js","sourceRoot":"","sources":["../../../../src/cli/services/dev/check-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4CAA4C,CAAA;AAC7E,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAA;AAEnD,MAAM,YAAY,GAAG,mBAAmB,CAAA;AAExC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,cAAc,GAAG,MAAM,aAAa,CACxC,MAAM,EACN,CAAC,IAAI,EAAE,2BAA2B,YAAY,yBAAyB,CAAC,EACxE;QACE,GAAG,EAAE,SAAS;KACf,CACF,CAAA;IAED,IAAI,CAAC,cAAc,EAAE;QACnB,OAAM;KACP;IAED,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IAElF,IAAI,mBAAmB,EAAE;QACvB,UAAU,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EACF,WAAW,mBAAmB,OAAO,YAAY,wBAAwB;gBACzE,8BAA8B,cAAc,GAAG;YACjD,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE;wBACJ,KAAK,EAAE,mBAAmB;wBAC1B,GAAG,EAAE,8CAA8C;qBACpD;iBACF;aACF;SACF,CAAC,CAAA;QAEF,OAAO,mBAAmB,CAAA;KAC3B;AACH,CAAC","sourcesContent":["import {checkForNewVersion} from '@shopify/cli-kit/node/node-package-manager'\nimport {captureOutput} from '@shopify/cli-kit/node/system'\nimport {renderInfo} from '@shopify/cli-kit/node/ui'\n\nconst PACKAGE_NAME = '@shopify/hydrogen'\n\nexport async function checkHydrogenVersion(directory: string): Promise<string | undefined> {\n const currentVersion = await captureOutput(\n 'node',\n ['-p', `require('./node_modules/${PACKAGE_NAME}/package.json').version`],\n {\n cwd: directory,\n },\n )\n\n if (!currentVersion) {\n return\n }\n\n const newVersionAvailable = await checkForNewVersion(PACKAGE_NAME, currentVersion)\n\n if (newVersionAvailable) {\n renderInfo({\n headline: 'Upgrade available',\n body:\n `Version ${newVersionAvailable} of ${PACKAGE_NAME} is now available.\\n\\n` +\n `You are currently running v${currentVersion}.`,\n reference: [\n {\n link: {\n label: 'Hydrogen releases',\n url: 'https://github.com/Shopify/hydrogen/releases',\n },\n },\n ],\n })\n\n return newVersionAvailable\n }\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { genericConfigurationFileNames } from '../constants.js';
|
|
2
|
-
import { ui, npm, file, path, error
|
|
2
|
+
import { ui, npm, file, path, error } from '@shopify/cli-kit';
|
|
3
3
|
import { addNPMDependenciesWithoutVersionIfNeeded } from '@shopify/cli-kit/node/node-package-manager';
|
|
4
4
|
import { addRecommendedExtensions, isVSCode } from '@shopify/cli-kit/node/vscode';
|
|
5
|
+
import { isUnitTest } from '@shopify/cli-kit/node/environment/local';
|
|
5
6
|
import stream from 'stream';
|
|
6
7
|
export async function addESLint({ app, force, install }) {
|
|
7
8
|
const list = ui.newListr([
|
|
@@ -69,7 +70,7 @@ export async function addESLint({ app, force, install }) {
|
|
|
69
70
|
task.title = 'Editor plugin recommendations added';
|
|
70
71
|
},
|
|
71
72
|
},
|
|
72
|
-
], { rendererSilent:
|
|
73
|
+
], { rendererSilent: isUnitTest() });
|
|
73
74
|
await list.run();
|
|
74
75
|
}
|
|
75
76
|
//# sourceMappingURL=eslint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../src/cli/services/eslint.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,6BAA6B,EAAC,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../src/cli/services/eslint.ts"],"names":[],"mappings":"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","sourcesContent":["import {HydrogenApp} from '../models/hydrogen.js'\nimport {genericConfigurationFileNames} from '../constants.js'\nimport {ui, npm, file, path, error} from '@shopify/cli-kit'\nimport {addNPMDependenciesWithoutVersionIfNeeded} from '@shopify/cli-kit/node/node-package-manager'\nimport {addRecommendedExtensions, isVSCode} from '@shopify/cli-kit/node/vscode'\nimport {isUnitTest} from '@shopify/cli-kit/node/environment/local'\nimport stream from 'stream'\n\ninterface AddESlintOptions {\n app: HydrogenApp\n force: boolean\n install: boolean\n}\n\nexport async function addESLint({app, force, install}: AddESlintOptions) {\n const list = ui.newListr(\n [\n {\n title: 'Installing additional dependencies',\n skip: () => !install,\n task: async (_, task) => {\n const requiredDependencies = ['eslint', 'eslint-plugin-hydrogen', 'prettier', '@shopify/prettier-config']\n await addNPMDependenciesWithoutVersionIfNeeded(requiredDependencies, {\n packageManager: app.packageManager,\n type: 'prod',\n directory: app.directory,\n stderr: new stream.Writable({\n write(chunk, encoding, next) {\n task.output = chunk.toString()\n next()\n },\n }),\n stdout: new stream.Writable({\n write(chunk, encoding, next) {\n task.output = chunk.toString()\n next()\n },\n }),\n })\n task.title = 'Dependencies installed'\n },\n },\n\n {\n title: 'Adding ESLint configuration',\n task: async (_, task) => {\n const eslintConfigPath = path.join(app.directory, genericConfigurationFileNames.eslint)\n\n if (await file.exists(eslintConfigPath)) {\n if (force) {\n await file.remove(eslintConfigPath)\n } else {\n throw new error.Abort('ESLint config already exists.', 'Use --force to override existing config.')\n }\n }\n\n const extended = [`'plugin:hydrogen/recommended'`]\n\n if (app.language === 'TypeScript') {\n extended.push(`'plugin:hydrogen/typescript'`)\n }\n\n const eslintConfig = await file.format(\n ['module.exports = {', 'extends: [', `${extended.join(',')}`, ' ],', ' };'].join('\\n'),\n {path: genericConfigurationFileNames.eslint},\n )\n\n await file.write(eslintConfigPath, eslintConfig)\n\n task.title = 'ESLint configuration added'\n },\n },\n {\n title: 'Updating package.json',\n task: async (_, task) => {\n const packageJSON = await npm.readPackageJSON(app.directory)\n\n packageJSON.scripts.lint = `eslint --ext .js,.ts,.jsx,.tsx src/`\n\n packageJSON.prettier = '@shopify/prettier-config'\n\n await npm.writePackageJSON(app.directory, packageJSON)\n\n task.title = 'Package.json updated'\n },\n },\n {\n title: 'Adding editor plugin recommendations',\n skip: async () => !(await isVSCode(app.directory)),\n task: async (_, task) => {\n await addRecommendedExtensions(app.directory, ['dbaeumer.vscode-eslint'])\n task.title = 'Editor plugin recommendations added'\n },\n },\n ],\n {rendererSilent: isUnitTest()},\n )\n await list.run()\n}\n"]}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { path, error,
|
|
1
|
+
import { path, error, file, output } from '@shopify/cli-kit';
|
|
2
2
|
import { readAndParseDotEnv } from '@shopify/cli-kit/node/dot-env';
|
|
3
|
+
import { exec } from '@shopify/cli-kit/node/system';
|
|
3
4
|
import { fileURLToPath } from 'url';
|
|
4
5
|
export async function previewInNode({ directory, port }) {
|
|
5
6
|
const buildOutputPath = await path.resolve(directory, 'dist/node');
|
|
6
7
|
if (!(await file.exists(buildOutputPath))) {
|
|
7
8
|
output.info(output.content `Couldn’t find a Node.js server build for this project. Running ${output.token.packagejsonScript('yarn', 'shopify hydrogen build', '--target=node')} to create one.`);
|
|
8
|
-
await
|
|
9
|
+
await exec('yarn', ['shopify', 'hydrogen', 'build', '--target=node'], {
|
|
9
10
|
cwd: directory,
|
|
10
11
|
stdout: process.stdout,
|
|
11
12
|
stderr: process.stderr,
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
|
-
await
|
|
15
|
+
await exec('node', ['--enable-source-maps', buildOutputPath], {
|
|
15
16
|
env: { PORT: `${port}` },
|
|
16
17
|
cwd: directory,
|
|
17
18
|
stdout: process.stdout,
|
|
@@ -44,7 +45,7 @@ export async function previewInWorker({ directory, port, envPath }) {
|
|
|
44
45
|
}
|
|
45
46
|
process.on('SIGINT', cleanUp.bind(null, { exit: true }));
|
|
46
47
|
const executable = await oxygenPreviewExecutable();
|
|
47
|
-
await
|
|
48
|
+
await exec(executable, [], {
|
|
48
49
|
env: { NODE_OPTIONS: '--experimental-vm-modules' },
|
|
49
50
|
cwd: directory,
|
|
50
51
|
stdout: process.stdout,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/cli/services/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../../src/cli/services/preview.ts"],"names":[],"mappings":"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","sourcesContent":["import {path, error, file, output} from '@shopify/cli-kit'\nimport {readAndParseDotEnv, DotEnvFile} from '@shopify/cli-kit/node/dot-env'\nimport {exec} from '@shopify/cli-kit/node/system'\nimport {fileURLToPath} from 'url'\n\ninterface PreviewOptions {\n directory: string\n port: number\n}\n\ninterface PreviewOptionsWorker extends PreviewOptions {\n envPath: string | undefined\n}\n\ninterface EnvConfig {\n env: DotEnvFile['variables']\n}\n\nexport async function previewInNode({directory, port}: PreviewOptions) {\n const buildOutputPath = await path.resolve(directory, 'dist/node')\n\n if (!(await file.exists(buildOutputPath))) {\n output.info(\n output.content`Couldn’t find a Node.js server build for this project. Running ${output.token.packagejsonScript(\n 'yarn',\n 'shopify hydrogen build',\n '--target=node',\n )} to create one.`,\n )\n\n await exec('yarn', ['shopify', 'hydrogen', 'build', '--target=node'], {\n cwd: directory,\n stdout: process.stdout,\n stderr: process.stderr,\n })\n }\n\n await exec('node', ['--enable-source-maps', buildOutputPath], {\n env: {PORT: `${port}`},\n cwd: directory,\n stdout: process.stdout,\n stderr: process.stderr,\n })\n}\n\nexport async function previewInWorker({directory, port, envPath}: PreviewOptionsWorker) {\n const config = {\n port,\n workerFile: 'dist/worker/index.js',\n assetsDir: 'dist/client',\n buildCommand: 'yarn build',\n modules: true,\n watch: true,\n buildWatchPaths: ['./src'],\n autoReload: true,\n ...(envPath && (await parseEnvPath(envPath))),\n }\n\n await file.write(path.resolve(directory, 'mini-oxygen.config.json'), JSON.stringify(config, null, 2))\n\n function cleanUp(options: {exit: boolean}) {\n if (options.exit) {\n file.removeSync(path.resolve(directory, 'mini-oxygen.config.json'))\n }\n }\n\n async function parseEnvPath(envPath: string): Promise<EnvConfig> {\n const {variables} = await readAndParseDotEnv(envPath)\n return {\n env: variables,\n }\n }\n\n process.on('SIGINT', cleanUp.bind(null, {exit: true}))\n\n const executable = await oxygenPreviewExecutable()\n\n await exec(executable, [], {\n env: {NODE_OPTIONS: '--experimental-vm-modules'},\n cwd: directory,\n stdout: process.stdout,\n stderr: process.stderr,\n })\n}\n\nexport const OxygenPreviewExecutableNotFound = new error.Bug(\n 'Could not locate the executable file to run Oxygen locally.',\n)\n\nasync function oxygenPreviewExecutable(): Promise<string> {\n const cwd = path.dirname(fileURLToPath(import.meta.url))\n const executablePath = await path.findUp('node_modules/.bin/oxygen-preview', {type: 'file', cwd, allowSymlinks: true})\n if (!executablePath) {\n throw OxygenPreviewExecutableNotFound\n }\n return executablePath\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ui,
|
|
1
|
+
import { ui, path, file, error } from '@shopify/cli-kit';
|
|
2
2
|
import { addNPMDependenciesWithoutVersionIfNeeded } from '@shopify/cli-kit/node/node-package-manager';
|
|
3
3
|
import { addRecommendedExtensions } from '@shopify/cli-kit/node/vscode';
|
|
4
|
+
import { exec } from '@shopify/cli-kit/node/system';
|
|
4
5
|
import stream from 'stream';
|
|
5
6
|
const tailwindImports = [
|
|
6
7
|
"@import 'tailwindcss/base';",
|
|
@@ -64,7 +65,7 @@ export async function addTailwind({ app, force, install, directory }) {
|
|
|
64
65
|
throw new error.Abort('Tailwind config already exists.\nUse --force to override existing config.');
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
|
-
await
|
|
68
|
+
await exec(app.packageManager, ['tailwindcss', 'init', tailwindConfigurationPath], {
|
|
68
69
|
cwd: directory,
|
|
69
70
|
});
|
|
70
71
|
await replace('content: []', "content: ['./index.html', './src/**/*.{js,jsx,ts,tsx}']", tailwindConfigurationPath);
|