@neetru/cli 2.7.2 → 2.7.4
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/CHANGELOG.md +26 -0
- package/dist/commands/ui.d.ts +31 -3
- package/dist/commands/ui.js +511 -279
- package/dist/commands/ui.js.map +1 -1
- package/dist/lib/config-schema.d.ts +2 -2
- package/dist/utils/logger.d.ts +10 -1
- package/dist/utils/logger.js +55 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/logo.d.ts +1 -1
- package/dist/utils/logo.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
Convenção: [Keep a Changelog](https://keepachangelog.com/) + [SemVer](https://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [2.7.4] — 2026-05-20 (submenus redesenhados)
|
|
6
|
+
|
|
7
|
+
### Adicionado
|
|
8
|
+
|
|
9
|
+
- Submenu **"Começar um projeto"** no menu principal — reúne o scaffold
|
|
10
|
+
local (`neetru init`), a criação completa (`neetru new`) e uma tela de
|
|
11
|
+
info sobre o `@neetru/sdk` (o que é, como instalar e consumir).
|
|
12
|
+
- Os 10 submenus ganharam o **mesmo visual do menu principal**: moldura
|
|
13
|
+
azul-marinho, marcador `> <` no item ativo e navegação por setas — em
|
|
14
|
+
coluna única, alinhada à esquerda.
|
|
15
|
+
|
|
16
|
+
### Corrigido
|
|
17
|
+
|
|
18
|
+
- Submenu não engole mais a primeira seta. O menu principal entregava o
|
|
19
|
+
stdin pausado / fora de raw mode pro submenu, e o inquirer perdia a
|
|
20
|
+
1ª tecla — só respondia depois de um toque inicial. Agora o stdin fica
|
|
21
|
+
"quente" na entrega; a seta funciona de cara.
|
|
22
|
+
|
|
23
|
+
## [2.7.3] — 2026-05-20 (polish do cabeçalho)
|
|
24
|
+
|
|
25
|
+
### Mudado
|
|
26
|
+
|
|
27
|
+
- Cabeçalho do `neetru` interativo: logo renderizado **ao lado** do texto
|
|
28
|
+
(antes era acima), com a sessão e a versão alinhadas à direita do logo.
|
|
29
|
+
- Paleta de contorno do menu e do logo ajustada para um azul mais suave.
|
|
30
|
+
|
|
5
31
|
## [2.7.2] — 2026-05-20 (aviso de versão + menu em 2 colunas)
|
|
6
32
|
|
|
7
33
|
### Adicionado
|
package/dist/commands/ui.d.ts
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { type DocsBannerInfo } from '../utils/logger.js';
|
|
2
|
+
type MenuAction = 'overview' | 'quickstart' | 'products' | 'workspaces' | 'deploy' | 'servers' | 'databases' | 'tenants' | 'support' | 'docs' | 'health' | 'auth' | 'exit';
|
|
3
|
+
export declare const MENU_OUTLINE_COLOR = "#334C65";
|
|
4
|
+
export declare const MENU_FOOTER_TEXT_COLOR = "#CBD5E1";
|
|
3
5
|
type MenuDirection = 'up' | 'down' | 'left' | 'right';
|
|
6
|
+
type DocsMenuAction = 'list' | 'get' | 'meta' | 'back' | `recent:${string}`;
|
|
4
7
|
/** Item do menu principal: nome do recurso + descrição opcional. */
|
|
5
8
|
interface MainMenuItem {
|
|
6
9
|
label: string;
|
|
7
10
|
value: MenuAction;
|
|
8
11
|
description?: string;
|
|
9
12
|
}
|
|
13
|
+
export interface DocsMenuChoice {
|
|
14
|
+
name: string;
|
|
15
|
+
value: DocsMenuAction;
|
|
16
|
+
short: string;
|
|
17
|
+
}
|
|
18
|
+
export interface MenuFooterTask {
|
|
19
|
+
label: string;
|
|
20
|
+
progress: number;
|
|
21
|
+
}
|
|
22
|
+
export interface MenuFooterState {
|
|
23
|
+
sessionEmail?: string | null;
|
|
24
|
+
tasks?: MenuFooterTask[];
|
|
25
|
+
}
|
|
10
26
|
/**
|
|
11
27
|
* Menu principal do CLI. Cada recurso tem um nome e, quando ajuda, uma
|
|
12
28
|
* descrição curta exibida abaixo dele.
|
|
@@ -23,6 +39,18 @@ export declare function buildMenuChoices(items: MainMenuItem[]): Array<{
|
|
|
23
39
|
short: string;
|
|
24
40
|
}>;
|
|
25
41
|
export declare function moveMenuSelection(currentIndex: number, direction: MenuDirection, totalItems: number, columns?: number): number;
|
|
26
|
-
export declare function renderMainMenu(items: MainMenuItem[], selectedIndex: number, terminalColumns?: number): string;
|
|
42
|
+
export declare function renderMainMenu(items: MainMenuItem[], selectedIndex: number, terminalColumns?: number, footer?: MenuFooterState): string;
|
|
43
|
+
/** Item de submenu — coluna única, mesmo visual do menu principal. */
|
|
44
|
+
interface SubMenuItem {
|
|
45
|
+
label: string;
|
|
46
|
+
value: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Renderiza um submenu em coluna única, alinhado à esquerda, com a mesma
|
|
50
|
+
* moldura azul-marinho e o marcador `> <` do menu principal. A largura
|
|
51
|
+
* acompanha o item mais longo (clampada entre 18 e 48).
|
|
52
|
+
*/
|
|
53
|
+
export declare function renderSubMenu(title: string, items: SubMenuItem[], selectedIndex: number): string;
|
|
54
|
+
export declare function buildDocsMenuChoices(docsInfo?: DocsBannerInfo): DocsMenuChoice[];
|
|
27
55
|
export declare function runTerminalUi(): Promise<void>;
|
|
28
56
|
export {};
|