@forgecart/cli 2.202610280649.0 → 2.202610280926.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/dist/src/commands/init-questions.d.ts +12 -11
  2. package/dist/src/commands/init-questions.js +15 -23
  3. package/dist/src/commands/init-questions.js.map +1 -1
  4. package/dist/src/commands/init.d.ts +13 -13
  5. package/dist/src/commands/init.js +75 -144
  6. package/dist/src/commands/init.js.map +1 -1
  7. package/dist/src/commands/refresh.d.ts +3 -3
  8. package/dist/src/commands/refresh.js +4 -14
  9. package/dist/src/commands/refresh.js.map +1 -1
  10. package/dist/src/commands/template-manifest.d.ts +2 -5
  11. package/dist/src/commands/template-manifest.js +1 -1
  12. package/dist/src/commands/template-manifest.js.map +1 -1
  13. package/dist/src/commands/type/init.input.d.ts +1 -1
  14. package/dist/src/commands/type/init.types.d.ts +4 -4
  15. package/dist/src/template/template-set.d.ts +17 -27
  16. package/dist/src/template/template-set.js +25 -42
  17. package/dist/src/template/template-set.js.map +1 -1
  18. package/dist/src/template/template-unavailable-error.d.ts +3 -4
  19. package/dist/src/template/template-unavailable-error.js +3 -4
  20. package/dist/src/template/template-unavailable-error.js.map +1 -1
  21. package/dist/src/template/type/template-set.types.d.ts +14 -17
  22. package/dist/src/template/type/template-set.types.js +6 -1
  23. package/dist/src/template/type/template-set.types.js.map +1 -1
  24. package/dist/src/template/util/template-identity.util.d.ts +1 -3
  25. package/dist/src/template/util/template-identity.util.js +0 -5
  26. package/dist/src/template/util/template-identity.util.js.map +1 -1
  27. package/package.json +1 -1
  28. package/templates/storefront-blank/.forgecartignore +2 -0
  29. package/templates/storefront-blank/Procfile +1 -0
  30. package/templates/storefront-blank/README.md +86 -0
  31. package/templates/storefront-blank/SEO-MIGRATION.md +718 -0
  32. package/templates/storefront-blank/_gitignore +21 -0
  33. package/templates/storefront-blank/next.config.js +105 -0
  34. package/templates/storefront-blank/package.json +35 -0
  35. package/templates/storefront-blank/postcss.config.js +5 -0
  36. package/templates/storefront-blank/src/app/%5F%5Ffc/identify/route.ts +205 -0
  37. package/templates/storefront-blank/src/app/%5F%5Ffc/track/route.ts +189 -0
  38. package/templates/storefront-blank/src/app/%5F%5Fforge_beacon/route.ts +87 -0
  39. package/templates/storefront-blank/src/app/api/%5F%5Fbackend/methods/route.ts +27 -0
  40. package/templates/storefront-blank/src/app/error.tsx +21 -0
  41. package/templates/storefront-blank/src/app/global-error.tsx +23 -0
  42. package/templates/storefront-blank/src/app/globals.css +110 -0
  43. package/templates/storefront-blank/src/app/layout.tsx +102 -0
  44. package/templates/storefront-blank/src/app/page.tsx +52 -0
  45. package/templates/storefront-blank/src/app/pages/[slug]/not-found.tsx +23 -0
  46. package/templates/storefront-blank/src/app/pages/[slug]/page.tsx +115 -0
  47. package/templates/storefront-blank/src/app/ping/route.ts +21 -0
  48. package/templates/storefront-blank/src/app/robots.ts +69 -0
  49. package/templates/storefront-blank/src/app/sitemap.ts +107 -0
  50. package/templates/storefront-blank/src/components/ForgeErrorBeacon.tsx +102 -0
  51. package/templates/storefront-blank/src/components/ForgeTracker.tsx +479 -0
  52. package/templates/storefront-blank/src/components/ForgecartDesigner.tsx +43 -0
  53. package/templates/storefront-blank/src/components/LocaleLink.tsx +49 -0
  54. package/templates/storefront-blank/src/instrumentation.ts +109 -0
  55. package/templates/storefront-blank/src/lib/account/account-link.ts +76 -0
  56. package/templates/storefront-blank/src/lib/account/account-state.ts +152 -0
  57. package/templates/storefront-blank/src/lib/account/register-state.ts +133 -0
  58. package/templates/storefront-blank/src/lib/account/reset-password-state.ts +111 -0
  59. package/templates/storefront-blank/src/lib/account/verify-state.ts +56 -0
  60. package/templates/storefront-blank/src/lib/account-actions.ts +76 -0
  61. package/templates/storefront-blank/src/lib/account-session.ts +114 -0
  62. package/templates/storefront-blank/src/lib/action-result.ts +30 -0
  63. package/templates/storefront-blank/src/lib/asset-alt.ts +34 -0
  64. package/templates/storefront-blank/src/lib/backend-actions.ts +20 -0
  65. package/templates/storefront-blank/src/lib/backend-client.ts +47 -0
  66. package/templates/storefront-blank/src/lib/cart-context.tsx +236 -0
  67. package/templates/storefront-blank/src/lib/checkout-session.ts +185 -0
  68. package/templates/storefront-blank/src/lib/content/page-metadata.ts +113 -0
  69. package/templates/storefront-blank/src/lib/content/render-fields.tsx +256 -0
  70. package/templates/storefront-blank/src/lib/content/resolve-page.ts +143 -0
  71. package/templates/storefront-blank/src/lib/error-messages.ts +118 -0
  72. package/templates/storefront-blank/src/lib/experiments.ts +333 -0
  73. package/templates/storefront-blank/src/lib/forgecart.ts +464 -0
  74. package/templates/storefront-blank/src/lib/format.ts +89 -0
  75. package/templates/storefront-blank/src/lib/identify-forward.ts +152 -0
  76. package/templates/storefront-blank/src/lib/locale/channel-locales-loader.ts +169 -0
  77. package/templates/storefront-blank/src/lib/locale/channel-locales-map.ts +46 -0
  78. package/templates/storefront-blank/src/lib/locale/channel-locales.ts +191 -0
  79. package/templates/storefront-blank/src/lib/locale/grammar.ts +194 -0
  80. package/templates/storefront-blank/src/lib/locale/localized-path.ts +55 -0
  81. package/templates/storefront-blank/src/lib/locale/middleware-plan.ts +107 -0
  82. package/templates/storefront-blank/src/lib/locale/request-binding.ts +80 -0
  83. package/templates/storefront-blank/src/lib/locale/request-locale.ts +66 -0
  84. package/templates/storefront-blank/src/lib/marketing-params.ts +213 -0
  85. package/templates/storefront-blank/src/lib/money.ts +50 -0
  86. package/templates/storefront-blank/src/lib/seo/alternates.ts +123 -0
  87. package/templates/storefront-blank/src/lib/seo/json-ld.ts +266 -0
  88. package/templates/storefront-blank/src/lib/seo/metadata.ts +419 -0
  89. package/templates/storefront-blank/src/lib/seo/noindex.ts +223 -0
  90. package/templates/storefront-blank/src/lib/seo/public-origin.ts +166 -0
  91. package/templates/storefront-blank/src/lib/seo/redirect-plan.ts +86 -0
  92. package/templates/storefront-blank/src/lib/seo/resolve-path.ts +107 -0
  93. package/templates/storefront-blank/src/lib/seo/scaffolded-routes.ts +83 -0
  94. package/templates/storefront-blank/src/lib/seo/sidecar.ts +75 -0
  95. package/templates/storefront-blank/src/lib/seo/site-verification.ts +98 -0
  96. package/templates/storefront-blank/src/lib/seo/sitemap-cache.ts +114 -0
  97. package/templates/storefront-blank/src/lib/seo/sitemap-entries.ts +310 -0
  98. package/templates/storefront-blank/src/lib/session-actions.ts +61 -0
  99. package/templates/storefront-blank/src/lib/session-cookies.ts +98 -0
  100. package/templates/storefront-blank/src/lib/shop-config.ts +51 -0
  101. package/templates/storefront-blank/src/lib/shop-session.ts +204 -0
  102. package/templates/storefront-blank/src/lib/track-forward.ts +200 -0
  103. package/templates/storefront-blank/src/lib/uuid.ts +19 -0
  104. package/templates/storefront-blank/src/middleware.ts +379 -0
  105. package/templates/storefront-blank/src/seo/redirects.ts +44 -0
  106. package/templates/storefront-blank/src/seo/static-routes.ts +12 -0
  107. package/templates/storefront-blank/src/server/app.module.ts +18 -0
  108. package/templates/storefront-blank/src/server/backend-api.ts +21 -0
  109. package/templates/storefront-blank/src/server/backend-method.decorator.ts +23 -0
  110. package/templates/storefront-blank/src/server/bootstrap.ts +122 -0
  111. package/templates/storefront-blank/src/server/forge/live-revision.ts +158 -0
  112. package/templates/storefront-blank/src/server/forgecart/forgecart-client.factory.ts +73 -0
  113. package/templates/storefront-blank/src/server/forgecart/forgecart.module.ts +9 -0
  114. package/templates/storefront-blank/src/server/runner.ts +90 -0
  115. package/templates/storefront-blank/src/server/types.ts +36 -0
  116. package/templates/storefront-blank/tsconfig.json +25 -0
  117. package/templates/storefront-blank-sdk-floor.json +1174 -0
  118. package/templates/storefront-shadcn-blank/.forgecartignore +2 -0
  119. package/templates/storefront-shadcn-blank/Procfile +1 -0
  120. package/templates/storefront-shadcn-blank/README.md +93 -0
  121. package/templates/storefront-shadcn-blank/SEO-MIGRATION.md +718 -0
  122. package/templates/storefront-shadcn-blank/_gitignore +21 -0
  123. package/templates/storefront-shadcn-blank/components.json +20 -0
  124. package/templates/storefront-shadcn-blank/next.config.js +105 -0
  125. package/templates/storefront-shadcn-blank/package.json +42 -0
  126. package/templates/storefront-shadcn-blank/postcss.config.js +5 -0
  127. package/templates/storefront-shadcn-blank/src/app/%5F%5Ffc/identify/route.ts +205 -0
  128. package/templates/storefront-shadcn-blank/src/app/%5F%5Ffc/track/route.ts +189 -0
  129. package/templates/storefront-shadcn-blank/src/app/%5F%5Fforge_beacon/route.ts +87 -0
  130. package/templates/storefront-shadcn-blank/src/app/api/%5F%5Fbackend/methods/route.ts +27 -0
  131. package/templates/storefront-shadcn-blank/src/app/error.tsx +23 -0
  132. package/templates/storefront-shadcn-blank/src/app/global-error.tsx +23 -0
  133. package/templates/storefront-shadcn-blank/src/app/globals.css +156 -0
  134. package/templates/storefront-shadcn-blank/src/app/layout.tsx +102 -0
  135. package/templates/storefront-shadcn-blank/src/app/page.tsx +53 -0
  136. package/templates/storefront-shadcn-blank/src/app/pages/[slug]/not-found.tsx +24 -0
  137. package/templates/storefront-shadcn-blank/src/app/pages/[slug]/page.tsx +115 -0
  138. package/templates/storefront-shadcn-blank/src/app/ping/route.ts +21 -0
  139. package/templates/storefront-shadcn-blank/src/app/robots.ts +69 -0
  140. package/templates/storefront-shadcn-blank/src/app/sitemap.ts +107 -0
  141. package/templates/storefront-shadcn-blank/src/components/ForgeErrorBeacon.tsx +102 -0
  142. package/templates/storefront-shadcn-blank/src/components/ForgeTracker.tsx +479 -0
  143. package/templates/storefront-shadcn-blank/src/components/ForgecartDesigner.tsx +43 -0
  144. package/templates/storefront-shadcn-blank/src/components/LocaleLink.tsx +49 -0
  145. package/templates/storefront-shadcn-blank/src/components/ui/alert.tsx +75 -0
  146. package/templates/storefront-shadcn-blank/src/components/ui/badge.tsx +40 -0
  147. package/templates/storefront-shadcn-blank/src/components/ui/button.tsx +64 -0
  148. package/templates/storefront-shadcn-blank/src/components/ui/card.tsx +28 -0
  149. package/templates/storefront-shadcn-blank/src/components/ui/input.tsx +26 -0
  150. package/templates/storefront-shadcn-blank/src/components/ui/label.tsx +22 -0
  151. package/templates/storefront-shadcn-blank/src/components/ui/native-select.tsx +27 -0
  152. package/templates/storefront-shadcn-blank/src/components/ui/skeleton.tsx +21 -0
  153. package/templates/storefront-shadcn-blank/src/components/ui/utils.ts +16 -0
  154. package/templates/storefront-shadcn-blank/src/instrumentation.ts +109 -0
  155. package/templates/storefront-shadcn-blank/src/lib/account/account-link.ts +76 -0
  156. package/templates/storefront-shadcn-blank/src/lib/account/account-state.ts +152 -0
  157. package/templates/storefront-shadcn-blank/src/lib/account/register-state.ts +133 -0
  158. package/templates/storefront-shadcn-blank/src/lib/account/reset-password-state.ts +111 -0
  159. package/templates/storefront-shadcn-blank/src/lib/account/verify-state.ts +56 -0
  160. package/templates/storefront-shadcn-blank/src/lib/account-actions.ts +76 -0
  161. package/templates/storefront-shadcn-blank/src/lib/account-session.ts +114 -0
  162. package/templates/storefront-shadcn-blank/src/lib/action-result.ts +30 -0
  163. package/templates/storefront-shadcn-blank/src/lib/asset-alt.ts +34 -0
  164. package/templates/storefront-shadcn-blank/src/lib/backend-actions.ts +20 -0
  165. package/templates/storefront-shadcn-blank/src/lib/backend-client.ts +47 -0
  166. package/templates/storefront-shadcn-blank/src/lib/cart-context.tsx +236 -0
  167. package/templates/storefront-shadcn-blank/src/lib/checkout-session.ts +185 -0
  168. package/templates/storefront-shadcn-blank/src/lib/content/page-metadata.ts +113 -0
  169. package/templates/storefront-shadcn-blank/src/lib/content/render-fields.tsx +256 -0
  170. package/templates/storefront-shadcn-blank/src/lib/content/resolve-page.ts +143 -0
  171. package/templates/storefront-shadcn-blank/src/lib/error-messages.ts +118 -0
  172. package/templates/storefront-shadcn-blank/src/lib/experiments.ts +333 -0
  173. package/templates/storefront-shadcn-blank/src/lib/forgecart.ts +464 -0
  174. package/templates/storefront-shadcn-blank/src/lib/format.ts +89 -0
  175. package/templates/storefront-shadcn-blank/src/lib/identify-forward.ts +152 -0
  176. package/templates/storefront-shadcn-blank/src/lib/locale/channel-locales-loader.ts +169 -0
  177. package/templates/storefront-shadcn-blank/src/lib/locale/channel-locales-map.ts +46 -0
  178. package/templates/storefront-shadcn-blank/src/lib/locale/channel-locales.ts +191 -0
  179. package/templates/storefront-shadcn-blank/src/lib/locale/grammar.ts +194 -0
  180. package/templates/storefront-shadcn-blank/src/lib/locale/localized-path.ts +55 -0
  181. package/templates/storefront-shadcn-blank/src/lib/locale/middleware-plan.ts +107 -0
  182. package/templates/storefront-shadcn-blank/src/lib/locale/request-binding.ts +80 -0
  183. package/templates/storefront-shadcn-blank/src/lib/locale/request-locale.ts +66 -0
  184. package/templates/storefront-shadcn-blank/src/lib/marketing-params.ts +213 -0
  185. package/templates/storefront-shadcn-blank/src/lib/money.ts +50 -0
  186. package/templates/storefront-shadcn-blank/src/lib/seo/alternates.ts +123 -0
  187. package/templates/storefront-shadcn-blank/src/lib/seo/json-ld.ts +266 -0
  188. package/templates/storefront-shadcn-blank/src/lib/seo/metadata.ts +419 -0
  189. package/templates/storefront-shadcn-blank/src/lib/seo/noindex.ts +223 -0
  190. package/templates/storefront-shadcn-blank/src/lib/seo/public-origin.ts +166 -0
  191. package/templates/storefront-shadcn-blank/src/lib/seo/redirect-plan.ts +86 -0
  192. package/templates/storefront-shadcn-blank/src/lib/seo/resolve-path.ts +107 -0
  193. package/templates/storefront-shadcn-blank/src/lib/seo/scaffolded-routes.ts +83 -0
  194. package/templates/storefront-shadcn-blank/src/lib/seo/sidecar.ts +75 -0
  195. package/templates/storefront-shadcn-blank/src/lib/seo/site-verification.ts +98 -0
  196. package/templates/storefront-shadcn-blank/src/lib/seo/sitemap-cache.ts +114 -0
  197. package/templates/storefront-shadcn-blank/src/lib/seo/sitemap-entries.ts +310 -0
  198. package/templates/storefront-shadcn-blank/src/lib/session-actions.ts +61 -0
  199. package/templates/storefront-shadcn-blank/src/lib/session-cookies.ts +98 -0
  200. package/templates/storefront-shadcn-blank/src/lib/shop-config.ts +51 -0
  201. package/templates/storefront-shadcn-blank/src/lib/shop-session.ts +204 -0
  202. package/templates/storefront-shadcn-blank/src/lib/track-forward.ts +200 -0
  203. package/templates/storefront-shadcn-blank/src/lib/uuid.ts +19 -0
  204. package/templates/storefront-shadcn-blank/src/middleware.ts +379 -0
  205. package/templates/storefront-shadcn-blank/src/seo/redirects.ts +44 -0
  206. package/templates/storefront-shadcn-blank/src/seo/static-routes.ts +12 -0
  207. package/templates/storefront-shadcn-blank/src/server/app.module.ts +18 -0
  208. package/templates/storefront-shadcn-blank/src/server/backend-api.ts +21 -0
  209. package/templates/storefront-shadcn-blank/src/server/backend-method.decorator.ts +23 -0
  210. package/templates/storefront-shadcn-blank/src/server/bootstrap.ts +122 -0
  211. package/templates/storefront-shadcn-blank/src/server/forge/live-revision.ts +158 -0
  212. package/templates/storefront-shadcn-blank/src/server/forgecart/forgecart-client.factory.ts +73 -0
  213. package/templates/storefront-shadcn-blank/src/server/forgecart/forgecart.module.ts +9 -0
  214. package/templates/storefront-shadcn-blank/src/server/runner.ts +90 -0
  215. package/templates/storefront-shadcn-blank/src/server/types.ts +36 -0
  216. package/templates/storefront-shadcn-blank/tsconfig.json +25 -0
  217. package/templates/storefront-shadcn-blank-sdk-floor.json +1174 -0
  218. package/templates/template-set.json +15 -0
