@shopify/create-hydrogen 1.0.9 → 2.0.2

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/commands/init.js +133 -62
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/package.json +12 -8
  6. package/templates/template-hydrogen-default/.devcontainer/devcontainer.json +0 -18
  7. package/templates/template-hydrogen-default/.eslintrc.js +0 -3
  8. package/templates/template-hydrogen-default/.gitignore +0 -7
  9. package/templates/template-hydrogen-default/.stylelintrc.js +0 -17
  10. package/templates/template-hydrogen-default/.vscode/extensions.json +0 -8
  11. package/templates/template-hydrogen-default/README.md +0 -40
  12. package/templates/template-hydrogen-default/_gitignore +0 -80
  13. package/templates/template-hydrogen-default/index.html +0 -20
  14. package/templates/template-hydrogen-default/package.json.liquid +0 -48
  15. package/templates/template-hydrogen-default/postcss.config.js +0 -6
  16. package/templates/template-hydrogen-default/public/favicon.ico +0 -0
  17. package/templates/template-hydrogen-default/shopify.config.js +0 -5
  18. package/templates/template-hydrogen-default/src/App.server.jsx +0 -27
  19. package/templates/template-hydrogen-default/src/components/Button.client.jsx +0 -65
  20. package/templates/template-hydrogen-default/src/components/Cart.client.jsx +0 -265
  21. package/templates/template-hydrogen-default/src/components/CartIcon.jsx +0 -33
  22. package/templates/template-hydrogen-default/src/components/CartIconWithItems.client.jsx +0 -28
  23. package/templates/template-hydrogen-default/src/components/CartProvider.client.jsx +0 -35
  24. package/templates/template-hydrogen-default/src/components/CartToggle.client.jsx +0 -30
  25. package/templates/template-hydrogen-default/src/components/CartUIProvider.client.jsx +0 -45
  26. package/templates/template-hydrogen-default/src/components/CountrySelector.client.jsx +0 -116
  27. package/templates/template-hydrogen-default/src/components/DefaultSeo.server.jsx +0 -36
  28. package/templates/template-hydrogen-default/src/components/FeaturedCollection.jsx +0 -26
  29. package/templates/template-hydrogen-default/src/components/Footer.server.jsx +0 -103
  30. package/templates/template-hydrogen-default/src/components/Gallery.client.jsx +0 -66
  31. package/templates/template-hydrogen-default/src/components/Header.client.jsx +0 -62
  32. package/templates/template-hydrogen-default/src/components/Layout.server.jsx +0 -86
  33. package/templates/template-hydrogen-default/src/components/LoadMoreProducts.client.jsx +0 -56
  34. package/templates/template-hydrogen-default/src/components/LoadingFallback.jsx +0 -26
  35. package/templates/template-hydrogen-default/src/components/MobileCountrySelector.client.jsx +0 -64
  36. package/templates/template-hydrogen-default/src/components/MobileNavigation.client.jsx +0 -98
  37. package/templates/template-hydrogen-default/src/components/MoneyCompareAtPrice.client.jsx +0 -14
  38. package/templates/template-hydrogen-default/src/components/MoneyPrice.client.jsx +0 -15
  39. package/templates/template-hydrogen-default/src/components/Navigation.client.jsx +0 -23
  40. package/templates/template-hydrogen-default/src/components/NotFound.server.jsx +0 -93
  41. package/templates/template-hydrogen-default/src/components/OpenIcon.jsx +0 -33
  42. package/templates/template-hydrogen-default/src/components/ProductCard.jsx +0 -50
  43. package/templates/template-hydrogen-default/src/components/ProductDetails.client.jsx +0 -233
  44. package/templates/template-hydrogen-default/src/components/ProductOptions.client.jsx +0 -49
  45. package/templates/template-hydrogen-default/src/components/Welcome.server.jsx +0 -188
  46. package/templates/template-hydrogen-default/src/index.css +0 -68
  47. package/templates/template-hydrogen-default/src/pages/collections/[handle].server.jsx +0 -105
  48. package/templates/template-hydrogen-default/src/pages/index.server.jsx +0 -241
  49. package/templates/template-hydrogen-default/src/pages/pages/[handle].server.jsx +0 -37
  50. package/templates/template-hydrogen-default/src/pages/products/[handle].server.jsx +0 -66
  51. package/templates/template-hydrogen-default/src/pages/redirect.server.jsx +0 -4
  52. package/templates/template-hydrogen-default/src/pages/robots.txt.server.js +0 -40
  53. package/templates/template-hydrogen-default/src/pages/sitemap.xml.server.jsx +0 -151
  54. package/templates/template-hydrogen-default/src/routes/collections/[handle].server.jsx +0 -105
  55. package/templates/template-hydrogen-default/src/routes/index.server.jsx +0 -241
  56. package/templates/template-hydrogen-default/src/routes/pages/[handle].server.jsx +0 -37
  57. package/templates/template-hydrogen-default/src/routes/products/[handle].server.jsx +0 -66
  58. package/templates/template-hydrogen-default/src/routes/redirect.server.jsx +0 -4
  59. package/templates/template-hydrogen-default/src/routes/robots.txt.server.js +0 -40
  60. package/templates/template-hydrogen-default/src/routes/sitemap.xml.server.jsx +0 -151
  61. package/templates/template-hydrogen-default/tailwind.config.js +0 -26
  62. package/templates/template-hydrogen-default/vite.config.js +0 -10
  63. package/templates/template-hydrogen-minimal/README.md +0 -8
  64. package/templates/template-hydrogen-minimal/package.json +0 -14
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # @shopify/create-hydrogen
2
2
 
