create-rezi 0.1.0-alpha.9 → 0.1.0-beta.1
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 +45 -12
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -22
- package/dist/index.js.map +1 -1
- package/dist/mainEntry.d.ts +2 -0
- package/dist/mainEntry.d.ts.map +1 -0
- package/dist/mainEntry.js +20 -0
- package/dist/mainEntry.js.map +1 -0
- package/dist/scaffold.d.ts +4 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +51 -39
- package/dist/scaffold.js.map +1 -1
- package/package.json +14 -7
- package/templates/cli-tool/README.md +70 -0
- package/templates/cli-tool/gitignore +2 -0
- package/templates/{dashboard → cli-tool}/package.json +6 -4
- package/templates/cli-tool/src/__tests__/keybindings.test.ts +12 -0
- package/templates/cli-tool/src/__tests__/reducer.test.ts +25 -0
- package/templates/cli-tool/src/__tests__/render.test.ts +13 -0
- package/templates/cli-tool/src/helpers/keybindings.ts +28 -0
- package/templates/cli-tool/src/helpers/logs.ts +51 -0
- package/templates/cli-tool/src/helpers/state.ts +99 -0
- package/templates/cli-tool/src/main.ts +175 -0
- package/templates/cli-tool/src/screens/home.ts +62 -0
- package/templates/cli-tool/src/screens/index.ts +45 -0
- package/templates/cli-tool/src/screens/logs.ts +79 -0
- package/templates/cli-tool/src/screens/settings.ts +88 -0
- package/templates/cli-tool/src/screens/shell.ts +103 -0
- package/templates/cli-tool/src/theme.ts +61 -0
- package/templates/cli-tool/src/types.ts +31 -0
- package/templates/minimal/README.md +56 -0
- package/templates/minimal/gitignore +2 -0
- package/templates/{form-app → minimal}/package.json +6 -4
- package/templates/minimal/src/__tests__/keybindings.test.ts +13 -0
- package/templates/minimal/src/__tests__/reducer.test.ts +20 -0
- package/templates/minimal/src/__tests__/render.test.ts +24 -0
- package/templates/minimal/src/helpers/keybindings.ts +24 -0
- package/templates/minimal/src/helpers/state.ts +20 -0
- package/templates/minimal/src/main.ts +150 -0
- package/templates/minimal/src/screens/main-screen.ts +110 -0
- package/templates/minimal/src/theme.ts +49 -0
- package/templates/minimal/src/types.ts +15 -0
- package/templates/starship/README.md +117 -0
- package/templates/starship/gitignore +2 -0
- package/templates/{file-browser → starship}/package.json +7 -5
- package/templates/starship/src/__tests__/keybindings.test.ts +39 -0
- package/templates/starship/src/__tests__/reducer.test.ts +113 -0
- package/templates/starship/src/__tests__/render.test.ts +159 -0
- package/templates/starship/src/helpers/debug.ts +22 -0
- package/templates/starship/src/helpers/formatters.ts +109 -0
- package/templates/starship/src/helpers/keybindings.ts +132 -0
- package/templates/starship/src/helpers/layout.ts +65 -0
- package/templates/starship/src/helpers/simulation.ts +269 -0
- package/templates/starship/src/helpers/state.ts +767 -0
- package/templates/starship/src/main.ts +761 -0
- package/templates/starship/src/screens/bridge.ts +561 -0
- package/templates/starship/src/screens/cargo.ts +389 -0
- package/templates/starship/src/screens/comms.ts +473 -0
- package/templates/starship/src/screens/crew.ts +566 -0
- package/templates/starship/src/screens/engineering.ts +549 -0
- package/templates/starship/src/screens/index.ts +36 -0
- package/templates/starship/src/screens/primitives.ts +172 -0
- package/templates/starship/src/screens/settings.ts +289 -0
- package/templates/starship/src/screens/shell.ts +696 -0
- package/templates/starship/src/theme.ts +448 -0
- package/templates/starship/src/types.ts +203 -0
- package/templates/{form-app → starship}/tsconfig.json +1 -0
- package/dist/__tests__/scaffold.test.d.ts +0 -2
- package/dist/__tests__/scaffold.test.d.ts.map +0 -1
- package/dist/__tests__/scaffold.test.js +0 -29
- package/dist/__tests__/scaffold.test.js.map +0 -1
- package/templates/dashboard/README.md +0 -18
- package/templates/dashboard/src/main.ts +0 -259
- package/templates/file-browser/README.md +0 -18
- package/templates/file-browser/src/main.ts +0 -258
- package/templates/form-app/README.md +0 -18
- package/templates/form-app/src/main.ts +0 -222
- package/templates/streaming-viewer/README.md +0 -17
- package/templates/streaming-viewer/package.json +0 -23
- package/templates/streaming-viewer/src/main.ts +0 -176
- package/templates/streaming-viewer/tsconfig.json +0 -14
- /package/templates/{dashboard → cli-tool}/tsconfig.json +0 -0
- /package/templates/{file-browser → minimal}/tsconfig.json +0 -0
package/README.md
CHANGED
|
@@ -1,30 +1,63 @@
|
|
|
1
1
|
# create-rezi
|
|
2
2
|
|
|
3
|
-
Scaffold a
|
|
3
|
+
Scaffold a Rezi terminal UI app.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npm create rezi my-app
|
|
9
9
|
cd my-app
|
|
10
|
-
npm start
|
|
10
|
+
npm run start
|
|
11
|
+
|
|
12
|
+
# Bun
|
|
13
|
+
bun create rezi my-app
|
|
14
|
+
cd my-app
|
|
15
|
+
bun run start
|
|
11
16
|
```
|
|
12
17
|
|
|
13
18
|
## Templates
|
|
14
19
|
|
|
15
|
-
|
|
20
|
+
Available templates:
|
|
21
|
+
|
|
22
|
+
- `minimal` - Single-screen utility starter for focused tools
|
|
23
|
+
- Aliases: `mini`, `basic`, `utility`
|
|
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
|
|
27
|
+
- Aliases: `ship`, `bridge`, `command`
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm create rezi my-app -- --template minimal
|
|
31
|
+
npm create rezi my-app -- --template cli-tool
|
|
32
|
+
npm create rezi my-app -- --template starship
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
List templates and highlights from the CLI:
|
|
16
36
|
|
|
17
37
|
```bash
|
|
18
|
-
npm create rezi
|
|
19
|
-
npm create rezi my-app -- --template form-app
|
|
20
|
-
npm create rezi my-app -- --template file-browser
|
|
21
|
-
npm create rezi my-app -- --template streaming-viewer
|
|
38
|
+
npm create rezi -- --list-templates
|
|
22
39
|
```
|
|
23
40
|
|
|
24
41
|
## Options
|
|
25
42
|
|
|
26
|
-
- `--template <name>`:
|
|
27
|
-
- `--no-install`: Skip dependency installation.
|
|
28
|
-
- `--pm <npm|pnpm|yarn|bun>`: Choose a package manager.
|
|
29
|
-
- `--list-templates`: Print available templates.
|
|
30
|
-
- `--help`: Show help.
|
|
43
|
+
- `--template, -t <name>`: Select a template (`minimal`, `cli-tool`, `starship`, plus aliases).
|
|
44
|
+
- `--no-install, --skip-install`: Skip dependency installation.
|
|
45
|
+
- `--pm, --package-manager <npm|pnpm|yarn|bun>`: Choose a package manager.
|
|
46
|
+
- `--list-templates, --templates`: Print available templates and highlights.
|
|
47
|
+
- `--help, -h`: Show help.
|
|
48
|
+
|
|
49
|
+
## Template Conventions
|
|
50
|
+
|
|
51
|
+
Scaffolded templates now follow the same baseline structure:
|
|
52
|
+
|
|
53
|
+
- `src/types.ts`
|
|
54
|
+
- `src/theme.ts`
|
|
55
|
+
- `src/helpers/`
|
|
56
|
+
- `src/screens/`
|
|
57
|
+
- `src/main.ts`
|
|
58
|
+
- `src/__tests__/`
|
|
59
|
+
|
|
60
|
+
Template theming convention:
|
|
61
|
+
|
|
62
|
+
- `src/theme.ts` is the canonical source for theme catalogs and style helpers.
|
|
63
|
+
- Screens should derive visual styling from active theme tokens instead of hardcoded RGB/hex literals.
|
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";
|
|
6
|
-
import
|
|
5
|
+
import * as crossSpawn from "cross-spawn";
|
|
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,
|
|
@@ -63,18 +73,24 @@ function parseArgs(argv) {
|
|
|
63
73
|
function printHelp() {
|
|
64
74
|
stdout.write("create-rezi\n\n");
|
|
65
75
|
stdout.write("Usage:\n");
|
|
66
|
-
stdout.write(" npm create rezi my-app\n
|
|
76
|
+
stdout.write(" npm create rezi my-app\n");
|
|
77
|
+
stdout.write(" bun create rezi my-app\n\n");
|
|
67
78
|
stdout.write("Options:\n");
|
|
68
|
-
stdout.write(" --template, -t <name>
|
|
69
|
-
stdout.write(" --no-install
|
|
79
|
+
stdout.write(" --template, -t <name> minimal | cli-tool | starship\n");
|
|
80
|
+
stdout.write(" --no-install Skip dependency install\n");
|
|
70
81
|
stdout.write(" --pm <npm|pnpm|yarn|bun> Choose a package manager\n");
|
|
71
|
-
stdout.write(" --list-templates
|
|
72
|
-
stdout.write(" --help, -h
|
|
82
|
+
stdout.write(" --list-templates Show templates and highlights\n");
|
|
83
|
+
stdout.write(" --help, -h Show this help\n");
|
|
73
84
|
}
|
|
74
85
|
function printTemplates() {
|
|
75
|
-
stdout.write("Available templates:\n");
|
|
86
|
+
stdout.write("Available templates (--template <name>):\n");
|
|
76
87
|
TEMPLATE_DEFINITIONS.forEach((template, index) => {
|
|
77
|
-
|
|
88
|
+
const defaultSuffix = index === 0 ? " (default)" : "";
|
|
89
|
+
const highlights = template.highlights.join(" | ");
|
|
90
|
+
stdout.write(` ${index + 1}. ${template.key.padEnd(16)} ${template.label}${defaultSuffix}\n`);
|
|
91
|
+
stdout.write(` ${template.description}\n`);
|
|
92
|
+
stdout.write(` Safety: ${template.safetyTag} — ${template.safetyNote}\n`);
|
|
93
|
+
stdout.write(` Highlights: ${highlights}\n`);
|
|
78
94
|
});
|
|
79
95
|
}
|
|
80
96
|
function detectPackageManager() {
|
|
@@ -100,47 +116,100 @@ function resolvePackageManager(value) {
|
|
|
100
116
|
}
|
|
101
117
|
throw new Error(`Unsupported package manager: ${value}`);
|
|
102
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
|
+
}
|
|
103
156
|
async function promptText(rl, prompt, fallback) {
|
|
104
157
|
const answer = await rl.question(`${prompt} (${fallback}): `);
|
|
105
158
|
return answer.trim() || fallback;
|
|
106
159
|
}
|
|
107
160
|
async function promptTemplate(rl) {
|
|
108
|
-
stdout.write("\nSelect a template:\n");
|
|
161
|
+
stdout.write("\nSelect a template (name or number):\n");
|
|
109
162
|
TEMPLATE_DEFINITIONS.forEach((template, index) => {
|
|
110
|
-
|
|
163
|
+
const defaultSuffix = index === 0 ? " (default)" : "";
|
|
164
|
+
stdout.write(` ${index + 1}. ${template.key.padEnd(16)} ${template.label}${defaultSuffix}\n`);
|
|
165
|
+
stdout.write(` ${template.description}\n`);
|
|
166
|
+
stdout.write(` Safety: ${template.safetyTag} — ${template.safetyNote}\n`);
|
|
167
|
+
stdout.write(` Highlights: ${template.highlights.join(" | ")}\n`);
|
|
111
168
|
});
|
|
112
|
-
const answer = await rl.question(
|
|
169
|
+
const answer = await rl.question(`Template (1-${TEMPLATE_DEFINITIONS.length}, default 1): `);
|
|
113
170
|
const trimmed = answer.trim();
|
|
114
|
-
if (!trimmed)
|
|
115
|
-
return "
|
|
171
|
+
if (!trimmed) {
|
|
172
|
+
return TEMPLATE_DEFINITIONS[0]?.key ?? "minimal";
|
|
173
|
+
}
|
|
116
174
|
const asNumber = Number(trimmed);
|
|
117
175
|
if (!Number.isNaN(asNumber) && asNumber >= 1 && asNumber <= TEMPLATE_DEFINITIONS.length) {
|
|
118
|
-
return TEMPLATE_DEFINITIONS[asNumber - 1]?.key ?? "
|
|
176
|
+
return TEMPLATE_DEFINITIONS[asNumber - 1]?.key ?? TEMPLATE_DEFINITIONS[0]?.key ?? "minimal";
|
|
119
177
|
}
|
|
120
178
|
return trimmed;
|
|
121
179
|
}
|
|
122
180
|
function runInstall(pm, targetDir) {
|
|
123
|
-
const
|
|
124
|
-
|
|
181
|
+
const installCwd = resolveInstallCwd(targetDir);
|
|
182
|
+
const installInvocation = resolveInstallInvocation(pm);
|
|
183
|
+
const res = crossSpawn.sync(installInvocation.command, installInvocation.args, {
|
|
184
|
+
cwd: installCwd,
|
|
125
185
|
stdio: "inherit",
|
|
186
|
+
env: createInstallEnv(),
|
|
126
187
|
});
|
|
188
|
+
if (res.error) {
|
|
189
|
+
throw res.error;
|
|
190
|
+
}
|
|
127
191
|
if (res.status !== 0) {
|
|
128
192
|
throw new Error(`${pm} install failed`);
|
|
129
193
|
}
|
|
130
194
|
}
|
|
131
195
|
function printNextSteps(targetDir, packageManager, installRan) {
|
|
196
|
+
const installCommand = `${packageManager} install`;
|
|
197
|
+
const startCommand = packageManager === "npm" || packageManager === "bun"
|
|
198
|
+
? `${packageManager} run start`
|
|
199
|
+
: `${packageManager} start`;
|
|
132
200
|
const rel = relative(cwd(), resolve(targetDir)) || ".";
|
|
133
201
|
stdout.write("\nNext steps:\n");
|
|
134
202
|
if (rel !== ".") {
|
|
135
203
|
stdout.write(` cd ${rel}\n`);
|
|
136
204
|
}
|
|
137
205
|
if (!installRan) {
|
|
138
|
-
stdout.write(` ${
|
|
206
|
+
stdout.write(` ${installCommand}\n`);
|
|
139
207
|
}
|
|
140
|
-
stdout.write(` ${
|
|
208
|
+
stdout.write(` ${startCommand}\n`);
|
|
141
209
|
}
|
|
142
210
|
async function main() {
|
|
143
211
|
const options = parseArgs(process.argv.slice(2));
|
|
212
|
+
const isInteractive = Boolean(stdin.isTTY && stdout.isTTY);
|
|
144
213
|
if (options.help) {
|
|
145
214
|
printHelp();
|
|
146
215
|
return;
|
|
@@ -155,8 +224,10 @@ async function main() {
|
|
|
155
224
|
const templateInput = options.template || (await promptTemplate(rl));
|
|
156
225
|
const templateKey = normalizeTemplateName(templateInput);
|
|
157
226
|
if (!templateKey) {
|
|
227
|
+
const allowed = TEMPLATE_DEFINITIONS.map((template) => template.key).join(", ");
|
|
158
228
|
stdout.write(`\nUnknown template: ${templateInput}\n`);
|
|
159
|
-
|
|
229
|
+
stdout.write(`Use one of: ${allowed}\n`);
|
|
230
|
+
stdout.write("Run with --list-templates to see highlights.\n");
|
|
160
231
|
throw new Error("Invalid template");
|
|
161
232
|
}
|
|
162
233
|
const rawName = resolveTargetName(targetDir);
|
|
@@ -183,7 +254,7 @@ async function main() {
|
|
|
183
254
|
rl.close();
|
|
184
255
|
}
|
|
185
256
|
}
|
|
186
|
-
const isMain = process.argv[1]
|
|
257
|
+
const isMain = isMainModuleEntry(process.argv[1], import.meta.url);
|
|
187
258
|
if (isMain) {
|
|
188
259
|
main().catch((err) => {
|
|
189
260
|
stdout.write(`\ncreate-rezi error: ${err instanceof Error ? err.message : String(err)}\n`);
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mainEntry.d.ts","sourceRoot":"","sources":["../src/mainEntry.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAO1F"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { realpathSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
function resolveCanonicalPath(pathValue) {
|
|
5
|
+
try {
|
|
6
|
+
return realpathSync(pathValue);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return pathValue;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function isMainModuleEntry(argvPath, moduleUrl) {
|
|
13
|
+
if (!argvPath) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const modulePath = resolveCanonicalPath(fileURLToPath(moduleUrl));
|
|
17
|
+
const entryPath = resolveCanonicalPath(resolve(argvPath));
|
|
18
|
+
return modulePath === entryPath;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=mainEntry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mainEntry.js","sourceRoot":"","sources":["../src/mainEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA4B,EAAE,SAAiB;IAC/E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,OAAO,UAAU,KAAK,SAAS,CAAC;AAClC,CAAC"}
|
package/dist/scaffold.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
export type TemplateKey = "
|
|
1
|
+
export type TemplateKey = "minimal" | "cli-tool" | "starship";
|
|
2
2
|
export type TemplateDefinition = {
|
|
3
3
|
key: TemplateKey;
|
|
4
4
|
label: string;
|
|
5
5
|
description: string;
|
|
6
|
+
safetyTag: string;
|
|
7
|
+
safetyNote: string;
|
|
8
|
+
highlights: readonly string[];
|
|
6
9
|
dir: string;
|
|
7
10
|
};
|
|
8
11
|
export declare const TEMPLATE_DEFINITIONS: readonly TemplateDefinition[];
|
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,GAAG,
|
|
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,EAuCpD,CAAC;AAwBX,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;AAgCD,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,57 +3,68 @@ 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: "
|
|
9
|
-
|
|
6
|
+
key: "minimal",
|
|
7
|
+
label: "Minimal Utility TUI",
|
|
8
|
+
description: "Small single-screen starter for focused terminal utilities",
|
|
9
|
+
safetyTag: "safe-default",
|
|
10
|
+
safetyNote: "Small-footprint template for quick utility workflows.",
|
|
11
|
+
highlights: [
|
|
12
|
+
"single-screen state flow with keybindings, theme cycling, and inline error handling",
|
|
13
|
+
"lean multi-file structure plus reducer/render/keybinding test examples",
|
|
14
|
+
],
|
|
15
|
+
dir: "minimal",
|
|
10
16
|
},
|
|
11
17
|
{
|
|
12
|
-
key: "
|
|
13
|
-
label: "
|
|
14
|
-
description: "
|
|
15
|
-
|
|
18
|
+
key: "cli-tool",
|
|
19
|
+
label: "Multi-Screen CLI Tool",
|
|
20
|
+
description: "Routed starter for product-style terminal tools",
|
|
21
|
+
safetyTag: "safe-default",
|
|
22
|
+
safetyNote: "Lightweight template focused on product workflows and routing.",
|
|
23
|
+
highlights: [
|
|
24
|
+
"home/logs/settings screens with router history and focus restoration",
|
|
25
|
+
"global route keybindings plus breadcrumb and tabs helpers wired to router state",
|
|
26
|
+
],
|
|
27
|
+
dir: "cli-tool",
|
|
16
28
|
},
|
|
17
29
|
{
|
|
18
|
-
key: "
|
|
19
|
-
label: "
|
|
20
|
-
description: "
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
dir: "
|
|
30
|
+
key: "starship",
|
|
31
|
+
label: "Starship Command Console",
|
|
32
|
+
description: "Larger command-console showcase for routing, animation, charts, forms, and overlays",
|
|
33
|
+
safetyTag: "safe-default",
|
|
34
|
+
safetyNote: "Feature-rich showcase template with moderate CPU usage from animation hooks and live telemetry.",
|
|
35
|
+
highlights: [
|
|
36
|
+
"six-screen command console with routing, animated gauges, live telemetry charts, and crew management",
|
|
37
|
+
"command palette, modal dialogs, toast notifications, forms, split panes, canvas, and theme cycling with keybinding modes",
|
|
38
|
+
],
|
|
39
|
+
dir: "starship",
|
|
28
40
|
},
|
|
29
41
|
];
|
|
42
|
+
const TEMPLATE_FILENAME_ALIASES = new Map([
|
|
43
|
+
["gitignore", ".gitignore"],
|
|
44
|
+
["npmignore", ".npmignore"],
|
|
45
|
+
]);
|
|
30
46
|
const TEMPLATE_BY_KEY = new Map(TEMPLATE_DEFINITIONS.map((template) => [template.key, template]));
|
|
47
|
+
const TEMPLATE_ALIASES = new Map(TEMPLATE_DEFINITIONS.map((template) => [template.key, template.key]));
|
|
48
|
+
TEMPLATE_ALIASES.set("cli", "cli-tool");
|
|
49
|
+
TEMPLATE_ALIASES.set("tool", "cli-tool");
|
|
50
|
+
TEMPLATE_ALIASES.set("multiscreen", "cli-tool");
|
|
51
|
+
TEMPLATE_ALIASES.set("mini", "minimal");
|
|
52
|
+
TEMPLATE_ALIASES.set("basic", "minimal");
|
|
53
|
+
TEMPLATE_ALIASES.set("utility", "minimal");
|
|
54
|
+
TEMPLATE_ALIASES.set("ship", "starship");
|
|
55
|
+
TEMPLATE_ALIASES.set("bridge", "starship");
|
|
56
|
+
TEMPLATE_ALIASES.set("command", "starship");
|
|
31
57
|
const PACKAGE_NAME_RE = /^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/;
|
|
32
58
|
export function normalizeTemplateName(value) {
|
|
33
59
|
const cleaned = value.trim().toLowerCase();
|
|
34
60
|
if (!cleaned)
|
|
35
61
|
return null;
|
|
36
62
|
const slug = cleaned.replace(/[\s_]+/g, "-");
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
case "formapp":
|
|
43
|
-
return "form-app";
|
|
44
|
-
case "file":
|
|
45
|
-
case "files":
|
|
46
|
-
case "file-browser":
|
|
47
|
-
case "filebrowser":
|
|
48
|
-
return "file-browser";
|
|
49
|
-
case "stream":
|
|
50
|
-
case "streaming":
|
|
51
|
-
case "streaming-viewer":
|
|
52
|
-
case "streamingviewer":
|
|
53
|
-
return "streaming-viewer";
|
|
54
|
-
default:
|
|
55
|
-
return TEMPLATE_BY_KEY.has(slug) ? slug : null;
|
|
56
|
-
}
|
|
63
|
+
const normalized = TEMPLATE_ALIASES.get(slug);
|
|
64
|
+
if (normalized)
|
|
65
|
+
return normalized;
|
|
66
|
+
const compact = slug.replace(/-/g, "");
|
|
67
|
+
return TEMPLATE_ALIASES.get(compact) ?? null;
|
|
57
68
|
}
|
|
58
69
|
export function toDisplayName(value) {
|
|
59
70
|
const name = value.trim();
|
|
@@ -120,7 +131,8 @@ async function copyTemplateDir(sourceDir, targetDir, vars) {
|
|
|
120
131
|
const entries = await readdir(sourceDir, { withFileTypes: true });
|
|
121
132
|
for (const entry of entries) {
|
|
122
133
|
const srcPath = join(sourceDir, entry.name);
|
|
123
|
-
const
|
|
134
|
+
const destName = TEMPLATE_FILENAME_ALIASES.get(entry.name) ?? entry.name;
|
|
135
|
+
const destPath = join(targetDir, destName);
|
|
124
136
|
if (entry.isDirectory()) {
|
|
125
137
|
await copyTemplateDir(srcPath, destPath, vars);
|
|
126
138
|
continue;
|
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,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-rezi",
|
|
3
|
-
"version": "0.1.0-
|
|
4
|
-
"description": "Scaffold a Rezi terminal
|
|
3
|
+
"version": "0.1.0-beta.1",
|
|
4
|
+
"description": "Scaffold a Rezi terminal application from focused starter and showcase templates.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
|
-
"homepage": "https://
|
|
6
|
+
"homepage": "https://rezitui.dev",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "
|
|
9
|
+
"url": "https://github.com/RtlZeroMemory/Rezi",
|
|
10
10
|
"directory": "packages/create-rezi"
|
|
11
11
|
},
|
|
12
12
|
"bugs": {
|
|
@@ -19,12 +19,19 @@
|
|
|
19
19
|
"files": [
|
|
20
20
|
"dist/",
|
|
21
21
|
"templates/",
|
|
22
|
-
"README.md"
|
|
22
|
+
"README.md",
|
|
23
|
+
"!dist/**/__tests__/**",
|
|
24
|
+
"!dist/**/__e2e__/**"
|
|
23
25
|
],
|
|
24
26
|
"engines": {
|
|
25
|
-
"node": ">=18"
|
|
27
|
+
"node": ">=18",
|
|
28
|
+
"bun": ">=1.3.0"
|
|
26
29
|
},
|
|
27
30
|
"devDependencies": {
|
|
28
|
-
"@rezi-ui/testkit": "0.1.0-
|
|
31
|
+
"@rezi-ui/testkit": "0.1.0-beta.1",
|
|
32
|
+
"@types/cross-spawn": "^6.0.6"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"cross-spawn": "^7.0.6"
|
|
29
36
|
}
|
|
30
37
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# __APP_NAME__
|
|
2
|
+
|
|
3
|
+
Scaffolded with `create-rezi` using the **__TEMPLATE_LABEL__** template.
|
|
4
|
+
|
|
5
|
+
## What This Template Demonstrates
|
|
6
|
+
|
|
7
|
+
- Multi-screen CLI workflow powered by first-party `createNodeApp({ routes })` routing.
|
|
8
|
+
- Multi-file structure for maintainability (`types`, `theme`, `helpers`, `screens`, `main`).
|
|
9
|
+
- Streamed logs + settings forms + global route keybindings.
|
|
10
|
+
- Route shell pattern you can extend for additional screens.
|
|
11
|
+
- `ui.page()` + `ui.panel()` composition with intent-based button styling.
|
|
12
|
+
- Shared theme metadata pipeline (`src/theme.ts`) used by shell, settings, and reducer defaults.
|
|
13
|
+
|
|
14
|
+
## Screens
|
|
15
|
+
|
|
16
|
+
- `home`: status overview + quick actions.
|
|
17
|
+
- `logs`: streaming console and recent entry list.
|
|
18
|
+
- `settings`: environment/theme/operator controls.
|
|
19
|
+
|
|
20
|
+
## File Layout
|
|
21
|
+
|
|
22
|
+
- `src/types.ts`: route/state/action contracts.
|
|
23
|
+
- `src/theme.ts`: theme catalog and template identity constants.
|
|
24
|
+
- `src/helpers/`: log helpers, reducer, and keybinding resolver.
|
|
25
|
+
- `src/screens/`: one file per route + shared shell wrapper.
|
|
26
|
+
- `src/main.ts`: route wiring, runtime loop, keybindings, and shutdown.
|
|
27
|
+
- `src/__tests__/`: reducer, render, and keybinding examples.
|
|
28
|
+
|
|
29
|
+
## Controls
|
|
30
|
+
|
|
31
|
+
- `f1` / `alt+1` / `ctrl+1`: Home
|
|
32
|
+
- `f2` / `alt+2` / `ctrl+2`: Logs
|
|
33
|
+
- `f3` / `alt+3` / `ctrl+3`: Settings
|
|
34
|
+
- `p`: Pause/resume stream
|
|
35
|
+
- `h` or `?`: Toggle help modal
|
|
36
|
+
- `q` or `ctrl+c`: Quit
|
|
37
|
+
|
|
38
|
+
## Testing
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm run test
|
|
42
|
+
# or
|
|
43
|
+
bun run test
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Quickstart
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# npm
|
|
50
|
+
npm install
|
|
51
|
+
npm run start
|
|
52
|
+
|
|
53
|
+
# bun
|
|
54
|
+
bun install
|
|
55
|
+
bun run start
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Dev Loop (HSR)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# npm
|
|
62
|
+
npm run dev
|
|
63
|
+
|
|
64
|
+
# bun
|
|
65
|
+
bun run dev
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`npm run dev` / `bun run dev` starts the app with `--hsr` so route edits hot-swap via
|
|
69
|
+
`tsx watch src/main.ts --hsr`, wiring `createNodeApp({ hotReload: ... })` +
|
|
70
|
+
`app.replaceRoutes(...)` while preserving app state, focus, and form input.
|