@learnrudi/cli 1.8.7 → 1.8.8

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.
Files changed (2) hide show
  1. package/dist/index.cjs +21 -2
  2. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -245,10 +245,29 @@ function validateStackEntryPoint(stackPath, manifest) {
245
245
  if (!command || command.length === 0) {
246
246
  return { valid: false, error: "No command defined in manifest" };
247
247
  }
248
- const runtimeCommands = ["node", "python", "python3", "npx", "deno", "bun"];
248
+ const skipCommands = [
249
+ "node",
250
+ "python",
251
+ "python3",
252
+ "npx",
253
+ "deno",
254
+ "bun",
255
+ "tsx",
256
+ "ts-node",
257
+ "tsm",
258
+ "esno",
259
+ "esbuild-register",
260
+ // TypeScript runners
261
+ "-y",
262
+ "--yes"
263
+ // npx flags
264
+ ];
265
+ const fileExtensions = [".js", ".ts", ".mjs", ".cjs", ".py", ".mts", ".cts"];
249
266
  for (const arg of command) {
250
- if (runtimeCommands.includes(arg)) continue;
267
+ if (skipCommands.includes(arg)) continue;
251
268
  if (arg.startsWith("-")) continue;
269
+ const looksLikeFile = fileExtensions.some((ext) => arg.endsWith(ext)) || arg.includes("/");
270
+ if (!looksLikeFile) continue;
252
271
  const entryPath = require("path").join(stackPath, arg);
253
272
  if (!require("fs").existsSync(entryPath)) {
254
273
  return { valid: false, error: `Entry point not found: ${arg}` };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@learnrudi/cli",
3
- "version": "1.8.7",
3
+ "version": "1.8.8",
4
4
  "description": "RUDI CLI - Install and manage MCP stacks, runtimes, and AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",