create-rezi 0.1.0-alpha.63 → 0.1.0-alpha.69
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/README.md +8 -21
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -27
- package/dist/index.js.map +1 -1
- package/dist/scaffold.d.ts +1 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +11 -55
- package/dist/scaffold.js.map +1 -1
- package/package.json +6 -2
- package/templates/cli-tool/package.json +2 -2
- package/templates/minimal/package.json +2 -2
- package/templates/minimal/src/__tests__/keybindings.test.ts +1 -0
- package/templates/minimal/src/helpers/keybindings.ts +1 -0
- package/templates/minimal/src/main.ts +1 -1
- package/templates/starship/README.md +1 -1
- package/templates/starship/package.json +2 -2
- package/templates/animation-lab/README.md +0 -45
- package/templates/animation-lab/package.json +0 -25
- package/templates/animation-lab/src/__tests__/keybindings.test.ts +0 -14
- package/templates/animation-lab/src/__tests__/reducer.test.ts +0 -49
- package/templates/animation-lab/src/__tests__/render.test.ts +0 -29
- package/templates/animation-lab/src/helpers/keybindings.ts +0 -32
- package/templates/animation-lab/src/helpers/state.ts +0 -152
- package/templates/animation-lab/src/main.ts +0 -202
- package/templates/animation-lab/src/screens/reactor-lab.ts +0 -848
- package/templates/animation-lab/src/theme.ts +0 -66
- package/templates/animation-lab/src/types.ts +0 -31
- package/templates/animation-lab/tsconfig.json +0 -14
- package/templates/dashboard/README.md +0 -64
- package/templates/dashboard/package.json +0 -25
- package/templates/dashboard/src/__tests__/keybindings.test.ts +0 -12
- package/templates/dashboard/src/__tests__/reducer.test.ts +0 -19
- package/templates/dashboard/src/__tests__/render.test.ts +0 -21
- package/templates/dashboard/src/__tests__/telemetry.test.ts +0 -48
- package/templates/dashboard/src/helpers/formatters.ts +0 -53
- package/templates/dashboard/src/helpers/keybindings.ts +0 -27
- package/templates/dashboard/src/helpers/state.ts +0 -204
- package/templates/dashboard/src/helpers/telemetry.ts +0 -22
- package/templates/dashboard/src/main.ts +0 -184
- package/templates/dashboard/src/screens/overview.ts +0 -221
- package/templates/dashboard/src/theme.ts +0 -51
- package/templates/dashboard/src/types.ts +0 -36
- package/templates/dashboard/tsconfig.json +0 -14
- package/templates/stress-test/README.md +0 -107
- package/templates/stress-test/package.json +0 -25
- package/templates/stress-test/src/__tests__/keybindings.test.ts +0 -11
- package/templates/stress-test/src/__tests__/reducer.test.ts +0 -11
- package/templates/stress-test/src/__tests__/render.test.ts +0 -11
- package/templates/stress-test/src/helpers/test-examples.ts +0 -49
- package/templates/stress-test/src/main.ts +0 -1728
- package/templates/stress-test/tsconfig.json +0 -14
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# create-rezi
|
|
2
2
|
|
|
3
|
-
Scaffold a
|
|
3
|
+
Scaffold a Rezi terminal UI app.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
@@ -17,28 +17,19 @@ bun run start
|
|
|
17
17
|
|
|
18
18
|
## Templates
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
Available templates:
|
|
21
21
|
|
|
22
|
-
- `
|
|
23
|
-
- Alias: `dash`
|
|
24
|
-
- `stress-test` - Visual benchmark matrix starter
|
|
25
|
-
- Aliases: `stress`, `chaos`, `bench`
|
|
26
|
-
- `cli-tool` - Multi-screen CLI workflow starter with route-based screens
|
|
27
|
-
- Aliases: `cli`, `tool`, `multiscreen`
|
|
28
|
-
- `animation-lab` - Declarative animation playground with responsive reactor visuals
|
|
29
|
-
- Aliases: `animation`, `anim`, `lab`, `motion`
|
|
30
|
-
- `minimal` - Single-screen utility starter for small tools
|
|
22
|
+
- `minimal` - Single-screen utility starter for focused tools
|
|
31
23
|
- Aliases: `mini`, `basic`, `utility`
|
|
32
|
-
- `
|
|
24
|
+
- `cli-tool` - Multi-screen CLI starter with route-based screens
|
|
25
|
+
- Aliases: `cli`, `tool`, `multiscreen`
|
|
26
|
+
- `starship` - Advanced console template with routed decks, charts, forms, and overlays
|
|
33
27
|
- Aliases: `ship`, `bridge`, `command`
|
|
34
28
|
|
|
35
29
|
```bash
|
|
36
|
-
npm create rezi my-app -- --template
|
|
37
|
-
npm create rezi my-app -- --template stress-test
|
|
30
|
+
npm create rezi my-app -- --template minimal
|
|
38
31
|
npm create rezi my-app -- --template cli-tool
|
|
39
|
-
npm create rezi my-app -- --template animation-lab
|
|
40
32
|
npm create rezi my-app -- --template starship
|
|
41
|
-
npm create rezi my-app -- --template minimal
|
|
42
33
|
```
|
|
43
34
|
|
|
44
35
|
List templates and highlights from the CLI:
|
|
@@ -49,7 +40,7 @@ npm create rezi -- --list-templates
|
|
|
49
40
|
|
|
50
41
|
## Options
|
|
51
42
|
|
|
52
|
-
- `--template, -t <name>`: Select a template (`
|
|
43
|
+
- `--template, -t <name>`: Select a template (`minimal`, `cli-tool`, `starship`, plus aliases).
|
|
53
44
|
- `--no-install, --skip-install`: Skip dependency installation.
|
|
54
45
|
- `--pm, --package-manager <npm|pnpm|yarn|bun>`: Choose a package manager.
|
|
55
46
|
- `--list-templates, --templates`: Print available templates and highlights.
|
|
@@ -70,7 +61,3 @@ Template theming convention:
|
|
|
70
61
|
|
|
71
62
|
- `src/theme.ts` is the canonical source for theme catalogs and style helpers.
|
|
72
63
|
- Screens should derive visual styling from active theme tokens instead of hardcoded RGB/hex literals.
|
|
73
|
-
- `stress-test` is the current exception and keeps theme/catalog wiring in `src/main.ts`.
|
|
74
|
-
|
|
75
|
-
For template descriptions and highlights, see:
|
|
76
|
-
https://rezitui.dev/docs/getting-started/create-rezi/
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
type PackageManager = "npm" | "pnpm" | "yarn" | "bun";
|
|
3
|
+
export declare function createInstallEnv(parentEnv?: Readonly<Record<string, string | undefined>>): NodeJS.ProcessEnv;
|
|
4
|
+
export declare function resolveInstallCwd(targetDir: string, baseDir?: string): string;
|
|
5
|
+
export declare function resolveInstallInvocation(packageManager: PackageManager, { env, platform, nodeExecPath, }?: {
|
|
6
|
+
env?: Readonly<Record<string, string | undefined>>;
|
|
7
|
+
platform?: NodeJS.Platform;
|
|
8
|
+
nodeExecPath?: string;
|
|
9
|
+
}): {
|
|
10
|
+
command: string;
|
|
11
|
+
args: string[];
|
|
12
|
+
};
|
|
2
13
|
export {};
|
|
3
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAgBA,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAgJtD,wBAAgB,gBAAgB,CAC9B,SAAS,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GACpE,MAAM,CAAC,UAAU,CAQnB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAc,GAAG,MAAM,CAEpF;AAED,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,cAAc,EAC9B,EACE,GAAiB,EACjB,QAA2B,EAC3B,YAA+B,GAChC,GAAE;IACD,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CAClB,GACL;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAarC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import { relative, resolve } from "node:path";
|
|
2
|
+
import { relative, resolve, win32 } from "node:path";
|
|
4
3
|
import { cwd, exit, stdin, stdout } from "node:process";
|
|
5
4
|
import { createInterface } from "node:readline/promises";
|
|
5
|
+
import * as crossSpawn from "cross-spawn";
|
|
6
6
|
import { isMainModuleEntry } from "./mainEntry.js";
|
|
7
7
|
import { TEMPLATE_DEFINITIONS, createProject, isValidPackageName, normalizeTemplateName, resolveTargetName, toDisplayName, toValidPackageName, } from "./scaffold.js";
|
|
8
|
+
const INSTALL_ENV_EXACT_BLOCKLIST = new Set([
|
|
9
|
+
"init_cwd",
|
|
10
|
+
"npm_command",
|
|
11
|
+
"npm_config_argv",
|
|
12
|
+
"npm_config_local_prefix",
|
|
13
|
+
"npm_config_prefix",
|
|
14
|
+
"npm_execpath",
|
|
15
|
+
"npm_node_execpath",
|
|
16
|
+
"npm_prefix",
|
|
17
|
+
]);
|
|
8
18
|
function parseArgs(argv) {
|
|
9
19
|
const options = {
|
|
10
20
|
install: true,
|
|
@@ -66,7 +76,7 @@ function printHelp() {
|
|
|
66
76
|
stdout.write(" npm create rezi my-app\n");
|
|
67
77
|
stdout.write(" bun create rezi my-app\n\n");
|
|
68
78
|
stdout.write("Options:\n");
|
|
69
|
-
stdout.write(" --template, -t <name>
|
|
79
|
+
stdout.write(" --template, -t <name> minimal | cli-tool | starship\n");
|
|
70
80
|
stdout.write(" --no-install Skip dependency install\n");
|
|
71
81
|
stdout.write(" --pm <npm|pnpm|yarn|bun> Choose a package manager\n");
|
|
72
82
|
stdout.write(" --list-templates Show templates and highlights\n");
|
|
@@ -106,6 +116,43 @@ function resolvePackageManager(value) {
|
|
|
106
116
|
}
|
|
107
117
|
throw new Error(`Unsupported package manager: ${value}`);
|
|
108
118
|
}
|
|
119
|
+
function shouldStripInstallEnvKey(key) {
|
|
120
|
+
const normalized = key.toLowerCase();
|
|
121
|
+
return (INSTALL_ENV_EXACT_BLOCKLIST.has(normalized) ||
|
|
122
|
+
normalized.startsWith("npm_lifecycle_") ||
|
|
123
|
+
normalized.startsWith("npm_package_"));
|
|
124
|
+
}
|
|
125
|
+
function isNpmExecPath(execPath) {
|
|
126
|
+
const normalized = execPath.replaceAll("\\", "/").toLowerCase();
|
|
127
|
+
return (normalized.endsWith("/npm-cli.js") ||
|
|
128
|
+
normalized.endsWith("/npm-cli.mjs") ||
|
|
129
|
+
/(^|\/)npm(\.cmd|\.exe)?$/.test(normalized));
|
|
130
|
+
}
|
|
131
|
+
export function createInstallEnv(parentEnv = process.env) {
|
|
132
|
+
const childEnv = { ...parentEnv };
|
|
133
|
+
for (const key of Object.keys(childEnv)) {
|
|
134
|
+
if (shouldStripInstallEnvKey(key)) {
|
|
135
|
+
delete childEnv[key];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return childEnv;
|
|
139
|
+
}
|
|
140
|
+
export function resolveInstallCwd(targetDir, baseDir = cwd()) {
|
|
141
|
+
return resolve(baseDir, targetDir);
|
|
142
|
+
}
|
|
143
|
+
export function resolveInstallInvocation(packageManager, { env = process.env, platform = process.platform, nodeExecPath = process.execPath, } = {}) {
|
|
144
|
+
if (packageManager === "npm") {
|
|
145
|
+
// biome-ignore lint/complexity/useLiteralKeys: process.env-compatible maps use index signatures in TS.
|
|
146
|
+
const npmExecPath = env["npm_execpath"];
|
|
147
|
+
if (npmExecPath && isNpmExecPath(npmExecPath)) {
|
|
148
|
+
return { command: nodeExecPath, args: [npmExecPath, "install"] };
|
|
149
|
+
}
|
|
150
|
+
if (platform === "win32") {
|
|
151
|
+
return { command: win32.join(win32.dirname(nodeExecPath), "npm.cmd"), args: ["install"] };
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return { command: packageManager, args: ["install"] };
|
|
155
|
+
}
|
|
109
156
|
async function promptText(rl, prompt, fallback) {
|
|
110
157
|
const answer = await rl.question(`${prompt} (${fallback}): `);
|
|
111
158
|
return answer.trim() || fallback;
|
|
@@ -122,27 +169,25 @@ async function promptTemplate(rl) {
|
|
|
122
169
|
const answer = await rl.question(`Template (1-${TEMPLATE_DEFINITIONS.length}, default 1): `);
|
|
123
170
|
const trimmed = answer.trim();
|
|
124
171
|
if (!trimmed) {
|
|
125
|
-
return TEMPLATE_DEFINITIONS[0]?.key ?? "
|
|
172
|
+
return TEMPLATE_DEFINITIONS[0]?.key ?? "minimal";
|
|
126
173
|
}
|
|
127
174
|
const asNumber = Number(trimmed);
|
|
128
175
|
if (!Number.isNaN(asNumber) && asNumber >= 1 && asNumber <= TEMPLATE_DEFINITIONS.length) {
|
|
129
|
-
return TEMPLATE_DEFINITIONS[asNumber - 1]?.key ?? TEMPLATE_DEFINITIONS[0]?.key ?? "
|
|
176
|
+
return TEMPLATE_DEFINITIONS[asNumber - 1]?.key ?? TEMPLATE_DEFINITIONS[0]?.key ?? "minimal";
|
|
130
177
|
}
|
|
131
178
|
return trimmed;
|
|
132
179
|
}
|
|
133
|
-
async function confirmStressTemplate(rl) {
|
|
134
|
-
stdout.write("\nSafety check for stress-test template:\n");
|
|
135
|
-
stdout.write(" - This template intentionally drives heavy CPU and optional disk I/O load.\n");
|
|
136
|
-
stdout.write(" - Turbo/write-flood modes increase system pressure.\n");
|
|
137
|
-
const answer = await rl.question("Continue with stress-test? (y/N): ");
|
|
138
|
-
const normalized = answer.trim().toLowerCase();
|
|
139
|
-
return normalized === "y" || normalized === "yes";
|
|
140
|
-
}
|
|
141
180
|
function runInstall(pm, targetDir) {
|
|
142
|
-
const
|
|
143
|
-
|
|
181
|
+
const installCwd = resolveInstallCwd(targetDir);
|
|
182
|
+
const installInvocation = resolveInstallInvocation(pm);
|
|
183
|
+
const res = crossSpawn.sync(installInvocation.command, installInvocation.args, {
|
|
184
|
+
cwd: installCwd,
|
|
144
185
|
stdio: "inherit",
|
|
186
|
+
env: createInstallEnv(),
|
|
145
187
|
});
|
|
188
|
+
if (res.error) {
|
|
189
|
+
throw res.error;
|
|
190
|
+
}
|
|
146
191
|
if (res.status !== 0) {
|
|
147
192
|
throw new Error(`${pm} install failed`);
|
|
148
193
|
}
|
|
@@ -185,18 +230,6 @@ async function main() {
|
|
|
185
230
|
stdout.write("Run with --list-templates to see highlights.\n");
|
|
186
231
|
throw new Error("Invalid template");
|
|
187
232
|
}
|
|
188
|
-
if (templateKey === "stress-test") {
|
|
189
|
-
if (isInteractive) {
|
|
190
|
-
const confirmed = await confirmStressTemplate(rl);
|
|
191
|
-
if (!confirmed) {
|
|
192
|
-
stdout.write("\nTemplate selection cancelled.\n");
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
stdout.write("\nSafety notice: stress-test template selected in non-interactive mode; skipping prompt.\n");
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
233
|
const rawName = resolveTargetName(targetDir);
|
|
201
234
|
const displayName = toDisplayName(rawName);
|
|
202
235
|
const packageName = toValidPackageName(rawName);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffold.d.ts
CHANGED
package/dist/scaffold.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SAAS,kBAAkB,EAsCpD,CAAC;AAmBX,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQvE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/D;AA+BD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyB/F"}
|
package/dist/scaffold.js
CHANGED
|
@@ -3,69 +3,33 @@ import { basename, join, resolve } from "node:path";
|
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
export const TEMPLATE_DEFINITIONS = [
|
|
5
5
|
{
|
|
6
|
-
key: "
|
|
7
|
-
label: "
|
|
8
|
-
description: "
|
|
6
|
+
key: "minimal",
|
|
7
|
+
label: "Minimal Utility TUI",
|
|
8
|
+
description: "Single-screen starter for focused tools",
|
|
9
9
|
safetyTag: "safe-default",
|
|
10
|
-
safetyNote: "
|
|
11
|
-
highlights: [
|
|
12
|
-
"fleet control plane with stable live telemetry",
|
|
13
|
-
"incident feed + inspector + escalation runbook",
|
|
14
|
-
],
|
|
15
|
-
dir: "dashboard",
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
key: "stress-test",
|
|
19
|
-
label: "Visual Benchmark Matrix",
|
|
20
|
-
description: "Three-lane visual benchmark with deterministic sim model + real runtime diagnostics",
|
|
21
|
-
safetyTag: "high-cpu-io",
|
|
22
|
-
safetyNote: "Generates heavy CPU/IO pressure; intended for benchmarking only.",
|
|
10
|
+
safetyNote: "Small-footprint template for quick utility workflows.",
|
|
23
11
|
highlights: [
|
|
24
|
-
"
|
|
25
|
-
"
|
|
12
|
+
"single-screen state flow with keybindings, theme cycling, and inline error handling",
|
|
13
|
+
"lean multi-file structure plus reducer/render/keybinding test examples",
|
|
26
14
|
],
|
|
27
|
-
dir: "
|
|
15
|
+
dir: "minimal",
|
|
28
16
|
},
|
|
29
17
|
{
|
|
30
18
|
key: "cli-tool",
|
|
31
19
|
label: "Multi-Screen CLI Tool",
|
|
32
|
-
description: "
|
|
20
|
+
description: "Multi-screen CLI starter with first-party routing",
|
|
33
21
|
safetyTag: "safe-default",
|
|
34
22
|
safetyNote: "Lightweight template focused on product workflows and routing.",
|
|
35
23
|
highlights: [
|
|
36
|
-
"home/logs/settings
|
|
37
|
-
"global route keybindings plus breadcrumb
|
|
24
|
+
"home/logs/settings screens with router history and focus restoration",
|
|
25
|
+
"global route keybindings plus breadcrumb and tabs helpers wired to router state",
|
|
38
26
|
],
|
|
39
27
|
dir: "cli-tool",
|
|
40
28
|
},
|
|
41
|
-
{
|
|
42
|
-
key: "animation-lab",
|
|
43
|
-
label: "Declarative Animation Lab",
|
|
44
|
-
description: "Responsive animation playground showcasing transition/spring/sequence/stagger hooks",
|
|
45
|
-
safetyTag: "safe-default",
|
|
46
|
-
safetyNote: "Visual-first starter with moderate CPU usage and deterministic animation targets.",
|
|
47
|
-
highlights: [
|
|
48
|
-
"reactor command deck combining canvas visuals, charts, gauges, and staggered module rails",
|
|
49
|
-
"keyboard-driven autoplay + vector nudging + burst impulses with resize-aware layout adaptation",
|
|
50
|
-
],
|
|
51
|
-
dir: "animation-lab",
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: "minimal",
|
|
55
|
-
label: "Minimal Utility TUI",
|
|
56
|
-
description: "Single-screen starter for focused tools with essential patterns only",
|
|
57
|
-
safetyTag: "safe-default",
|
|
58
|
-
safetyNote: "Small footprint template intended for quick utility workflows.",
|
|
59
|
-
highlights: [
|
|
60
|
-
"single-screen state flow with keybindings, theme cycling, and inline error handling",
|
|
61
|
-
"lean multi-file structure plus reducer/render/keybinding test examples",
|
|
62
|
-
],
|
|
63
|
-
dir: "minimal",
|
|
64
|
-
},
|
|
65
29
|
{
|
|
66
30
|
key: "starship",
|
|
67
31
|
label: "Starship Command Console",
|
|
68
|
-
description: "
|
|
32
|
+
description: "Polished multi-deck showcase for routing, animation, charts, forms, and overlays",
|
|
69
33
|
safetyTag: "safe-default",
|
|
70
34
|
safetyNote: "Feature-rich showcase template with moderate CPU usage from animation hooks and live telemetry.",
|
|
71
35
|
highlights: [
|
|
@@ -77,17 +41,9 @@ export const TEMPLATE_DEFINITIONS = [
|
|
|
77
41
|
];
|
|
78
42
|
const TEMPLATE_BY_KEY = new Map(TEMPLATE_DEFINITIONS.map((template) => [template.key, template]));
|
|
79
43
|
const TEMPLATE_ALIASES = new Map(TEMPLATE_DEFINITIONS.map((template) => [template.key, template.key]));
|
|
80
|
-
TEMPLATE_ALIASES.set("dash", "dashboard");
|
|
81
|
-
TEMPLATE_ALIASES.set("stress", "stress-test");
|
|
82
|
-
TEMPLATE_ALIASES.set("chaos", "stress-test");
|
|
83
|
-
TEMPLATE_ALIASES.set("bench", "stress-test");
|
|
84
44
|
TEMPLATE_ALIASES.set("cli", "cli-tool");
|
|
85
45
|
TEMPLATE_ALIASES.set("tool", "cli-tool");
|
|
86
46
|
TEMPLATE_ALIASES.set("multiscreen", "cli-tool");
|
|
87
|
-
TEMPLATE_ALIASES.set("animation", "animation-lab");
|
|
88
|
-
TEMPLATE_ALIASES.set("anim", "animation-lab");
|
|
89
|
-
TEMPLATE_ALIASES.set("lab", "animation-lab");
|
|
90
|
-
TEMPLATE_ALIASES.set("motion", "animation-lab");
|
|
91
47
|
TEMPLATE_ALIASES.set("mini", "minimal");
|
|
92
48
|
TEMPLATE_ALIASES.set("basic", "minimal");
|
|
93
49
|
TEMPLATE_ALIASES.set("utility", "minimal");
|
package/dist/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-rezi",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.69",
|
|
4
4
|
"description": "Scaffold a Rezi terminal UI app.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://rezitui.dev",
|
|
@@ -28,6 +28,10 @@
|
|
|
28
28
|
"bun": ">=1.3.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@rezi-ui/testkit": "0.1.0-alpha.
|
|
31
|
+
"@rezi-ui/testkit": "0.1.0-alpha.69",
|
|
32
|
+
"@types/cross-spawn": "^6.0.6"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"cross-spawn": "^7.0.6"
|
|
32
36
|
}
|
|
33
37
|
}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"test": "tsx --test src/__tests__/*.test.ts"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@rezi-ui/core": "0.1.0-alpha.
|
|
15
|
-
"@rezi-ui/node": "0.1.0-alpha.
|
|
14
|
+
"@rezi-ui/core": "0.1.0-alpha.69",
|
|
15
|
+
"@rezi-ui/node": "0.1.0-alpha.69"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/node": "^22.13.1",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"test": "tsx --test src/__tests__/*.test.ts"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@rezi-ui/core": "0.1.0-alpha.
|
|
15
|
-
"@rezi-ui/node": "0.1.0-alpha.
|
|
14
|
+
"@rezi-ui/core": "0.1.0-alpha.69",
|
|
15
|
+
"@rezi-ui/node": "0.1.0-alpha.69"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/node": "^22.13.1",
|
|
@@ -4,6 +4,7 @@ import { resolveMinimalCommand } from "../helpers/keybindings.js";
|
|
|
4
4
|
|
|
5
5
|
test("minimal keybinding map resolves expected commands", () => {
|
|
6
6
|
assert.equal(resolveMinimalCommand("q"), "quit");
|
|
7
|
+
assert.equal(resolveMinimalCommand("="), "increment");
|
|
7
8
|
assert.equal(resolveMinimalCommand("+"), "increment");
|
|
8
9
|
assert.equal(resolveMinimalCommand("-"), "decrement");
|
|
9
10
|
assert.equal(resolveMinimalCommand("t"), "cycle-theme");
|
|
@@ -125,7 +125,7 @@ app.keys({
|
|
|
125
125
|
"ctrl+c": () => applyCommand(resolveMinimalCommand("ctrl+c")),
|
|
126
126
|
h: () => applyCommand(resolveMinimalCommand("h")),
|
|
127
127
|
"shift+/": () => applyCommand(resolveMinimalCommand("shift+/")),
|
|
128
|
-
"
|
|
128
|
+
"=": () => applyCommand(resolveMinimalCommand("=")),
|
|
129
129
|
"shift+=": () => applyCommand(resolveMinimalCommand("shift+=")),
|
|
130
130
|
"-": () => applyCommand(resolveMinimalCommand("-")),
|
|
131
131
|
t: () => applyCommand(resolveMinimalCommand("t")),
|
|
@@ -4,7 +4,7 @@ Scaffolded with `create-rezi` using the **__TEMPLATE_LABEL__** template.
|
|
|
4
4
|
|
|
5
5
|
## Concept
|
|
6
6
|
|
|
7
|
-
`__APP_NAME__` is a multi-deck starship operations console. It demonstrates routed application architecture, deterministic telemetry simulation, rich widgets, layered overlays, and declarative animation hooks in a
|
|
7
|
+
`__APP_NAME__` is a multi-deck starship operations console. It demonstrates routed application architecture, deterministic telemetry simulation, rich widgets, layered overlays, and declarative animation hooks in a single advanced template.
|
|
8
8
|
|
|
9
9
|
## Decks
|
|
10
10
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"test": "tsx --test src/__tests__/*.test.ts"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@rezi-ui/core": "0.1.0-alpha.
|
|
15
|
-
"@rezi-ui/node": "0.1.0-alpha.
|
|
14
|
+
"@rezi-ui/core": "0.1.0-alpha.69",
|
|
15
|
+
"@rezi-ui/node": "0.1.0-alpha.69"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/node": "^18.0.0",
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# __APP_NAME__
|
|
2
|
-
|
|
3
|
-
Scaffolded with `create-rezi` using the **__TEMPLATE_LABEL__** template.
|
|
4
|
-
|
|
5
|
-
## What This Template Demonstrates
|
|
6
|
-
|
|
7
|
-
- Declarative animation hooks with first-class primitives: `useTransition`, `useSpring`, `useSequence`, `useStagger`.
|
|
8
|
-
- Built-in easing presets in action (`linear`, quad, and cubic families).
|
|
9
|
-
- Canvas-driven reactor visualization combined with charts, gauges, and staggered module rails.
|
|
10
|
-
- Reducer-managed animation targets with deterministic tick updates.
|
|
11
|
-
- Responsive layout that adapts to terminal resize events.
|
|
12
|
-
- Keyboard controls for autoplay, single-step, vector tuning, burst impulses, phase cycling, and theme cycling.
|
|
13
|
-
|
|
14
|
-
## File Layout
|
|
15
|
-
|
|
16
|
-
- `src/types.ts`: animation state and action contracts.
|
|
17
|
-
- `src/theme.ts`: template identity + built-in theme catalog.
|
|
18
|
-
- `src/helpers/state.ts`: viewport normalization + reducer transitions.
|
|
19
|
-
- `src/helpers/keybindings.ts`: key to command resolver.
|
|
20
|
-
- `src/screens/reactor-lab.ts`: reactor field screen renderer.
|
|
21
|
-
- `src/main.ts`: app bootstrap, resize handling, animation loop.
|
|
22
|
-
- `src/__tests__/`: reducer, render, and keybinding examples.
|
|
23
|
-
|
|
24
|
-
## Quickstart
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# npm
|
|
28
|
-
npm install
|
|
29
|
-
npm run start
|
|
30
|
-
|
|
31
|
-
# bun
|
|
32
|
-
bun install
|
|
33
|
-
bun run start
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Controls
|
|
37
|
-
|
|
38
|
-
- `q` or `ctrl+c`: Quit
|
|
39
|
-
- `space` or `p`: Toggle autoplay
|
|
40
|
-
- `enter`: Step one tick
|
|
41
|
-
- Arrow keys: Nudge drift/flux/orbit vectors
|
|
42
|
-
- `b`: Burst impulse
|
|
43
|
-
- `r`: Randomized retarget
|
|
44
|
-
- `m`: Cycle phase
|
|
45
|
-
- `t`: Cycle theme preset
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "__PACKAGE_NAME__",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"start": "tsx src/main.ts",
|
|
8
|
-
"dev": "tsx watch src/main.ts",
|
|
9
|
-
"build": "tsc --pretty false",
|
|
10
|
-
"typecheck": "tsc --noEmit",
|
|
11
|
-
"test": "tsx --test src/__tests__/*.test.ts"
|
|
12
|
-
},
|
|
13
|
-
"dependencies": {
|
|
14
|
-
"@rezi-ui/core": "0.1.0-alpha.63",
|
|
15
|
-
"@rezi-ui/node": "0.1.0-alpha.63"
|
|
16
|
-
},
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"@types/node": "^22.13.1",
|
|
19
|
-
"tsx": "^4.20.0",
|
|
20
|
-
"typescript": "^5.6.3"
|
|
21
|
-
},
|
|
22
|
-
"engines": {
|
|
23
|
-
"node": ">=18"
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import assert from "node:assert/strict";
|
|
2
|
-
import test from "node:test";
|
|
3
|
-
import { resolveAnimationLabCommand } from "../helpers/keybindings.js";
|
|
4
|
-
|
|
5
|
-
test("animation lab keybinding map resolves expected commands", () => {
|
|
6
|
-
assert.equal(resolveAnimationLabCommand("q"), "quit");
|
|
7
|
-
assert.equal(resolveAnimationLabCommand("space"), "toggle-autoplay");
|
|
8
|
-
assert.equal(resolveAnimationLabCommand("enter"), "step");
|
|
9
|
-
assert.equal(resolveAnimationLabCommand("right"), "nudge-right");
|
|
10
|
-
assert.equal(resolveAnimationLabCommand("b"), "burst");
|
|
11
|
-
assert.equal(resolveAnimationLabCommand("m"), "cycle-phase");
|
|
12
|
-
assert.equal(resolveAnimationLabCommand("t"), "cycle-theme");
|
|
13
|
-
assert.equal(resolveAnimationLabCommand("x"), undefined);
|
|
14
|
-
});
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import assert from "node:assert/strict";
|
|
2
|
-
import test from "node:test";
|
|
3
|
-
import { createInitialState, reduceAnimationLabState } from "../helpers/state.js";
|
|
4
|
-
import { DEFAULT_THEME_NAME } from "../theme.js";
|
|
5
|
-
|
|
6
|
-
test("animation lab reducer advances and keeps bounds", () => {
|
|
7
|
-
const initial = createInitialState();
|
|
8
|
-
const next = reduceAnimationLabState(initial, { type: "advance" });
|
|
9
|
-
|
|
10
|
-
assert.equal(next.tick, 1);
|
|
11
|
-
assert.ok(next.fluxTarget >= 0 && next.fluxTarget <= 1);
|
|
12
|
-
assert.ok(next.orbitTarget >= 0 && next.orbitTarget <= 1);
|
|
13
|
-
assert.ok(next.burstTarget >= 0 && next.burstTarget <= 1);
|
|
14
|
-
assert.ok(next.driftTarget >= -1 && next.driftTarget <= 1);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
test("animation lab reducer applies viewport", () => {
|
|
18
|
-
const initial = createInitialState({ cols: 96, rows: 32 });
|
|
19
|
-
const resized = reduceAnimationLabState(initial, {
|
|
20
|
-
type: "apply-viewport",
|
|
21
|
-
cols: 70,
|
|
22
|
-
rows: 20,
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
assert.equal(resized.viewportCols, 70);
|
|
26
|
-
assert.equal(resized.viewportRows, 20);
|
|
27
|
-
assert.equal("panelWidth" in resized, false);
|
|
28
|
-
assert.equal("panelHeight" in resized, false);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
test("animation lab reducer supports nudge and phase cycle", () => {
|
|
32
|
-
const initial = createInitialState();
|
|
33
|
-
const nudged = reduceAnimationLabState(initial, {
|
|
34
|
-
type: "nudge",
|
|
35
|
-
payload: { driftDelta: 0.3, fluxDelta: 0.1, orbitDelta: 0.1 },
|
|
36
|
-
});
|
|
37
|
-
const cycled = reduceAnimationLabState(nudged, { type: "cycle-phase" });
|
|
38
|
-
|
|
39
|
-
assert.equal(cycled.phase, 1);
|
|
40
|
-
assert.ok(cycled.driftTarget > initial.driftTarget);
|
|
41
|
-
assert.ok(cycled.fluxTarget > initial.fluxTarget);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
test("animation lab reducer cycles theme", () => {
|
|
45
|
-
const initial = createInitialState();
|
|
46
|
-
assert.equal(initial.themeName, DEFAULT_THEME_NAME);
|
|
47
|
-
const next = reduceAnimationLabState(initial, { type: "cycle-theme" });
|
|
48
|
-
assert.notEqual(next.themeName, initial.themeName);
|
|
49
|
-
});
|