3
+ ## 2.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - c6a9450b: Add support to scaffold function extensions
8
+ - Updated dependencies [c6a9450b]
9
+ - Updated dependencies [70d8d50d]
10
+ - @shopify/cli-kit@2.0.2
11
+
12
+ ## 2.0.1
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [9cb99f12]
17
+ - Updated dependencies [882e54e6]
18
+ - @shopify/cli-kit@2.0.1
19
+
20
+ ## 1.1.1
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [488c06a]
25
+ - Updated dependencies [f156c37]
26
+ - Updated dependencies [5763a76]
27
+ - @shopify/cli-kit@1.1.1
28
+
3
29
  ## 1.0.9
4
30
 
5
31
  ### Patch Changes
@@ -1,13 +1,10 @@
1
- import { ui, path, error, os, constants, string, output, dependency, template as template$1 } from '@shopify/cli-kit';
2
- import { fileURLToPath } from 'url';
1
+ import { ui, os, constants, string, path, file, git, template, npm, output, dependency, cli } from '@shopify/cli-kit';
3
2
  import { Writable } from 'stream';
4
3
  import { Flags, Command } from '@oclif/core';
5
4
 
6
- const HYDROGEN_VERSION = "0.11.1-experimental.1";
7
-
8
5
  const TEMPLATE_MAP = {
9
- ["template-hydrogen-default" /* Default */]: "Shopify/hydrogen/examples/template-hydrogen-default",
10
- ["template-hydrogen-minimum" /* Minimum */]: "Shopify/hydrogen/examples/template-hydrogen-minimum"
6
+ ["template-hydrogen-default" /* Default */]: "Shopify/hydrogen/templates/template-hydrogen-default",
7
+ ["template-hydrogen-minimum" /* Minimum */]: "Shopify/hydrogen/templates/template-hydrogen-hello-world"
11
8
  };
12
9
  const init$1 = async (options, prompt = ui.prompt) => {
13
10
  const questions = [];
@@ -25,69 +22,111 @@ const init$1 = async (options, prompt = ui.prompt) => {
25
22
  name: "template",
26
23
  message: "Choose a template",
27
24
  choices: Object.keys(TEMPLATE_MAP),
28
- default: "template-hydrogen-default" /* Default */
25
+ default: "template-hydrogen-default" /* Default */,
26
+ result: (value) => TEMPLATE_MAP[value]
29
27
  });
30
28
  }
31
29
  const promptOutput = await prompt(questions);
32
30
  return { ...options, ...promptOutput };
33
31
  };
34
32
 
