@oktis-works/cms 0.6.5 → 0.7.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.
package/dist/wizard.js ADDED
@@ -0,0 +1,304 @@
1
+ // @oktis-works/cms - Wizard interativo do CLI
2
+ //
3
+ // `okcms` sem argumentos em TTY abre isto; fora de TTY segue o help estático
4
+ // (automazione nunca cai aqui). O wizard é um ORQUESTRADOR: navega, explica e
5
+ // executa os mesmos comandos via subprocesso — ele não reimplementa nada.
6
+ //
7
+ // Três eixos no menu:
8
+ // 1. fluxos guiados (init, dev, 3 deploys, update);
9
+ // 2. qualquer um dos comandos do CLI, agrupados, destrutivos marcados;
10
+ // 3. entrevista de .env campo a campo.
11
+ // Mais: status do projeto (sondagem adaptativa), troca de idioma e sair.
12
+ import { getCommand, commands } from './commands.js';
13
+ import { commandGroupNames } from './parser.js';
14
+ import { Prompt, style, symbol } from './prompt.js';
15
+ import { catalogFor, initialLang } from './wizard-i18n.js';
16
+ import { probeState, suggestNext } from './wizard-state.js';
17
+ import { runEnvInterview } from './wizard-env.js';
18
+ import { runCliCommand, formatCommand } from './wizard-run.js';
19
+ import { flowDeployBlueGreen, flowDeployPm2, flowDeploySimple, flowDev, flowInit, flowUpdate, } from './wizard-flows.js';
20
+ /**
21
+ * Comandos destrutivos: exigem confirmação EXTRA (com o texto do perigo) antes
22
+ * de rodar. A lista é por NOME de comando — o wizard marca no catálogo e
23
+ * confirma duas vezes antes do spawn.
24
+ */
25
+ const DANGEROUS = new Set(['db:restore', 'db:rollback', 'rollback', 'update']);
26
+ /** Comandos que só rodam com projeto OkCMS no cwd — avisamos antes. */
27
+ const NEEDS_PROJECT = new Set([
28
+ 'start', 'stop', 'status', 'dev', 'config', 'update', 'redeploy', 'deploy',
29
+ 'rollback', 'db:migrate', 'db:rollback', 'db:status', 'db:backup', 'db:restore',
30
+ 'seed', 'user:create', 'plugin:install', 'plugin:list', 'plugin:manage',
31
+ 'theme:install', 'theme:list', 'theme:manage', 'theme:build', 'build',
32
+ 'prerender', 'media:migrate', 'system:status',
33
+ ]);
34
+ /** Comandos que bloqueiam por longo tempo (Ctrl+C volta ao wizard). */
35
+ const LONG_RUNNING = new Set(['dev', 'start', 'init', 'update', 'redeploy', 'deploy']);
36
+ export async function runWizard(opts = {}) {
37
+ const cwd = opts.cwd ?? process.cwd();
38
+ const lang = opts.lang ?? initialLang(cwd);
39
+ const prompt = new Prompt(opts.io);
40
+ // o wizard só existe com TTY de verdade — sem terminal não há setas nem
41
+ // entrevista; quem chamou isto por engano recebe o help e sai
42
+ if (!prompt.interactive) {
43
+ prompt.close();
44
+ const { generateHelp } = await import('./parser.js');
45
+ console.log(generateHelp());
46
+ return 0;
47
+ }
48
+ const stateFn = opts.stateFn ?? (() => probeState({ cwd }));
49
+ const ctx = {
50
+ prompt,
51
+ cwd,
52
+ spawn: opts.spawn,
53
+ lang,
54
+ stateFn,
55
+ };
56
+ try {
57
+ for (;;) {
58
+ const catalog = catalogFor(ctx.lang);
59
+ const state = stateFn();
60
+ const suggestion = suggestNext(state);
61
+ printBanner(prompt, catalog, ctx.lang, suggestion, state);
62
+ const choice = await prompt.select(catalog.title, mainMenu(catalog, state));
63
+ switch (choice) {
64
+ case 'flows': {
65
+ await flowsMenu(ctx);
66
+ break;
67
+ }
68
+ case 'command': {
69
+ await catalogMenu(ctx);
70
+ break;
71
+ }
72
+ case 'env': {
73
+ await envMenu(ctx);
74
+ break;
75
+ }
76
+ case 'status': {
77
+ printStatus(catalog, stateFn());
78
+ break;
79
+ }
80
+ case 'refresh': {
81
+ prompt.success(catalog.statusRefreshed);
82
+ break;
83
+ }
84
+ case 'lang': {
85
+ ctx.lang = await prompt.select(catalog.languageHeading, [
86
+ { value: 'en', label: 'English' },
87
+ { value: 'pt', label: 'Português (Brasil)' },
88
+ ]);
89
+ break;
90
+ }
91
+ case 'exit': {
92
+ prompt.write(`\n ${style.dim(catalog.bye)}\n\n`);
93
+ return 0;
94
+ }
95
+ }
96
+ }
97
+ }
98
+ finally {
99
+ prompt.close();
100
+ }
101
+ }
102
+ function printBanner(prompt, catalog, lang, suggestion, state) {
103
+ prompt.write(`\n${style.bold(` ◈ ${catalog.title}`)} ${style.dim(`· ${catalog.langLabel(lang)}`)}\n`);
104
+ const tip = suggestionTip(catalog, suggestion);
105
+ if (tip)
106
+ prompt.write(` ${style.cyan(symbol.arrow)} ${style.dim(tip)}\n`);
107
+ if (!state.isProject)
108
+ prompt.warn(catalog.statusNoProject);
109
+ }
110
+ function suggestionTip(catalog, suggestion) {
111
+ switch (suggestion) {
112
+ case 'init': return catalog.suggestInit;
113
+ case 'env': return catalog.suggestEnv;
114
+ case 'infra': return catalog.suggestInfra;
115
+ case 'apps': return catalog.suggestApps;
116
+ case 'deploy': return catalog.suggestDeploy;
117
+ default: return catalog.suggestNone;
118
+ }
119
+ }
120
+ function mainMenu(catalog, state) {
121
+ return [
122
+ { value: 'flows', label: catalog.menuFlows, hint: catalog.menuFlowsHint },
123
+ {
124
+ value: 'command',
125
+ label: catalog.menuCommand,
126
+ hint: catalog.menuCommandHint.replace('{n}', String(wizardCommandCount())),
127
+ },
128
+ { value: 'env', label: catalog.menuEnv, hint: state.isProject ? catalog.menuEnvHint : catalog.envNoProject },
129
+ { value: 'status', label: catalog.menuStatus, hint: catalog.menuStatusHint },
130
+ { value: 'lang', label: catalog.languageHeading, hint: `en / pt` },
131
+ { value: 'refresh', label: catalog.menuRefresh, hint: catalog.menuRefreshHint },
132
+ { value: 'exit', label: catalog.menuExit, hint: catalog.menuExitHint },
133
+ ];
134
+ }
135
+ function printStatus(catalog, state) {
136
+ promptHeadingOnly(catalog.statusHeading);
137
+ if (!state.isProject) {
138
+ console.log(` ${symbol.fail} ${catalog.statusNoProject}`);
139
+ return;
140
+ }
141
+ console.log(` ${symbol.arrow} ${state.envComplete ? catalog.statusEnvComplete : catalog.statusEnvIncomplete(state.envMissing)}`);
142
+ console.log(` ${symbol.arrow} ${state.dockerUp ? catalog.statusDockerUp : catalog.statusDockerDown}`);
143
+ console.log(` ${symbol.arrow} ${state.infraRunning ? catalog.statusInfraUp : catalog.statusInfraDown}`);
144
+ console.log(` ${symbol.arrow} ${state.appsRunning ? catalog.statusAppsUp(state.appsLabels.join(', ')) : catalog.statusAppsDown}`);
145
+ }
146
+ function promptHeadingOnly(text) {
147
+ console.log(`\n${style.bold(text)}`);
148
+ }
149
+ // ---------------------------------------------------------------------------
150
+ // Fluxos guiados
151
+ // ---------------------------------------------------------------------------
152
+ async function flowsMenu(ctx) {
153
+ const catalog = catalogFor(ctx.lang);
154
+ const deps = {
155
+ prompt: ctx.prompt,
156
+ catalog,
157
+ cwd: ctx.cwd,
158
+ spawn: ctx.spawn,
159
+ stateFn: ctx.stateFn,
160
+ };
161
+ const pick = await ctx.prompt.select(catalog.flowsHeading, [
162
+ { value: 'dev', label: catalog.flowDev, hint: catalog.flowDevHint },
163
+ { value: 'bg', label: catalog.flowDeployBg, hint: catalog.flowDeployBgHint },
164
+ { value: 'simple', label: catalog.flowDeploySimple, hint: catalog.flowDeploySimpleHint },
165
+ { value: 'pm2', label: catalog.flowDeployPm2, hint: catalog.flowDeployPm2Hint },
166
+ { value: 'update', label: catalog.flowUpdate, hint: catalog.flowUpdateHint },
167
+ { value: 'init', label: catalog.flowInit, hint: catalog.flowInitHint },
168
+ { value: 'back', label: catalog.flowBack, hint: catalog.flowBackHint },
169
+ ]);
170
+ const runners = {
171
+ init: flowInit,
172
+ dev: flowDev,
173
+ bg: flowDeployBlueGreen,
174
+ simple: flowDeploySimple,
175
+ pm2: flowDeployPm2,
176
+ update: flowUpdate,
177
+ };
178
+ if (pick === 'back')
179
+ return;
180
+ await runners[pick](deps);
181
+ }
182
+ // ---------------------------------------------------------------------------
183
+ // Catálogo de comandos (rodar qualquer um interativamente)
184
+ // ---------------------------------------------------------------------------
185
+ async function catalogMenu(ctx) {
186
+ const prompt = ctx.prompt;
187
+ const catalog = catalogFor(ctx.lang);
188
+ prompt.heading(catalog.catalogHeading);
189
+ prompt.info(catalog.catalogIntro);
190
+ const groups = commandGroupNames();
191
+ const groupChoices = groups.map(([group]) => ({
192
+ value: `group:${group}`,
193
+ label: group,
194
+ hint: `${groupCommands(group).length} commands`,
195
+ }));
196
+ groupChoices.push({ value: 'back', label: catalog.flowBack, hint: catalog.flowBackHint });
197
+ const groupPick = await prompt.select(catalog.catalogPickCommand, groupChoices);
198
+ if (groupPick === 'back')
199
+ return;
200
+ const group = groupPick.slice('group:'.length);
201
+ const names = groupCommands(group);
202
+ const commandChoices = names.map((name) => {
203
+ const cmd = getCommand(name);
204
+ const danger = DANGEROUS.has(name) ? ` ${symbol.warn}` : '';
205
+ return { value: name, label: `${name}${danger}`, hint: cmd.description };
206
+ });
207
+ commandChoices.push({ value: 'back', label: catalog.flowBack, hint: catalog.flowBackHint });
208
+ const namePick = await prompt.select(`${group}`, commandChoices);
209
+ if (namePick === 'back')
210
+ return;
211
+ await runCommandInteractive(ctx, getCommand(namePick));
212
+ }
213
+ function groupCommands(group) {
214
+ const entry = commandGroupNames().find(([name]) => name === group);
215
+ return entry ? entry[1] : [];
216
+ }
217
+ /** Pergunta as opções obrigatórias (e opcionais, se pedidas) e executa. */
218
+ async function runCommandInteractive(ctx, cmd) {
219
+ const prompt = ctx.prompt;
220
+ const catalog = catalogFor(ctx.lang);
221
+ const dangerous = DANGEROUS.has(cmd.name);
222
+ prompt.heading(dangerous ? catalog.catalogDanger(cmd.name) : `okcms ${cmd.name}`);
223
+ prompt.info(cmd.description);
224
+ if (NEEDS_PROJECT.has(cmd.name)) {
225
+ const state = ctx.stateFn();
226
+ if (!state.isProject)
227
+ prompt.warn(catalog.warnNoProject);
228
+ }
229
+ const flags = [];
230
+ for (const option of cmd.options) {
231
+ if (!option.required)
232
+ continue;
233
+ const label = catalog.catalogRequired(`--${option.name}`, option.description);
234
+ const secretLike = /password|secret/i.test(option.name);
235
+ let value;
236
+ if (secretLike) {
237
+ value = await prompt.secret(label, { default: option.default });
238
+ }
239
+ else {
240
+ value = await prompt.ask(label, {
241
+ default: option.default,
242
+ placeholder: option.default ? `${option.default} (default)` : undefined,
243
+ });
244
+ }
245
+ if (value)
246
+ flags.push([option.name, value]);
247
+ }
248
+ const optionals = cmd.options.filter((option) => !option.required);
249
+ if (optionals.length > 0) {
250
+ const add = await prompt.confirm(catalog.catalogAddOptionals, { defaultValue: false });
251
+ if (add) {
252
+ for (;;) {
253
+ const pick = await prompt.select(catalog.catalogPickOptional, [
254
+ ...optionals.map((option) => ({
255
+ value: option.name,
256
+ label: `--${option.name}`,
257
+ hint: option.description,
258
+ })),
259
+ { value: '__run', label: '▶ ' + symbol.arrow + ' run', hint: catalog.catalogDone },
260
+ ]);
261
+ if (pick === '__run')
262
+ break;
263
+ const option = optionals.find((candidate) => candidate.name === pick);
264
+ const value = await prompt.ask(catalog.catalogValueFor(`--${option.name}`, option.description), {
265
+ default: option.default ?? 'true',
266
+ });
267
+ flags.push([option.name, value || 'true']);
268
+ }
269
+ }
270
+ }
271
+ const line = formatCommand(cmd.name, flags);
272
+ if (dangerous) {
273
+ const ok = await prompt.confirm(catalog.catalogConfirmDanger(line), { defaultValue: false });
274
+ if (!ok) {
275
+ prompt.warn(catalog.stepCancelled);
276
+ return;
277
+ }
278
+ }
279
+ else if (!(await prompt.confirm(catalog.catalogConfirmRun(line), { defaultValue: true }))) {
280
+ prompt.warn(catalog.stepCancelled);
281
+ return;
282
+ }
283
+ await runCliCommand(cmd.name, flags, {
284
+ prompt,
285
+ spawn: ctx.spawn,
286
+ cwd: ctx.cwd,
287
+ longRunning: LONG_RUNNING.has(cmd.name),
288
+ });
289
+ }
290
+ // ---------------------------------------------------------------------------
291
+ // Entrevista de env como item de menu
292
+ // ---------------------------------------------------------------------------
293
+ async function envMenu(ctx) {
294
+ const catalog = catalogFor(ctx.lang);
295
+ const state = ctx.stateFn();
296
+ if (!state.isProject) {
297
+ ctx.prompt.warn(catalog.envNoProject);
298
+ return;
299
+ }
300
+ await runEnvInterview({ prompt: ctx.prompt, catalog, cwd: ctx.cwd });
301
+ }
302
+ /** Total de comandos registrados (usado pelo banner de documentação). */
303
+ export const wizardCommandCount = () => commands.length;
304
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oktis-works/cms",
3
- "version": "0.6.5",
3
+ "version": "0.7.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",