@shopify/create-hydrogen 3.0.17 → 3.0.18

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @shopify/create-hydrogen
2
2
 
3
+ ## 3.0.18
4
+
5
+ ### Patch Changes
6
+
7
+ - fa518a0d: Report events with the analytics helper from cli-kit
8
+ - Updated dependencies [84438079]
9
+ - Updated dependencies [fa518a0d]
10
+ - Updated dependencies [fd10fc01]
11
+ - Updated dependencies [0243890b]
12
+ - Updated dependencies [cb1caa7c]
13
+ - @shopify/cli-kit@3.0.18
14
+
3
15
  ## 3.0.17
4
16
 
5
17
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { string, ui, os, path, file, github, git, error, template, npm, environment, output, dependency, cli } from '@shopify/cli-kit';
1
+ import { string, ui, os, path, file, github, git, error, template, npm, environment, output, dependency, cli, analytics } from '@shopify/cli-kit';
2
2
  import { Writable } from 'stream';
3
3
  import { Flags, Command } from '@oclif/core';
4
4
 
@@ -40,9 +40,9 @@ const init$1 = async (options, prompt = ui.prompt) => {
40
40
  return { ...options, ...promptOutput, template };
41
41
  };
42
42
 
43
- var version$1 = "3.0.17";
43
+ var version$1 = "3.0.18";
44
44
 
45
- var version = "3.0.17";
45
+ var version = "3.0.18";
46
46
 