@@ -4,13 +4,14 @@ import type { InitQuestionsInput } from './type/init.input.js';
4
4
  import type { SettledScaffold } from './type/init.types.js';
5
5
  /**
6
6
  * `forgecart init`'s questions (#2774), asked once the credentials are given:
7
- * the UI framework (`ui-framework`), an example or a blank storefront
8
- * (`example`) and — for an example only — a demo catalog (`catalog`). Each
9
- * declares its default: the release's first framework, its first example, no
10
- * catalog. `--ui`, `--example` and `--catalog` / `--no-catalog` answer on the
11
- * command line; a question they leave open goes to the ONE question adapter
12
- * (#2771) — `--answer`, `--answers-file`, `--yes`, a terminal prompt, or exit 2
13
- * naming it. Every asking mints fresh question ids.
7
+ * the UI framework (`ui-framework`), the example (`example`) — every example
8
+ * the release ships, blank the last of them (#3480) — and, for every example
9
+ * but blank, a demo catalog (`catalog`). Each declares its default: the
10
+ * release's first framework, its first example, no catalog. `--ui`,
11
+ * `--example` and `--catalog` / `--no-catalog` answer on the command line; a
12
+ * question they leave open goes to the ONE question adapter (#2771) —
13
+ * `--answer`, `--answers-file`, `--yes`, a terminal prompt, or exit 2 naming
14
+ * it. Every asking mints fresh question ids.
14
15
  */
