numux 2.0.3 → 2.0.5
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 +2 -0
- package/dist/numux.js +9 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -135,6 +135,8 @@ numux 'dev:*' # all scripts matching dev:*
|
|
|
135
135
|
numux 'npm:*:dev' # explicit npm: prefix (same behavior)
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
+
`*` does not match across `:` separators (like `/` in file paths), so `format:*` matches `format:store` but not `format:check:store`. Use `format:*:*` to match two levels deep.
|
|
139
|
+
|
|
138
140
|
Extra arguments after the pattern are forwarded to each matched command:
|
|
139
141
|
|
|
140
142
|
```sh
|
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: "2.0.
|
|
39
|
+
version: "2.0.5",
|
|
40
40
|
description: "Terminal multiplexer with dependency orchestration",
|
|
41
41
|
type: "module",
|
|
42
42
|
license: "MIT",
|
|
@@ -720,7 +720,8 @@ function expandScriptPatterns(config, cwd) {
|
|
|
720
720
|
throw new Error(`"${name}": wildcard processes cannot have a "command" field (commands come from package.json scripts)`);
|
|
721
721
|
}
|
|
722
722
|
const glob = new Bun.Glob(globPattern);
|
|
723
|
-
const
|
|
723
|
+
const colonDepth = (globPattern.match(/:/g) || []).length;
|
|
724
|
+
const matches = scriptNames.filter((s) => glob.match(s) && (s.match(/:/g) || []).length === colonDepth);
|
|
724
725
|
if (matches.length === 0) {
|
|
725
726
|
throw new Error(`"${name}": no scripts matched pattern "${globPattern}". Available scripts: ${scriptNames.join(", ")}`);
|
|
726
727
|
}
|
|
@@ -3194,6 +3195,10 @@ class App {
|
|
|
3194
3195
|
// src/ui/prefix.ts
|
|
3195
3196
|
var RESET = ANSI_RESET;
|
|
3196
3197
|
var DIM = "\x1B[90m";
|
|
3198
|
+
var CURSOR_SEQ_RE = /\x1b\[[\d;]*[ABCDEFGHJKLMSTdf]/g;
|
|
3199
|
+
function stripCursorSequences(text) {
|
|
3200
|
+
return text.replace(CURSOR_SEQ_RE, "");
|
|
3201
|
+
}
|
|
3197
3202
|
|
|
3198
3203
|
class PrefixDisplay {
|
|
3199
3204
|
manager;
|
|
@@ -3263,7 +3268,8 @@ class PrefixDisplay {
|
|
|
3263
3268
|
}
|
|
3264
3269
|
handleOutput(name, data) {
|
|
3265
3270
|
const decoder = this.decoders.get(name) ?? new TextDecoder;
|
|
3266
|
-
const
|
|
3271
|
+
const raw = decoder.decode(data, { stream: true });
|
|
3272
|
+
const text = stripCursorSequences(raw);
|
|
3267
3273
|
const buffer = (this.buffers.get(name) ?? "") + text;
|
|
3268
3274
|
const lines = buffer.split(/\r*\n/);
|
|
3269
3275
|
let tail = lines.pop() ?? "";
|