zard-cli 1.0.0-beta.9 → 1.1.0-alpha.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 (237) hide show
  1. package/README.md +60 -188
  2. package/commands/add/component-installer.d.ts +4 -1
  3. package/commands/add/component-installer.d.ts.map +1 -1
  4. package/commands/add/component-installer.js +33 -5
  5. package/commands/add/component-installer.js.map +1 -1
  6. package/commands/add/component-selector.d.ts +6 -0
  7. package/commands/add/component-selector.d.ts.map +1 -1
  8. package/commands/add/component-selector.js +9 -27
  9. package/commands/add/component-selector.js.map +1 -1
  10. package/commands/add/dark-mode-setup.d.ts +2 -0
  11. package/commands/add/dark-mode-setup.d.ts.map +1 -1
  12. package/commands/add/dark-mode-setup.js +5 -11
  13. package/commands/add/dark-mode-setup.js.map +1 -1
  14. package/commands/add/dependency-resolver.d.ts +1 -1
  15. package/commands/add/dependency-resolver.d.ts.map +1 -1
  16. package/commands/add/dependency-resolver.js +5 -6
  17. package/commands/add/dependency-resolver.js.map +1 -1
  18. package/commands/add/index.d.ts.map +1 -1
  19. package/commands/add/index.js +127 -85
  20. package/commands/add/index.js.map +1 -1
  21. package/commands/add/wizard.d.ts +31 -0
  22. package/commands/add/wizard.d.ts.map +1 -0
  23. package/commands/add/wizard.js +289 -0
  24. package/commands/add/wizard.js.map +1 -0
  25. package/commands/init/config-prompter.d.ts +59 -56
  26. package/commands/init/config-prompter.d.ts.map +1 -1
  27. package/commands/init/config-prompter.js +76 -74
  28. package/commands/init/config-prompter.js.map +1 -1
  29. package/commands/init/dependencies.d.ts +1 -8
  30. package/commands/init/dependencies.d.ts.map +1 -1
  31. package/commands/init/dependencies.js +36 -16
  32. package/commands/init/dependencies.js.map +1 -1
  33. package/commands/init/index.d.ts.map +1 -1
  34. package/commands/init/index.js +132 -86
  35. package/commands/init/index.js.map +1 -1
  36. package/commands/init/project-kind.d.ts +82 -0
  37. package/commands/init/project-kind.d.ts.map +1 -0
  38. package/commands/init/project-kind.js +166 -0
  39. package/commands/init/project-kind.js.map +1 -0
  40. package/commands/init/steps.d.ts +16 -0
  41. package/commands/init/steps.d.ts.map +1 -0
  42. package/commands/init/steps.js +151 -0
  43. package/commands/init/steps.js.map +1 -0
  44. package/commands/init/tailwind-setup.d.ts +9 -2
  45. package/commands/init/tailwind-setup.d.ts.map +1 -1
  46. package/commands/init/tailwind-setup.js +33 -9
  47. package/commands/init/tailwind-setup.js.map +1 -1
  48. package/commands/init/theme-loader.d.ts.map +1 -1
  49. package/commands/init/theme-loader.js +1 -3
  50. package/commands/init/theme-loader.js.map +1 -1
  51. package/commands/init/tsconfig-updater.d.ts +8 -1
  52. package/commands/init/tsconfig-updater.d.ts.map +1 -1
  53. package/commands/init/tsconfig-updater.js +30 -11
  54. package/commands/init/tsconfig-updater.js.map +1 -1
  55. package/commands/init/update-angular-config.d.ts.map +1 -1
  56. package/commands/init/update-angular-config.js +28 -47
  57. package/commands/init/update-angular-config.js.map +1 -1
  58. package/commands/init/vite-setup.d.ts +10 -0
  59. package/commands/init/vite-setup.d.ts.map +1 -0
  60. package/commands/init/vite-setup.js +60 -0
  61. package/commands/init/vite-setup.js.map +1 -0
  62. package/commands/init/wizard.d.ts +30 -0
  63. package/commands/init/wizard.d.ts.map +1 -0
  64. package/commands/init/wizard.js +560 -0
  65. package/commands/init/wizard.js.map +1 -0
  66. package/core/registry/registry-data.d.ts.map +1 -1
  67. package/core/registry/registry-data.js +359 -61
  68. package/core/registry/registry-data.js.map +1 -1
  69. package/core/themes/theme-definitions.d.ts +5 -5
  70. package/core/themes/theme-definitions.d.ts.map +1 -1
  71. package/core/themes/theme-definitions.js +15 -11
  72. package/core/themes/theme-definitions.js.map +1 -1
  73. package/index.js +40 -4
  74. package/index.js.map +1 -1
  75. package/package.json +58 -61
  76. package/ui/blocks.d.ts +70 -0
  77. package/ui/blocks.d.ts.map +1 -0
  78. package/ui/blocks.js +116 -0
  79. package/ui/blocks.js.map +1 -0
  80. package/ui/brand.d.ts +14 -0
  81. package/ui/brand.d.ts.map +1 -0
  82. package/ui/brand.js +35 -0
  83. package/ui/brand.js.map +1 -0
  84. package/ui/engine/animation/index.d.ts +39 -0
  85. package/ui/engine/animation/index.d.ts.map +1 -0
  86. package/ui/engine/animation/index.js +103 -0
  87. package/ui/engine/animation/index.js.map +1 -0
  88. package/ui/engine/ansi/index.d.ts +52 -0
  89. package/ui/engine/ansi/index.d.ts.map +1 -0
  90. package/ui/engine/ansi/index.js +117 -0
  91. package/ui/engine/ansi/index.js.map +1 -0
  92. package/ui/engine/components/index.d.ts +211 -0
  93. package/ui/engine/components/index.d.ts.map +1 -0
  94. package/ui/engine/components/index.js +109 -0
  95. package/ui/engine/components/index.js.map +1 -0
  96. package/ui/engine/cursor/index.d.ts +17 -0
  97. package/ui/engine/cursor/index.d.ts.map +1 -0
  98. package/ui/engine/cursor/index.js +41 -0
  99. package/ui/engine/cursor/index.js.map +1 -0
  100. package/ui/engine/diff/index.d.ts +27 -0
  101. package/ui/engine/diff/index.d.ts.map +1 -0
  102. package/ui/engine/diff/index.js +57 -0
  103. package/ui/engine/diff/index.js.map +1 -0
  104. package/ui/engine/events/index.d.ts +24 -0
  105. package/ui/engine/events/index.d.ts.map +1 -0
  106. package/ui/engine/events/index.js +60 -0
  107. package/ui/engine/events/index.js.map +1 -0
  108. package/ui/engine/focus/index.d.ts +25 -0
  109. package/ui/engine/focus/index.d.ts.map +1 -0
  110. package/ui/engine/focus/index.js +77 -0
  111. package/ui/engine/focus/index.js.map +1 -0
  112. package/ui/engine/frame/index.d.ts +48 -0
  113. package/ui/engine/frame/index.d.ts.map +1 -0
  114. package/ui/engine/frame/index.js +0 -0
  115. package/ui/engine/frame/index.js.map +1 -0
  116. package/ui/engine/index.d.ts +28 -0
  117. package/ui/engine/index.d.ts.map +1 -0
  118. package/ui/engine/index.js +28 -0
  119. package/ui/engine/index.js.map +1 -0
  120. package/ui/engine/input/index.d.ts +36 -0
  121. package/ui/engine/input/index.d.ts.map +1 -0
  122. package/ui/engine/input/index.js +224 -0
  123. package/ui/engine/input/index.js.map +1 -0
  124. package/ui/engine/layout/index.d.ts +42 -0
  125. package/ui/engine/layout/index.d.ts.map +1 -0
  126. package/ui/engine/layout/index.js +241 -0
  127. package/ui/engine/layout/index.js.map +1 -0
  128. package/ui/engine/renderer/index.d.ts +43 -0
  129. package/ui/engine/renderer/index.d.ts.map +1 -0
  130. package/ui/engine/renderer/index.js +619 -0
  131. package/ui/engine/renderer/index.js.map +1 -0
  132. package/ui/engine/scheduler/index.d.ts +22 -0
  133. package/ui/engine/scheduler/index.d.ts.map +1 -0
  134. package/ui/engine/scheduler/index.js +77 -0
  135. package/ui/engine/scheduler/index.js.map +1 -0
  136. package/ui/engine/screen/index.d.ts +39 -0
  137. package/ui/engine/screen/index.d.ts.map +1 -0
  138. package/ui/engine/screen/index.js +255 -0
  139. package/ui/engine/screen/index.js.map +1 -0
  140. package/ui/engine/terminal/index.d.ts +38 -0
  141. package/ui/engine/terminal/index.d.ts.map +1 -0
  142. package/ui/engine/terminal/index.js +104 -0
  143. package/ui/engine/terminal/index.js.map +1 -0
  144. package/ui/engine/testing/index.d.ts +27 -0
  145. package/ui/engine/testing/index.d.ts.map +1 -0
  146. package/ui/engine/testing/index.js +63 -0
  147. package/ui/engine/testing/index.js.map +1 -0
  148. package/ui/engine/theme/index.d.ts +27 -0
  149. package/ui/engine/theme/index.d.ts.map +1 -0
  150. package/ui/engine/theme/index.js +129 -0
  151. package/ui/engine/theme/index.js.map +1 -0
  152. package/ui/engine/utils/index.d.ts +12 -0
  153. package/ui/engine/utils/index.d.ts.map +1 -0
  154. package/ui/engine/utils/index.js +143 -0
  155. package/ui/engine/utils/index.js.map +1 -0
  156. package/ui/gate.d.ts +19 -0
  157. package/ui/gate.d.ts.map +1 -0
  158. package/ui/gate.js +36 -0
  159. package/ui/gate.js.map +1 -0
  160. package/ui/index.d.ts +18 -0
  161. package/ui/index.d.ts.map +1 -0
  162. package/ui/index.js +18 -0
  163. package/ui/index.js.map +1 -0
  164. package/ui/log-sink.d.ts +24 -0
  165. package/ui/log-sink.d.ts.map +1 -0
  166. package/ui/log-sink.js +35 -0
  167. package/ui/log-sink.js.map +1 -0
  168. package/ui/output.d.ts +14 -0
  169. package/ui/output.d.ts.map +1 -0
  170. package/ui/output.js +28 -0
  171. package/ui/output.js.map +1 -0
  172. package/ui/report.d.ts +30 -0
  173. package/ui/report.d.ts.map +1 -0
  174. package/ui/report.js +45 -0
  175. package/ui/report.js.map +1 -0
  176. package/ui/runner.d.ts +57 -0
  177. package/ui/runner.d.ts.map +1 -0
  178. package/ui/runner.js +119 -0
  179. package/ui/runner.js.map +1 -0
  180. package/ui/style.d.ts +24 -0
  181. package/ui/style.d.ts.map +1 -0
  182. package/ui/style.js +44 -0
  183. package/ui/style.js.map +1 -0
  184. package/ui/testing/fake-tty.d.ts +26 -0
  185. package/ui/testing/fake-tty.d.ts.map +1 -0
  186. package/ui/testing/fake-tty.js +61 -0
  187. package/ui/testing/fake-tty.js.map +1 -0
  188. package/ui/text-input.d.ts +30 -0
  189. package/ui/text-input.d.ts.map +1 -0
  190. package/ui/text-input.js +87 -0
  191. package/ui/text-input.js.map +1 -0
  192. package/ui/theme.d.ts +10 -0
  193. package/ui/theme.d.ts.map +1 -0
  194. package/ui/theme.js +20 -0
  195. package/ui/theme.js.map +1 -0
  196. package/utils/config.d.ts +48 -69
  197. package/utils/config.d.ts.map +1 -1
  198. package/utils/config.js +43 -7
  199. package/utils/config.js.map +1 -1
  200. package/utils/errors.d.ts +16 -0
  201. package/utils/errors.d.ts.map +1 -0
  202. package/utils/errors.js +31 -0
  203. package/utils/errors.js.map +1 -0
  204. package/utils/get-package-info.js +4 -4
  205. package/utils/get-package-info.js.map +1 -1
  206. package/utils/get-project-info.d.ts +30 -0
  207. package/utils/get-project-info.d.ts.map +1 -1
  208. package/utils/get-project-info.js +195 -6
  209. package/utils/get-project-info.js.map +1 -1
  210. package/utils/http-client.d.ts +8 -0
  211. package/utils/http-client.d.ts.map +1 -0
  212. package/utils/http-client.js +68 -0
  213. package/utils/http-client.js.map +1 -0
  214. package/utils/logger.d.ts +16 -1
  215. package/utils/logger.d.ts.map +1 -1
  216. package/utils/logger.js +104 -12
  217. package/utils/logger.js.map +1 -1
  218. package/utils/package-manager.d.ts +44 -1
  219. package/utils/package-manager.d.ts.map +1 -1
  220. package/utils/package-manager.js +210 -14
  221. package/utils/package-manager.js.map +1 -1
  222. package/utils/registry.d.ts +14 -2
  223. package/utils/registry.d.ts.map +1 -1
  224. package/utils/registry.js +52 -24
  225. package/utils/registry.js.map +1 -1
  226. package/utils/source-file.d.ts +40 -0
  227. package/utils/source-file.d.ts.map +1 -0
  228. package/utils/source-file.js +104 -0
  229. package/utils/source-file.js.map +1 -0
  230. package/utils/theme-selector.d.ts +1 -1
  231. package/utils/theme-selector.d.ts.map +1 -1
  232. package/utils/theme-selector.js +6 -6
  233. package/utils/theme-selector.js.map +1 -1
  234. package/utils/fetch-component.d.ts +0 -3
  235. package/utils/fetch-component.d.ts.map +0 -1
  236. package/utils/fetch-component.js +0 -75
  237. package/utils/fetch-component.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/commands/init/wizard.ts"],"names":[],"mappings":"AACA,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAwBL,KAAK,SAAS,EAKf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,gCAAgC,CAAC;AAuMzF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,0CAA0C;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,mEAAmE;IACnE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;CACrC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqVzF"}
