@plurnk/plurnk-execs-common 1.21.0 → 1.21.1
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.defaults +11 -0
- package/.env.example +11 -13
- package/README.md +10 -3
- package/package.json +4 -3
package/.env.defaults
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @plurnk/plurnk-execs-common — secondary interpreters are opt-in.
|
|
2
|
+
# Set a runtime to 1 to register it; its interpreter must also be on PATH.
|
|
3
|
+
# sh, node, and python3 remain enabled through the executor framework's default.
|
|
4
|
+
PLURNK_EXECS_PERL=0
|
|
5
|
+
PLURNK_EXECS_RUBY=0
|
|
6
|
+
PLURNK_EXECS_LUA=0
|
|
7
|
+
PLURNK_EXECS_DENO=0
|
|
8
|
+
PLURNK_EXECS_BUN=0
|
|
9
|
+
PLURNK_EXECS_TCL=0
|
|
10
|
+
PLURNK_EXECS_BC=0
|
|
11
|
+
PLURNK_EXECS_AWK=0
|
package/.env.example
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# @plurnk/plurnk-execs-common — environment
|
|
2
2
|
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
# PLURNK_EXECS_BC=0
|
|
15
|
-
# PLURNK_EXECS_AWK=0
|
|
3
|
+
# sh, node, and python3 are enabled when their interpreter is available.
|
|
4
|
+
# Uncomment any optional runtime to enable it at the next service start.
|
|
5
|
+
# An enabled runtime still requires its interpreter on PATH.
|
|
6
|
+
# PLURNK_EXECS_PERL=1
|
|
7
|
+
# PLURNK_EXECS_RUBY=1
|
|
8
|
+
# PLURNK_EXECS_LUA=1
|
|
9
|
+
# PLURNK_EXECS_DENO=1
|
|
10
|
+
# PLURNK_EXECS_BUN=1
|
|
11
|
+
# PLURNK_EXECS_TCL=1
|
|
12
|
+
# PLURNK_EXECS_BC=1
|
|
13
|
+
# PLURNK_EXECS_AWK=1
|
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
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
|
|
6
|
-
interpreters
|
|
5
|
+
package offers the shell, Node.js, and Python 3 by default, with other supported
|
|
6
|
+
host interpreters available as opt-ins. Node is guaranteed; the rest are detected.
|
|
7
7
|
|
|
8
8
|
A `@plurnk/plurnk-execs-*` sibling built on the [plurnk-execs](https://github.com/plurnk/plurnk-service/tree/main/plurnk-execs) framework.
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@ detects every other interpreter, so one executor adapts to the host.
|
|
|
25
25
|
| `bc` 🧮 | bc | stdin (for example, `6 * 7`) |
|
|
26
26
|
| `awk` 🪄 | awk | program arg, empty stdin (`BEGIN { … }`) |
|
|
27
27
|
|
|
28
|
-
Each runtime's catalog Summary includes a short executable inline body, with
|
|
28
|
+
Each enabled runtime's catalog Summary includes a short executable inline body, with
|
|
29
29
|
literal `\n` separators keeping the invocation on one discovery line.
|
|
30
30
|
|
|
31
31
|
### A script — the `(target)` slot
|
|
@@ -62,6 +62,13 @@ separate input channel; script targets receive stdin from the body.
|
|
|
62
62
|
|
|
63
63
|
## Configuration
|
|
64
64
|
|
|
65
|
+
The shipped [`.env.defaults`](./.env.defaults) disables `perl`, `ruby`, `lua`,
|
|
66
|
+
`deno`, `bun`, `tcl`, `bc`, and `awk`. To expose one, set its switch to `1`
|
|
67
|
+
in the ordinary environment cascade and restart the service; commented opt-ins
|
|
68
|
+
are in [`.env.example`](./.env.example). For example, `PLURNK_EXECS_PERL=1`
|
|
69
|
+
enables the Perl executor when Perl is installed. These switches do not prevent
|
|
70
|
+
calling an interpreter through `sh`.
|
|
71
|
+
|
|
65
72
|
Per-tag kill-switches (`PLURNK_EXECS_<TAG>=0`) and the
|
|
66
73
|
`PLURNK_EXECS_ONLY` allowlist are honored by framework discovery, uniformly
|
|
67
74
|
across every plugin ({§executor-policy}). A disabled tag is not registered and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-execs-common",
|
|
3
|
-
"version": "1.21.
|
|
3
|
+
"version": "1.21.1",
|
|
4
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",
|
|
@@ -255,12 +255,13 @@
|
|
|
255
255
|
"files": [
|
|
256
256
|
"dist/**/*",
|
|
257
257
|
"README.md",
|
|
258
|
+
".env.defaults",
|
|
258
259
|
".env.example",
|
|
259
260
|
"docs/**/*"
|
|
260
261
|
],
|
|
261
262
|
"scripts": {
|
|
262
263
|
"test:lint": "tsc --noEmit",
|
|
263
|
-
"test:unit": "node --conditions=plurnk-dev --env-file-if-exists=../plurnk-execs/.env.defaults --test \"src/**/*.test.ts\"",
|
|
264
|
+
"test:unit": "node --conditions=plurnk-dev --env-file-if-exists=.env.defaults --env-file-if-exists=../plurnk-execs/.env.defaults --test \"src/**/*.test.ts\"",
|
|
264
265
|
"test": "npm run test:lint && npm run test:unit",
|
|
265
266
|
"build:clean": "rm -rf dist",
|
|
266
267
|
"build:dist": "tsc -p tsconfig.build.json",
|
|
@@ -269,6 +270,6 @@
|
|
|
269
270
|
"prepublishOnly": "npm audit --audit-level=moderate && npm test"
|
|
270
271
|
},
|
|
271
272
|
"peerDependencies": {
|
|
272
|
-
"@plurnk/plurnk-execs": "^1.21.
|
|
273
|
+
"@plurnk/plurnk-execs": "^1.21.1"
|
|
273
274
|
}
|
|
274
275
|
}
|