47
47
  const suggestHydrogenSupport = () => `
48
48
  Help us make Hydrogen better by reporting this error so we can improve this message and/or fix the error.
@@ -238,6 +238,12 @@ const _Init = class extends Command {
238
238
  directory,
239
239
  local: flags.local
240
240
  });
241
+ await this.reportEvent();
242
+ }
243
+ async reportEvent() {
244
+ const commandIndex = process.argv.indexOf("init");
245
+ const args = process.argv.slice(commandIndex + 1);
246
+ await analytics.reportEvent("create-app", args);
241
247
  }
242
248
  };
243
249
  let Init = _Init;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sources":["../../src/prompts/init.ts","../../src/services/init.ts","../../src/commands/init.ts"],"sourcesContent":["import {ui, string} from '@shopify/cli-kit'\n\nexport enum Template {\n HelloWorld = 'Hello World',\n DemoStore = 'Demo Store',\n HelloWorldTypeScript = 'Hello World in TypeScript',\n}\n\nconst TEMPLATE_BASE = 'https://github.com/Shopify/hydrogen/templates/'\nconst TEMPLATE_MAP = {\n [Template.DemoStore]: 'demo-store',\n [Template.HelloWorld]: 'hello-world-js',\n [Template.HelloWorldTypeScript]: 'hello-world-ts',\n}\n\nconst BRANCH = `stackblitz`\n\ninterface InitOptions {\n name?: string\n template?: string\n}\n\nconst init = async (options: InitOptions, prompt = ui.prompt): Promise<Required<InitOptions>> => {\n const questions: ui.Question[] = []\n if (!options.name) {\n questions.push({\n type: 'input',\n name: 'name',\n message: 'Name your new Hydrogen storefront',\n default: 'hydrogen-app',\n })\n }\n\n let explicitTemplate\n\n if (options.template) {\n let normalizedTemplate = string.hyphenize(options.template)\n\n if (normalizedTemplate !== 'demo-store' && !normalizedTemplate.endsWith('-js')) {\n normalizedTemplate = `${normalizedTemplate}-js`\n }\n\n explicitTemplate = `${TEMPLATE_BASE}${normalizedTemplate}#${BRANCH}`\n } else {\n questions.push({\n type: 'select',\n name: 'template',\n message: 'Choose a template',\n choices: Object.keys(TEMPLATE_MAP),\n default: Template.DemoStore,\n result: (value) => `${TEMPLATE_BASE}${TEMPLATE_MAP[value as Template]}#${BRANCH}`,\n })\n }\n\n const {template = explicitTemplate, ...promptOutput}: InitOptions = await prompt(questions)\n\n return {...options, ...promptOutput, template} as Required<InitOptions>\n}\n\nexport default init\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n\nimport {version as hydrogenVersion} from '../../package.json'\n\nimport {version as cliVersion} from '../../../cli-main/package.json'\nimport {\n string,\n path,\n error,\n file,\n output,\n os,\n ui,\n npm,\n dependency,\n environment,\n github,\n template,\n git,\n} from '@shopify/cli-kit'\n\nimport {Writable} from 'stream'\n\ninterface InitOptions {\n name: string\n template: string\n directory: string\n dependencyManager?: string\n shopifyCliVersion?: string\n cliHydrogenPackageVersion?: string\n hydrogenVersion?: string\n local: boolean\n}\n\nconst suggestHydrogenSupport = () => `\nHelp us make Hydrogen better by reporting this error so we can improve this message and/or fix the error.\n - Chat with us on Discord: https://discord.com/invite/ppSbThrFaS\n - Create an issue in GitHub: https://github.com/Shopify/hydrogen/issues/new\n`\n\nasync function init(options: InitOptions) {\n const user = (await os.username()) ?? ''\n const cliPackageVersion = options.shopifyCliVersion ?? cliVersion\n const cliHydrogenPackageVersion = options.cliHydrogenPackageVersion ?? hydrogenVersion\n const hydrogenPackageVersion = options.hydrogenVersion\n const dependencyManager = inferDependencyManager(options.dependencyManager)\n const hyphenizedName = string.hyphenize(options.name)\n const outputDirectory = path.join(options.directory, hyphenizedName)\n\n await ui.nonEmptyDirectoryPrompt(outputDirectory)\n\n await file.inTemporaryDirectory(async (tmpDir) => {\n const templateDownloadDir = path.join(tmpDir, 'download')\n const templateScaffoldDir = path.join(tmpDir, 'app')\n\n await file.mkdir(templateDownloadDir)\n await file.mkdir(templateScaffoldDir)\n\n let tasks: ConstructorParameters<typeof ui.Listr>[0] = []\n\n const templateInfo = await github.parseRepoUrl(options.template)\n\n tasks = tasks.concat([\n {\n title: 'Downloading template',\n\n task: async (_, task) => {\n await git.downloadRepository({\n repoUrl: `${templateInfo.http}#${templateInfo.ref}`,\n destination: templateDownloadDir,\n })\n\n if (!(await file.exists(path.join(templateDownloadDir, templateInfo.subDirectory, 'package.json')))) {\n throw new error.Abort(`The template ${templateInfo.subDirectory} was not found.`, suggestHydrogenSupport())\n }\n task.title = 'Template downloaded'\n },\n },\n\n {\n title: `Initializing your app ${hyphenizedName}`,\n task: async (_, parentTask) => {\n return parentTask.newListr(\n [\n {\n title: 'Parsing template files',\n task: async (_, task) => {\n const templateData = {\n name: hyphenizedName,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n shopify_cli_version: cliPackageVersion,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n hydrogen_version: hydrogenPackageVersion,\n author: user,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dependency_manager: options.dependencyManager,\n }\n await template.recursiveDirectoryCopy(\n `${templateDownloadDir}/${templateInfo.subDirectory}`,\n templateScaffoldDir,\n templateData,\n )\n\n task.title = 'Template files parsed'\n },\n },\n {\n title: 'Updating package.json',\n task: async (_, task) => {\n const packageJSON = await npm.readPackageJSON(templateScaffoldDir)\n\n await npm.updateAppData(packageJSON, hyphenizedName)\n await updateCLIDependencies(packageJSON, options.local, {\n dependencies: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/hydrogen': hydrogenPackageVersion,\n },\n devDependencies: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli-hydrogen': cliHydrogenPackageVersion,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli': cliPackageVersion,\n },\n })\n await updateCLIScripts(packageJSON)\n await npm.writePackageJSON(templateScaffoldDir, packageJSON)\n\n task.title = 'Package.json updated'\n parentTask.title = 'App initialized'\n },\n },\n ],\n {concurrent: false},\n )\n },\n },\n ])\n\n if (await environment.local.isShopify()) {\n tasks.push({\n title: \"[Shopifolks-only] Configuring the project's NPM registry\",\n task: async (_, task) => {\n const npmrcPath = path.join(templateScaffoldDir, '.npmrc')\n const npmrcContent = `@shopify:registry=https://registry.npmjs.org`\n await file.write(npmrcPath, npmrcContent)\n task.title = \"[Shopifolks-only] Project's NPM registry configured.\"\n },\n })\n }\n\n tasks = tasks.concat([\n {\n title: `Installing dependencies with ${dependencyManager}`,\n task: async (_, task) => {\n const stdout = new Writable({\n write(chunk, encoding, next) {\n task.output = chunk.toString()\n next()\n },\n })\n await installDependencies(templateScaffoldDir, dependencyManager, stdout)\n },\n },\n {\n title: 'Cleaning up',\n task: async (_, task) => {\n await cleanup(templateScaffoldDir)\n\n task.title = 'Completed clean up'\n },\n },\n ])\n\n const list = new ui.Listr(tasks, {\n concurrent: false,\n rendererOptions: {collapse: false},\n rendererSilent: environment.local.isUnitTest(),\n })\n\n await list.run()\n\n await file.move(templateScaffoldDir, outputDirectory)\n })\n\n output.info(output.content`\n✨ ${hyphenizedName} is ready to build!\n🚀 Run ${output.token.packagejsonScript(\n dependencyManager,\n 'dev',\n )} to start your local development server and start building.\n\n📚 Docs: ${output.token.link('Quick start guide', 'https://shopify.dev/custom-storefronts/hydrogen')}`)\n\n output.info(output.content`\n👋 Note: your project will display inventory from the Hydrogen Demo Store.\\\n To connect this project to your Shopify store’s inventory instead,\\\n update ${output.token.yellow(`${hyphenizedName}/hydrogen.config.js`)} with your\\\n store ID and Storefront API key.\\n`)\n}\n\nfunction inferDependencyManager(optionsDependencyManager: string | undefined): dependency.DependencyManager {\n if (\n optionsDependencyManager &&\n dependency.dependencyManager.includes(optionsDependencyManager as dependency.DependencyManager)\n ) {\n return optionsDependencyManager as dependency.DependencyManager\n }\n return dependency.dependencyManagerUsedForCreating()\n}\n\nexport default init\n\ninterface PackageDependencies {\n devDependencies: {[key: string]: string | undefined}\n dependencies: {[key: string]: string | undefined}\n}\n\nasync function updateCLIScripts(packageJSON: npm.PackageJSON): Promise<npm.PackageJSON> {\n packageJSON.scripts.dev = `shopify hydrogen dev`\n\n return packageJSON\n}\n\nasync function updateCLIDependencies(\n packageJSON: npm.PackageJSON,\n local: boolean,\n packageDependencies: PackageDependencies,\n): Promise<npm.PackageJSON> {\n const {devDependencies, dependencies} = packageDependencies\n\n packageJSON.devDependencies = packageJSON.devDependencies || {}\n packageJSON.dependencies = packageJSON.dependencies || {}\n\n Object.keys(devDependencies).forEach((key) => {\n packageJSON.devDependencies[key] = devDependencies[key] || packageJSON.devDependencies[key]\n })\n\n Object.keys(dependencies).forEach((key) => {\n packageJSON.dependencies[key] = dependencies[key] || packageJSON.dependencies[key]\n })\n\n if (local) {\n const devDependencyOverrides = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli': `file:${(await path.findUp('packages/cli-main', {type: 'directory'})) as string}`,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli-hydrogen': `file:${(await path.findUp('packages/cli-hydrogen', {type: 'directory'})) as string}`,\n }\n\n packageJSON.overrides = packageJSON.overrides\n ? {...packageJSON.overrides, ...devDependencyOverrides}\n : devDependencyOverrides\n\n packageJSON.resolutions = packageJSON.resolutions\n ? {...packageJSON.resolutions, ...devDependencyOverrides}\n : devDependencyOverrides\n }\n\n return packageJSON\n}\n\nasync function installDependencies(\n directory: string,\n dependencyManager: dependency.DependencyManager,\n stdout: Writable,\n): Promise<void> {\n await dependency.install(directory, dependencyManager, stdout)\n}\n\nasync function cleanup(webOutputDirectory: string) {\n const gitPaths = await path.glob(\n [\n path.join(webOutputDirectory, '**', '.git'),\n path.join(webOutputDirectory, '**', '.github'),\n path.join(webOutputDirectory, '**', '.gitmodules'),\n path.join(webOutputDirectory, '.stackblitzrc'),\n ],\n {\n dot: true,\n onlyFiles: false,\n onlyDirectories: false,\n ignore: ['**/node_modules/**'],\n },\n )\n\n return Promise.all(gitPaths.map((path) => file.rmdir(path, {force: true}))).then(() => {})\n}\n","import initPrompt from '../prompts/init'\nimport initService from '../services/init'\nimport {path, cli} from '@shopify/cli-kit'\nimport {Command, Flags} from '@oclif/core'\n\nexport default class Init extends Command {\n static flags = {\n ...cli.globalFlags,\n name: Flags.string({\n char: 'n',\n env: 'SHOPIFY_FLAG_NAME',\n hidden: false,\n }),\n template: Flags.string({\n char: 't',\n env: 'SHOPIFY_FLAG_TEMPLATE',\n hidden: false,\n }),\n path: Flags.string({\n char: 'p',\n env: 'SHOPIFY_FLAG_PATH',\n parse: (input, _) => Promise.resolve(path.resolve(input)),\n hidden: false,\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'dependency-manager': Flags.string({\n char: 'd',\n env: 'SHOPIFY_FLAG_DEPENDENCY_MANAGER',\n hidden: false,\n options: ['npm', 'yarn', 'pnpm'],\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'shopify-cli-version': Flags.string({\n char: 's',\n env: 'SHOPIFY_FLAG_SHOPIFY_CLI_VERSION',\n hidden: false,\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'hydrogen-version': Flags.string({\n char: 'h',\n env: 'SHOPIFY_FLAG_HYDROGEN_VERSION',\n hidden: false,\n }),\n local: Flags.boolean({\n char: 'l',\n env: 'SHOPIFY_FLAG_LOCAL',\n default: false,\n hidden: true,\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Init)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n const promptAnswers = await initPrompt({\n name: flags.name,\n template: flags.template,\n })\n await initService({\n name: promptAnswers.name,\n template: promptAnswers.template,\n dependencyManager: flags['dependency-manager'],\n shopifyCliVersion: flags['shopify-cli-version'],\n hydrogenVersion: flags['hydrogen-version'],\n directory,\n local: flags.local,\n })\n }\n}\n"],"names":["init","cliVersion","hydrogenVersion","initPrompt","initService"],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sources":["../../src/prompts/init.ts","../../src/services/init.ts","../../src/commands/init.ts"],"sourcesContent":["import {ui, string} from '@shopify/cli-kit'\n\nexport enum Template {\n HelloWorld = 'Hello World',\n DemoStore = 'Demo Store',\n HelloWorldTypeScript = 'Hello World in TypeScript',\n}\n\nconst TEMPLATE_BASE = 'https://github.com/Shopify/hydrogen/templates/'\nconst TEMPLATE_MAP = {\n [Template.DemoStore]: 'demo-store',\n [Template.HelloWorld]: 'hello-world-js',\n [Template.HelloWorldTypeScript]: 'hello-world-ts',\n}\n\nconst BRANCH = `stackblitz`\n\ninterface InitOptions {\n name?: string\n template?: string\n}\n\nconst init = async (options: InitOptions, prompt = ui.prompt): Promise<Required<InitOptions>> => {\n const questions: ui.Question[] = []\n if (!options.name) {\n questions.push({\n type: 'input',\n name: 'name',\n message: 'Name your new Hydrogen storefront',\n default: 'hydrogen-app',\n })\n }\n\n let explicitTemplate\n\n if (options.template) {\n let normalizedTemplate = string.hyphenize(options.template)\n\n if (normalizedTemplate !== 'demo-store' && !normalizedTemplate.endsWith('-js')) {\n normalizedTemplate = `${normalizedTemplate}-js`\n }\n\n explicitTemplate = `${TEMPLATE_BASE}${normalizedTemplate}#${BRANCH}`\n } else {\n questions.push({\n type: 'select',\n name: 'template',\n message: 'Choose a template',\n choices: Object.keys(TEMPLATE_MAP),\n default: Template.DemoStore,\n result: (value) => `${TEMPLATE_BASE}${TEMPLATE_MAP[value as Template]}#${BRANCH}`,\n })\n }\n\n const {template = explicitTemplate, ...promptOutput}: InitOptions = await prompt(questions)\n\n return {...options, ...promptOutput, template} as Required<InitOptions>\n}\n\nexport default init\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n\nimport {version as hydrogenVersion} from '../../package.json'\n\nimport {version as cliVersion} from '../../../cli-main/package.json'\nimport {\n string,\n path,\n error,\n file,\n output,\n os,\n ui,\n npm,\n dependency,\n environment,\n github,\n template,\n git,\n} from '@shopify/cli-kit'\n\nimport {Writable} from 'stream'\n\ninterface InitOptions {\n name: string\n template: string\n directory: string\n dependencyManager?: string\n shopifyCliVersion?: string\n cliHydrogenPackageVersion?: string\n hydrogenVersion?: string\n local: boolean\n}\n\nconst suggestHydrogenSupport = () => `\nHelp us make Hydrogen better by reporting this error so we can improve this message and/or fix the error.\n - Chat with us on Discord: https://discord.com/invite/ppSbThrFaS\n - Create an issue in GitHub: https://github.com/Shopify/hydrogen/issues/new\n`\n\nasync function init(options: InitOptions) {\n const user = (await os.username()) ?? ''\n const cliPackageVersion = options.shopifyCliVersion ?? cliVersion\n const cliHydrogenPackageVersion = options.cliHydrogenPackageVersion ?? hydrogenVersion\n const hydrogenPackageVersion = options.hydrogenVersion\n const dependencyManager = inferDependencyManager(options.dependencyManager)\n const hyphenizedName = string.hyphenize(options.name)\n const outputDirectory = path.join(options.directory, hyphenizedName)\n\n await ui.nonEmptyDirectoryPrompt(outputDirectory)\n\n await file.inTemporaryDirectory(async (tmpDir) => {\n const templateDownloadDir = path.join(tmpDir, 'download')\n const templateScaffoldDir = path.join(tmpDir, 'app')\n\n await file.mkdir(templateDownloadDir)\n await file.mkdir(templateScaffoldDir)\n\n let tasks: ConstructorParameters<typeof ui.Listr>[0] = []\n\n const templateInfo = await github.parseRepoUrl(options.template)\n\n tasks = tasks.concat([\n {\n title: 'Downloading template',\n\n task: async (_, task) => {\n await git.downloadRepository({\n repoUrl: `${templateInfo.http}#${templateInfo.ref}`,\n destination: templateDownloadDir,\n })\n\n if (!(await file.exists(path.join(templateDownloadDir, templateInfo.subDirectory, 'package.json')))) {\n throw new error.Abort(`The template ${templateInfo.subDirectory} was not found.`, suggestHydrogenSupport())\n }\n task.title = 'Template downloaded'\n },\n },\n\n {\n title: `Initializing your app ${hyphenizedName}`,\n task: async (_, parentTask) => {\n return parentTask.newListr(\n [\n {\n title: 'Parsing template files',\n task: async (_, task) => {\n const templateData = {\n name: hyphenizedName,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n shopify_cli_version: cliPackageVersion,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n hydrogen_version: hydrogenPackageVersion,\n author: user,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dependency_manager: options.dependencyManager,\n }\n await template.recursiveDirectoryCopy(\n `${templateDownloadDir}/${templateInfo.subDirectory}`,\n templateScaffoldDir,\n templateData,\n )\n\n task.title = 'Template files parsed'\n },\n },\n {\n title: 'Updating package.json',\n task: async (_, task) => {\n const packageJSON = await npm.readPackageJSON(templateScaffoldDir)\n\n await npm.updateAppData(packageJSON, hyphenizedName)\n await updateCLIDependencies(packageJSON, options.local, {\n dependencies: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/hydrogen': hydrogenPackageVersion,\n },\n devDependencies: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli-hydrogen': cliHydrogenPackageVersion,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli': cliPackageVersion,\n },\n })\n await updateCLIScripts(packageJSON)\n await npm.writePackageJSON(templateScaffoldDir, packageJSON)\n\n task.title = 'Package.json updated'\n parentTask.title = 'App initialized'\n },\n },\n ],\n {concurrent: false},\n )\n },\n },\n ])\n\n if (await environment.local.isShopify()) {\n tasks.push({\n title: \"[Shopifolks-only] Configuring the project's NPM registry\",\n task: async (_, task) => {\n const npmrcPath = path.join(templateScaffoldDir, '.npmrc')\n const npmrcContent = `@shopify:registry=https://registry.npmjs.org`\n await file.write(npmrcPath, npmrcContent)\n task.title = \"[Shopifolks-only] Project's NPM registry configured.\"\n },\n })\n }\n\n tasks = tasks.concat([\n {\n title: `Installing dependencies with ${dependencyManager}`,\n task: async (_, task) => {\n const stdout = new Writable({\n write(chunk, encoding, next) {\n task.output = chunk.toString()\n next()\n },\n })\n await installDependencies(templateScaffoldDir, dependencyManager, stdout)\n },\n },\n {\n title: 'Cleaning up',\n task: async (_, task) => {\n await cleanup(templateScaffoldDir)\n\n task.title = 'Completed clean up'\n },\n },\n ])\n\n const list = new ui.Listr(tasks, {\n concurrent: false,\n rendererOptions: {collapse: false},\n rendererSilent: environment.local.isUnitTest(),\n })\n\n await list.run()\n\n await file.move(templateScaffoldDir, outputDirectory)\n })\n\n output.info(output.content`\n✨ ${hyphenizedName} is ready to build!\n🚀 Run ${output.token.packagejsonScript(\n dependencyManager,\n 'dev',\n )} to start your local development server and start building.\n\n📚 Docs: ${output.token.link('Quick start guide', 'https://shopify.dev/custom-storefronts/hydrogen')}`)\n\n output.info(output.content`\n👋 Note: your project will display inventory from the Hydrogen Demo Store.\\\n To connect this project to your Shopify store’s inventory instead,\\\n update ${output.token.yellow(`${hyphenizedName}/hydrogen.config.js`)} with your\\\n store ID and Storefront API key.\\n`)\n}\n\nfunction inferDependencyManager(optionsDependencyManager: string | undefined): dependency.DependencyManager {\n if (\n optionsDependencyManager &&\n dependency.dependencyManager.includes(optionsDependencyManager as dependency.DependencyManager)\n ) {\n return optionsDependencyManager as dependency.DependencyManager\n }\n return dependency.dependencyManagerUsedForCreating()\n}\n\nexport default init\n\ninterface PackageDependencies {\n devDependencies: {[key: string]: string | undefined}\n dependencies: {[key: string]: string | undefined}\n}\n\nasync function updateCLIScripts(packageJSON: npm.PackageJSON): Promise<npm.PackageJSON> {\n packageJSON.scripts.dev = `shopify hydrogen dev`\n\n return packageJSON\n}\n\nasync function updateCLIDependencies(\n packageJSON: npm.PackageJSON,\n local: boolean,\n packageDependencies: PackageDependencies,\n): Promise<npm.PackageJSON> {\n const {devDependencies, dependencies} = packageDependencies\n\n packageJSON.devDependencies = packageJSON.devDependencies || {}\n packageJSON.dependencies = packageJSON.dependencies || {}\n\n Object.keys(devDependencies).forEach((key) => {\n packageJSON.devDependencies[key] = devDependencies[key] || packageJSON.devDependencies[key]\n })\n\n Object.keys(dependencies).forEach((key) => {\n packageJSON.dependencies[key] = dependencies[key] || packageJSON.dependencies[key]\n })\n\n if (local) {\n const devDependencyOverrides = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli': `file:${(await path.findUp('packages/cli-main', {type: 'directory'})) as string}`,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli-hydrogen': `file:${(await path.findUp('packages/cli-hydrogen', {type: 'directory'})) as string}`,\n }\n\n packageJSON.overrides = packageJSON.overrides\n ? {...packageJSON.overrides, ...devDependencyOverrides}\n : devDependencyOverrides\n\n packageJSON.resolutions = packageJSON.resolutions\n ? {...packageJSON.resolutions, ...devDependencyOverrides}\n : devDependencyOverrides\n }\n\n return packageJSON\n}\n\nasync function installDependencies(\n directory: string,\n dependencyManager: dependency.DependencyManager,\n stdout: Writable,\n): Promise<void> {\n await dependency.install(directory, dependencyManager, stdout)\n}\n\nasync function cleanup(webOutputDirectory: string) {\n const gitPaths = await path.glob(\n [\n path.join(webOutputDirectory, '**', '.git'),\n path.join(webOutputDirectory, '**', '.github'),\n path.join(webOutputDirectory, '**', '.gitmodules'),\n path.join(webOutputDirectory, '.stackblitzrc'),\n ],\n {\n dot: true,\n onlyFiles: false,\n onlyDirectories: false,\n ignore: ['**/node_modules/**'],\n },\n )\n\n return Promise.all(gitPaths.map((path) => file.rmdir(path, {force: true}))).then(() => {})\n}\n","import initPrompt from '../prompts/init'\nimport initService from '../services/init'\nimport {path, cli, analytics} from '@shopify/cli-kit'\nimport {Command, Flags} from '@oclif/core'\n\nexport default class Init extends Command {\n static flags = {\n ...cli.globalFlags,\n name: Flags.string({\n char: 'n',\n env: 'SHOPIFY_FLAG_NAME',\n hidden: false,\n }),\n template: Flags.string({\n char: 't',\n env: 'SHOPIFY_FLAG_TEMPLATE',\n hidden: false,\n }),\n path: Flags.string({\n char: 'p',\n env: 'SHOPIFY_FLAG_PATH',\n parse: (input, _) => Promise.resolve(path.resolve(input)),\n hidden: false,\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'dependency-manager': Flags.string({\n char: 'd',\n env: 'SHOPIFY_FLAG_DEPENDENCY_MANAGER',\n hidden: false,\n options: ['npm', 'yarn', 'pnpm'],\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'shopify-cli-version': Flags.string({\n char: 's',\n env: 'SHOPIFY_FLAG_SHOPIFY_CLI_VERSION',\n hidden: false,\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'hydrogen-version': Flags.string({\n char: 'h',\n env: 'SHOPIFY_FLAG_HYDROGEN_VERSION',\n hidden: false,\n }),\n local: Flags.boolean({\n char: 'l',\n env: 'SHOPIFY_FLAG_LOCAL',\n default: false,\n hidden: true,\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Init)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n const promptAnswers = await initPrompt({\n name: flags.name,\n template: flags.template,\n })\n await initService({\n name: promptAnswers.name,\n template: promptAnswers.template,\n dependencyManager: flags['dependency-manager'],\n shopifyCliVersion: flags['shopify-cli-version'],\n hydrogenVersion: flags['hydrogen-version'],\n directory,\n local: flags.local,\n })\n await this.reportEvent()\n }\n\n async reportEvent(): Promise<void> {\n const commandIndex = process.argv.indexOf('init')\n const args = process.argv.slice(commandIndex + 1)\n await analytics.reportEvent('create-app', args)\n }\n}\n"],"names":["init","cliVersion","hydrogenVersion","initPrompt","initService"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { settings, run, flush } from '@oclif/core';