35
- async function template(name, options = {}) {
36
- const templatePath = await path.findUp(`templates/${name}`, {
37
- cwd: path.dirname(fileURLToPath(import.meta.url)),
38
- type: "directory",
39
- ...options
40
- });
41
- if (templatePath) {
42
- return templatePath;
43
- } else {
44
- throw new error.Bug(`Couldn't find the template ${name}.`);
45
- }
46
- }
47
-
33
+ const GIT_HOST = "git@github.com";
48
34
  async function init(options) {
49
35
  const user = await os.username() ?? "";
50
- const templatePath = await template(options.template);
51
36
  const cliPackageVersion = options.shopifyCliVersion ?? constants.versions.cli;
37
+ const cliHydrogenPackageVersion = options.cliHydrogenPackageVersion ?? constants.versions.cliHydrogen;
52
38
  const hydrogenPackageVersion = options.hydrogenVersion;
53
39
  const dependencyManager = inferDependencyManager(options.dependencyManager);
54
40
  const hyphenizedName = string.hyphenize(options.name);
55
41
  const outputDirectory = path.join(options.directory, hyphenizedName);
56
- const list = new ui.Listr([
57
- {
58
- title: `Initializing your hydrogen storefront ${hyphenizedName}`,
59
- task: async (_, task) => {
60
- await createHydrogen({
61
- ...options,
62
- outputDirectory,
63
- templatePath,
64
- cliPackageVersion,
65
- hydrogenPackageVersion,
66
- user,
67
- dependencyManager
68
- });
69
- task.title = "Initialized";
70
- }
71
- },
72
- {
73
- title: `Installing dependencies with ${dependencyManager}`,
74
- task: async (_, task) => {
75
- const stdout = new Writable({
76
- write(chunk, encoding, next) {
77
- task.output = chunk.toString();
78
- next();
79
- }
80
- });
81
- await installDependencies(outputDirectory, dependencyManager, stdout);
42
+ await file.inTemporaryDirectory(async (tmpDir) => {
43
+ const templateDownloadDir = path.join(tmpDir, "download");
44
+ const templateScaffoldDir = path.join(tmpDir, "app");
45
+ await file.mkdir(templateDownloadDir);
46
+ await file.mkdir(templateScaffoldDir);
47
+ const list = new ui.Listr([
48
+ {
49
+ title: "Downloading template",
50
+ task: async (_, task) => {
51
+ await git.downloadRepository({
52
+ repoUrl: [GIT_HOST, options.template].join(":"),
53
+ destination: templateDownloadDir
54
+ });
55
+ task.title = "Template downloaded";
56
+ }
57
+ },
58
+ {
59
+ title: `Initializing your app ${hyphenizedName}`,
60
+ task: async (_, parentTask) => {
61
+ return parentTask.newListr([
62
+ {
63
+ title: "Parsing template files",
64
+ task: async (_2, task) => {
65
+ const templateData = {
66
+ name: hyphenizedName,
67
+ shopify_cli_version: cliPackageVersion,
68
+ hydrogen_version: hydrogenPackageVersion,
69
+ author: user,
70
+ dependency_manager: options.dependencyManager
71
+ };
72
+ await template.recursiveDirectoryCopy(templateDownloadDir, templateScaffoldDir, templateData);
73
+ task.title = "Template files parsed";
74
+ }
75
+ },
76
+ {
77
+ title: "Updating package.json",
78
+ task: async (_2, task) => {
79
+ const packageJSON = await npm.readPackageJSON(templateScaffoldDir);
80
+ await npm.updateAppData(packageJSON, hyphenizedName);
81
+ await updateCLIDependencies(packageJSON, options.local, {
82
+ dependencies: {
83
+ "@shopify/hydrogen": hydrogenPackageVersion
84
+ },
85
+ devDependencies: {
86
+ "@shopify/cli-hydrogen": cliHydrogenPackageVersion,
87
+ "@shopify/cli": cliPackageVersion
88
+ }
89
+ });
90
+ await npm.writePackageJSON(templateScaffoldDir, packageJSON);
91
+ task.title = "Package.json updated";
92
+ parentTask.title = "App initialized";
93
+ }
94
+ }
95
+ ], { concurrent: false });
96
+ }
97
+ },
98
+ {
99
+ title: `Installing dependencies with ${dependencyManager}`,
100
+ task: async (_, task) => {
101
+ const stdout = new Writable({
102
+ write(chunk, encoding, next) {
103
+ task.output = chunk.toString();
104
+ next();
105
+ }
106
+ });
107
+ await installDependencies(templateScaffoldDir, dependencyManager, stdout);
108
+ }
109
+ },
110
+ {
111
+ title: "Cleaning up",
112
+ task: async (_, task) => {
113
+ await cleanup(templateScaffoldDir);
114
+ task.title = "Completed clean up";
115
+ }
82
116
  }
83
- }
84
- ], { concurrent: false });
85
- await list.run();
117
+ ], { concurrent: false });
118
+ await list.run();
119
+ await file.move(templateScaffoldDir, outputDirectory);
120
+ });
86
121
  output.info(output.content`
87
122
  ${hyphenizedName} is ready to build! ✨
88
123
  Run ${output.token.command(`${dependencyManager} dev`)} to start developing.
89
124
  Docs: ${output.token.link("Quick start guide", "https://shopify.dev/custom-storefronts/hydrogen")}
90
125
  `);
126
+ output.info(output.content`Your project will display inventory from the Hydrogen Demo Store.
127
+ To connect this project to your Shopify store's inventory instead,
128
+ update ${output.token.yellow(`${hyphenizedName}/shopify.config.js`)} with your
129
+ store ID and Storefront API key.\n`);
91
130
  }
92
131
  function inferDependencyManager(optionsDependencyManager) {
93
132
  if (optionsDependencyManager && dependency.dependencyManager.includes(optionsDependencyManager)) {
@@ -95,18 +134,43 @@ function inferDependencyManager(optionsDependencyManager) {
95
134
  }
96
135
  return dependency.dependencyManagerUsedForCreating();
97
136
  }
137
+ async function updateCLIDependencies(packageJSON, local, packageDependencies) {
138
+ const { devDependencies, dependencies } = packageDependencies;
139
+ packageJSON.devDependencies = packageJSON.devDependencies || {};
140
+ packageJSON.dependencies = packageJSON.dependencies || {};
141
+ Object.keys(devDependencies).forEach((key) => {
142
+ packageJSON.devDependencies[key] = devDependencies[key] || packageJSON.devDependencies[key];
143
+ });
144
+ Object.keys(dependencies).forEach((key) => {
145
+ packageJSON.dependencies[key] = dependencies[key] || packageJSON.dependencies[key];
146
+ });
147
+ if (local) {
148
+ const devDependencyOverrides = {
149
+ "@shopify/cli": `file:${await path.findUp("packages/cli", { type: "directory" })}`,
150
+ "@shopify/cli-hydrogen": `file:${await path.findUp("packages/cli-hydrogen", { type: "directory" })}`
151
+ };
152
+ packageJSON.overrides = packageJSON.overrides ? { ...packageJSON.overrides, ...devDependencyOverrides } : devDependencyOverrides;
153
+ packageJSON.resolutions = packageJSON.resolutions ? { ...packageJSON.resolutions, ...devDependencyOverrides } : devDependencyOverrides;
154
+ }
155
+ return packageJSON;
156
+ }
98
157
  async function installDependencies(directory, dependencyManager, stdout) {
99
158
  await dependency.install(directory, dependencyManager, stdout);
100
159
  }
101
- async function createHydrogen(options) {
102
- const templateData = {
103
- name: options.name,
104
- shopify_cli_version: options.cliPackageVersion,
105
- hydrogen_version: options.hydrogenPackageVersion,
106
- author: options.user,
107
- dependency_manager: options.dependencyManager
108
- };
109
- await template$1.recursiveDirectoryCopy(options.templatePath, options.outputDirectory, templateData);
160
+ async function cleanup(webOutputDirectory) {
161
+ const gitPaths = await path.glob([
162
+ path.join(webOutputDirectory, "**", ".git"),
163
+ path.join(webOutputDirectory, "**", ".github"),
164
+ path.join(webOutputDirectory, "**", ".gitmodules"),
165
+ path.join(webOutputDirectory, ".stackblitzrc")
166
+ ], {
167
+ dot: true,
168
+ onlyFiles: false,
169
+ onlyDirectories: false,
170
+ ignore: ["**/node_modules/**"]
171
+ });
172
+ return Promise.all(gitPaths.map((path2) => file.rmdir(path2, { force: true }))).then(() => {
173
+ });
110
174
  }
111
175
 
112
176
  const _Init = class extends Command {
@@ -123,12 +187,14 @@ const _Init = class extends Command {
123
187
  dependencyManager: flags["dependency-manager"],
124
188
  shopifyCliVersion: flags["shopify-cli-version"],
125
189
  hydrogenVersion: flags["hydrogen-version"],
126
- directory
190
+ directory,
191
+ local: flags.local
127
192
  });
128
193
  }
129
194
  };
130
195
  let Init = _Init;
131
196
  Init.flags = {
197
+ ...cli.globalFlags,
132
198
  name: Flags.string({
133
199
  char: "n",
134
200
  env: "SHOPIFY_FLAG_NAME",
@@ -159,8 +225,13 @@ Init.flags = {
159
225
  "hydrogen-version": Flags.string({
160
226
  char: "h",
161
227
  env: "SHOPIFY_FLAG_HYDROGEN_VERSION",
162
- hidden: false,
163
- default: HYDROGEN_VERSION
228
+ hidden: false
229
+ }),
230
+ local: Flags.boolean({
231
+ char: "l",
232
+ env: "SHOPIFY_FLAG_LOCAL",
233
+ default: false,
234
+ hidden: true
164
235
  })
165
236
  };
166
237
 
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sources":["../../src/utils/versions.ts","../../src/prompts/init.ts","../../src/utils/paths.ts","../../src/services/init.ts","../../src/commands/init.ts"],"sourcesContent":["export const HYDROGEN_VERSION = '0.11.1-experimental.1'\n","import {ui} from '@shopify/cli-kit'\n\nexport enum Template {\n Minimum = 'template-hydrogen-minimum',\n Default = 'template-hydrogen-default',\n}\n\ninterface InitOptions {\n name?: string\n template?: string\n}\n\ninterface InitOutput {\n name: string\n template: Template\n}\n\nconst TEMPLATE_MAP = {\n [Template.Default]: 'Shopify/hydrogen/examples/template-hydrogen-default',\n [Template.Minimum]: 'Shopify/hydrogen/examples/template-hydrogen-minimum',\n}\n\nconst init = async (options: InitOptions, prompt = ui.prompt): Promise<InitOutput> => {\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 if (!options.template) {\n questions.push({\n type: 'select',\n name: 'template',\n message: 'Choose a template',\n choices: Object.keys(TEMPLATE_MAP),\n default: Template.Default,\n })\n }\n\n const promptOutput: InitOutput = await prompt(questions)\n return {...options, ...promptOutput}\n}\n\nexport default init\n","import {path, error} from '@shopify/cli-kit'\nimport {fileURLToPath} from 'url'\n\nexport async function template(name: string, options: {cwd?: string} = {}): Promise<string> {\n const templatePath = await path.findUp(`templates/${name}`, {\n cwd: path.dirname(fileURLToPath(import.meta.url)),\n type: 'directory',\n ...options,\n })\n if (templatePath) {\n return templatePath\n } else {\n // TODO Check remote sources for templates\n throw new error.Bug(`Couldn't find the template ${name}.`)\n }\n}\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n\nimport {template as getTemplatePath} from '../utils/paths'\nimport {constants, string, path, template, file, output, os, ui, dependency} from '@shopify/cli-kit'\nimport {Writable} from 'stream'\n\ninterface InitOptions {\n name: string\n template: string\n directory: string\n dependencyManager: string | undefined\n shopifyCliVersion: string | undefined\n hydrogenVersion: string\n}\n\nconst RENAME_MAP = {\n _gitignore: '.gitignore',\n}\n\nasync function init(options: InitOptions) {\n const user = (await os.username()) ?? ''\n const templatePath = await getTemplatePath(options.template)\n const cliPackageVersion = options.shopifyCliVersion ?? constants.versions.cli\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 const list = new ui.Listr(\n [\n {\n title: `Initializing your hydrogen storefront ${hyphenizedName}`,\n task: async (_, task) => {\n await createHydrogen({\n ...options,\n outputDirectory,\n templatePath,\n cliPackageVersion,\n hydrogenPackageVersion,\n user,\n dependencyManager,\n })\n task.title = 'Initialized'\n },\n },\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(outputDirectory, dependencyManager, stdout)\n },\n },\n ],\n {concurrent: false},\n )\n await list.run()\n\n output.info(output.content`\n ${hyphenizedName} is ready to build! ✨\n Run ${output.token.command(`${dependencyManager} dev`)} to start developing.\n Docs: ${output.token.link('Quick start guide', 'https://shopify.dev/custom-storefronts/hydrogen')}\n `)\n}\n\nfunction inferDependencyManager(optionsDependencyManager: string | undefined): dependency.DependencyManager {\n if (optionsDependencyManager && dependency.dependencyManager.includes(optionsDependencyManager)) {\n return optionsDependencyManager as dependency.DependencyManager\n }\n return dependency.dependencyManagerUsedForCreating()\n}\n\nfunction initializeGit() {\n return file.write('.gitignore', 'node_modules/')\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 createHydrogen(\n options: InitOptions & {\n outputDirectory: string\n templatePath: string\n cliPackageVersion: string\n hydrogenPackageVersion: string\n user: string\n dependencyManager: string\n },\n): Promise<void> {\n const templateData = {\n name: options.name,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n shopify_cli_version: options.cliPackageVersion,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n hydrogen_version: options.hydrogenPackageVersion,\n author: options.user,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dependency_manager: options.dependencyManager,\n }\n await template.recursiveDirectoryCopy(options.templatePath, options.outputDirectory, templateData)\n}\n\nexport default init\n","import {HYDROGEN_VERSION} from '../utils/versions'\nimport initPrompt from '../prompts/init'\nimport initService from '../services/init'\nimport {path} from '@shopify/cli-kit'\nimport {Command, Flags} from '@oclif/core'\n\nexport default class Init extends Command {\n static flags = {\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 'dependency-manager': Flags.string({\n char: 'd',\n env: 'SHOPIFY_FLAG_DEPENDENCY_MANAGER',\n hidden: false,\n options: ['npm', 'yarn', 'pnpm'],\n }),\n 'shopify-cli-version': Flags.string({\n char: 's',\n env: 'SHOPIFY_FLAG_SHOPIFY_CLI_VERSION',\n hidden: false,\n }),\n 'hydrogen-version': Flags.string({\n char: 'h',\n env: 'SHOPIFY_FLAG_HYDROGEN_VERSION',\n hidden: false,\n default: HYDROGEN_VERSION,\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 })\n }\n}\n"],"names":["init","getTemplatePath","template","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} from '@shopify/cli-kit'\n\nexport enum Template {\n Minimum = 'template-hydrogen-minimum',\n Default = 'template-hydrogen-default',\n}\n\ninterface InitOptions {\n name?: string\n template?: string\n}\n\ninterface InitOutput {\n name: string\n template: Template\n}\n\nconst TEMPLATE_MAP = {\n [Template.Default]: 'Shopify/hydrogen/templates/template-hydrogen-default',\n [Template.Minimum]: 'Shopify/hydrogen/templates/template-hydrogen-hello-world',\n}\n\nconst init = async (options: InitOptions, prompt = ui.prompt): Promise<InitOutput> => {\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 if (!options.template) {\n questions.push({\n type: 'select',\n name: 'template',\n message: 'Choose a template',\n choices: Object.keys(TEMPLATE_MAP),\n default: Template.Default,\n result: (value) => TEMPLATE_MAP[value as Template],\n })\n }\n\n const promptOutput: InitOutput = await prompt(questions)\n return {...options, ...promptOutput}\n}\n\nexport default init\n","// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\n\nimport {constants, template, string, path, file, output, os, ui, npm, dependency, git} from '@shopify/cli-kit'\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 RENAME_MAP = {\n _gitignore: '.gitignore',\n}\n\nconst GIT_HOST = 'git@github.com'\n\nasync function init(options: InitOptions) {\n const user = (await os.username()) ?? ''\n const cliPackageVersion = options.shopifyCliVersion ?? constants.versions.cli\n const cliHydrogenPackageVersion = options.cliHydrogenPackageVersion ?? constants.versions.cliHydrogen\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 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 const list = new ui.Listr(\n [\n {\n title: 'Downloading template',\n task: async (_, task) => {\n await git.downloadRepository({\n repoUrl: [GIT_HOST, options.template].join(':'),\n destination: templateDownloadDir,\n })\n task.title = 'Template downloaded'\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(templateDownloadDir, templateScaffoldDir, templateData)\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\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 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 {concurrent: false},\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.command(`${dependencyManager} dev`)} to start developing.\n Docs: ${output.token.link('Quick start guide', 'https://shopify.dev/custom-storefronts/hydrogen')}\n `)\n\n output.info(output.content`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}/shopify.config.js`)} with your\n store ID and Storefront API key.\\n`)\n}\n\nfunction inferDependencyManager(optionsDependencyManager: string | undefined): dependency.DependencyManager {\n if (optionsDependencyManager && dependency.dependencyManager.includes(optionsDependencyManager)) {\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 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', {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","initPrompt","initService"],"mappings":"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"}
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 =\n process.argv.findIndex(\n (arg) => arg.includes('bin/create-hydrogen') || arg.includes('bin/dev') || arg.includes('bin/run'),\n ) + 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).then((error: Error) => {\n kitHandle(error)\n })\n })\n}\n\nexport default runCreateHydrogen\n"],"names":["error","kitError"],"mappings":";;;AAEA,SAAS,iBAAiB,GAAG;AAC7B,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,EAAE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;AACxB,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;AACtJ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/C,GAAG;AACH,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;AACnC,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;AAC1B,GAAG;AACH,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAACA,OAAK,KAAK;AAC5D,IAAI,MAAM,SAAS,GAAGC,KAAQ,CAAC,MAAM,CAAC;AACtC,IAAI,MAAM,SAAS,GAAGA,KAAQ,CAAC,OAAO,CAAC;AACvC,IAAI,OAAO,SAAS,CAACD,OAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK;AAC7C,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL;;;;"}
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 =\n process.argv.findIndex(\n (arg) => arg.includes('bin/create-hydrogen') || arg.includes('bin/dev') || arg.includes('bin/run'),\n ) + 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).then((error: Error) => {\n kitHandle(error)\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,IAAA,MAAM,aACJ,OAAQ,CAAA,IAAA,CAAK,UACX,CAAC,GAAA,KAAQ,IAAI,QAAS,CAAA,qBAAqB,CAAK,IAAA,GAAA,CAAI,SAAS,SAAS,CAAA,IAAK,IAAI,QAAS,CAAA,SAAS,CACnG,CAAI,GAAA,CAAA,CAAA;AACN,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,CAAE,CAAA,IAAA,CAAK,CAAC,MAAiB,KAAA;AAC7C,MAAA,SAAA,CAAU,MAAK,CAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACL;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/create-hydrogen",
3
- "version": "1.0.9",
3
+ "version": "2.0.2",
4
4
  "private": false,
5
5
  "description": "A CLI tool to create a new Shopify hydrogen app.",
6
6
  "type": "module",
@@ -39,8 +39,7 @@
39
39
  "lint:fix": "prettier -w src/** && eslint 'src/**/*.ts' --fix",
40
40
  "test": "vitest run",
41
41
  "test:watch": "vitest watch",
42
- "tsc": "tsc --noEmit",
43
- "refresh-templates": "node ./scripts/refresh-templates.mjs"
42
+ "tsc": "tsc --noEmit"
44
43
  },
45
44
  "eslintConfig": {
46
45
  "extends": [
@@ -52,15 +51,17 @@
52
51
  },
53
52
  "dependencies": {
54
53
  "@bugsnag/js": "^7.16.2",
55
- "@shopify/cli-kit": "1.0.9",
56
- "@oclif/core": "1.6.4"
54
+ "@oclif/core": "1.7.0",
55
+ "@shopify/cli-kit": "2.0.2",
56
+ "@types/download": "^8.0.1",
57
+ "download": "^8.0.0"
57
58
  },
58
59
  "devDependencies": {
59
- "vitest": "0.8.1"
60
+ "vitest": "0.10.0"
60
61
  },
61
62
  "engine-strict": true,
62
63
  "engines": {
63
- "node": "^14.13.1 || ^16.0.0 || ^17.0.0"
64
+ "node": "^14.13.1 || ^16.0.0 || ^17.0.0 || ^18.0.0"
64
65
  },
65
66
  "os": [
66
67
  "darwin",
@@ -69,6 +70,9 @@
69
70
  ],
70
71
  "oclif": {
71
72
  "bin": "create-hydrogen",
72
- "commands": "./dist/commands"
73
+ "commands": "./dist/commands",
74
+ "additionalHelpFlags": [
75
+ "-h"
76
+ ]
73
77
  }
74
78
  }
@@ -1,18 +0,0 @@
1
- {
2
- "name": "Shopify Hydrogen",
3
- "image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:0-16",
4
- "settings": {},
5
- "extensions": [
6
- "graphql.vscode-graphql",
7
- "dbaeumer.vscode-eslint",
8
- "bradlc.vscode-tailwindcss",
9
- "esbenp.prettier-vscode"
10
- ],
11
- "forwardPorts": [3000],
12
- "postCreateCommand": "yarn install",
13
- "postStartCommand": "yarn dev",
14
- "remoteUser": "node",
15
- "features": {
16
- "git": "latest"
17
- }
18
- }
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- extends: ['plugin:hydrogen/recommended'],
3
- };
@@ -1,7 +0,0 @@
1
-
2
- node_modules
3
- .DS_Store
4
- dist
5
- dist-ssr
6
- *.local
7
-
@@ -1,17 +0,0 @@
1
- module.exports = {
2
- extends: ['@shopify/stylelint-plugin', '@shopify/stylelint-plugin/prettier'],
3
- rules: {
4
- 'at-rule-no-unknown': [
5
- true,
6
- {
7
- ignoreAtRules: ['tailwind', 'layer'],
8
- },
9
- ],
10
- 'selector-type-no-unknown': [
11
- true,
12
- {
13
- ignoreTypes: ['model-viewer'],
14
- },
15
- ],
16
- },
17
- };
@@ -1,8 +0,0 @@
1
- {
2
- "recommendations": [
3
- "graphql.vscode-graphql",
4
- "dbaeumer.vscode-eslint",
5
- "esbenp.prettier-vscode",
6
- "bradlc.vscode-tailwindcss"
7
- ]
8
- }
@@ -1,40 +0,0 @@
1
- # Hydrogen App
2
-
3
- Hydrogen is a React framework and SDK that you can use to build fast and dynamic Shopify custom storefronts.
4
-
5
- [Check out the docs](https://shopify.dev/custom-storefronts/hydrogen)
6
-
7
- ## Getting started
8
-
9
- **Requirements:**
10
-
11
- - Node.js version 16.5.0 or higher
12
- - Yarn
13
-
14
- ```bash
15
- yarn
16
- yarn dev
17
- ```
18
-
19
- Remember to update `shopify.config.js` with your shop's domain and Storefront API token!
20
-
21
- ## Previewing a production build
22
-
23
- To run a local preview of your Hydrogen app in an environment similar to Oxygen, build your Hydrogen app and then run `yarn preview`:
24
-
25
- ```bash
26
- yarn build
27
- yarn preview
28
- ```
29
-
30
- ## Building for production
31
-
32
- ```bash
33
- yarn build
34
- ```
35
-
36
- Then, you can run a local `server.js` using the production build with:
37
-
38
- ```bash
39
- yarn serve
40
- ```
@@ -1,80 +0,0 @@
1
- # THIS IS A STUB FOR NEW HYDROGEN APPS
2
- # THIS WILL EVENTUALLY MOVE TO A /TEMPLATE-* FOLDER
3
-
4
- # Logs
5
- logs
6
- *.log
7
- npm-debug.log*
8
- yarn-debug.log*
9
- yarn-error.log*
10
- lerna-debug.log*
11
-
12
- # Diagnostic reports (https://nodejs.org/api/report.html)
13
- report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
14
-
15
- # Runtime data
16
- pids
17
- *.pid
18
- *.seed
19
- *.pid.lock
20
-
21
- # Directory for instrumented libs generated by jscoverage/JSCover
22
- lib-cov
23
-
24
- # Coverage directory used by tools like istanbul
25
- coverage
26
- *.lcov
27
-
28
- # nyc test coverage
29
- .nyc_output
30
-
31
- # Compiled binary addons (https://nodejs.org/api/addons.html)
32
- build/Release
33
-
34
- # Dependency directories
35
- node_modules/
36
- jspm_packages/
37
-
38
- # TypeScript cache
39
- *.tsbuildinfo
40
-
41
- # Optional npm cache directory
42
- .npm
43
-
44
- # Optional eslint cache
45
- .eslintcache
46
-
47
- # Microbundle cache
48
- .rpt2_cache/
49
- .rts2_cache_cjs/
50
- .rts2_cache_es/
51
- .rts2_cache_umd/
52
-
53
- # Optional REPL history
54
- .node_repl_history
55
-
56
- # Output of 'npm pack'
57
- *.tgz
58
-
59
- # Yarn Integrity file
60
- .yarn-integrity
61
-
62
- # dotenv environment variables file
63
- .env
64
- .env.test
65
-
66
- # Serverless directories
67
- .serverless/
68
-
69
- # Stores VSCode versions used for testing VSCode extensions
70
- .vscode-test
71
-
72
- # yarn v2
73
- .yarn/cache
74
- .yarn/unplugged
75
- .yarn/build-state.yml
76
- .yarn/install-state.gz
77
- .pnp.*
78
-
79
- # Vite output
80
- dist
@@ -1,20 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/favicon.ico" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Hydrogen App</title>
8
- <link rel="preconnect" href="https://fonts.googleapis.com" />
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
- <link
11
- href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@500&family=Roboto:wght@400;500;900&display=swap"
12
- rel="stylesheet"
13
- />
14
- <link rel="stylesheet" href="/src/index.css" />
15
- </head>
16
- <body>
17
- <div id="root"></div>
18
- <script type="module" src="/@shopify/hydrogen/entry-client"></script>
19
- </body>
20
- </html>