numux 1.24.0 → 1.25.0

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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Terminal multiplexer with dependency orchestration. Run multiple processes in a tabbed TUI with a dependency graph controlling startup order.
4
4
 
5
+ Inspired by `sst dev` and `concurrently`
6
+
5
7
  ## Install
6
8
 
7
9
  Requires [Bun](https://bun.sh) >= 1.0.
@@ -194,6 +196,7 @@ Top-level options apply to all processes (process-level settings override):
194
196
  | `env` | `Record<string, string>` | Environment variables merged into all processes (process `env` overrides per key) |
195
197
  | `envFile` | `string \| string[] \| false` | `.env` file(s) for all processes (process `envFile` replaces if set; `false` disables) |
196
198
  | `showCommand` | `boolean` | Print the command being run as the first line of output (default: `true`) |
199
+ | `persistent` | `boolean` | Set to `false` to make all processes one-shot by default (default: `true`) |
197
200
  | `maxRestarts` | `number` | Restart limit for all processes (default: `Infinity`) |
198
201
  | `readyTimeout` | `number` | Ready timeout in ms for all processes |
199
202
  | `stopSignal` | `'SIGTERM' \| 'SIGINT' \| 'SIGHUP'` | Stop signal for all processes (default: `'SIGTERM'`) |
package/dist/numux.js CHANGED
@@ -36,7 +36,7 @@ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports,
36
36
  var require_package = __commonJS((exports, module) => {
37
37
  module.exports = {
38
38
  name: "numux",
39
- version: "1.24.0",
39
+ version: "1.25.0",
40
40
  description: "Terminal multiplexer with dependency orchestration",
41
41
  type: "module",
42
42
  license: "MIT",
@@ -1046,6 +1046,7 @@ function validateConfig(raw, warnings) {
1046
1046
  const globalEnvFile = validateEnvFile(config.envFile);
1047
1047
  const globalMaxRestarts = typeof config.maxRestarts === "number" && config.maxRestarts >= 0 ? config.maxRestarts : undefined;
1048
1048
  const globalReadyTimeout = typeof config.readyTimeout === "number" && config.readyTimeout > 0 ? config.readyTimeout : undefined;
1049
+ const globalPersistent = typeof config.persistent === "boolean" ? config.persistent : undefined;
1049
1050
  const globalStopSignal = validateStopSignal(config.stopSignal);
1050
1051
  const globalErrorMatcher = validateErrorMatcher("(global)", config.errorMatcher);
1051
1052
  const globalWatch = validateStringOrStringArray(config.watch);
@@ -1106,7 +1107,7 @@ function validateConfig(raw, warnings) {
1106
1107
  }
1107
1108
  }
1108
1109
  }
1109
- const persistent = typeof p.persistent === "boolean" ? p.persistent : true;
1110
+ const persistent = typeof p.persistent === "boolean" ? p.persistent : globalPersistent ?? true;
1110
1111
  const readyPattern = p.readyPattern instanceof RegExp ? p.readyPattern : typeof p.readyPattern === "string" ? p.readyPattern : undefined;
1111
1112
  if (typeof readyPattern === "string") {
1112
1113
  try {
package/dist/types.d.ts CHANGED
@@ -80,6 +80,12 @@ export interface NumuxConfig<K extends string = string> {
80
80
  maxRestarts?: number;
81
81
  /** Global ready timeout (ms), inherited by all processes */
82
82
  readyTimeout?: number;
83
+ /**
84
+ * Set to `false` to make all processes non-persistent (one-shot) by default.
85
+ * Individual processes can still override with their own `persistent` value.
86
+ * @default true
87
+ */
88
+ persistent?: boolean;
83
89
  /**
84
90
  * Global stop signal, inherited by all processes
85
91
  * @default 'SIGTERM'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "numux",
3
- "version": "1.24.0",
3
+ "version": "1.25.0",
4
4
  "description": "Terminal multiplexer with dependency orchestration",
5
5
  "type": "module",
6
6
  "license": "MIT",