@@ -0,0 +1,560 @@
1
+ import { buildConfig, defaultAnswers, inspectCssFile } from '../../commands/init/config-prompter.js';
2
+ import { candidateProjects, isLibraryKind, PROJECT_KINDS } from '../../commands/init/project-kind.js';
3
+ import { answeredLine, brandBanner, choiceList, commandHeader, confirmField, controls, hint, page, progress, question, resultPanel, editInput, runWizard, screen, spacer, startInput, taskHeader, taskList, text, textField, warning, } from '../../ui/index.js';
4
+ import { getAvailableThemes, getThemeDisplayName } from '../../utils/theme-selector.js';
5
+ const OVERWRITE_STEP = {
6
+ id: 'overwriteCss',
7
+ kind: 'confirm',
8
+ prompt: 'Your CSS file already has content. This will overwrite everything with ZardUI theme configuration. Continue?',
9
+ label: 'overwrite CSS',
10
+ detail: 'The theme tokens must live in your global CSS, or the components will not render.',
11
+ confirmDefault: true,
12
+ danger: 'Choosing No cancels the installation. This step is essential for ZardUI to work.',
13
+ };
14
+ function themeStep() {
15
+ const themes = getAvailableThemes();
16
+ return {
17
+ id: 'theme',
18
+ kind: 'select',
19
+ prompt: 'Choose a theme for your components:',
20
+ label: 'theme',
21
+ detail: 'Defines the base color palette, exposed as CSS variables on :root.',
22
+ choices: themes.map(theme => ({ label: getThemeDisplayName(theme) })),
23
+ values: themes,
24
+ };
25
+ }
26
+ /**
27
+ * A linha do cabeçalho, dizendo onde a instalação vai cair.
28
+ *
29
+ * Antes da primeira resposta não há alvo nenhum a anunciar — o tipo é escolha
30
+ * do usuário, e adiantá-lo aqui daria a impressão de que a CLI já decidiu. Com
31
+ * um único projeto compatível o wizard também não pergunta qual, então é aqui
32
+ * que o nome dele aparece, para a escolha não ficar implícita.
33
+ */
34
+ function targetDescription(state, options) {
35
+ if (!state.kindChosen)
36
+ return 'Setting up ZardUI in your project…';
37
+ const label = PROJECT_KINDS.find(option => option.value === state.answers.kind)?.label ?? 'Angular';
38
+ const project = candidateProjects(state.answers.kind, options.projectInfo).find(candidate => candidate.root === state.answers.projectRoot);
39
+ if (project)
40
+ return `Setting up ZardUI in ${project.name} (${label})…`;
41
+ return `Setting up ZardUI in your ${label} project…`;
42
+ }
43
+ /**
44
+ * A primeira pergunta, sempre.
45
+ *
46
+ * Quem decide o tipo é o usuário: a lista abre inteira, na ordem do menu, sem
47
+ * pré-seleção derivada do que há no diretório. Tudo o que vem depois — os
48
+ * caminhos sugeridos, as etapas que rodam — é consequência desta resposta.
49
+ */
50
+ function kindStep() {
51
+ return {
52
+ id: 'kind',
53
+ kind: 'select',
54
+ prompt: 'What are you setting up?',
55
+ label: 'project type',
56
+ detail: 'Decides where the components live and what init has to configure.',
57
+ choices: PROJECT_KINDS.map(option => ({ label: option.label, hint: option.detail, color: option.color })),
58
+ values: PROJECT_KINDS.map(option => option.value),
59
+ };
60
+ }
61
+ /**
62
+ * Escolha do projeto, só quando há mais de um compatível.
63
+ *
64
+ * Com um único candidato a pergunta não teria resposta alternativa; o nome
65
+ * aparece no cabeçalho, e o usuário segue direto para a próxima etapa.
66
+ */
67
+ function projectStep(projects, kind) {
68
+ const library = isLibraryKind(kind);
69
+ return {
70
+ id: 'projectRoot',
71
+ kind: 'select',
72
+ prompt: library ? 'Which library should receive the components?' : 'Which app should receive the components?',
73
+ label: library ? 'library' : 'app',
74
+ detail: library
75
+ ? 'The components become part of this library and ship with it.'
76
+ : 'Its app.config.ts and global CSS are the ones init configures.',
77
+ choices: projects.map(project => ({ label: project.name, hint: project.root || '.' })),
78
+ values: projects.map(project => project.root),
79
+ };
80
+ }
81
+ function baseSteps(projectInfo, kind) {
82
+ const candidates = candidateProjects(kind, projectInfo);
83
+ const chooseProject = candidates.length > 1 ? [projectStep(candidates, kind)] : [];
84
+ if (isLibraryKind(kind)) {
85
+ return [
86
+ kindStep(),
87
+ ...chooseProject,
88
+ themeStep(),
89
+ {
90
+ id: 'globalCss',
91
+ kind: 'text',
92
+ prompt: 'Where should the theme tokens live?',
93
+ label: 'theme CSS',
94
+ detail: 'Created inside the library and shipped with it, for the consuming app to import.',
95
+ },
96
+ {
97
+ id: 'componentsAlias',
98
+ kind: 'text',
99
+ prompt: 'Configure the import alias for components:',
100
+ label: 'components alias',
101
+ detail: 'Where `add` generates component source; also written to tsconfig paths.',
102
+ },
103
+ {
104
+ id: 'utilsAlias',
105
+ kind: 'text',
106
+ prompt: 'Configure the import alias for utils:',
107
+ label: 'utils alias',
108
+ detail: 'Home of the class-merging helpers shared by every component.',
109
+ },
110
+ ];
111
+ }
112
+ return [
113
+ kindStep(),
114
+ ...chooseProject,
115
+ {
116
+ id: 'appConfig',
117
+ kind: 'text',
118
+ prompt: 'Where is your app.config.ts file?',
119
+ label: 'app.config.ts',
120
+ detail: 'ZardUI registers its global providers in this file.',
121
+ },
122
+ themeStep(),
123
+ {
124
+ id: 'globalCss',
125
+ kind: 'text',
126
+ prompt: 'Where is your global CSS file?',
127
+ label: 'global CSS',
128
+ detail: 'ZardUI writes its design tokens and the base layer into this file.',
129
+ },
130
+ {
131
+ id: 'componentsAlias',
132
+ kind: 'text',
133
+ prompt: 'Configure the import alias for components:',
134
+ label: 'components alias',
135
+ detail: 'Where `add` generates component source; also written to tsconfig paths.',
136
+ },
137
+ {
138
+ id: 'utilsAlias',
139
+ kind: 'text',
140
+ prompt: 'Configure the import alias for utils:',
141
+ label: 'utils alias',
142
+ detail: 'Home of the class-merging helpers shared by every component.',
143
+ },
144
+ ];
145
+ }
146
+ export async function runInitWizard(options) {
147
+ // O menu abre no primeiro tipo da lista, não no que o diretório sugere: a
148
+ // escolha é do usuário, e um cursor já posicionado noutro item transformaria
149
+ // um palpite da CLI na resposta que ele confirma sem ler.
150
+ const firstKind = options.presetKind ?? PROJECT_KINDS[0].value;
151
+ const answers = defaultAnswers(options.projectInfo, firstKind, options.presetProjectRoot);
152
+ const state = {
153
+ // Reinicializar sobrescreve configuração já existente: a confirmação vem
154
+ // antes de qualquer pergunta e não é pulada por --yes.
155
+ phase: options.isReInitializing ? 'reinit' : 'prompting',
156
+ steps: baseSteps(options.projectInfo, firstKind),
157
+ stepIndex: 0,
158
+ answers,
159
+ kindChosen: false,
160
+ input: startInput(answers.appConfig),
161
+ choiceIndex: 0,
162
+ confirmValue: true,
163
+ error: null,
164
+ checking: false,
165
+ tasks: [],
166
+ tasksDone: 0,
167
+ taskStartedAt: 0,
168
+ failure: null,
169
+ };
170
+ let config = null;
171
+ const currentStep = () => state.steps[state.stepIndex];
172
+ const answerOf = (step) => {
173
+ if (step.id === 'overwriteCss')
174
+ return 'yes';
175
+ return state.answers[step.id];
176
+ };
177
+ /** Prepara os campos de entrada para o passo que acabou de virar ativo. */
178
+ const enterStep = () => {
179
+ const step = currentStep();
180
+ state.error = null;
181
+ if (step.kind === 'text') {
182
+ state.input = startInput(answerOf(step));
183
+ }
184
+ else if (step.kind === 'select') {
185
+ const values = step.values ?? [];
186
+ state.choiceIndex = Math.max(0, values.indexOf(answerOf(step)));
187
+ }
188
+ else {
189
+ state.confirmValue = step.confirmDefault ?? true;
190
+ }
191
+ };
192
+ // A primeira etapa também precisa dos campos preparados: sem isto o menu
193
+ // abre com o cursor no topo em vez do tipo que a detecção sugeriu.
194
+ enterStep();
195
+ const startExecution = (ctx) => {
196
+ const resolved = buildConfig(state.answers, options.packageManager);
197
+ config = resolved;
198
+ const steps = options.buildSteps(resolved);
199
+ state.phase = 'running';
200
+ state.tasks = steps.map(step => ({ label: step.label, note: step.note }));
201
+ state.tasksDone = 0;
202
+ state.taskStartedAt = Date.now();
203
+ ctx.refresh();
204
+ void (async () => {
205
+ for (const step of steps) {
206
+ state.taskStartedAt = Date.now();
207
+ try {
208
+ await step.run();
209
+ }
210
+ catch (error) {
211
+ state.phase = 'failed';
212
+ state.failure = `${step.label}: ${error instanceof Error ? error.message : String(error)}`;
213
+ ctx.refresh();
214
+ return;
215
+ }
216
+ state.tasksDone++;
217
+ ctx.refresh();
218
+ }
219
+ state.phase = 'done';
220
+ ctx.refresh();
221
+ })();
222
+ };
223
+ const advance = (ctx) => {
224
+ if (state.stepIndex < state.steps.length - 1) {
225
+ state.stepIndex++;
226
+ enterStep();
227
+ return;
228
+ }
229
+ if (options.skipConfirmation) {
230
+ startExecution(ctx);
231
+ return;
232
+ }
233
+ state.phase = 'confirming';
234
+ state.confirmValue = true;
235
+ };
236
+ const goBack = (ctx) => {
237
+ if (state.phase === 'confirming') {
238
+ state.phase = 'prompting';
239
+ enterStep();
240
+ return;
241
+ }
242
+ if (state.stepIndex === 0) {
243
+ ctx.cancel();
244
+ return;
245
+ }
246
+ state.stepIndex--;
247
+ enterStep();
248
+ };
249
+ /** Insere ou remove o passo de sobrescrita conforme o CSS informado. */
250
+ const syncOverwriteStep = (needed) => {
251
+ const index = state.steps.findIndex(step => step.id === 'overwriteCss');
252
+ if (needed && index === -1) {
253
+ state.steps.splice(state.stepIndex + 1, 0, OVERWRITE_STEP);
254
+ }
255
+ else if (!needed && index !== -1) {
256
+ state.steps.splice(index, 1);
257
+ }
258
+ };
259
+ const commit = (ctx, value) => {
260
+ const step = currentStep();
261
+ if (step.id === 'overwriteCss') {
262
+ if (value === 'no') {
263
+ state.phase = 'aborted';
264
+ return;
265
+ }
266
+ advance(ctx);
267
+ return;
268
+ }
269
+ // Trocar o tipo de projeto troca as perguntas seguintes e os defaults que
270
+ // dependem dele — o caminho do CSS, por exemplo, deixa de ser o do app. O
271
+ // tema é preservado porque não depende do tipo.
272
+ if (step.id === 'kind') {
273
+ const kind = value;
274
+ state.answers = { ...defaultAnswers(options.projectInfo, kind), theme: state.answers.theme };
275
+ state.steps = baseSteps(options.projectInfo, kind);
276
+ state.kindChosen = true;
277
+ advance(ctx);
278
+ return;
279
+ }
280
+ // Trocar o projeto alvo move junto o app.config e o CSS global: são
281
+ // caminhos daquele projeto, e mantê-los apontando para o anterior faria o
282
+ // init escrever no app errado.
283
+ if (step.id === 'projectRoot') {
284
+ state.answers = {
285
+ ...defaultAnswers(options.projectInfo, state.answers.kind, value),
286
+ theme: state.answers.theme,
287
+ };
288
+ advance(ctx);
289
+ return;
290
+ }
291
+ state.answers[step.id] = value;
292
+ if (step.id !== 'globalCss') {
293
+ advance(ctx);
294
+ return;
295
+ }
296
+ // O caminho do CSS é o único que precisa existir antes de seguir: é ele que
297
+ // recebe os tokens do tema. Numa biblioteca não há CSS global prévio — o
298
+ // arquivo é criado pelo init, então "não existe" é o caso esperado.
299
+ state.checking = true;
300
+ ctx.refresh();
301
+ void inspectCssFile(options.cwd, value).then(result => {
302
+ state.checking = false;
303
+ if (result === 'missing' && !isLibraryKind(state.answers.kind)) {
304
+ state.error = 'File not found. Check the path and try again.';
305
+ }
306
+ else {
307
+ syncOverwriteStep(result === 'has-content');
308
+ advance(ctx);
309
+ }
310
+ ctx.refresh();
311
+ }, error => {
312
+ state.checking = false;
313
+ state.error = error instanceof Error ? error.message : String(error);
314
+ ctx.refresh();
315
+ });
316
+ };
317
+ const onKey = (event, ctx) => {
318
+ if (state.checking || state.phase === 'running')
319
+ return;
320
+ if (state.phase === 'done') {
321
+ if (event.key === 'enter' && config)
322
+ ctx.done(config);
323
+ return;
324
+ }
325
+ if (state.phase === 'failed') {
326
+ if (event.key === 'enter')
327
+ ctx.cancel(state.failure ?? 'Initialization failed.');
328
+ return;
329
+ }
330
+ if (state.phase === 'aborted') {
331
+ if (event.key === 'escape') {
332
+ state.phase = 'prompting';
333
+ state.confirmValue = true;
334
+ return;
335
+ }
336
+ if (event.key === 'enter')
337
+ ctx.cancel('Installation cancelled.');
338
+ return;
339
+ }
340
+ if (state.phase === 'reinit') {
341
+ if (event.key === 'left' || event.key === 'right')
342
+ state.confirmValue = !state.confirmValue;
343
+ else if (event.key === 'y' || event.key === 'Y')
344
+ state.phase = 'prompting';
345
+ else if (event.key === 'n' || event.key === 'N' || event.key === 'escape') {
346
+ ctx.cancel('Re-initialization cancelled.');
347
+ }
348
+ else if (event.key === 'enter') {
349
+ if (state.confirmValue)
350
+ state.phase = 'prompting';
351
+ else
352
+ ctx.cancel('Re-initialization cancelled.');
353
+ }
354
+ return;
355
+ }
356
+ if (state.phase === 'confirming') {
357
+ if (event.key === 'escape')
358
+ goBack(ctx);
359
+ else if (event.key === 'left' || event.key === 'right')
360
+ state.confirmValue = !state.confirmValue;
361
+ else if (event.key === 'y' || event.key === 'Y')
362
+ startExecution(ctx);
363
+ else if (event.key === 'n' || event.key === 'N')
364
+ ctx.cancel();
365
+ else if (event.key === 'enter') {
366
+ if (state.confirmValue)
367
+ startExecution(ctx);
368
+ else
369
+ ctx.cancel();
370
+ }
371
+ return;
372
+ }
373
+ const step = currentStep();
374
+ if (event.key === 'escape') {
375
+ goBack(ctx);
376
+ return;
377
+ }
378
+ if (step.kind === 'text') {
379
+ if (event.key === 'enter') {
380
+ commit(ctx, state.input.value.trim() || answerOf(step));
381
+ return;
382
+ }
383
+ const edited = editInput(state.input, event);
384
+ if (edited) {
385
+ state.input = edited;
386
+ state.error = null;
387
+ }
388
+ return;
389
+ }
390
+ if (step.kind === 'select') {
391
+ const values = step.values ?? [];
392
+ if (event.key === 'up')
393
+ state.choiceIndex = (state.choiceIndex - 1 + values.length) % values.length;
394
+ else if (event.key === 'down')
395
+ state.choiceIndex = (state.choiceIndex + 1) % values.length;
396
+ else if (event.key === 'enter')
397
+ commit(ctx, values[state.choiceIndex] ?? '');
398
+ return;
399
+ }
400
+ if (event.key === 'y' || event.key === 'Y')
401
+ commit(ctx, 'yes');
402
+ else if (event.key === 'n' || event.key === 'N')
403
+ commit(ctx, 'no');
404
+ else if (event.key === 'left' || event.key === 'right')
405
+ state.confirmValue = !state.confirmValue;
406
+ else if (event.key === 'enter')
407
+ commit(ctx, state.confirmValue ? 'yes' : 'no');
408
+ };
409
+ const view = (rows) => {
410
+ const body = [
411
+ ...brandBanner(rows),
412
+ text(''),
413
+ commandHeader(options.isReInitializing ? 're-initialize' : 'initialize', targetDescription(state, options)),
414
+ text(''),
415
+ ];
416
+ if (state.phase === 'prompting' || state.phase === 'confirming' || state.phase === 'aborted') {
417
+ const answered = state.phase === 'confirming' ? state.steps.length : state.stepIndex;
418
+ for (let index = 0; index < answered; index++) {
419
+ const step = state.steps[index];
420
+ body.push(answeredLine(step.label, displayValue(step, state)));
421
+ }
422
+ if (answered > 0)
423
+ body.push(text(''));
424
+ }
425
+ if (state.phase === 'reinit') {
426
+ body.push(question('ZardUI is already initialized. Re-initialize this project?'));
427
+ body.push(confirmField(state.confirmValue));
428
+ body.push(hint('This overwrites your existing components.json, theme tokens and shared utils.'));
429
+ body.push(spacer());
430
+ body.push(controls([
431
+ ['y/n · ←/→', 'toggle'],
432
+ ['enter', 'confirm'],
433
+ ]));
434
+ return screen(page(...body));
435
+ }
436
+ if (state.phase === 'prompting') {
437
+ body.push(...activeStep(state));
438
+ body.push(spacer());
439
+ body.push(controls(hintsFor(currentStep())));
440
+ }
441
+ else if (state.phase === 'confirming') {
442
+ body.push(question('Write configuration to components.json?'));
443
+ body.push(confirmField(state.confirmValue));
444
+ body.push(hint('Nothing has been written yet — this is the last step before ZardUI touches your project.'));
445
+ body.push(spacer());
446
+ body.push(controls([
447
+ ['y/n · ←/→', 'toggle'],
448
+ ['enter', 'confirm'],
449
+ ['esc', 'back'],
450
+ ]));
451
+ }
452
+ else if (state.phase === 'running' || state.phase === 'done' || state.phase === 'failed') {
453
+ body.push(...executionBlock(state));
454
+ body.push(spacer());
455
+ if (state.phase === 'done')
456
+ body.push(controls([['enter', 'finish']]));
457
+ else if (state.phase === 'failed')
458
+ body.push(controls([['enter', 'exit']]));
459
+ }
460
+ else {
461
+ body.push(...abortBlock());
462
+ body.push(spacer());
463
+ body.push(controls([
464
+ ['esc', 'go back'],
465
+ ['enter', 'exit'],
466
+ ]));
467
+ }
468
+ return screen(page(...body));
469
+ };
470
+ const result = await runWizard({
471
+ view: () => view(process.stdout.rows ?? 24),
472
+ onKey,
473
+ });
474
+ return { config: result.value, logs: result.logs };
475
+ }
476
+ function displayValue(step, state) {
477
+ if (step.id === 'overwriteCss')
478
+ return 'yes';
479
+ const value = state.answers[step.id];
480
+ if (step.kind === 'select') {
481
+ const index = (step.values ?? []).indexOf(value);
482
+ return step.choices?.[index]?.label ?? value;
483
+ }
484
+ return value;
485
+ }
486
+ function activeStep(state) {
487
+ const step = state.steps[state.stepIndex];
488
+ const nodes = [question(step.prompt)];
489
+ if (step.kind === 'text') {
490
+ nodes.push(textField(state.input.value, state.input.caret));
491
+ }
492
+ else if (step.kind === 'select') {
493
+ nodes.push(...choiceList(step.choices ?? [], state.choiceIndex));
494
+ }
495
+ else {
496
+ nodes.push(confirmField(state.confirmValue));
497
+ }
498
+ if (state.error)
499
+ nodes.push(text(` ✖ ${state.error}`, { color: 'danger', bold: true }));
500
+ else if (state.checking)
501
+ nodes.push(hint('Checking…'));
502
+ else
503
+ nodes.push(hint(step.detail));
504
+ if (step.danger)
505
+ nodes.push(warning(step.danger));
506
+ return nodes;
507
+ }
508
+ function hintsFor(step) {
509
+ if (step.kind === 'text') {
510
+ return [
511
+ ['enter', 'confirm'],
512
+ ['⌫', 'edit'],
513
+ ['esc', 'back'],
514
+ ];
515
+ }
516
+ if (step.kind === 'select') {
517
+ return [
518
+ ['↑/↓', 'choose'],
519
+ ['enter', 'confirm'],
520
+ ['esc', 'back'],
521
+ ];
522
+ }
523
+ return [
524
+ ['y/n · ←/→', 'toggle'],
525
+ ['enter', 'confirm'],
526
+ ['esc', 'back'],
527
+ ];
528
+ }
529
+ function executionBlock(state) {
530
+ const allDone = state.tasksDone >= state.tasks.length;
531
+ const nodes = [
532
+ taskHeader(state.phase === 'failed' ? 'Initialization failed' : 'Writing configuration…', allDone),
533
+ text(''),
534
+ ...taskList(state.tasks, state.tasksDone, state.phase === 'running' ? Date.now() - state.taskStartedAt : undefined),
535
+ text(''),
536
+ progress(state.tasksDone, state.tasks.length),
537
+ ];
538
+ if (state.phase === 'failed') {
539
+ nodes.push(text(''));
540
+ nodes.push(resultPanel('danger', state.failure ?? 'Something went wrong.'));
541
+ return nodes;
542
+ }
543
+ if (state.phase === 'done') {
544
+ nodes.push(text(''));
545
+ nodes.push(resultPanel('success', 'ZardUI has been initialized successfully!'));
546
+ }
547
+ return nodes;
548
+ }
549
+ function abortBlock() {
550
+ return [
551
+ resultPanel('danger', 'Installation stopped'),
552
+ text(''),
553
+ text(' ZardUI must write its theme configuration into your global CSS.', { color: 'foreground' }),
554
+ text(' Without it, the components will not render correctly.', { color: 'muted' }),
555
+ text(''),
556
+ text(' Nothing was changed. Run init again and accept that step, or move', { color: 'muted', dim: true }),
557
+ text(' your existing styles elsewhere first.', { color: 'muted', dim: true }),
558
+ ];
559
+ }
560
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/commands/init/wizard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry-data.d.ts","sourceRoot":"","sources":["../../../src/core/registry/registry-data.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,iBAAiB,EAo1BvC,CAAC"}
1
+ {"version":3,"file":"registry-data.d.ts","sourceRoot":"","sources":["../../../src/core/registry/registry-data.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,iBAAiB,EA8nCvC,CAAC"}