15
16
  export declare class InitQuestions {
16
17
  private readonly templateSet;
@@ -23,10 +24,10 @@ export declare class InitQuestions {
23
24
  */
24
25
  constructor(templateSet: TemplateSet, flags: InitQuestionsInput, prompt: QuestionPrompt);
25
26
  /**
26
- * Ask, in order, and settle where the answers render from: an identity the
27
+ * Ask, in order, and settle the row the answers render from: an identity the
27
28
  * release renders no template for is refused before the catalog question,
28
- * and the catalog question is asked for an example only — a blank storefront
29
- * renders no template and takes no catalog (#2775).
29
+ * and the catalog question is never asked of a blank storefront, which takes
30
+ * no demo catalog (#2775).
30
31
  */
31
32
  ask(): Promise<SettledScaffold>;
32
33
  /** The UI framework and the example: what the flags leave open is asked in one go. */
@@ -37,7 +38,7 @@ export declare class InitQuestions {
37
38
  private askOpen;
38
39
  /** `ui-framework`: the UI frameworks the release ships, in its order. */
39
40
  private uiFrameworkQuestion;
40
- /** `example`: the examples the release ships, in its order, then blank. */
41
+ /** `example`: the examples the release ships, in its order. */
41
42
  private exampleQuestion;
42
43
  /** `catalog`: whether a demo catalog comes with the example. */
43
44
  private catalogQuestion;
@@ -14,12 +14,6 @@ var InitQuestionKey;
14
14
  const DEMO_CATALOG = 'yes';
15
15
  /** The `catalog` option that adds none — the question's default. */
16
16
  const NO_CATALOG = 'no';
17
- /** The `example` question's last option: a storefront that starts from no example. */
18
- const BLANK_OPTION = {
19
- id: BLANK_EXAMPLE,
20
- label: 'Blank',
21
- hint: 'An empty storefront, with no example pages.',
22
- };
23
17
  /** The `catalog` question's options, its default first. */
24
18
  const CATALOG_OPTIONS = [
25
19
  { id: NO_CATALOG, label: 'No', hint: 'The example shows the channel’s own products.' },
@@ -27,13 +21,14 @@ const CATALOG_OPTIONS = [
27
21
  ];
28
22
  /**
29
23
  * `forgecart init`'s questions (#2774), asked once the credentials are given:
30
- * the UI framework (`ui-framework`), an example or a blank storefront
31
- * (`example`) and — for an example only — a demo catalog (`catalog`). Each
32
- * declares its default: the release's first framework, its first example, no
33
- * catalog. `--ui`, `--example` and `--catalog` / `--no-catalog` answer on the
34
- * command line; a question they leave open goes to the ONE question adapter
35
- * (#2771) — `--answer`, `--answers-file`, `--yes`, a terminal prompt, or exit 2
36
- * naming it. Every asking mints fresh question ids.
24
+ * the UI framework (`ui-framework`), the example (`example`) — every example
25
+ * the release ships, blank the last of them (#3480) — and, for every example
26
+ * but blank, a demo catalog (`catalog`). Each declares its default: the
27
+ * release's first framework, its first example, no catalog. `--ui`,
28
+ * `--example` and `--catalog` / `--no-catalog` answer on the command line; a
29
+ * question they leave open goes to the ONE question adapter (#2771) —
30
+ * `--answer`, `--answers-file`, `--yes`, a terminal prompt, or exit 2 naming
31
+ * it. Every asking mints fresh question ids.
37
32
  */
38
33
  export class InitQuestions {
39
34
  templateSet;
@@ -50,16 +45,16 @@ export class InitQuestions {
50
45
  this.prompt = prompt;
51
46
  }
52
47
  /**
53
- * Ask, in order, and settle where the answers render from: an identity the
48
+ * Ask, in order, and settle the row the answers render from: an identity the
54
49
  * release renders no template for is refused before the catalog question,
55
- * and the catalog question is asked for an example only — a blank storefront
56
- * renders no template and takes no catalog (#2775).
50
+ * and the catalog question is never asked of a blank storefront, which takes
51
+ * no demo catalog (#2775).
57
52
  */
58
53
  async ask() {
59
54
  const identity = await this.askIdentity();
60
- const source = this.templateSet.templateSource(identity);
55
+ const template = this.templateSet.template(identity);
61
56
  const catalog = await this.askCatalog(identity);
62
- return { answers: { ...identity, catalog }, source };
57
+ return { answers: { ...identity, catalog }, template };
63
58
  }
64
59
  /** The UI framework and the example: what the flags leave open is asked in one go. */
65
60
  async askIdentity() {
@@ -94,12 +89,9 @@ export class InitQuestions {
94
89
  uiFrameworkQuestion() {
95
90
  return InitQuestions.choice(InitQuestionKey.uiFramework, 'Which UI framework?', this.templateSet.uiFrameworks);
96
91
  }
97
- /** `example`: the examples the release ships, in its order, then blank. */
92
+ /** `example`: the examples the release ships, in its order. */
98
93
  exampleQuestion() {
99
- return InitQuestions.choice(InitQuestionKey.example, 'Start from an example, or blank?', [
100
- ...this.templateSet.examples,
101
- BLANK_OPTION,
102
- ]);
94
+ return InitQuestions.choice(InitQuestionKey.example, 'Start from an example, or blank?', this.templateSet.examples);
103
95
  }
104
96
  /** `catalog`: whether a demo catalog comes with the example. */
105
97
  catalogQuestion() {
@@ -1 +1 @@
1
- {"version":3,"file":"init-questions.js","sourceRoot":"","sources":["../../../src/commands/init-questions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-questions.js","sourceRoot":"","sources":["../../../src/commands/init-questions.ts"],"names":[],"mappings":"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"}
@@ -117,19 +117,19 @@ export interface InitOptions extends QuestionPromptInput, InitQuestionsInput {
117
117
  * questions ({@link InitQuestions}) — refusing, before any file is written, a
118
118
  * template the release does not render — scaffolds the storefront from the
119
119
  * warmed template of the answers' identity when one is available (see {@link
120
- * resolveScaffoldPlan}) or the template the answers picked otherwise — or, for
121
- * a blank storefront, nothing at all (#2775) — refuses a scaffold the copy
122
- * landed no `.gitignore` in (#3477), proves every file the render inventories
123
- * and every proof path of its UI framework's kit landed
124
- * ({@link proveRenderedRow}, #3482), writes the ForgeCart config with the
125
- * answers and `.env`, inventories the render under its template identity with
126
- * the workspace's design-system seat — the one it records, else the one the
127
- * answers determine (#2808) — mirrored into the config, and prints the row it
128
- * rendered and the next steps. Throws a clear Error on any failure (unrendered
129
- * template, missing template, copy failure, a scaffold the copy landed no
130
- * `.gitignore` in, a render missing a file or a kit proof path — each refused
131
- * before its config is written — or an unreachable admin API), and refuses on
132
- * exit 3 when the authorization ends unapproved; an unanswered question exits 2
120
+ * resolveTemplatePlan}) or the row the answers picked otherwise — the blank
121
+ * example's row included (#3480) — refuses a scaffold the copy landed no
122
+ * `.gitignore` in (#3477), proves every file the render inventories and every
123
+ * proof path of its UI framework's kit landed ({@link proveRenderedRow},
124
+ * #3482), writes the ForgeCart config with the answers and `.env`, inventories
125
+ * the render under its template identity with the workspace's design-system
126
+ * seat — the one it records, else the one the answers determine (#2808) —
127
+ * mirrored into the config, and prints the row it rendered and the next steps.
128
+ * Throws a clear Error on any failure (unrendered template, missing template,
129
+ * copy failure, a scaffold the copy landed no `.gitignore` in, a render missing
130
+ * a file or a kit proof path — each refused before its config is written — or
131
+ * an unreachable admin API), and refuses on exit 3 when the authorization ends
132
+ * unapproved; an unanswered question exits 2
133
133
  * through the question adapter's refusal.
134
134
  */
135
135
  export declare function runInit(name: string | undefined, options: InitOptions, templateSet: TemplateSet): Promise<void>;
@@ -6,12 +6,12 @@ import { print } from '../output.js';
6
6
  import { QuestionPromptAdapter } from '../question/question-prompt.adapter.js';
7
7
  import { SYNC_EXCHANGE_TIMEOUT_SECONDS, SyncRunner } from '../sync/sync.runner.js';
8
8
  import { TemplateSet } from '../template/template-set.js';
9
- import { describeTemplateIdentity, isBlankTemplate, parseTemplateIdentity, PRE_IDENTITY_TEMPLATE, sameTemplateIdentity, } from '../template/util/template-identity.util.js';
9
+ import { describeTemplateIdentity, parseTemplateIdentity, PRE_IDENTITY_TEMPLATE, sameTemplateIdentity, } from '../template/util/template-identity.util.js';
10
10
  import { mergeDotenv } from '../util/dotenv.util.js';
11
11
  import { readPackageVersion } from '../version.js';
12
12
  import { describeDesignSystem, stampDesignSystem, templateDesignSystem, } from './design-system-seat.js';
13
13
  import { InitQuestions } from './init-questions.js';
14
- import { inventoryTemplate, listTemplateRenders, manifestTemplate, readTemplateManifest, serializeTemplateManifest, templateManifestPath, writeTemplateManifest, } from './template-manifest.js';
14
+ import { inventoryTemplate, listTemplateRenders, readTemplateManifest, serializeTemplateManifest, templateManifestPath, writeTemplateManifest, } from './template-manifest.js';
15
15
  /**
16
16
  * Environment variable naming a dependency-warmed storefront template — a copy
17
17
  * of one bundled template with `node_modules` (and the generated
@@ -112,31 +112,22 @@ function passOverLine(warmedDir, warmed, scaffold) {
112
112
  'scaffolding from the bundled template.');
113
113
  }
114
114
  /**
115
- * Decide how to source the scaffold of `identity`. A blank storefront has no
116
- * template, so nothing to source (#2775); any other identity renders from its
117
- * bundled template directory, warmed or not ({@link resolveTemplatePlan}).
118
- */
119
- async function resolveScaffoldPlan(source, identity) {
120
- if (source.kind === 'blank')
121
- return { source: 'blank' };
122
- if (!(await isDirectory(source.templateDir))) {
123
- throw new Error(`Storefront template not found at ${source.templateDir}.`);
124
- }
125
- return resolveTemplatePlan(source.templateDir, identity);
126
- }
127
- /**
128
- * Decide how to source a template scaffold. The warmed template is used only
129
- * when {@link WORKSPACE_TEMPLATE_DIR_ENV} points at a directory that actually
130
- * contains an installed `node_modules` and was warmed from the identity the
131
- * scaffold renders (#2775, {@link readWarmedIdentity}) — a warmed template of
132
- * another identity, or with an unreadable record of one, is passed over with
133
- * one printed line naming both; full reuse (skipping the install) additionally
134
- * requires its manifest to match the bundled template's, byte for semantic
135
- * byte. Every failure mode degrades to the cold bundled path, so images without
136
- * a warmed template — and machines where the variable is unset — behave exactly
137
- * as before.
115
+ * Decide how to source the scaffold of `identity` from its bundled template
116
+ * directory, refused when the release ships no tree there. The warmed template
117
+ * is used only when {@link WORKSPACE_TEMPLATE_DIR_ENV} points at a directory
118
+ * that actually contains an installed `node_modules` and was warmed from the
119
+ * identity the scaffold renders (#2775, {@link readWarmedIdentity}) — a warmed
120
+ * template of another identity, or with an unreadable record of one, is passed
121
+ * over with one printed line naming both; full reuse (skipping the install)
122
+ * additionally requires its manifest to match the bundled template's, byte for
123
+ * semantic byte. Every failure mode degrades to the cold bundled path, so
124
+ * images without a warmed template — and machines where the variable is unset
125
+ * — behave exactly as before.
138
126
  */
139
127
  async function resolveTemplatePlan(bundledTemplateDir, identity) {
128
+ if (!(await isDirectory(bundledTemplateDir))) {
129
+ throw new Error(`Storefront template not found at ${bundledTemplateDir}.`);
130
+ }
140
131
  const bundled = { source: 'bundled', templateDir: bundledTemplateDir };
141
132
  const warmedDir = process.env[WORKSPACE_TEMPLATE_DIR_ENV];
142
133
  if (!warmedDir)
@@ -327,12 +318,9 @@ async function settleInPlaceDesignSystem(targetDir, manifest, scaffold) {
327
318
  /**
328
319
  * Land the plan's files in the target: the template tree, each carried file
329
320
  * renamed to the name it renders under ({@link renderCarriedFiles}) — plus,
330
- * when the manifests diverged, the warmed `node_modules` as a seed — or, for a
331
- * blank storefront, nothing at all.
321
+ * when the manifests diverged, the warmed `node_modules` as a seed.
332
322
  */
333
323
  async function landScaffold(targetDir, plan) {
334
- if (plan.source === 'blank')
335
- return;
336
324
  await cp(plan.templateDir, targetDir, { recursive: true });
337
325
  await renderCarriedFiles(targetDir, plan.templateDir);
338
326
  if (plan.source !== 'bundled-with-warmed-modules')
@@ -358,38 +346,24 @@ async function renderCarriedFiles(targetDir, templateDir) {
358
346
  * channel config is written: the `.env` init writes holds the channel's
359
347
  * credentials, and the rendered `.gitignore` is what keeps it out of a commit.
360
348
  * A release whose template carries no `_gitignore` is refused, never
361
- * scaffolded without one. A blank storefront renders no template.
349
+ * scaffolded without one — the blank example's row included (#3480).
362
350
  */
363
351
  async function assertGitignoreLanded(targetDir, plan) {
364
- if (plan.source === 'blank')
365
- return;
366
352
  const gitignorePath = join(targetDir, SCAFFOLD_GITIGNORE_RELPATH);
367
353
  if (await isFile(gitignorePath))
368
354
  return;
369
355
  throw new Error(`The storefront template at ${plan.templateDir} rendered no ${gitignorePath}, ` +
370
356
  'so nothing keeps the .env holding the channel credentials out of a commit.');
371
357
  }
372
- /**
373
- * The render's inventory for the template manifest: every file the plan's
374
- * template landed, hashed from the plan's template dir — the exact bytes the
375
- * copy landed — and none for a blank storefront, which renders no file.
376
- */
377
- async function inventoryOf(plan) {
378
- if (plan.source === 'blank')
379
- return {};
380
- return inventoryTemplate(plan.templateDir);
381
- }
382
358
  /**
383
359
  * Prove the template scaffold landed whole (#3482) and name the row it
384
360
  * rendered: every file the render inventories, then every path the template
385
361
  * set records as proof of its UI framework's kit, stands in the target. The
386
362
  * first one missing is refused by name, before any config or `.env` is written,
387
363
  * so a release whose tree lacks part of its kit never leaves a workspace that
388
- * reads as scaffolded. None for a blank storefront, which renders no template.
364
+ * reads as scaffolded — the blank example's row included (#3480).
389
365
  */
390
- async function proveRenderedRow(targetDir, source, identity, inventory, kit) {
391
- if (source.kind === 'blank')
392
- return undefined;
366
+ async function proveRenderedRow(targetDir, template, inventory, kit) {
393
367
  const inventoried = Object.keys(inventory);
394
368
  const landed = await Promise.all([...inventoried, ...kit.proof].map(async (relpath) => ({
395
369
  relpath,
@@ -397,11 +371,15 @@ async function proveRenderedRow(targetDir, source, identity, inventory, kit) {
397
371
  })));
398
372
  const missing = landed.find(({ present }) => !present)?.relpath;
399
373
  if (missing !== undefined) {
400
- throw new Error(`The ${describeTemplateIdentity(identity)} scaffold from templates/${source.directory} is ` +
374
+ throw new Error(`The ${describeTemplateIdentity(template)} scaffold from templates/${template.directory} is ` +
401
375
  `incomplete: ${missing} did not land in ${targetDir}. No .forgecart/config.json or .env ` +
402
376
  'was written.');
403
377
  }
404
- return { identity, directory: source.directory, fileCount: inventoried.length, kit };
378
+ const identity = {
379
+ uiFramework: template.uiFramework,
380
+ example: template.example,
381
+ };
382
+ return { identity, directory: template.directory, fileCount: inventoried.length, kit };
405
383
  }
406
384
  /**
407
385
  * The one line naming the row a scaffold rendered (#3482): `Rendered
@@ -414,16 +392,6 @@ function describeRenderedRow({ identity, directory, fileCount, kit }, designSyst
414
392
  `${String(fileCount)} ${files} · ${kit.summary} (${kit.proof.join(', ')}) · ` +
415
393
  `design system: ${describeDesignSystem(designSystem)}`);
416
394
  }
417
- /**
418
- * Whether the tree at `targetDir` is a workspace a scaffold left: a storefront,
419
- * by its `package.json`, or a blank workspace (#2775), by the manifest naming
420
- * blank — a blank workspace has no `package.json`.
421
- */
422
- async function isScaffolded(targetDir, manifest) {
423
- if (manifest !== null && isBlankTemplate(manifestTemplate(manifest)))
424
- return true;
425
- return isFile(join(targetDir, 'package.json'));
426
- }
427
395
  /** The `--application` note: the NestJS application scaffold is not here yet. */
428
396
  function printApplicationNote(application) {
429
397
  if (!application)
@@ -432,9 +400,14 @@ function printApplicationNote(application) {
432
400
  'in a later phase (TODO).');
433
401
  print('');
434
402
  }
435
- /** Print the post-scaffold next steps. */
436
- function printNextSteps(targetDir, application, depsInstalled) {
403
+ /**
404
+ * Print what the scaffold rendered — the row, on one line naming its tree under
405
+ * `templates/`, how many files it landed, its UI framework's kit and the
406
+ * workspace's design system (#3482) — and the next steps.
407
+ */
408
+ function printScaffolded(targetDir, application, rendered, designSystem, depsInstalled) {
437
409
  print('');
410
+ print(describeRenderedRow(rendered, designSystem));
438
411
  print(depsInstalled
439
412
  ? 'Storefront scaffolded successfully (dependencies pre-installed from the warmed template).'
440
413
  : 'Storefront scaffolded successfully.');
@@ -448,39 +421,9 @@ function printNextSteps(targetDir, application, depsInstalled) {
448
421
  print('');
449
422
  printApplicationNote(application);
450
423
  }
451
- /**
452
- * Print what a blank scaffold left (#2775): the workspace's `.forgecart/` record
453
- * and nothing to install or serve.
454
- */
455
- function printBlankScaffold(targetDir, application) {
456
- print('');
457
- print(`Blank workspace created at ${targetDir}: .forgecart/ records the answers, ` +
458
- 'and no storefront template was rendered — there is nothing to install or serve.');
459
- print('');
460
- printApplicationNote(application);
461
- }
462
- /**
463
- * Print what the scaffold the plan sourced left: the row it rendered, on one
464
- * line naming its kit and the workspace's design system (#3482), and the next
465
- * steps — or, for a blank storefront, which renders no row, its record alone.
466
- */
467
- function printScaffolded(targetDir, application, plan, rendered, designSystem) {
468
- if (rendered === undefined) {
469
- printBlankScaffold(targetDir, application);
470
- return;
471
- }
472
- print('');
473
- print(describeRenderedRow(rendered, designSystem));
474
- printNextSteps(targetDir, application, plan.source === 'warmed');
475
- }
476
424
  /** Print the post-scaffold summary for the `--config-only` serve-in-place path. */
477
- function printConfigOnly(targetDir, blank) {
425
+ function printConfigOnly(targetDir) {
478
426
  print('');
479
- if (blank) {
480
- print('Blank workspace configured: there is no storefront to install or serve.');
481
- print('');
482
- return;
483
- }
484
427
  print('Storefront configured (pre-warmed: dependencies and dev cache already in place).');
485
428
  print('');
486
429
  print('Next steps:');
@@ -586,55 +529,42 @@ function assertNoPodDriveFlags(options) {
586
529
  }
587
530
  /**
588
531
  * What an approval wrote, and where — printed on the run the approval landed in,
589
- * and only there. A blank workspace (#2775) renders no template, so no rendered
590
- * `.gitignore` keeps its `.env` out of a commit ({@link printEnvCommitNote}).
532
+ * and only there. Every row of the template set renders the `.gitignore` its
533
+ * template carries, which lists `.env` (#3477) — the blank example's included
534
+ * (#3480).
591
535
  */
592
- function printCredentialsWritten(authorized, blank) {
536
+ function printCredentialsWritten(authorized) {
593
537
  if (!authorized)
594
538
  return;
595
539
  print('');
596
540
  print(' ✓ Wrote FORGECART_CHANNEL_TOKEN, FORGECART_ADMIN_SECRET, FORGECART_SHOP_API_URL');
597
- printEnvCommitNote(blank);
598
- print('');
599
- print(' ✓ Recorded the store in .forgecart/config.json (no secrets there).');
600
- }
601
- /**
602
- * Where the written `.env` stands against a commit: a storefront scaffold
603
- * renders the `.gitignore` its template carries, which lists `.env` (#3477); a
604
- * blank workspace has no `.gitignore`.
605
- */
606
- function printEnvCommitNote(blank) {
607
- if (blank) {
608
- print(' and FORGECART_ADMIN_API_URL to .env — a blank workspace has no .gitignore,');
609
- print(' so keep .env out of every commit.');
610
- return;
611
- }
612
541
  print(' and FORGECART_ADMIN_API_URL to .env — .env is listed in the rendered .gitignore,');
613
542
  print(' so the credentials never enter a commit.');
543
+ print('');
544
+ print(' ✓ Recorded the store in .forgecart/config.json (no secrets there).');
614
545
  }
615
546
  /**
616
- * Serve-in-place: the target is already a scaffolded workspace — a warm
617
- * storefront materialized from the image's pre-warmed tree (node_modules + a
618
- * warm `.next`), or a blank workspace (#2775). Write only the per-channel
619
- * config + env — copying the template would clobber the pre-warmed `.next` and
620
- * bust the Turbopack dev cache the bake exists to provide — and ask nothing: the
621
- * tree already has its template identity, and its config keeps the scaffold
622
- * record it carries and mirrors the design-system seat the workspace records
623
- * (#2773), settled first ({@link settleInPlaceDesignSystem}, #2808).
624
- * The channel is resolved first ({@link resolveChannelWiring}, #2772).
547
+ * Serve-in-place: the target is already a scaffolded storefront — a warm one
548
+ * materialized from the image's pre-warmed tree (node_modules + a warm `.next`),
549
+ * or any tree a scaffold rendered, a blank storefront's included (#3480). Write
550
+ * only the per-channel config + env — copying the template would clobber the
551
+ * pre-warmed `.next` and bust the Turbopack dev cache the bake exists to
552
+ * provide — and ask nothing: the tree already has its template identity, and
553
+ * its config keeps the scaffold record it carries and mirrors the design-system
554
+ * seat the workspace records (#2773), settled first
555
+ * ({@link settleInPlaceDesignSystem}, #2808). The channel is resolved first
556
+ * ({@link resolveChannelWiring}, #2772).
625
557
  */
626
558
  async function configureInPlace(targetDir, options, manifest, authorization) {
627
- if (!(await isScaffolded(targetDir, manifest))) {
628
- throw new Error(`--config-only requires an existing workspace at ${targetDir} ` +
629
- '(no package.json found, and no template manifest naming a blank workspace).');
559
+ if (!(await isFile(join(targetDir, 'package.json')))) {
560
+ throw new Error(`--config-only requires an existing storefront at ${targetDir} (no package.json found).`);
630
561
  }
631
562
  const wiring = await resolveChannelWiring(targetDir, options, authorization);
632
563
  const scaffold = await readScaffoldRecord(targetDir);
633
564
  const designSystem = await settleInPlaceDesignSystem(targetDir, manifest, scaffold);
634
565
  await writeChannelConfig(targetDir, wiring.channelToken, wiring.options, scaffold, designSystem);
635
- const blank = isBlankTemplate(manifestTemplate(manifest));
636
- printCredentialsWritten(wiring.authorized, blank);
637
- printConfigOnly(targetDir, blank);
566
+ printCredentialsWritten(wiring.authorized);
567
+ printConfigOnly(targetDir);
638
568
  }
639
569
  /**
640
570
  * Run `forgecart init`: on an existing project, the reconnect and its sync
@@ -650,19 +580,19 @@ async function configureInPlace(targetDir, options, manifest, authorization) {
650
580
  * questions ({@link InitQuestions}) — refusing, before any file is written, a
651
581
  * template the release does not render — scaffolds the storefront from the
652
582
  * warmed template of the answers' identity when one is available (see {@link
653
- * resolveScaffoldPlan}) or the template the answers picked otherwise — or, for
654
- * a blank storefront, nothing at all (#2775) — refuses a scaffold the copy
655
- * landed no `.gitignore` in (#3477), proves every file the render inventories
656
- * and every proof path of its UI framework's kit landed
657
- * ({@link proveRenderedRow}, #3482), writes the ForgeCart config with the
658
- * answers and `.env`, inventories the render under its template identity with
659
- * the workspace's design-system seat — the one it records, else the one the
660
- * answers determine (#2808) — mirrored into the config, and prints the row it
661
- * rendered and the next steps. Throws a clear Error on any failure (unrendered
662
- * template, missing template, copy failure, a scaffold the copy landed no
663
- * `.gitignore` in, a render missing a file or a kit proof path — each refused
664
- * before its config is written — or an unreachable admin API), and refuses on
665
- * exit 3 when the authorization ends unapproved; an unanswered question exits 2
583
+ * resolveTemplatePlan}) or the row the answers picked otherwise — the blank
584
+ * example's row included (#3480) — refuses a scaffold the copy landed no
585
+ * `.gitignore` in (#3477), proves every file the render inventories and every
586
+ * proof path of its UI framework's kit landed ({@link proveRenderedRow},
587
+ * #3482), writes the ForgeCart config with the answers and `.env`, inventories
588
+ * the render under its template identity with the workspace's design-system
589
+ * seat — the one it records, else the one the answers determine (#2808) —
590
+ * mirrored into the config, and prints the row it rendered and the next steps.
591
+ * Throws a clear Error on any failure (unrendered template, missing template,
592
+ * copy failure, a scaffold the copy landed no `.gitignore` in, a render missing
593
+ * a file or a kit proof path — each refused before its config is written — or
594
+ * an unreachable admin API), and refuses on exit 3 when the authorization ends
595
+ * unapproved; an unanswered question exits 2
666
596
  * through the question adapter's refusal.
667
597
  */
668
598
  export async function runInit(name, options, templateSet) {
@@ -683,23 +613,24 @@ export async function runInit(name, options, templateSet) {
683
613
  }
684
614
  const wiring = await resolveChannelWiring(targetDir, options, authorization);
685
615
  const questions = new InitQuestions(templateSet, options, new QuestionPromptAdapter(options));
686
- const { answers, source } = await questions.ask();
616
+ const { answers, template } = await questions.ask();
687
617
  const identity = { uiFramework: answers.uiFramework, example: answers.example };
688
- const plan = await resolveScaffoldPlan(source, identity);
618
+ const plan = await resolveTemplatePlan(template.templateDir, identity);
689
619
  const designSystem = scaffoldDesignSystem(manifest, answers);
690
620
  await mkdir(targetDir, { recursive: true });
691
621
  await landScaffold(targetDir, plan);
692
622
  await assertGitignoreLanded(targetDir, plan);
693
- const inventory = await inventoryOf(plan);
694
- const rendered = await proveRenderedRow(targetDir, source, identity, inventory, templateSet.kitOf(identity.uiFramework));
623
+ // Hashed from the plan's template dir: the exact bytes the copy landed.
624
+ const inventory = await inventoryTemplate(plan.templateDir);
625
+ const rendered = await proveRenderedRow(targetDir, template, inventory, templateSet.kitOf(identity.uiFramework));
695
626
  await writeChannelConfig(targetDir, wiring.channelToken, wiring.options, answers, designSystem);
696
627
  await writeDepsReadyMarker(targetDir, plan);
697
628
  // Inventory the render for `forgecart refresh` (#1116) under the template
698
629
  // identity it re-renders from (#2774), recording the workspace's
699
630
  // design-system seat (#2773) under the stamp its config mirrors.
700
631
  await writeTemplateManifest(targetDir, inventory, readPackageVersion(), identity, designSystem);
701
- printCredentialsWritten(wiring.authorized, plan.source === 'blank');
702
- printScaffolded(name ?? '.', options.application ?? false, plan, rendered, designSystem);
632
+ printCredentialsWritten(wiring.authorized);
633
+ printScaffolded(name ?? '.', options.application ?? false, rendered, designSystem, plan.source === 'warmed');
703
634
  }
704
635
  /** `--timeout`: whole seconds, zero included. */
705
636
  function parseTimeoutSeconds(value) {
@@ -719,7 +650,7 @@ function parseTimeoutSeconds(value) {
719
650
  export function createInitCommand() {
720
651
  const templateSet = TemplateSet.shipped();
721
652
  const ui = new Option('--ui <framework>', 'UI framework of the storefront; asked when omitted');
722
- const example = new Option('--example <name>', 'Example the storefront starts from, or blank; asked when omitted');
653
+ const example = new Option('--example <name>', 'Example the storefront starts from (blank: the platform plumbing alone); asked when omitted');
723
654
  const command = new Command('init')
724
655
  .description('Scaffold a ForgeCart storefront in the target directory, or reconnect the project it holds and sync it')
725
656
  .argument('[name]', 'Target directory name; without one, init works in the current directory and authorizes in the browser even when the four FORGECART_* keys are set')
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}