@forgecart/cli 2.202610271046.0 → 2.202610271619.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.
@@ -118,15 +118,19 @@ export interface InitOptions extends QuestionPromptInput, InitQuestionsInput {
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
120
  * resolveScaffoldPlan}) or the template the answers picked otherwise — or, for
121
- * a blank storefront, nothing at all (#2775) — writes the ForgeCart config with
122
- * the answers and `.env`, inventories the render under its template identity
123
- * with the workspace's design-system seat — the one it records, else the one
124
- * the answers determine (#2808) — mirrored into the config, and prints next
125
- * steps. Throws a clear Error on any failure (unrendered template, missing
126
- * template, copy failure, a scaffold the copy landed no `.gitignore` in — refused
127
- * before its config is written, #3477 — or an unreachable admin API), and
128
- * refuses on exit 3 when the authorization ends unapproved; an unanswered
129
- * question exits 2 through the question adapter's refusal.
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
133
+ * through the question adapter's refusal.
130
134
  */
131
135
  export declare function runInit(name: string | undefined, options: InitOptions, templateSet: TemplateSet): Promise<void>;
132
136
  /**
@@ -9,7 +9,7 @@ import { TemplateSet } from '../template/template-set.js';
9
9
  import { describeTemplateIdentity, isBlankTemplate, 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
- import { stampDesignSystem, templateDesignSystem, } from './design-system-seat.js';
12
+ import { describeDesignSystem, stampDesignSystem, templateDesignSystem, } from './design-system-seat.js';
13
13
  import { InitQuestions } from './init-questions.js';
14
14
  import { inventoryTemplate, listTemplateRenders, manifestTemplate, readTemplateManifest, serializeTemplateManifest, templateManifestPath, writeTemplateManifest, } from './template-manifest.js';
15
15
  /**
@@ -379,6 +379,41 @@ async function inventoryOf(plan) {
379
379
  return {};
380
380
  return inventoryTemplate(plan.templateDir);
381
381
  }
382
+ /**
383
+ * Prove the template scaffold landed whole (#3482) and name the row it
384
+ * rendered: every file the render inventories, then every path the template
385
+ * set records as proof of its UI framework's kit, stands in the target. The
386
+ * first one missing is refused by name, before any config or `.env` is written,
387
+ * 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.
389
+ */
390
+ async function proveRenderedRow(targetDir, source, identity, inventory, kit) {
391
+ if (source.kind === 'blank')
392
+ return undefined;
393
+ const inventoried = Object.keys(inventory);
394
+ const landed = await Promise.all([...inventoried, ...kit.proof].map(async (relpath) => ({
395
+ relpath,
396
+ present: await isFile(join(targetDir, ...relpath.split('/'))),
397
+ })));
398
+ const missing = landed.find(({ present }) => !present)?.relpath;
399
+ if (missing !== undefined) {
400
+ throw new Error(`The ${describeTemplateIdentity(identity)} scaffold from templates/${source.directory} is ` +
401
+ `incomplete: ${missing} did not land in ${targetDir}. No .forgecart/config.json or .env ` +
402
+ 'was written.');
403
+ }
404
+ return { identity, directory: source.directory, fileCount: inventoried.length, kit };
405
+ }
406
+ /**
407
+ * The one line naming the row a scaffold rendered (#3482): `Rendered
408
+ * <ui>/<example> from templates/<directory> — <n> files · <kit summary> (<proof
409
+ * paths>) · design system: <ui> (<content mode> content)`.
410
+ */
411
+ function describeRenderedRow({ identity, directory, fileCount, kit }, designSystem) {
412
+ const files = fileCount === 1 ? 'file' : 'files';
413
+ return (`Rendered ${describeTemplateIdentity(identity)} from templates/${directory} — ` +
414
+ `${String(fileCount)} ${files} · ${kit.summary} (${kit.proof.join(', ')}) · ` +
415
+ `design system: ${describeDesignSystem(designSystem)}`);
416
+ }
382
417
  /**
383
418
  * Whether the tree at `targetDir` is a workspace a scaffold left: a storefront,
384
419
  * by its `package.json`, or a blank workspace (#2775), by the manifest naming
@@ -424,12 +459,18 @@ function printBlankScaffold(targetDir, application) {
424
459
  print('');
425
460
  printApplicationNote(application);
426
461
  }
427
- /** Print what the scaffold the plan sourced left, and the next steps. */
428
- function printScaffolded(targetDir, application, plan) {
429
- if (plan.source === 'blank') {
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) {
430
469
  printBlankScaffold(targetDir, application);
431
470
  return;
432
471
  }
472
+ print('');
473
+ print(describeRenderedRow(rendered, designSystem));
433
474
  printNextSteps(targetDir, application, plan.source === 'warmed');
434
475
  }
435
476
  /** Print the post-scaffold summary for the `--config-only` serve-in-place path. */
@@ -610,15 +651,19 @@ async function configureInPlace(targetDir, options, manifest, authorization) {
610
651
  * template the release does not render — scaffolds the storefront from the
611
652
  * warmed template of the answers' identity when one is available (see {@link
612
653
  * resolveScaffoldPlan}) or the template the answers picked otherwise — or, for
613
- * a blank storefront, nothing at all (#2775) — writes the ForgeCart config with
614
- * the answers and `.env`, inventories the render under its template identity
615
- * with the workspace's design-system seat — the one it records, else the one
616
- * the answers determine (#2808) — mirrored into the config, and prints next
617
- * steps. Throws a clear Error on any failure (unrendered template, missing
618
- * template, copy failure, a scaffold the copy landed no `.gitignore` in — refused
619
- * before its config is written, #3477 — or an unreachable admin API), and
620
- * refuses on exit 3 when the authorization ends unapproved; an unanswered
621
- * question exits 2 through the question adapter's refusal.
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
666
+ * through the question adapter's refusal.
622
667
  */
623
668
  export async function runInit(name, options, templateSet) {
624
669
  const targetDir = name ? resolve(process.cwd(), name) : process.cwd();
@@ -645,14 +690,16 @@ export async function runInit(name, options, templateSet) {
645
690
  await mkdir(targetDir, { recursive: true });
646
691
  await landScaffold(targetDir, plan);
647
692
  await assertGitignoreLanded(targetDir, plan);
693
+ const inventory = await inventoryOf(plan);
694
+ const rendered = await proveRenderedRow(targetDir, source, identity, inventory, templateSet.kitOf(identity.uiFramework));
648
695
  await writeChannelConfig(targetDir, wiring.channelToken, wiring.options, answers, designSystem);
649
696
  await writeDepsReadyMarker(targetDir, plan);
650
697
  // Inventory the render for `forgecart refresh` (#1116) under the template
651
698
  // identity it re-renders from (#2774), recording the workspace's
652
699
  // design-system seat (#2773) under the stamp its config mirrors.
653
- await writeTemplateManifest(targetDir, await inventoryOf(plan), readPackageVersion(), identity, designSystem);
700
+ await writeTemplateManifest(targetDir, inventory, readPackageVersion(), identity, designSystem);
654
701
  printCredentialsWritten(wiring.authorized, plan.source === 'blank');
655
- printScaffolded(name ?? '.', options.application ?? false, plan);
702
+ printScaffolded(name ?? '.', options.application ?? false, plan, rendered, designSystem);
656
703
  }
657
704
  /** `--timeout`: whole seconds, zero included. */
658
705
  function parseTimeoutSeconds(value) {
@@ -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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"}
@@ -1,15 +1,16 @@
1
- import { type TemplateExample, type TemplateIdentity, type TemplateSource, type UiFramework } from './type/template-set.types.js';
1
+ import { type TemplateExample, type TemplateIdentity, type TemplateSource, type UiFramework, type UiFrameworkKit } from './type/template-set.types.js';
2
2
  /**
3
- * The template set a CLI release ships (#2774): its UI frameworks and its
4
- * example storefronts, in prompt order, and the template directory of every
5
- * identity it renders from a tree — read from `templates/template-set.json`, the
6
- * data the release ships beside the templates. `forgecart init` derives its
7
- * questions' options from it and validates `--ui` and `--example` against it, so
8
- * a framework is added as a row there and never as prompt code. A row's
9
- * `directory` is row data — the existing daisyUI storefront keeps
10
- * `templates/storefront`, every new row names its tree `storefront-<uiFramework>`
11
- * — and nothing scans the directories (#2775). Blank has no row: it renders
12
- * nothing, beside every UI framework the set lists.
3
+ * The template set a CLI release ships (#2774): its UI frameworks — each with
4
+ * the kit its templates render (#3482) — and its example storefronts, in prompt
5
+ * order, and the template directory of every identity it renders from a tree —
6
+ * read from `templates/template-set.json`, the data the release ships beside
7
+ * the templates. `forgecart init` derives its questions' options from it,
8
+ * validates `--ui` and `--example` against it and names and proves the kit a
9
+ * scaffold rendered from it, so a framework is added as a row there and never as
10
+ * prompt or render code. A row's `directory` is row data — the first framework's
11
+ * storefront keeps `templates/storefront`, every later row names its tree
12
+ * `storefront-<uiFramework>` — and nothing scans the directories (#2775). Blank
13
+ * has no row: it renders nothing, beside every UI framework the set lists.
13
14
  */
14
15
  export declare class TemplateSet {
15
16
  private readonly templatesDir;
@@ -34,6 +35,12 @@ export declare class TemplateSet {
34
35
  * framework, in prompt order.
35
36
  */
36
37
  get identities(): TemplateIdentity[];
38
+ /**
39
+ * The kit the templates of `uiFramework` render (#3482): the summary init
40
+ * names it by, and the workspace-relative paths that prove it landed. A
41
+ * {@link UiFrameworkUnavailableError} when the set lists no such framework.
42
+ */
43
+ kitOf(uiFramework: string): UiFrameworkKit;
37
44
  /**
38
45
  * Where `identity` renders from: its row's template directory, or — for blank
39
46
  * beside a UI framework the set lists — no template at all. A
@@ -46,4 +53,6 @@ export declare class TemplateSet {
46
53
  * blank identity never has.
47
54
  */
48
55
  templateDir(identity: TemplateIdentity): string;
56
+ /** `identity`'s row of the set — a {@link TemplateUnavailableError} when it has none. */
57
+ private rowOf;
49
58
  }
@@ -3,20 +3,22 @@ import { dirname, join, resolve } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { TemplateUnavailableError } from './template-unavailable-error.js';
5
5
  import { BLANK_EXAMPLE, } from './type/template-set.types.js';
6
+ import { UiFrameworkUnavailableError } from './ui-framework-unavailable-error.js';
6
7
  import { isBlankTemplate, sameTemplateIdentity } from './util/template-identity.util.js';
7
8
  /** The template set's own record, beside the templates it names. */
8
9
  const TEMPLATE_SET_FILE = 'template-set.json';
9
10
  /**
10
- * The template set a CLI release ships (#2774): its UI frameworks and its
11
- * example storefronts, in prompt order, and the template directory of every
12
- * identity it renders from a tree — read from `templates/template-set.json`, the
13
- * data the release ships beside the templates. `forgecart init` derives its
14
- * questions' options from it and validates `--ui` and `--example` against it, so
15
- * a framework is added as a row there and never as prompt code. A row's
16
- * `directory` is row data — the existing daisyUI storefront keeps
17
- * `templates/storefront`, every new row names its tree `storefront-<uiFramework>`
18
- * — and nothing scans the directories (#2775). Blank has no row: it renders
19
- * nothing, beside every UI framework the set lists.
11
+ * The template set a CLI release ships (#2774): its UI frameworks — each with
12
+ * the kit its templates render (#3482) — and its example storefronts, in prompt
13
+ * order, and the template directory of every identity it renders from a tree —
14
+ * read from `templates/template-set.json`, the data the release ships beside
15
+ * the templates. `forgecart init` derives its questions' options from it,
16
+ * validates `--ui` and `--example` against it and names and proves the kit a
17
+ * scaffold rendered from it, so a framework is added as a row there and never as
18
+ * prompt or render code. A row's `directory` is row data — the first framework's
19
+ * storefront keeps `templates/storefront`, every later row names its tree
20
+ * `storefront-<uiFramework>` — and nothing scans the directories (#2775). Blank
21
+ * has no row: it renders nothing, beside every UI framework the set lists.
20
22
  */
21
23
  export class TemplateSet {
22
24
  templatesDir;
@@ -62,6 +64,18 @@ export class TemplateSet {
62
64
  ...this.uiFrameworkIds.map((uiFramework) => ({ uiFramework, example: BLANK_EXAMPLE })),
63
65
  ];
64
66
  }
67
+ /**
68
+ * The kit the templates of `uiFramework` render (#3482): the summary init
69
+ * names it by, and the workspace-relative paths that prove it landed. A
70
+ * {@link UiFrameworkUnavailableError} when the set lists no such framework.
71
+ */
72
+ kitOf(uiFramework) {
73
+ const framework = this.uiFrameworks.find(({ id }) => id === uiFramework);
74
+ if (framework === undefined) {
75
+ throw new UiFrameworkUnavailableError(uiFramework, this.uiFrameworkIds);
76
+ }
77
+ return framework.kit;
78
+ }
65
79
  /**
66
80
  * Where `identity` renders from: its row's template directory, or — for blank
67
81
  * beside a UI framework the set lists — no template at all. A
@@ -71,7 +85,8 @@ export class TemplateSet {
71
85
  if (isBlankTemplate(identity) && this.uiFrameworkIds.includes(identity.uiFramework)) {
72
86
  return { kind: 'blank' };
73
87
  }
74
- return { kind: 'directory', templateDir: this.templateDir(identity) };
88
+ const { directory } = this.rowOf(identity);
89
+ return { kind: 'directory', directory, templateDir: resolve(this.templatesDir, directory) };
75
90
  }
76
91
  /**
77
92
  * The template directory of `identity`'s row — a
@@ -79,10 +94,14 @@ export class TemplateSet {
79
94
  * blank identity never has.
80
95
  */
81
96
  templateDir(identity) {
97
+ return resolve(this.templatesDir, this.rowOf(identity).directory);
98
+ }
99
+ /** `identity`'s row of the set — a {@link TemplateUnavailableError} when it has none. */
100
+ rowOf(identity) {
82
101
  const row = this.document.templates.find((template) => sameTemplateIdentity(template, identity));
83
102
  if (row === undefined)
84
103
  throw new TemplateUnavailableError(identity, this.identities);
85
- return resolve(this.templatesDir, row.directory);
104
+ return row;
86
105
  }
87
106
  }
88
107
  //# sourceMappingURL=template-set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-set.js","sourceRoot":"","sources":["../../../src/template/template-set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-set.js","sourceRoot":"","sources":["../../../src/template/template-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,aAAa,GAQd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAEzF,oEAAoE;AACpE,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAW;IAEH;IACA;IAFnB,YACmB,YAAoB,EACpB,QAA6B;QAD7B,iBAAY,GAAZ,YAAY,CAAQ;QACpB,aAAQ,GAAR,QAAQ,CAAqB;IAC7C,CAAC;IAEJ;;;;OAIG;IACH,MAAM,CAAC,OAAO;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CACrC,CAAC;QACzB,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,oEAAoE;IACpE,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,kDAAkD;IAClD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,8DAA8D;IAC9D,IAAI,UAAU;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACZ,OAAO;YACL,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YACxF,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;SACvF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAmB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QACzE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,SAAS,CAAC,GAAG,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,QAA0B;QACvC,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;IAC9F,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAA0B;QACpC,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,yFAAyF;IACjF,KAAK,CAAC,QAA0B;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpD,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACzC,CAAC;QACF,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -1,3 +1,10 @@
1
+ /** The UI kit a framework row renders, as `forgecart init` names and proves it (#CLI3). */
2
+ export interface UiFrameworkKit {
3
+ /** One line naming the kit as rendered: `shadcn/ui components under src/components/ui`. */
4
+ summary: string;
5
+ /** Workspace-relative paths that prove the kit landed; init refuses a scaffold missing one. */
6
+ proof: readonly string[];
7
+ }
1
8
  /**
2
9
  * One UI framework the CLI release ships a template set for — a row of
3
10
  * `templates/template-set.json`, and the id `forgecart init --ui <id>` takes.
@@ -9,6 +16,8 @@ export interface UiFramework {
9
16
  label: string;
10
17
  /** The consequence of choosing it, printed under its label. */
11
18
  hint: string;
19
+ /** The kit every template of the framework renders, which init names and proves (#3482). */
20
+ kit: UiFrameworkKit;
12
21
  }
13
22
  /**
14
23
  * One example storefront the CLI release ships — a row of
@@ -52,13 +61,15 @@ export interface TemplateSetDocument {
52
61
  }
53
62
  /**
54
63
  * Where a template identity's files come from (#2775): the directory of its
55
- * row in the template set, or nothing at all — a blank storefront renders no
56
- * template, so its workspace holds `.forgecart/` alone.
64
+ * row in the template set — the `directory` the row names under `templates/`,
65
+ * and the absolute `templateDir` it resolves to — or nothing at all: a blank
66
+ * storefront renders no template, so its workspace holds `.forgecart/` alone.
57
67
  */
58
68
  export type TemplateSource = {
59
69
  kind: 'blank';
60
70
  } | {
61
71
  kind: 'directory';
72
+ directory: string;
62
73
  templateDir: string;
63
74
  };
64
75
  /** The `example` answer that starts the storefront from no example: blank. */
@@ -1 +1 @@
1
- {"version":3,"file":"template-set.types.js","sourceRoot":"","sources":["../../../../src/template/type/template-set.types.ts"],"names":[],"mappings":"AAgEA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"template-set.types.js","sourceRoot":"","sources":["../../../../src/template/type/template-set.types.ts"],"names":[],"mappings":"AA6EA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A UI framework the release's template set does not list (#3482) — asked for
3
+ * the kit it renders. The refusal lists the frameworks the release does ship,
4
+ * as the flags that pick them.
5
+ */
6
+ export declare class UiFrameworkUnavailableError extends Error {
7
+ /**
8
+ * @param uiFramework the framework id asked for.
9
+ * @param shipped every framework id the release ships, in its order.
10
+ */
11
+ constructor(uiFramework: string, shipped: readonly string[]);
12
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A UI framework the release's template set does not list (#3482) — asked for
3
+ * the kit it renders. The refusal lists the frameworks the release does ship,
4
+ * as the flags that pick them.
5
+ */
6
+ export class UiFrameworkUnavailableError extends Error {
7
+ /**
8
+ * @param uiFramework the framework id asked for.
9
+ * @param shipped every framework id the release ships, in its order.
10
+ */
11
+ constructor(uiFramework, shipped) {
12
+ const choices = shipped.map((id) => `--ui ${id}`).join('; ');
13
+ super(`This release ships no ${uiFramework} UI framework. Pick one it ships: ${choices}.`);
14
+ this.name = 'UiFrameworkUnavailableError';
15
+ }
16
+ }
17
+ //# sourceMappingURL=ui-framework-unavailable-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-framework-unavailable-error.js","sourceRoot":"","sources":["../../../src/template/ui-framework-unavailable-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD;;;OAGG;IACH,YAAY,WAAmB,EAAE,OAA0B;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,CAAC,yBAAyB,WAAW,qCAAqC,OAAO,GAAG,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgecart/cli",
3
- "version": "2.202610271046.0",
3
+ "version": "2.202610271619.0",
4
4
  "type": "module",
5
5
  "description": "CLI for scaffolding and operating ForgeCart channel storefronts",
6
6
  "bin": {
@@ -68,10 +68,12 @@ Styling is Tailwind v4 + shadcn/ui. The components are **vendored**, the way
68
68
  shadcn/ui intends: they live in [`src/components/ui/`](src/components/ui/)
69
69
  (`button`, `card`, `input`, `native-select`, `label`, `alert`, `badge`,
70
70
  `skeleton`) as source you own and edit, built on `class-variance-authority`,
71
- `clsx`, `tailwind-merge` and the Radix primitives they import. Their `cn`
72
- helper is [`src/components/ui/utils.ts`](src/components/ui/utils.ts), and
73
- [`components.json`](components.json) points the shadcn/ui CLI at both, so
74
- `npx shadcn@latest add <component>` lands a new component beside them.
71
+ `clsx`, `tailwind-merge` and the Radix primitives they import, with
72
+ `lucide-react` as the icon library. Their `cn` helper is
73
+ [`src/components/ui/utils.ts`](src/components/ui/utils.ts), and
74
+ [`components.json`](components.json) points the shadcn/ui CLI at both. The CLI
75
+ is pinned in `devDependencies`, so `npm run ui:add -- <name>` lands a new
76
+ component beside them with the version this storefront was built against.
75
77
 
76
78
  Every component uses **semantic** tokens only (`bg-card`, `text-foreground`,
77
79
  `border-input`, `bg-primary`, …), never a palette colour. The single source of
@@ -14,8 +14,7 @@
14
14
  "components": "@/components",
15
15
  "ui": "@/components/ui",
16
16
  "utils": "@/components/ui/utils",
17
- "lib": "@/lib",
18
- "hooks": "@/hooks"
17
+ "lib": "@/lib"
19
18
  },
20
19
  "iconLibrary": "lucide"
21
20
  }
@@ -5,7 +5,8 @@
5
5
  "scripts": {
6
6
  "dev": "next dev --turbopack",
7
7
  "build": "next build",
8
- "start": "next start"
8
+ "start": "next start",
9
+ "ui:add": "shadcn add"
9
10
  },
10
11
  "dependencies": {
11
12
  "@forgecart/designer-runtime": "^1.202607161748.0",
@@ -18,6 +19,7 @@
18
19
  "class-validator": "^0.14.2",
19
20
  "class-variance-authority": "^0.7.1",
20
21
  "clsx": "^2.1.1",
22
+ "lucide-react": "^1.61.0",
21
23
  "next": "^16.1.0",
22
24
  "react": "^19.0.0",
23
25
  "react-dom": "^19.0.0",
@@ -33,6 +35,7 @@
33
35
  "@types/react": "^19.0.0",
34
36
  "@types/react-dom": "^19.0.0",
35
37
  "postcss": "^8.4.49",
38
+ "shadcn": "^4.22.1",
36
39
  "tailwindcss": "^4.2.1",
37
40
  "typescript": "^5.7.0"
38
41
  }
@@ -3,12 +3,20 @@
3
3
  {
4
4
  "id": "daisyui",
5
5
  "label": "daisyUI",
6
- "hint": "Tailwind CSS 4 + daisyUI 5 components."
6
+ "hint": "Tailwind CSS 4 + the daisyUI 5 theme in globals.css.",
7
+ "kit": {
8
+ "summary": "daisyUI 5 theme in src/app/globals.css",
9
+ "proof": ["src/app/globals.css"]
10
+ }
7
11
  },
8
12
  {
9
13
  "id": "shadcn",
10
14
  "label": "shadcn/ui",
11
- "hint": "Tailwind CSS 4 + shadcn/ui components, vendored into the project."
15
+ "hint": "Tailwind CSS 4 + shadcn/ui: components.json + src/components/ui, extend with npm run ui:add.",
16
+ "kit": {
17
+ "summary": "shadcn/ui components under src/components/ui",
18
+ "proof": ["components.json", "src/components/ui/utils.ts"]
19
+ }
12
20
  }
13
21
  ],
14
22
  "examples": [