@plurnk/plurnk-execs-common 1.10.1 β†’ 1.11.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/.env.example CHANGED
@@ -7,7 +7,6 @@
7
7
  #
8
8
  # PLURNK_EXECS_PERL=0
9
9
  # PLURNK_EXECS_RUBY=0
10
- # PLURNK_EXECS_PHP=0
11
10
  # PLURNK_EXECS_LUA=0
12
11
  # PLURNK_EXECS_DENO=0
13
12
  # PLURNK_EXECS_BUN=0
package/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  The **universal subprocess executor** for
4
4
  [plurnk-service](https://github.com/plurnk/plurnk-service)'s `exec` scheme. One
5
- package covers the shell, Node, Python, and whichever supported host
5
+ package covers the shell, Node.js, Python 3, and whichever supported host
6
6
  interpreters are present. Node is guaranteed; the rest are detected.
7
7
 
8
- A `@plurnk/plurnk-execs-*` sibling built on the [plurnk-execs](https://github.com/plurnk/plurnk-service/tree/main/plurnk-execs) framework. **Supersedes the former `-sh`, `-node`, `-python` packages** (folded in here).
8
+ A `@plurnk/plurnk-execs-*` sibling built on the [plurnk-execs](https://github.com/plurnk/plurnk-service/tree/main/plurnk-execs) framework.
9
9
 
10
10
  ## How it works
11
11
 
@@ -15,11 +15,10 @@ detects every other interpreter, so one executor adapts to the host.
15
15
 
16
16
  | Tag | Binary | Inline body via |
17
17
  | -------------------------------- | ----------------- | ---------------------------------------- |
18
- | `sh` 🐚 / `bash` 🐚 | sh / bash | `-c <body>` |
18
+ | `sh` 🐚 | sh | `-c <body>` |
19
19
  | `node` β¬’ | node | `-e <body>` (always available) |
20
- | `python` / `python3` 🐍 | python3 | `-c <body>` |
20
+ | `python3` 🐍 | python3 | `-c <body>` |
21
21
  | `perl` πŸͺ / `ruby` πŸ’Ž / `lua` πŸŒ™ | perl / ruby / lua | `-e <body>` |
22
- | `php` 🐘 | php | `-r <body>` |
23
22
  | `deno` πŸ¦• | deno | `eval <body>` |
24
23
  | `bun` πŸ₯Ÿ | bun | `-e <body>` |
25
24
  | `tcl` πŸͺΆ | tclsh | stdin |
@@ -40,7 +39,7 @@ yes
40
39
  yes
41
40
  no
42
41
 
43
- ## EXEC0 [python] (transform.py)
42
+ ## EXEC0 [python3] (transform.py)
44
43
  3
45
44
  1
46
45
  4
@@ -52,7 +51,7 @@ The first operation answers a shell script's prompts through stdin. The second
52
51
  feeds records to a Python script.
53
52
 
54
53
  All declared tags run host code, so every invocation is proposal-gated. The
55
- current installed in-process evaluators are jq, SQLite, and WebAssembly; their
54
+ current installed in-process evaluators are jq and SQLite; their
56
55
  `pure` or `read` invocations bypass the proposal gate but still return through
57
56
  the same next-turn stream path ({Β§executor-effect}). Input-processing
58
57
  transforms (`sed`, input-driven `awk`) await an EXEC input-channel contract and
@@ -1 +1 @@
1
- {"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAyC3E,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAAwC,CAAC;AAenF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IAClD,UAAmB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,SAAS,CAmBtG;IAEc,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAOnD;CACJ"}
1
+ {"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkC3E,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAAwC,CAAC;AAenF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IAClD,UAAmB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,SAAS,CAmBtG;IAEc,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAOnD;CACJ"}
package/dist/Common.js CHANGED
@@ -1,20 +1,13 @@
1
1
  import { spawnSync } from "node:child_process";
2
2
  import { SubprocessExecutor } from "@plurnk/plurnk-execs";
3
3
  const RECIPES = Object.freeze({
4
- // Subprocess floor (folded in from the former -sh / -node / -python packages).
4
+ // Subprocess floor.
5
5
  sh: { bin: "sh", arg: (c) => ["-c", c] },
6
- bash: { bin: "bash", arg: (c) => ["-c", c] },
7
6
  node: { bin: "node", arg: (c) => ["-e", c], alwaysAvailable: true },
8
- // `python` and `python3` both map to the python3 binary β€” the only Python we
9
- // offer (no python-2 path). `python3` is an alias, not a new capability
10
- // because it is the name a coding model types by reflex, and
11
- // it owns the same Python-source body contract as `python`.
12
- python: { bin: "python3", arg: (c) => ["-c", c] },
13
7
  python3: { bin: "python3", arg: (c) => ["-c", c] },
14
8
  // Detected host interpreters.
15
9
  perl: { bin: "perl", arg: (c) => ["-e", c] },
16
10
  ruby: { bin: "ruby", arg: (c) => ["-e", c] },
17
- php: { bin: "php", arg: (c) => ["-r", c] },
18
11
  lua: { bin: "lua", arg: (c) => ["-e", c] },
19
12
  deno: { bin: "deno", arg: (c) => ["eval", c] },
20
13
  bun: { bin: "bun", arg: (c) => ["-e", c] },
@@ -44,7 +37,7 @@ export default class Common extends SubprocessExecutor {
44
37
  // ({Β§executor-subprocess-routing}), run as one script-file positional for every
45
38
  // interpreter: the interpreter
46
39
  // READS the file, so no exec bit is consulted and none is ever set.
47
- // The old sh/bash `-c` arm made the shell execve() the target instead
40
+ // The old shell `-c` arm made the shell execve() the target instead
48
41
  // (PATH lookup on bare names, +x demanded on EDIT-created scripts) and
49
42
  // doubled as an unsanctioned command-line side door β€” commands belong
50
43
  // in the body.
@@ -1 +1 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAkB1D,MAAM,OAAO,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC5D,+EAA+E;IAC/E,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IACxC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC5C,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE;IACnE,6EAA6E;IAC7E,wEAAwE;IACxE,6DAA6D;IAC7D,4DAA4D;IAC5D,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IACjD,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAClD,8BAA8B;IAC9B,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC5C,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC5C,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC1C,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC1C,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;IAC9C,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC1C,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;IAClC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC9B,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;CAClC,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAsB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnF,+EAA+E;AAC/E,iFAAiF;AACjF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAW,EAAE,CACpC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAEvE,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,qEAAqE;AACrE,gFAAgF;AAChF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,kBAAkB;IAC/B,SAAS,CAAC,OAAe,EAAE,OAAe,EAAE,MAAM,GAAkB,IAAI;QACvF,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,OAAO,GAAG,CAAC,CAAC;QACxG,oEAAoE;QACpE,gFAAgF;QAChF,+BAA+B;QAC/B,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,eAAe;QACf,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC3E,CAAC;QACD,qEAAqE;QACrE,sEAAsE;QACtE,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QACrF,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC/E,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IAEQ,KAAK,CAAC,KAAK;QAChB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAC9F,IAAI,CAAC,CAAC,eAAe;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACtG,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;YAChB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;IAC/D,CAAC;CACJ"}
1
+ {"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"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"}
package/docs/node.md CHANGED
@@ -16,9 +16,9 @@ on stderr.
16
16
 
17
17
  ## Working directory
18
18
 
19
- Runs in the workspace project root by default β€” `(.)` names it explicitly, or
20
- the daemon's own cwd in a workspace without one. The target is a cwd or a
21
- script, never a command: a directory target sets the working directory; a
22
- script target runs that JavaScript file and receives the body as stdin; anything
23
- else is refused before anything runs. Relative module and filesystem paths
24
- resolve against the selected working directory. The receipt always names it.
19
+ Runs in the workspace project root by default, or the daemon's own cwd in a
20
+ workspace without one. The target is a cwd or a script, never a command: a
21
+ directory target sets the working directory; a script target runs that
22
+ JavaScript file and receives the body as stdin; anything else is refused before
23
+ anything runs. Relative module and filesystem paths resolve against the selected
24
+ working directory. The receipt always names it.
package/docs/sh.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # sh
2
2
 
3
3
  A bare `EXEC` is the shell. The body is the command line, run via `sh -c`,
4
- character-perfect including whitespace. `[sh]` and `[bash]` name the shell
5
- explicitly β€” `## EXEC0 [bash] (.)` runs the body under bash.
4
+ character-perfect including whitespace. `[sh]` names the shell explicitly.
6
5
 
7
6
  ## Environment
8
7
 
@@ -12,17 +11,16 @@ read plurnk's credentials. The project's environment passes through.
12
11
 
13
12
  ## Working directory
14
13
 
15
- `(.)` is the workspace project root β€” where file operations write β€” or, in a
16
- workspace without one, the directory the shell would run in anyway. Any
17
- directory target becomes the working directory for its body:
14
+ With no target, the working directory is the workspace project root β€” where
15
+ file operations write β€” or, in a workspace without one, the directory the
16
+ shell would run in anyway. Any directory target overrides it for its body:
18
17
 
19
18
  ```plurnk
20
19
  ## EXEC0 (./dir)
21
20
  pwd
22
21
  ```
23
22
 
24
- With no target, the command runs in that same directory. The receipt always
25
- names the directory the command ran in.
23
+ The receipt always names the directory the command ran in.
26
24
 
27
25
  A script target runs that script: `## EXEC0 (greet.sh)` runs it with an empty
28
26
  stdin; a nonempty body becomes its stdin. The interpreter reads the script
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-execs-common",
3
- "version": "1.10.1",
4
- "description": "Universal subprocess executor for plurnk-service's exec scheme β€” one package exposing the shell + node + python floor plus whichever host interpreters (perl, ruby, php, lua, awk, bc, …) are present.",
3
+ "version": "1.11.0",
4
+ "description": "Universal subprocess executor for plurnk-service's exec scheme β€” one package exposing the shell, Node.js, Python 3, and supported host interpreters.",
5
5
  "keywords": [
6
6
  "plurnk",
7
7
  "exec",
@@ -11,7 +11,7 @@
11
11
  "repl",
12
12
  "shell",
13
13
  "node",
14
- "python"
14
+ "python3"
15
15
  ],
16
16
  "homepage": "https://github.com/plurnk/plurnk-service/tree/main/plurnk-execs-common#readme",
17
17
  "bugs": {
@@ -50,36 +50,14 @@
50
50
  "directory": "cwd"
51
51
  },
52
52
  "example": {
53
- "target": ".",
54
- "body": "pwd"
55
- }
56
- }
57
- },
58
- {
59
- "name": "bash",
60
- "glyph": "🐚",
61
- "summary": "Run Bash commands and scripts.",
62
- "invocation": {
63
- "body": {
64
- "role": "the Bash program; stdin when the target is a script",
65
- "required": false
66
- },
67
- "target": {
68
- "role": "cwd or script; never a command",
69
- "required": false,
70
- "kind": "resource",
71
- "directory": "cwd"
72
- },
73
- "example": {
74
- "target": ".",
75
- "body": "npm test"
53
+ "body": "git status --short"
76
54
  }
77
55
  }
78
56
  },
79
57
  {
80
58
  "name": "node",
81
59
  "glyph": "β¬’",
82
- "summary": "Run JavaScript programs with Node.js.",
60
+ "summary": "Run JavaScript code or scripts with Node.js.",
83
61
  "invocation": {
84
62
  "body": {
85
63
  "role": "JavaScript program; stdin when the target is a script",
@@ -91,37 +69,13 @@
91
69
  "kind": "resource",
92
70
  "directory": "cwd"
93
71
  },
94
- "example": {
95
- "target": ".",
96
- "body": "console.log(process.version);"
97
- }
98
- }
99
- },
100
- {
101
- "name": "python",
102
- "glyph": "🐍",
103
- "summary": "Run Python programs.",
104
- "invocation": {
105
- "body": {
106
- "role": "Python program; stdin when the target is a script",
107
- "required": false
108
- },
109
- "target": {
110
- "role": "cwd or script; never a command",
111
- "required": false,
112
- "kind": "resource",
113
- "directory": "cwd"
114
- },
115
- "example": {
116
- "target": ".",
117
- "body": "print(\"hello\")"
118
- }
72
+ "signature": "JavaScript code"
119
73
  }
120
74
  },
121
75
  {
122
76
  "name": "python3",
123
77
  "glyph": "🐍",
124
- "summary": "Run Python 3 programs.",
78
+ "summary": "Run Python 3 code or scripts.",
125
79
  "invocation": {
126
80
  "body": {
127
81
  "role": "Python program; stdin when the target is a script",
@@ -133,16 +87,13 @@
133
87
  "kind": "resource",
134
88
  "directory": "cwd"
135
89
  },
136
- "example": {
137
- "target": ".",
138
- "body": "print(\"hello\")"
139
- }
90
+ "signature": "Python code"
140
91
  }
141
92
  },
142
93
  {
143
94
  "name": "perl",
144
95
  "glyph": "πŸͺ",
145
- "summary": "Run Perl programs.",
96
+ "summary": "Run Perl code or scripts.",
146
97
  "invocation": {
147
98
  "body": {
148
99
  "role": "Perl program; stdin when the target is a script",
@@ -154,16 +105,13 @@
154
105
  "kind": "resource",
155
106
  "directory": "cwd"
156
107
  },
157
- "example": {
158
- "target": ".",
159
- "body": "print \"hello\\n\";"
160
- }
108
+ "signature": "Perl code"
161
109
  }
162
110
  },
163
111
  {
164
112
  "name": "ruby",
165
113
  "glyph": "πŸ’Ž",
166
- "summary": "Run Ruby programs.",
114
+ "summary": "Run Ruby code or scripts.",
167
115
  "invocation": {
168
116
  "body": {
169
117
  "role": "Ruby program; stdin when the target is a script",
@@ -175,37 +123,13 @@
175
123
  "kind": "resource",
176
124
  "directory": "cwd"
177
125
  },
178
- "example": {
179
- "target": ".",
180
- "body": "puts \"hello\""
181
- }
182
- }
183
- },
184
- {
185
- "name": "php",
186
- "glyph": "🐘",
187
- "summary": "Run PHP programs.",
188
- "invocation": {
189
- "body": {
190
- "role": "PHP program; stdin when the target is a script",
191
- "required": false
192
- },
193
- "target": {
194
- "role": "cwd or script; never a command",
195
- "required": false,
196
- "kind": "resource",
197
- "directory": "cwd"
198
- },
199
- "example": {
200
- "target": ".",
201
- "body": "<?php echo \"hello\\n\";"
202
- }
126
+ "signature": "Ruby code"
203
127
  }
204
128
  },
205
129
  {
206
130
  "name": "lua",
207
131
  "glyph": "πŸŒ™",
208
- "summary": "Run Lua programs.",
132
+ "summary": "Run Lua code or scripts.",
209
133
  "invocation": {
210
134
  "body": {
211
135
  "role": "Lua program; stdin when the target is a script",
@@ -217,16 +141,13 @@
217
141
  "kind": "resource",
218
142
  "directory": "cwd"
219
143
  },
220
- "example": {
221
- "target": ".",
222
- "body": "print(\"hello\")"
223
- }
144
+ "signature": "Lua code"
224
145
  }
225
146
  },
226
147
  {
227
148
  "name": "deno",
228
149
  "glyph": "πŸ¦•",
229
- "summary": "Run TypeScript or JavaScript programs with Deno.",
150
+ "summary": "Run TypeScript or JavaScript code or scripts with Deno.",
230
151
  "invocation": {
231
152
  "body": {
232
153
  "role": "Deno program; stdin when the target is a script",
@@ -238,16 +159,13 @@
238
159
  "kind": "resource",
239
160
  "directory": "cwd"
240
161
  },
241
- "example": {
242
- "target": ".",
243
- "body": "console.log(Deno.version.deno);"
244
- }
162
+ "signature": "TypeScript or JavaScript code"
245
163
  }
246
164
  },
247
165
  {
248
166
  "name": "bun",
249
167
  "glyph": "πŸ₯Ÿ",
250
- "summary": "Run TypeScript or JavaScript programs with Bun.",
168
+ "summary": "Run TypeScript or JavaScript code or scripts with Bun.",
251
169
  "invocation": {
252
170
  "body": {
253
171
  "role": "Bun program; stdin when the target is a script",
@@ -259,16 +177,13 @@
259
177
  "kind": "resource",
260
178
  "directory": "cwd"
261
179
  },
262
- "example": {
263
- "target": ".",
264
- "body": "console.log(Bun.version);"
265
- }
180
+ "signature": "TypeScript or JavaScript code"
266
181
  }
267
182
  },
268
183
  {
269
184
  "name": "tcl",
270
185
  "glyph": "πŸͺΆ",
271
- "summary": "Run Tcl programs.",
186
+ "summary": "Run Tcl code or scripts.",
272
187
  "invocation": {
273
188
  "body": {
274
189
  "role": "Tcl program; stdin when the target is a script",
@@ -280,10 +195,7 @@
280
195
  "kind": "resource",
281
196
  "directory": "cwd"
282
197
  },
283
- "example": {
284
- "target": ".",
285
- "body": "puts \"hello\""
286
- }
198
+ "signature": "Tcl code"
287
199
  }
288
200
  },
289
201
  {
@@ -301,16 +213,13 @@
301
213
  "kind": "resource",
302
214
  "directory": "cwd"
303
215
  },
304
- "example": {
305
- "target": ".",
306
- "body": "2 + 2"
307
- }
216
+ "signature": "bc expression or code"
308
217
  }
309
218
  },
310
219
  {
311
220
  "name": "awk",
312
221
  "glyph": "πŸͺ„",
313
- "summary": "Run AWK programs.",
222
+ "summary": "Run AWK code or scripts.",
314
223
  "invocation": {
315
224
  "body": {
316
225
  "role": "AWK program; stdin when the target is a script",
@@ -322,10 +231,7 @@
322
231
  "kind": "resource",
323
232
  "directory": "cwd"
324
233
  },
325
- "example": {
326
- "target": ".",
327
- "body": "BEGIN { print \"hello\" }"
328
- }
234
+ "signature": "AWK code"
329
235
  }
330
236
  }
331
237
  ]
@@ -355,6 +261,6 @@
355
261
  "prepublishOnly": "npm audit --audit-level=moderate && npm test"
356
262
  },
357
263
  "peerDependencies": {
358
- "@plurnk/plurnk-execs": "^1.10.1"
264
+ "@plurnk/plurnk-execs": "^1.11.0"
359
265
  }
360
266
  }