@catmint/cli 0.0.0-prealpha.1 → 0.0.0-prealpha.11

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.
@@ -2,11 +2,13 @@
2
2
  import { resolve, basename } from "node:path";
3
3
  import { networkInterfaces } from "node:os";
4
4
  import { watch } from "node:fs";
5
- import { createServer } from "vite";
5
+ import { createServer, createLogger } from "vite";
6
6
  import { loadConfig } from "catmint/config";
7
7
  import { scanRoutes } from "catmint/routing";
8
8
  import { loadEnv } from "catmint/env";
9
9
  import catmintVite from "@catmint/vite";
10
+ import pc from "picocolors";
11
+ import { detectRouteMode } from "../route-analysis.js";
10
12
  const VERSION = "0.1.0";
11
13
  function parseFlags(args) {
12
14
  const flags = {};
@@ -37,36 +39,98 @@ function getNetworkAddress() {
37
39
  return undefined;
38
40
  }
39
41
  /**
40
- * Build a formatted route table for display.
42
+ * Rendering mode symbols and colors.
43
+ */
44
+ const MODE_SYMBOL = {
45
+ static: "○",
46
+ cached: "●",
47
+ dynamic: "λ",
48
+ };
49
+ const MODE_COLOR = {
50
+ static: pc.white,
51
+ cached: pc.green,
52
+ dynamic: pc.cyan,
53
+ };
54
+ /**
55
+ * Color a HTTP method string.
56
+ */
57
+ function colorMethod(method) {
58
+ switch (method) {
59
+ case "GET":
60
+ return pc.green(method);
61
+ case "POST":
62
+ return pc.yellow(method);
63
+ case "PUT":
64
+ return pc.blue(method);
65
+ case "DELETE":
66
+ return pc.red(method);
67
+ case "PATCH":
68
+ return pc.magenta(method);
69
+ default:
70
+ return pc.white(method);
71
+ }
72
+ }
73
+ /**
74
+ * Build a formatted route table for display with rendering mode indicators.
41
75
  */
42
76
  function formatRouteTable(routes) {
43
- const lines = [];
77
+ // Build route entries with rendering mode, collecting display + plain lines
78
+ const entries = [];
44
79
  for (const route of routes) {
45
80
  const file = basename(route.filePath);
81
+ const mode = detectRouteMode(route.filePath, route.type);
82
+ const symbol = MODE_COLOR[mode](MODE_SYMBOL[mode]);
46
83
  if (route.type === "page") {
47
- lines.push(` GET ${padEnd(route.pattern, 20)} → ${file}`);
84
+ const plain = ` ${MODE_SYMBOL[mode]} ${padEnd("GET", 6)}${padEnd(route.pattern, 20)} → ${file}`;
85
+ const display = ` ${symbol} ${padEnd(colorMethod("GET"), 6 + (colorMethod("GET").length - 3))}${padEnd(route.pattern, 20)} → ${file}`;
86
+ entries.push({ display, plain });
48
87
  }
49
88
  else if (route.methods && route.methods.length > 0) {
50
89
  for (const method of route.methods) {
51
90
  const m = method === "default" ? "ALL" : method;
52
- lines.push(` ${padEnd(m, 6)}${padEnd(route.pattern, 20)} → ${file}`);
91
+ const plain = ` ${MODE_SYMBOL[mode]} ${padEnd(m, 6)}${padEnd(route.pattern, 20)} → ${file}`;
92
+ const display = ` ${symbol} ${padEnd(colorMethod(m), 6 + (colorMethod(m).length - m.length))}${padEnd(route.pattern, 20)} → ${file}`;
93
+ entries.push({ display, plain });
53
94
  }
54
95
  }
55
96
  else {
56
- lines.push(` ALL ${padEnd(route.pattern, 20)} → ${file}`);
97
+ const plain = ` ${MODE_SYMBOL[mode]} ${padEnd("ALL", 6)}${padEnd(route.pattern, 20)} → ${file}`;
98
+ const display = ` ${symbol} ${padEnd(colorMethod("ALL"), 6 + (colorMethod("ALL").length - 3))}${padEnd(route.pattern, 20)} → ${file}`;
99
+ entries.push({ display, plain });
57
100
  }
58
101
  }
59
- if (lines.length === 0) {
60
- lines.push(" (no routes found)");
102
+ if (entries.length === 0) {
103
+ const noRoutes = " (no routes found)";
104
+ entries.push({ display: noRoutes, plain: noRoutes });
61
105
  }
62
- // Calculate box width
63
- const maxLen = Math.max(...lines.map((l) => l.length), 20);
106
+ // Calculate box width based on plain-text (no ANSI) widths
107
+ const maxLen = Math.max(...entries.map((e) => e.plain.length), 20);
64
108
  const boxWidth = maxLen + 4;
65
109
  const top = ` ┌${"─".repeat(boxWidth)}┐`;
66
110
  const bottom = ` └${"─".repeat(boxWidth)}┘`;
67
- const header = ` │ Routes:${" ".repeat(boxWidth - 10)}│`;
68
- const boxedLines = lines.map((l) => ` │${l}${" ".repeat(boxWidth - l.length)}│`);
69
- return [top, header, ...boxedLines, bottom].join("\n");
111
+ const header = ` │ Routes:${" ".repeat(boxWidth - 10)} │`;
112
+ const boxedLines = entries.map((e) => {
113
+ const pad = boxWidth - e.plain.length;
114
+ return ` │${e.display}${" ".repeat(pad)}│`;
115
+ });
116
+ // Route count summary
117
+ const pageCount = routes.filter((r) => r.type === "page").length;
118
+ const endpointCount = routes.filter((r) => r.type === "endpoint").length;
119
+ const parts = [];
120
+ if (pageCount > 0)
121
+ parts.push(`${pageCount} page${pageCount !== 1 ? "s" : ""}`);
122
+ if (endpointCount > 0)
123
+ parts.push(`${endpointCount} endpoint${endpointCount !== 1 ? "s" : ""}`);
124
+ const countLine = parts.length > 0
125
+ ? ` ${pc.dim(`${routes.length} route${routes.length !== 1 ? "s" : ""} (${parts.join(", ")})`)}`
126
+ : "";
127
+ // Legend
128
+ const legend = ` ${MODE_COLOR.static(MODE_SYMBOL.static)} Static ${MODE_COLOR.cached(MODE_SYMBOL.cached)} Cached ${MODE_COLOR.dynamic(MODE_SYMBOL.dynamic)} Dynamic`;
129
+ const result = [top, header, ...boxedLines, bottom];
130
+ if (countLine)
131
+ result.push(countLine);
132
+ result.push(legend);
133
+ return result.join("\n");
70
134
  }
71
135
  function padEnd(str, len) {
72
136
  return str.length >= len ? str + " " : str + " ".repeat(len - str.length + 1);
@@ -102,23 +166,27 @@ export async function dev(args) {
102
166
  catch {
103
167
  routes = [];
104
168
  }
105
- // Display startup info
169
+ // Display startup header (before Vite starts, so user sees immediate feedback)
106
170
  console.log();
107
171
  console.log(` catmint v${VERSION} dev server`);
108
172
  console.log();
109
173
  console.log(formatRouteTable(routes));
110
174
  console.log();
111
- console.log(` Local: http://${host}:${port}`);
112
- const networkAddr = getNetworkAddress();
113
- if (networkAddr) {
114
- console.log(` Network: http://${networkAddr}:${port}`);
115
- }
116
- console.log();
175
+ // Create a custom logger that suppresses Vite's port-in-use message
176
+ // (we display our own, more informative version after server.listen())
177
+ const logger = createLogger(undefined, { allowClearScreen: false });
178
+ const originalInfo = logger.info.bind(logger);
179
+ logger.info = (msg, options) => {
180
+ if (msg.includes("Port") && msg.includes("is in use"))
181
+ return;
182
+ originalInfo(msg, options);
183
+ };
117
184
  // Create Vite dev server with Catmint plugin
118
185
  // Merge user's vite.plugins with catmintVite() instead of overwriting
119
186
  const { plugins: userPlugins, ...viteRest } = config.vite;
120
187
  const server = await createServer({
121
188
  root: rootDir,
189
+ customLogger: logger,
122
190
  server: {
123
191
  port,
124
192
  host,
@@ -138,6 +206,20 @@ export async function dev(args) {
138
206
  ...viteRest,
139
207
  });
140
208
  await server.listen();
209
+ // Display the actual URLs after Vite has resolved the port
210
+ // (the port may differ from the requested one if it was already in use)
211
+ const addr = server.httpServer?.address();
212
+ const resolvedPort = typeof addr === "object" && addr ? addr.port : port;
213
+ if (resolvedPort !== port) {
214
+ console.log(pc.yellow(` Port ${port} is in use, using ${resolvedPort} instead`));
215
+ console.log();
216
+ }
217
+ console.log(` Local: http://${host}:${resolvedPort}`);
218
+ const networkAddr = getNetworkAddress();
219
+ if (networkAddr) {
220
+ console.log(` Network: http://${networkAddr}:${resolvedPort}`);
221
+ }
222
+ console.log();
141
223
  // Watch app/ directory for route changes
142
224
  try {
143
225
  const watcher = watch(appDir, { recursive: true }, async (eventType, filename) => {
@@ -145,10 +227,8 @@ export async function dev(args) {
145
227
  return;
146
228
  const base = basename(filename);
147
229
  if (base === "page.tsx" ||
148
- base === "page.jsx" ||
149
230
  base === "page.mdx" ||
150
- base === "endpoint.ts" ||
151
- base === "endpoint.js") {
231
+ base === "endpoint.ts") {
152
232
  try {
153
233
  const updatedRoutes = await scanRoutes(appDir);
154
234
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAoJA;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4azD"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAmVA;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAspBzD"}