@shopify/cli-hydrogen 3.27.0 → 4.0.0-alpha.1

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 (249) hide show
  1. package/dist/commands/hydrogen/build.js +89 -0
  2. package/dist/commands/hydrogen/dev.js +116 -0
  3. package/dist/commands/hydrogen/init.js +42 -0
  4. package/dist/commands/hydrogen/preview.js +34 -0
  5. package/dist/hooks/init.js +21 -0
  6. package/dist/templates/demo-store/.editorconfig +8 -0
  7. package/dist/templates/demo-store/.eslintignore +4 -0
  8. package/dist/templates/demo-store/.eslintrc.js +16 -0
  9. package/dist/templates/demo-store/.graphqlrc.yml +1 -0
  10. package/dist/templates/demo-store/.prettierignore +2 -0
  11. package/dist/templates/demo-store/.turbo/turbo-build.log +13 -0
  12. package/dist/templates/demo-store/app/components/AccountAddressBook.tsx +97 -0
  13. package/dist/templates/demo-store/app/components/AccountDetails.tsx +41 -0
  14. package/dist/templates/demo-store/app/components/AddToCartButton.tsx +42 -0
  15. package/dist/templates/demo-store/app/components/Breadcrumbs.tsx +36 -0
  16. package/dist/templates/demo-store/app/components/Button.tsx +56 -0
  17. package/dist/templates/demo-store/app/components/Cart.tsx +431 -0
  18. package/dist/templates/demo-store/app/components/CartLoading.tsx +50 -0
  19. package/dist/templates/demo-store/app/components/CountrySelector.tsx +180 -0
  20. package/dist/templates/demo-store/app/components/Drawer.tsx +115 -0
  21. package/dist/templates/demo-store/app/components/FeaturedCollections.tsx +54 -0
  22. package/dist/templates/demo-store/app/components/FeaturedProducts.tsx +116 -0
  23. package/dist/templates/demo-store/app/components/FeaturedSection.tsx +39 -0
  24. package/dist/templates/demo-store/app/components/GenericError.tsx +58 -0
  25. package/dist/templates/demo-store/app/components/Grid.tsx +44 -0
  26. package/dist/templates/demo-store/app/components/Hero.tsx +136 -0
  27. package/dist/templates/demo-store/app/components/Icon.tsx +253 -0
  28. package/dist/templates/demo-store/app/components/Input.tsx +24 -0
  29. package/dist/templates/demo-store/app/components/Layout.tsx +492 -0
  30. package/dist/templates/demo-store/app/components/Link.tsx +46 -0
  31. package/dist/templates/demo-store/app/components/Modal.tsx +46 -0
  32. package/dist/templates/demo-store/app/components/NotFound.tsx +22 -0
  33. package/dist/templates/demo-store/app/components/OrderCard.tsx +85 -0
  34. package/dist/templates/demo-store/app/components/Pagination.tsx +277 -0
  35. package/dist/templates/demo-store/app/components/ProductCard.tsx +146 -0
  36. package/dist/templates/demo-store/app/components/ProductGallery.tsx +114 -0
  37. package/dist/templates/demo-store/app/components/ProductGrid.tsx +93 -0
  38. package/dist/templates/demo-store/app/components/ProductSwimlane.tsx +30 -0
  39. package/dist/templates/demo-store/app/components/Skeleton.tsx +24 -0
  40. package/dist/templates/demo-store/app/components/SortFilter.tsx +411 -0
  41. package/dist/templates/demo-store/app/components/Text.tsx +192 -0
  42. package/dist/templates/demo-store/app/components/index.ts +28 -0
  43. package/dist/templates/demo-store/app/data/countries.ts +194 -0
  44. package/dist/templates/demo-store/app/data/index.ts +1037 -0
  45. package/dist/templates/demo-store/app/entry.client.tsx +4 -0
  46. package/dist/templates/demo-store/app/entry.server.tsx +26 -0
  47. package/dist/templates/demo-store/app/hooks/useCartFetchers.tsx +14 -0
  48. package/dist/templates/demo-store/app/hooks/useIsHydrated.tsx +12 -0
  49. package/dist/templates/demo-store/app/lib/const.ts +10 -0
  50. package/dist/templates/demo-store/app/lib/placeholders.ts +242 -0
  51. package/dist/templates/demo-store/app/lib/seo/common.tsx +324 -0
  52. package/dist/templates/demo-store/app/lib/seo/debugger.tsx +175 -0
  53. package/dist/templates/demo-store/app/lib/seo/image.tsx +32 -0
  54. package/dist/templates/demo-store/app/lib/seo/index.ts +4 -0
  55. package/dist/templates/demo-store/app/lib/seo/seo.tsx +24 -0
  56. package/dist/templates/demo-store/app/lib/seo/types.ts +70 -0
  57. package/dist/templates/demo-store/app/lib/session.server.ts +57 -0
  58. package/dist/templates/demo-store/app/lib/type.ts +21 -0
  59. package/dist/templates/demo-store/app/lib/utils.ts +310 -0
  60. package/dist/templates/demo-store/app/root.tsx +282 -0
  61. package/dist/templates/demo-store/app/routes/$.tsx +7 -0
  62. package/dist/templates/demo-store/app/routes/$lang/$.tsx +1 -0
  63. package/dist/templates/demo-store/app/routes/$lang/[robots.txt].tsx +1 -0
  64. package/dist/templates/demo-store/app/routes/$lang/[sitemap.xml].tsx +1 -0
  65. package/dist/templates/demo-store/app/routes/$lang/account/__private/address/$id.tsx +1 -0
  66. package/dist/templates/demo-store/app/routes/$lang/account/__private/edit.tsx +1 -0
  67. package/dist/templates/demo-store/app/routes/$lang/account/__private/logout.ts +1 -0
  68. package/dist/templates/demo-store/app/routes/$lang/account/__private/orders.$id.tsx +1 -0
  69. package/dist/templates/demo-store/app/routes/$lang/account/__public/activate.$id.$activationToken.tsx +6 -0
  70. package/dist/templates/demo-store/app/routes/$lang/account/__public/login.tsx +7 -0
  71. package/dist/templates/demo-store/app/routes/$lang/account/__public/recover.tsx +1 -0
  72. package/dist/templates/demo-store/app/routes/$lang/account/__public/register.tsx +6 -0
  73. package/dist/templates/demo-store/app/routes/$lang/account/__public/reset.$id.$resetToken.tsx +5 -0
  74. package/dist/templates/demo-store/app/routes/$lang/account.tsx +1 -0
  75. package/dist/templates/demo-store/app/routes/$lang/api/countries.tsx +1 -0
  76. package/dist/templates/demo-store/app/routes/$lang/api/products.tsx +1 -0
  77. package/dist/templates/demo-store/app/routes/$lang/cart.tsx +1 -0
  78. package/dist/templates/demo-store/app/routes/$lang/collections/$collectionHandle.tsx +6 -0
  79. package/dist/templates/demo-store/app/routes/$lang/collections/all.tsx +1 -0
  80. package/dist/templates/demo-store/app/routes/$lang/collections/index.tsx +1 -0
  81. package/dist/templates/demo-store/app/routes/$lang/featured-products.tsx +1 -0
  82. package/dist/templates/demo-store/app/routes/$lang/index.tsx +7 -0
  83. package/dist/templates/demo-store/app/routes/$lang/journal/$journalHandle.tsx +7 -0
  84. package/dist/templates/demo-store/app/routes/$lang/journal/index.tsx +1 -0
  85. package/dist/templates/demo-store/app/routes/$lang/og-image.tsx +1 -0
  86. package/dist/templates/demo-store/app/routes/$lang/pages/$pageHandle.tsx +1 -0
  87. package/dist/templates/demo-store/app/routes/$lang/policies/$policyHandle.tsx +1 -0
  88. package/dist/templates/demo-store/app/routes/$lang/policies/index.tsx +1 -0
  89. package/dist/templates/demo-store/app/routes/$lang/products/$productHandle.tsx +6 -0
  90. package/dist/templates/demo-store/app/routes/$lang/products/index.tsx +1 -0
  91. package/dist/templates/demo-store/app/routes/$lang/search.tsx +6 -0
  92. package/dist/templates/demo-store/app/routes/[robots.txt].tsx +40 -0
  93. package/dist/templates/demo-store/app/routes/[sitemap.xml].tsx +198 -0
  94. package/dist/templates/demo-store/app/routes/account/__private/address/$id.tsx +320 -0
  95. package/dist/templates/demo-store/app/routes/account/__private/edit.tsx +273 -0
  96. package/dist/templates/demo-store/app/routes/account/__private/logout.ts +29 -0
  97. package/dist/templates/demo-store/app/routes/account/__private/orders.$id.tsx +324 -0
  98. package/dist/templates/demo-store/app/routes/account/__public/activate.$id.$activationToken.tsx +218 -0
  99. package/dist/templates/demo-store/app/routes/account/__public/login.tsx +197 -0
  100. package/dist/templates/demo-store/app/routes/account/__public/recover.tsx +144 -0
  101. package/dist/templates/demo-store/app/routes/account/__public/register.tsx +184 -0
  102. package/dist/templates/demo-store/app/routes/account/__public/reset.$id.$resetToken.tsx +214 -0
  103. package/dist/templates/demo-store/app/routes/account.tsx +191 -0
  104. package/dist/templates/demo-store/app/routes/api/countries.tsx +22 -0
  105. package/dist/templates/demo-store/app/routes/api/products.tsx +116 -0
  106. package/dist/templates/demo-store/app/routes/cart.tsx +498 -0
  107. package/dist/templates/demo-store/app/routes/collections/$collectionHandle.tsx +308 -0
  108. package/dist/templates/demo-store/app/routes/collections/all.tsx +5 -0
  109. package/dist/templates/demo-store/app/routes/collections/index.tsx +195 -0
  110. package/dist/templates/demo-store/app/routes/discounts.$code.tsx +60 -0
  111. package/dist/templates/demo-store/app/routes/featured-products.tsx +58 -0
  112. package/dist/templates/demo-store/app/routes/index.tsx +254 -0
  113. package/dist/templates/demo-store/app/routes/journal/$journalHandle.tsx +147 -0
  114. package/dist/templates/demo-store/app/routes/journal/index.tsx +150 -0
  115. package/dist/templates/demo-store/app/routes/og-image.tsx +19 -0
  116. package/dist/templates/demo-store/app/routes/pages/$pageHandle.tsx +82 -0
  117. package/dist/templates/demo-store/app/routes/policies/$policyHandle.tsx +117 -0
  118. package/dist/templates/demo-store/app/routes/policies/index.tsx +104 -0
  119. package/dist/templates/demo-store/app/routes/products/$productHandle.tsx +561 -0
  120. package/dist/templates/demo-store/app/routes/products/index.tsx +155 -0
  121. package/dist/templates/demo-store/app/routes/search.tsx +205 -0
  122. package/dist/templates/demo-store/app/styles/custom-font.css +13 -0
  123. package/dist/templates/demo-store/package-lock.json +25515 -0
  124. package/dist/templates/demo-store/package.json +67 -0
  125. package/dist/templates/demo-store/playwright.config.ts +109 -0
  126. package/dist/templates/demo-store/postcss.config.js +10 -0
  127. package/dist/templates/demo-store/public/favicon.svg +28 -0
  128. package/dist/templates/demo-store/public/fonts/IBMPlexSerif-Text.woff2 +0 -0
  129. package/dist/templates/demo-store/public/fonts/IBMPlexSerif-TextItalic.woff2 +0 -0
  130. package/dist/templates/demo-store/remix.config.js +12 -0
  131. package/dist/templates/demo-store/remix.env.d.ts +34 -0
  132. package/dist/templates/demo-store/remix.init/index.ts +15 -0
  133. package/dist/templates/demo-store/remix.init/package.json +7 -0
  134. package/dist/templates/demo-store/server.ts +87 -0
  135. package/dist/templates/demo-store/styles/app.css +182 -0
  136. package/dist/templates/demo-store/tailwind.config.js +70 -0
  137. package/dist/templates/demo-store/tests/cart.test.ts +70 -0
  138. package/dist/templates/demo-store/tests/seo.test.ts +36 -0
  139. package/dist/templates/demo-store/tests/utils.ts +100 -0
  140. package/dist/templates/demo-store/tsconfig.json +26 -0
  141. package/dist/templates/hello-world/.eslintignore +4 -0
  142. package/dist/templates/hello-world/.eslintrc.js +6 -0
  143. package/dist/templates/hello-world/.graphqlrc.yml +1 -0
  144. package/dist/templates/hello-world/.turbo/turbo-build.log +9 -0
  145. package/dist/templates/hello-world/README.md +20 -0
  146. package/dist/templates/hello-world/app/components/Layout.tsx +15 -0
  147. package/dist/templates/hello-world/app/components/index.ts +1 -0
  148. package/dist/templates/hello-world/app/entry.client.tsx +4 -0
  149. package/dist/templates/hello-world/app/entry.server.tsx +21 -0
  150. package/dist/templates/hello-world/app/root.tsx +212 -0
  151. package/dist/templates/hello-world/app/routes/index.tsx +7 -0
  152. package/dist/templates/hello-world/app/styles/app.css +38 -0
  153. package/dist/templates/hello-world/package-lock.json +27641 -0
  154. package/dist/templates/hello-world/package.json +41 -0
  155. package/dist/templates/hello-world/public/favicon.svg +28 -0
  156. package/dist/templates/hello-world/remix.env.d.ts +29 -0
  157. package/dist/templates/hello-world/server.ts +127 -0
  158. package/dist/templates/hello-world/tsconfig.json +25 -0
  159. package/dist/utils/config.js +81 -0
  160. package/dist/utils/flags.js +15 -0
  161. package/dist/utils/log.js +20 -0
  162. package/dist/utils/mini-oxygen.js +70 -0
  163. package/package.json +27 -64
  164. package/tmp-create-app.mjs +29 -0
  165. package/LICENSE +0 -8
  166. package/README.md +0 -63
  167. package/dist/cli/commands/hydrogen/add/eslint.d.ts +0 -11
  168. package/dist/cli/commands/hydrogen/add/eslint.js +0 -26
  169. package/dist/cli/commands/hydrogen/add/eslint.js.map +0 -1
  170. package/dist/cli/commands/hydrogen/add/tailwind.d.ts +0 -11
  171. package/dist/cli/commands/hydrogen/add/tailwind.js +0 -26
  172. package/dist/cli/commands/hydrogen/add/tailwind.js.map +0 -1
  173. package/dist/cli/commands/hydrogen/build.d.ts +0 -14
  174. package/dist/cli/commands/hydrogen/build.js +0 -49
  175. package/dist/cli/commands/hydrogen/build.js.map +0 -1
  176. package/dist/cli/commands/hydrogen/deploy.d.ts +0 -19
  177. package/dist/cli/commands/hydrogen/deploy.js +0 -58
  178. package/dist/cli/commands/hydrogen/deploy.js.map +0 -1
  179. package/dist/cli/commands/hydrogen/dev.d.ts +0 -13
  180. package/dist/cli/commands/hydrogen/dev.js +0 -31
  181. package/dist/cli/commands/hydrogen/dev.js.map +0 -1
  182. package/dist/cli/commands/hydrogen/info.d.ts +0 -12
  183. package/dist/cli/commands/hydrogen/info.js +0 -28
  184. package/dist/cli/commands/hydrogen/info.js.map +0 -1
  185. package/dist/cli/commands/hydrogen/preview.d.ts +0 -13
  186. package/dist/cli/commands/hydrogen/preview.js +0 -46
  187. package/dist/cli/commands/hydrogen/preview.js.map +0 -1
  188. package/dist/cli/constants.d.ts +0 -15
  189. package/dist/cli/constants.js +0 -16
  190. package/dist/cli/constants.js.map +0 -1
  191. package/dist/cli/flags.d.ts +0 -4
  192. package/dist/cli/flags.js +0 -16
  193. package/dist/cli/flags.js.map +0 -1
  194. package/dist/cli/models/hydrogen.d.ts +0 -22
  195. package/dist/cli/models/hydrogen.js +0 -82
  196. package/dist/cli/models/hydrogen.js.map +0 -1
  197. package/dist/cli/prompts/git-init.d.ts +0 -1
  198. package/dist/cli/prompts/git-init.js +0 -16
  199. package/dist/cli/prompts/git-init.js.map +0 -1
  200. package/dist/cli/services/build/check-lockfile.d.ts +0 -3
  201. package/dist/cli/services/build/check-lockfile.js +0 -80
  202. package/dist/cli/services/build/check-lockfile.js.map +0 -1
  203. package/dist/cli/services/build.d.ts +0 -14
  204. package/dist/cli/services/build.js +0 -44
  205. package/dist/cli/services/build.js.map +0 -1
  206. package/dist/cli/services/deploy/config.d.ts +0 -4
  207. package/dist/cli/services/deploy/config.js +0 -49
  208. package/dist/cli/services/deploy/config.js.map +0 -1
  209. package/dist/cli/services/deploy/error.d.ts +0 -4
  210. package/dist/cli/services/deploy/error.js +0 -11
  211. package/dist/cli/services/deploy/error.js.map +0 -1
  212. package/dist/cli/services/deploy/graphql/create_deployment.d.ts +0 -10
  213. package/dist/cli/services/deploy/graphql/create_deployment.js +0 -15
  214. package/dist/cli/services/deploy/graphql/create_deployment.js.map +0 -1
  215. package/dist/cli/services/deploy/graphql/upload_deployment.d.ts +0 -1
  216. package/dist/cli/services/deploy/graphql/upload_deployment.js +0 -16
  217. package/dist/cli/services/deploy/graphql/upload_deployment.js.map +0 -1
  218. package/dist/cli/services/deploy/types.d.ts +0 -37
  219. package/dist/cli/services/deploy/types.js +0 -2
  220. package/dist/cli/services/deploy/types.js.map +0 -1
  221. package/dist/cli/services/deploy/upload.d.ts +0 -5
  222. package/dist/cli/services/deploy/upload.js +0 -81
  223. package/dist/cli/services/deploy/upload.js.map +0 -1
  224. package/dist/cli/services/deploy.d.ts +0 -2
  225. package/dist/cli/services/deploy.js +0 -103
  226. package/dist/cli/services/deploy.js.map +0 -1
  227. package/dist/cli/services/dev/check-version.d.ts +0 -1
  228. package/dist/cli/services/dev/check-version.js +0 -30
  229. package/dist/cli/services/dev/check-version.js.map +0 -1
  230. package/dist/cli/services/dev.d.ts +0 -10
  231. package/dist/cli/services/dev.js +0 -36
  232. package/dist/cli/services/dev.js.map +0 -1
  233. package/dist/cli/services/eslint.d.ts +0 -8
  234. package/dist/cli/services/eslint.js +0 -74
  235. package/dist/cli/services/eslint.js.map +0 -1
  236. package/dist/cli/services/info.d.ts +0 -7
  237. package/dist/cli/services/info.js +0 -131
  238. package/dist/cli/services/info.js.map +0 -1
  239. package/dist/cli/services/preview.d.ts +0 -12
  240. package/dist/cli/services/preview.js +0 -63
  241. package/dist/cli/services/preview.js.map +0 -1
  242. package/dist/cli/services/tailwind.d.ts +0 -9
  243. package/dist/cli/services/tailwind.js +0 -103
  244. package/dist/cli/services/tailwind.js.map +0 -1
  245. package/dist/cli/utilities/load-config.d.ts +0 -5
  246. package/dist/cli/utilities/load-config.js +0 -6
  247. package/dist/cli/utilities/load-config.js.map +0 -1
  248. package/dist/tsconfig.tsbuildinfo +0 -1
  249. package/oclif.manifest.json +0 -1