2
- import { environment, error } from '@shopify/cli-kit';
2
+ import { output, environment, error } from '@shopify/cli-kit';
3
3
 
4
4
  function runCreateHydrogen() {
5
+ output.initiateLogging({ filename: "shopify.create-hydrogen.log" });
5
6
  const initIndex = process.argv.findIndex((arg) => arg.includes("init"));
6
7
  if (initIndex === -1) {
7
8
  const initIndex2 = process.argv.findIndex((arg) => arg.match(/bin(\/|\\)(create-hydrogen|dev|run)/)) + 1;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import {run, flush, settings} from '@oclif/core'\nimport {error as kitError, environment} from '@shopify/cli-kit'\n\nfunction runCreateHydrogen() {\n const initIndex = process.argv.findIndex((arg) => arg.includes('init'))\n if (initIndex === -1) {\n const initIndex = process.argv.findIndex((arg) => arg.match(/bin(\\/|\\\\)(create-hydrogen|dev|run)/)) + 1\n process.argv.splice(initIndex, 0, 'init')\n }\n\n if (environment.local.isDebug()) {\n settings.debug = true\n }\n\n // Start the CLI\n run(undefined, import.meta.url)\n .then(flush)\n .catch((error: Error): Promise<void | Error> => {\n const kitMapper = kitError.mapper\n const kitHandle = kitError.handler\n // eslint-disable-next-line promise/no-nesting\n return kitMapper(error)\n .then((error: Error) => {\n return kitHandle(error)\n })\n .then(() => {\n process.exit(1)\n })\n })\n}\n\nexport default runCreateHydrogen\n"],"names":["error","kitError"],"mappings":";;;AAGA,SAA6B,iBAAA,GAAA;AAC3B,EAAM,MAAA,SAAA,GAAY,QAAQ,IAAK,CAAA,SAAA,CAAU,CAAC,GAAQ,KAAA,GAAA,CAAI,QAAS,CAAA,MAAM,CAAC,CAAA,CAAA;AACtE,EAAA,IAAI,cAAc,CAAI,CAAA,EAAA;AACpB,IAAM,MAAA,UAAA,GAAY,OAAQ,CAAA,IAAA,CAAK,SAAU,CAAA,CAAC,QAAQ,GAAI,CAAA,KAAA,CAAM,qCAAqC,CAAC,CAAI,GAAA,CAAA,CAAA;AACtG,IAAA,OAAA,CAAQ,IAAK,CAAA,MAAA,CAAO,UAAW,EAAA,CAAA,EAAG,MAAM,CAAA,CAAA;AAAA,GAC1C;AAEA,EAAI,IAAA,WAAA,CAAY,KAAM,CAAA,OAAA,EAAW,EAAA;AAC/B,IAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,GACnB;AAGA,EAAI,GAAA,CAAA,KAAA,CAAA,EAAW,YAAY,GAAG,CAAA,CAC3B,KAAK,KAAK,CAAA,CACV,KAAM,CAAA,CAACA,OAAwC,KAAA;AAC9C,IAAA,MAAM,YAAYC,KAAS,CAAA,MAAA,CAAA;AAC3B,IAAA,MAAM,YAAYA,KAAS,CAAA,OAAA,CAAA;AAE3B,IAAA,OAAO,SAAU,CAAAD,OAAK,CACnB,CAAA,IAAA,CAAK,CAAC,MAAiB,KAAA;AACtB,MAAA,OAAO,UAAU,MAAK,CAAA,CAAA;AAAA,KACvB,CACA,CAAA,IAAA,CAAK,MAAM;AACV,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,KACf,CAAA,CAAA;AAAA,GACJ,CAAA,CAAA;AACL;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import {run, flush, settings} from '@oclif/core'\nimport {error as kitError, environment, output} from '@shopify/cli-kit'\n\nfunction runCreateHydrogen() {\n output.initiateLogging({filename: 'shopify.create-hydrogen.log'})\n const initIndex = process.argv.findIndex((arg) => arg.includes('init'))\n if (initIndex === -1) {\n const initIndex = process.argv.findIndex((arg) => arg.match(/bin(\\/|\\\\)(create-hydrogen|dev|run)/)) + 1\n process.argv.splice(initIndex, 0, 'init')\n }\n\n if (environment.local.isDebug()) {\n settings.debug = true\n }\n\n // Start the CLI\n run(undefined, import.meta.url)\n .then(flush)\n .catch((error: Error): Promise<void | Error> => {\n const kitMapper = kitError.mapper\n const kitHandle = kitError.handler\n // eslint-disable-next-line promise/no-nesting\n return kitMapper(error)\n .then((error: Error) => {\n return kitHandle(error)\n })\n .then(() => {\n process.exit(1)\n })\n })\n}\n\nexport default runCreateHydrogen\n"],"names":["error","kitError"],"mappings":";;;AAGA,SAA6B,iBAAA,GAAA;AAC3B,EAAA,MAAA,CAAO,eAAgB,CAAA,EAAC,QAAU,EAAA,6BAAA,EAA8B,CAAA,CAAA;AAChE,EAAM,MAAA,SAAA,GAAY,QAAQ,IAAK,CAAA,SAAA,CAAU,CAAC,GAAQ,KAAA,GAAA,CAAI,QAAS,CAAA,MAAM,CAAC,CAAA,CAAA;AACtE,EAAA,IAAI,cAAc,CAAI,CAAA,EAAA;AACpB,IAAM,MAAA,UAAA,GAAY,OAAQ,CAAA,IAAA,CAAK,SAAU,CAAA,CAAC,QAAQ,GAAI,CAAA,KAAA,CAAM,qCAAqC,CAAC,CAAI,GAAA,CAAA,CAAA;AACtG,IAAA,OAAA,CAAQ,IAAK,CAAA,MAAA,CAAO,UAAW,EAAA,CAAA,EAAG,MAAM,CAAA,CAAA;AAAA,GAC1C;AAEA,EAAI,IAAA,WAAA,CAAY,KAAM,CAAA,OAAA,EAAW,EAAA;AAC/B,IAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,GACnB;AAGA,EAAI,GAAA,CAAA,KAAA,CAAA,EAAW,YAAY,GAAG,CAAA,CAC3B,KAAK,KAAK,CAAA,CACV,KAAM,CAAA,CAACA,OAAwC,KAAA;AAC9C,IAAA,MAAM,YAAYC,KAAS,CAAA,MAAA,CAAA;AAC3B,IAAA,MAAM,YAAYA,KAAS,CAAA,OAAA,CAAA;AAE3B,IAAA,OAAO,SAAU,CAAAD,OAAK,CACnB,CAAA,IAAA,CAAK,CAAC,MAAiB,KAAA;AACtB,MAAA,OAAO,UAAU,MAAK,CAAA,CAAA;AAAA,KACvB,CACA,CAAA,IAAA,CAAK,MAAM;AACV,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,KACf,CAAA,CAAA;AAAA,GACJ,CAAA,CAAA;AACL;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/create-hydrogen",
3
- "version": "3.0.17",
3
+ "version": "3.0.18",
4
4
  "private": false,
5
5
  "description": "A CLI tool to create a new Shopify hydrogen app.",
6
6
  "type": "module",
@@ -52,7 +52,7 @@
52
52
  "dependencies": {
53
53
  "@bugsnag/js": "^7.16.7",
54
54
  "@oclif/core": "^1.0",
55
- "@shopify/cli-kit": "^3.0.17",
55
+ "@shopify/cli-kit": "^3.0.18",
56
56
  "@types/download": "^8.0.1",
57
57
  "download": "^8.0.0"
58
58
  },