@@ -1,26 +0,0 @@
1
- import { hydrogenFlags } from '../../../flags.js';
2
- import { addESLint } from '../../../services/eslint.js';
3
- import { load as loadApp } from '../../../models/hydrogen.js';
4
- import { Flags } from '@oclif/core';
5
- import { cli, path } from '@shopify/cli-kit';
6
- import Command from '@shopify/cli-kit/node/base-command';
7
- export default class AddESLint extends Command {
8
- async run() {
9
- const { flags: { path: pathFlag, install, force }, } = await this.parse(AddESLint);
10
- const directory = pathFlag ? path.resolve(pathFlag) : process.cwd();
11
- const app = await loadApp(directory);
12
- await addESLint({ app, install, force });
13
- }
14
- }
15
- AddESLint.flags = {
16
- ...cli.globalFlags,
17
- ...hydrogenFlags,
18
- force: Flags.boolean({
19
- hidden: false,
20
- char: 'f',
21
- description: 'Overwrite existing configuration',
22
- default: false,
23
- env: 'SHOPIFY_FLAG_FORCE',
24
- }),
25
- };
26
- //# sourceMappingURL=eslint.js.map
@@ -1 +0,0 @@
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,GAAG,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC1C,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,GAAG,CAAC,WAAW;IAClB,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 {cli, 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 ...cli.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"]}
@@ -1,11 +0,0 @@
1
- import Command from '@shopify/cli-kit/node/base-command';
2
- export default class AddTailwind extends Command {
3
- static flags: {
4
- force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
5
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
- install: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- preset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- };
10
- run(): Promise<void>;
11
- }
@@ -1,26 +0,0 @@
1
- import { hydrogenFlags } from '../../../flags.js';
2
- import { addTailwind } from '../../../services/tailwind.js';
3
- import { load as loadApp } from '../../../models/hydrogen.js';
4
- import { Flags } from '@oclif/core';
5
- import { path, cli } from '@shopify/cli-kit';
6
- import Command from '@shopify/cli-kit/node/base-command';
7
- export default class AddTailwind extends Command {
8
- async run() {
9
- const { flags: { path: pathFlag, install, force }, } = await this.parse(AddTailwind);
10
- const directory = pathFlag ? path.resolve(pathFlag) : process.cwd();
11
- const app = await loadApp(directory);
12
- await addTailwind({ app, directory, install, force });
13
- }
14
- }
15
- AddTailwind.flags = {
16
- ...cli.globalFlags,
17
- ...hydrogenFlags,
18
- force: Flags.boolean({
19
- hidden: false,
20
- char: 'f',
21
- description: 'overwrite existing configuration',
22
- default: false,
23
- env: 'SHOPIFY_FLAG_FORCE',
24
- }),
25
- };
26
- //# sourceMappingURL=tailwind.js.map
@@ -1 +0,0 @@
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,IAAI,EAAE,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC1C,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,GAAG,CAAC,WAAW;IAClB,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 {path, cli} from '@shopify/cli-kit'\nimport Command from '@shopify/cli-kit/node/base-command'\n\nexport default class AddTailwind extends Command {\n static flags = {\n ...cli.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,14 +0,0 @@
1
- import Command from '@shopify/cli-kit/node/base-command';
2
- export default class Build extends Command {
3
- static description: string;
4
- static flags: {
5
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
- base: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
- client: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- target: import("@oclif/core/lib/interfaces").OptionFlag<string>;
9
- entry: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- preset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
- };
13
- run(): Promise<void>;
14
- }
@@ -1,49 +0,0 @@
1
- import { build } from '../../services/build.js';
2
- import { hydrogenFlags } from '../../flags.js';
3
- import { Flags } from '@oclif/core';
4
- import { path, cli } from '@shopify/cli-kit';
5
- import Command from '@shopify/cli-kit/node/base-command';
6
- const PLATFORM_ENTRIES = {
7
- node: `@shopify/hydrogen/platforms/node`,
8
- worker: `@shopify/hydrogen/platforms/worker`,
9
- };
10
- export default class Build extends Command {
11
- async run() {
12
- const { flags } = await this.parse(Build);
13
- const directory = flags.path ? path.resolve(flags.path) : process.cwd();
14
- const entry = flags.entry || PLATFORM_ENTRIES[flags.target];
15
- const targets = {
16
- client: flags.client,
17
- worker: flags.target === 'worker' ? entry : false,
18
- node: flags.target === 'node' ? entry : false,
19
- };
20
- await build({ ...flags, directory, targets });
21
- }
22
- }
23
- Build.description = 'Builds a Hydrogen storefront for production';
24
- Build.flags = {
25
- ...cli.globalFlags,
26
- path: hydrogenFlags.path,
27
- base: Flags.string({
28
- description: ' the public path when served in production',
29
- env: 'SHOPIFY_FLAG_BUILD_BASE',
30
- }),
31
- client: Flags.boolean({
32
- description: 'build the client code',
33
- env: 'SHOPIFY_FLAG_BUILD_CLIENT',
34
- allowNo: true,
35
- default: true,
36
- }),
37
- target: Flags.string({
38
- char: 't',
39
- description: 'the target platform to build for (worker or node)',
40
- options: ['node', 'worker'],
41
- default: 'worker',
42
- env: 'SHOPIFY_FLAG_BUILD_TARGET',
43
- }),
44
- entry: Flags.string({
45
- description: 'produce Server Side Rendering (SSR) build for node environments',
46
- env: 'SHOPIFY_FLAG_BUILD_SSR_ENTRY',
47
- }),
48
- };
49
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
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,IAAI,EAAE,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC1C,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,6CAA6C,CAAA;AAC3D,WAAK,GAAG;IACb,GAAG,GAAG,CAAC,WAAW;IAClB,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 {path, cli} 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 ...cli.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,19 +0,0 @@
1
- import Command from '@shopify/cli-kit/node/base-command';
2
- export default class Deploy extends Command {
3
- static description: string;
4
- static hidden: boolean;
5
- static flags: {
6
- deploymentToken: import("@oclif/core/lib/interfaces").OptionFlag<string>;
7
- commitMessage: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
- commitAuthor: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- pathToBuild: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- healthCheck: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- assumeYes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
- oxygenAddress: import("@oclif/core/lib/interfaces").OptionFlag<string>;
13
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
14
- install: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
- preset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
16
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
- };
18
- run(): Promise<void>;
19
- }
@@ -1,58 +0,0 @@
1
- import { hydrogenFlags } from '../../flags.js';
2
- import { deployToOxygen } from '../../services/deploy.js';
3
- import { output, cli, environment, path } from '@shopify/cli-kit';
4
- import Command from '@shopify/cli-kit/node/base-command';
5
- import { Flags } from '@oclif/core';
6
- export default class Deploy extends Command {
7
- async run() {
8
- const isShopify = await environment.local.isShopify();
9
- if (!isShopify) {
10
- output.warn('Command coming soon...');
11
- return;
12
- }
13
- const { flags } = await this.parse(Deploy);
14
- const dir = flags.path ? path.resolve(flags.path) : process.cwd();
15
- await deployToOxygen({ ...flags, path: dir });
16
- }
17
- }
18
- Deploy.description = 'Deploy your Hydrogen app to Oxygen hosting';
19
- Deploy.hidden = true;
20
- Deploy.flags = {
21
- ...cli.globalFlags,
22
- ...hydrogenFlags,
23
- deploymentToken: Flags.string({
24
- required: true,
25
- env: 'SHOPIFY_HYDROGEN_FLAG_DEPLOYMENT_TOKEN',
26
- description: 'Specify your Oxygen deployment token.',
27
- }),
28
- commitMessage: Flags.string({
29
- env: 'SHOPIFY_HYDROGEN_FLAG_COMMIT_MESSAGE',
30
- description: 'Override the default Git commit message.',
31
- }),
32
- commitAuthor: Flags.string({
33
- env: 'SHOPIFY_HYDROGEN_FLAG_COMMIT_AUTHOR',
34
- description: 'Override the default Git commit author.',
35
- }),
36
- pathToBuild: Flags.string({
37
- hidden: true,
38
- env: 'SHOPIFY_HYDROGEN_FLAG_PATH_TO_BUILD',
39
- description: 'Skip build process and use provided value as build',
40
- }),
41
- healthCheck: Flags.boolean({
42
- env: 'SHOPIFY_HYDROGEN_FLAG_HEALTH_CHECK',
43
- default: true,
44
- description: 'Require a health check before the deployment succeeds.',
45
- }),
46
- assumeYes: Flags.boolean({
47
- char: 'y',
48
- env: 'SHOPIFY_HYDROGEN_FLAG_ASSUME_YES',
49
- default: false,
50
- description: 'Automatic yes to prompts. Assume "yes" as answer to all prompts and run non-interactively.',
51
- }),
52
- oxygenAddress: Flags.string({
53
- hidden: true,
54
- env: 'SHOPIFY_HYDROGEN_FLAG_OXYGEN_ADDRESS',
55
- default: 'oxygen-dms.shopifycloud.com',
56
- }),
57
- };
58
- //# sourceMappingURL=deploy.js.map
@@ -1 +0,0 @@
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,GAAG,EAAE,WAAW,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC/D,OAAO,OAAO,MAAM,oCAAoC,CAAA;AACxD,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IA2ClC,KAAK,CAAC,GAAG;QACd,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAA;QACrD,IAAI,CAAC,SAAS,EAAE;YACd,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,GAAG,CAAC,WAAW;IAClB,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, cli, environment, path} from '@shopify/cli-kit'\nimport Command from '@shopify/cli-kit/node/base-command'\nimport {Flags} from '@oclif/core'\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 ...cli.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 isShopify = await environment.local.isShopify()\n if (!isShopify) {\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,13 +0,0 @@
1
- import Command from '@shopify/cli-kit/node/base-command';
2
- export default class Dev extends Command {
3
- static description: string;
4
- static flags: {
5
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
- force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- host: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- open: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- preset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- };
12
- run(): Promise<void>;
13
- }
@@ -1,31 +0,0 @@
1
- import devService from '../../services/dev.js';
2
- import { hydrogenFlags } from '../../flags.js';
3
- import { path, cli } from '@shopify/cli-kit';
4
- import { Flags } from '@oclif/core';
5
- import Command from '@shopify/cli-kit/node/base-command';
6
- export default class Dev extends Command {
7
- async run() {
8
- const { flags } = await this.parse(Dev);
9
- const directory = flags.path ? path.resolve(flags.path) : process.cwd();
10
- await devService({ directory, ...flags, commandConfig: this.config });
11
- }
12
- }
13
- Dev.description = 'Run a Hydrogen storefront locally for development';
14
- Dev.flags = {
15
- ...cli.globalFlags,
16
- path: hydrogenFlags.path,
17
- force: Flags.boolean({
18
- description: 'force dependency pre-bundling.',
19
- env: 'SHOPIFY_FLAG_DEV_FORCE',
20
- }),
21
- host: Flags.boolean({
22
- description: 'listen on all addresses, including LAN and public addresses.',
23
- env: 'SHOPIFY_FLAG_DEV_HOST',
24
- }),
25
- open: Flags.boolean({
26
- description: 'automatically open the app in the browser',
27
- env: 'SHOPIFY_FLAG_DEV_OPEN',
28
- default: false,
29
- }),
30
- };
31
- //# sourceMappingURL=dev.js.map
@@ -1 +0,0 @@
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,EAAE,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,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,mDAAmD,CAAA;AACjE,SAAK,GAAG;IACb,GAAG,GAAG,CAAC,WAAW;IAClB,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, cli} from '@shopify/cli-kit'\nimport {Flags} from '@oclif/core'\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 ...cli.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"]}
@@ -1,12 +0,0 @@
1
- import Command from '@shopify/cli-kit/node/base-command';
2
- export default class Info extends Command {
3
- static description: string;
4
- static flags: {
5
- showToken: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
- install: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- preset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
- };
11
- run(): Promise<void>;
12
- }
@@ -1,28 +0,0 @@
1
- import { info } from '../../services/info.js';
2
- import { load as loadApp } from '../../models/hydrogen.js';
3
- import { hydrogenFlags } from '../../flags.js';
4
- import { Flags } from '@oclif/core';
5
- import { output, path, cli } from '@shopify/cli-kit';
6
- import Command from '@shopify/cli-kit/node/base-command';
7
- export default class Info extends Command {
8
- async run() {
9
- const { flags } = await this.parse(Info);
10
- const directory = flags.path ? path.resolve(flags.path) : process.cwd();
11
- const app = await loadApp(directory);
12
- output.info(info(app, { showPrivateData: flags.showToken }));
13
- if (app.errors)
14
- process.exit(2);
15
- }
16
- }
17
- Info.description = 'Print basic information about your hydrogen app';
18
- Info.flags = {
19
- ...cli.globalFlags,
20
- ...hydrogenFlags,
21
- showToken: Flags.boolean({
22
- hidden: false,
23
- description: 'Show storefront API token',
24
- default: false,
25
- env: 'SHOPIFY_HYDROGEN_FLAG_SHOW_TOKEN',
26
- }),
27
- };
28
- //# sourceMappingURL=info.js.map
@@ -1 +0,0 @@
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,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAClD,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,iDAAiD,CAAA;AAE/D,UAAK,GAAG;IACb,GAAG,GAAG,CAAC,WAAW;IAClB,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 {output, path, cli} 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 ...cli.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,13 +0,0 @@
1
- import Command from '@shopify/cli-kit/node/base-command';
2
- export default class Preview extends Command {
3
- static description: string;
4
- static flags: {
5
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
- port: import("@oclif/core/lib/interfaces").OptionFlag<string>;
7
- env: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
- target: import("@oclif/core/lib/interfaces").OptionFlag<string>;
9
- preset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- };
12
- run(): Promise<void>;
13
- }
@@ -1,46 +0,0 @@
1
- import { previewInWorker, previewInNode } from '../../services/preview.js';
2
- import { hydrogenFlags } from '../../flags.js';
3
- import { path, cli } from '@shopify/cli-kit';
4
- import { Flags } from '@oclif/core';
5
- import Command from '@shopify/cli-kit/node/base-command';
6
- export default class Preview extends Command {
7
- async run() {
8
- const { flags } = await this.parse(Preview);
9
- const directory = flags.path ? path.resolve(flags.path) : process.cwd();
10
- const port = parseInt(flags.port, 10);
11
- const envPath = flags.env;
12
- if (flags.target === 'worker') {
13
- await previewInWorker({ directory, port, envPath });
14
- }
15
- else if (flags.target === 'node') {
16
- await previewInNode({ directory, port });
17
- }
18
- }
19
- }
20
- Preview.description = 'Run a Hydrogen storefront locally in a worker environment';
21
- Preview.flags = {
22
- ...cli.globalFlags,
23
- path: hydrogenFlags.path,
24
- port: Flags.string({
25
- char: 'p',
26
- hidden: true,
27
- description: 'the port to run the preview server on',
28
- default: '3000',
29
- env: 'SHOPIFY_FLAG_PORT',
30
- }),
31
- env: Flags.string({
32
- char: 'e',
33
- description: 'the file path to your .env',
34
- default: undefined,
35
- parse: (input, _) => Promise.resolve(path.resolve(input)),
36
- env: 'SHOPIFY_FLAG_ENV_PATH',
37
- }),
38
- target: Flags.string({
39
- char: 't',
40
- description: 'the target environment (worker or node)',
41
- options: ['node', 'worker'],
42
- default: 'worker',
43
- env: 'SHOPIFY_FLAG_PREVIEW_TARGET',
44
- }),
45
- };
46
- //# sourceMappingURL=preview.js.map
@@ -1 +0,0 @@
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,EAAE,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,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,2DAA2D,CAAA;AACzE,aAAK,GAAG;IACb,GAAG,GAAG,CAAC,WAAW;IAClB,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, cli} from '@shopify/cli-kit'\nimport {Flags} from '@oclif/core'\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 ...cli.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,15 +0,0 @@
1
- export declare const configurationFileNames: {
2
- readonly hydrogen: "hydrogen.config";
3
- };
4
- export declare const supportedConfigExtensions: string[];
5
- export declare const dotEnvFileNames: {
6
- production: string;
7
- };
8
- export declare const genericConfigurationFileNames: {
9
- readonly tailwind: "tailwind.config";
10
- readonly postCSS: "postcss.config";
11
- readonly eslint: ".eslintrc.js";
12
- readonly typescript: {
13
- readonly config: "tsconfig.json";
14
- };
15
- };
@@ -1,16 +0,0 @@
1
- export const configurationFileNames = {
2
- hydrogen: 'hydrogen.config',
3
- };
4
- export const supportedConfigExtensions = ['ts', 'js', 'mjs', 'cjs', 'json'];
5
- export const dotEnvFileNames = {
6
- production: '.env',
7
- };
8
- export const genericConfigurationFileNames = {
9
- tailwind: 'tailwind.config',
10
- postCSS: 'postcss.config',
11
- eslint: '.eslintrc.js',
12
- typescript: {
13
- config: 'tsconfig.json',
14
- },
15
- };
16
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,iBAAiB;CACnB,CAAA;AAEV,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,MAAM;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE,gBAAgB;IACzB,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE;QACV,MAAM,EAAE,eAAe;KACxB;CACO,CAAA","sourcesContent":["export const configurationFileNames = {\n hydrogen: 'hydrogen.config',\n} as const\n\nexport const supportedConfigExtensions = ['ts', 'js', 'mjs', 'cjs', 'json']\n\nexport const dotEnvFileNames = {\n production: '.env',\n}\n\nexport const genericConfigurationFileNames = {\n tailwind: 'tailwind.config',\n postCSS: 'postcss.config',\n eslint: '.eslintrc.js',\n typescript: {\n config: 'tsconfig.json',\n },\n} as const\n"]}
@@ -1,4 +0,0 @@
1
- export declare const hydrogenFlags: {
2
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
3
- install: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
4
- };
package/dist/cli/flags.js DELETED
@@ -1,16 +0,0 @@
1
- import { Flags } from '@oclif/core';
2
- export const hydrogenFlags = {
3
- path: Flags.string({
4
- hidden: true,
5
- description: 'the path to your hydrogen storefront',
6
- env: 'SHOPIFY_HYDROGEN_FLAG_PATH',
7
- }),
8
- install: Flags.boolean({
9
- hidden: true,
10
- default: true,
11
- description: 'should install packages',
12
- env: 'SHOPIFY_HYDROGEN_FLAG_INSTALL',
13
- allowNo: true,
14
- }),
15
- };
16
- //# sourceMappingURL=flags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/cli/flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,sCAAsC;QACnD,GAAG,EAAE,4BAA4B;KAClC,CAAC;IACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,yBAAyB;QACtC,GAAG,EAAE,+BAA+B;QACpC,OAAO,EAAE,IAAI;KACd,CAAC;CACH,CAAA","sourcesContent":["import {Flags} from '@oclif/core'\n\nexport const hydrogenFlags = {\n path: Flags.string({\n hidden: true,\n description: 'the path to your hydrogen storefront',\n env: 'SHOPIFY_HYDROGEN_FLAG_PATH',\n }),\n install: Flags.boolean({\n hidden: true,\n default: true,\n description: 'should install packages',\n env: 'SHOPIFY_HYDROGEN_FLAG_INSTALL',\n allowNo: true,\n }),\n}\n"]}
@@ -1,22 +0,0 @@
1
- import { PackageManager } from '@shopify/cli-kit/node/node-package-manager';
2
- import type { HydrogenConfig } from '@shopify/hydrogen/config';
3
- export interface HydrogenApp {
4
- name: string;
5
- directory: string;
6
- packageManager: PackageManager;
7
- configuration: HydrogenConfig;
8
- nodeDependencies: {
9
- [key: string]: string;
10
- };
11
- language: 'JavaScript' | 'TypeScript';
12
- errors?: AppErrors;
13
- }
14
- declare class AppErrors {
15
- private errors;
16
- addError(path: string, message: string): void;
17
- getError(path: string): string | undefined;
18
- isEmpty(): boolean;
19
- toJSON(): string[];
20
- }
21
- export declare function load(directory: string): Promise<HydrogenApp>;
22
- export {};
@@ -1,82 +0,0 @@
1
- import { loadConfig } from '../utilities/load-config.js';
2
- import { path, error as kitError, file } from '@shopify/cli-kit';
3
- import { getDependencies, getPackageName, pnpmLockfile, yarnLockfile, } from '@shopify/cli-kit/node/node-package-manager';
4
- class AppErrors {
5
- constructor() {
6
- this.errors = {};
7
- }
8
- addError(path, message) {
9
- this.errors[path] = message;
10
- }
11
- getError(path) {
12
- return this.errors[path];
13
- }
14
- isEmpty() {
15
- return Object.keys(this.errors).length === 0;
16
- }
17
- toJSON() {
18
- return Object.values(this.errors);
19
- }
20
- }
21
- class HydrogenAppLoader {
22
- constructor({ directory }) {
23
- this.errors = new AppErrors();
24
- this.directory = directory;
25
- }
26
- async loaded() {
27
- if (!(await file.exists(this.directory))) {
28
- throw new kitError.Abort(`Couldn't find directory ${this.directory}`);
29
- }
30
- const { configuration } = await this.loadConfig();
31
- const yarnLockPath = path.join(this.directory, yarnLockfile);
32
- const yarnLockExists = await file.exists(yarnLockPath);
33
- const pnpmLockPath = path.join(this.directory, pnpmLockfile);
34
- const pnpmLockExists = await file.exists(pnpmLockPath);
35
- const packageJSONPath = path.join(this.directory, 'package.json');
36
- const name = await getPackageName(packageJSONPath);
37
- const nodeDependencies = await getDependencies(packageJSONPath);
38
- const tsConfigExists = await file.exists(path.join(this.directory, 'tsconfig.json'));
39
- const language = tsConfigExists && nodeDependencies.typescript ? 'TypeScript' : 'JavaScript';
40
- let packageManager;
41
- if (yarnLockExists) {
42
- packageManager = 'yarn';
43
- }
44
- else if (pnpmLockExists) {
45
- packageManager = 'pnpm';
46
- }
47
- else {
48
- packageManager = 'npm';
49
- }
50
- const app = {
51
- name: name ?? path.basename(this.directory),
52
- directory: this.directory,
53
- configuration,
54
- packageManager,
55
- nodeDependencies,
56
- language,
57
- };
58
- if (!this.errors.isEmpty())
59
- app.errors = this.errors;
60
- return app;
61
- }
62
- async loadConfig() {
63
- const abortError = new kitError.Abort(`Couldn't find hydrogen configuration file`);
64
- try {
65
- const config = await loadConfig({ root: this.directory });
66
- if (!config) {
67
- throw abortError;
68
- }
69
- return config;
70
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
- }
72
- catch (error) {
73
- abortError.stack = error.stack;
74
- throw abortError;
75
- }
76
- }
77
- }
78
- export async function load(directory) {
79
- const loader = new HydrogenAppLoader({ directory });
80
- return loader.loaded();
81
- }
82
- //# sourceMappingURL=hydrogen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hydrogen.js","sourceRoot":"","sources":["../../../src/cli/models/hydrogen.ts"],"names":[],"mappings":"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","sourcesContent":["import {loadConfig} from '../utilities/load-config.js'\nimport {path, error as kitError, file} from '@shopify/cli-kit'\nimport {\n getDependencies,\n getPackageName,\n PackageManager,\n pnpmLockfile,\n yarnLockfile,\n} from '@shopify/cli-kit/node/node-package-manager'\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n// @ts-ignore\nimport type {HydrogenConfig} from '@shopify/hydrogen/config'\n/* eslint-enable @typescript-eslint/ban-ts-comment */\n\nexport interface HydrogenApp {\n name: string\n directory: string\n packageManager: PackageManager\n configuration: HydrogenConfig\n nodeDependencies: {[key: string]: string}\n language: 'JavaScript' | 'TypeScript'\n errors?: AppErrors\n}\n\ninterface AppLoaderConstructorArgs {\n directory: string\n}\n\nclass AppErrors {\n private errors: {\n [key: string]: string\n } = {}\n\n addError(path: string, message: string): void {\n this.errors[path] = message\n }\n\n getError(path: string) {\n return this.errors[path]\n }\n\n isEmpty() {\n return Object.keys(this.errors).length === 0\n }\n\n toJSON(): string[] {\n return Object.values(this.errors)\n }\n}\n\nclass HydrogenAppLoader {\n private directory: string\n private errors: AppErrors = new AppErrors()\n\n constructor({directory}: AppLoaderConstructorArgs) {\n this.directory = directory\n }\n\n async loaded() {\n if (!(await file.exists(this.directory))) {\n throw new kitError.Abort(`Couldn't find directory ${this.directory}`)\n }\n\n const {configuration} = await this.loadConfig()\n\n const yarnLockPath = path.join(this.directory, yarnLockfile)\n const yarnLockExists = await file.exists(yarnLockPath)\n const pnpmLockPath = path.join(this.directory, pnpmLockfile)\n const pnpmLockExists = await file.exists(pnpmLockPath)\n const packageJSONPath = path.join(this.directory, 'package.json')\n const name = await getPackageName(packageJSONPath)\n const nodeDependencies = await getDependencies(packageJSONPath)\n const tsConfigExists = await file.exists(path.join(this.directory, 'tsconfig.json'))\n const language = tsConfigExists && nodeDependencies.typescript ? 'TypeScript' : 'JavaScript'\n\n let packageManager: PackageManager\n if (yarnLockExists) {\n packageManager = 'yarn'\n } else if (pnpmLockExists) {\n packageManager = 'pnpm'\n } else {\n packageManager = 'npm'\n }\n\n const app: HydrogenApp = {\n name: name ?? path.basename(this.directory),\n directory: this.directory,\n configuration,\n packageManager,\n nodeDependencies,\n language,\n }\n\n if (!this.errors.isEmpty()) app.errors = this.errors\n\n return app\n }\n\n async loadConfig() {\n const abortError = new kitError.Abort(`Couldn't find hydrogen configuration file`)\n\n try {\n const config = await loadConfig({root: this.directory})\n\n if (!config) {\n throw abortError\n }\n\n return config\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n abortError.stack = error.stack\n throw abortError\n }\n }\n}\n\nexport async function load(directory: string): Promise<HydrogenApp> {\n const loader = new HydrogenAppLoader({directory})\n\n return loader.loaded()\n}\n"]}
@@ -1 +0,0 @@
1
- export declare const gitInit: () => Promise<boolean>;
@@ -1,16 +0,0 @@
1
- import { ui } from '@shopify/cli-kit';
2
- export const gitInit = async () => {
3
- const question = {
4
- type: 'select',
5
- name: 'initialize',
6
- message: "Git version control hasn't been initialized for this directory. Do you want to do that now?",
7
- choices: [
8
- { name: 'Yes', value: 'yes' },
9
- { name: 'No', value: 'no' },
10
- ],
11
- default: 'yes',
12
- };
13
- const promptResults = await ui.prompt([question]);
14
- return promptResults.initialize === 'yes';
15
- };
16
- //# sourceMappingURL=git-init.js.map