@runfile/cli 0.42.0 → 0.44.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 +15 -0
- package/bin/darwin-arm64/run +0 -0
- package/bin/darwin-x64/run +0 -0
- package/bin/linux-arm64/run +0 -0
- package/bin/linux-x64/run +0 -0
- package/bin/win32-arm64/run.exe +0 -0
- package/bin/win32-x64/run.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -614,6 +614,15 @@ Wrap any commands in a `when:` block to run them only after a failure, or always
|
|
|
614
614
|
]
|
|
615
615
|
```
|
|
616
616
|
|
|
617
|
+
**Ctrl+C runs your cleanup too.** Pressing Ctrl+C stops the running command and skips everything still pending,
|
|
618
|
+
but `when: failure` and `when: always` blocks still execute before Runfile exits (with code `130`) — so a
|
|
619
|
+
container, a lock file, or a dev server started earlier gets torn down instead of leaked. The interrupt is not
|
|
620
|
+
suppressible by `ignoreErrors` (that forgives a failed command, not a user asking to stop), it stops `for` loops
|
|
621
|
+
from starting further iterations, and it reaches every target on the stack: an interrupted `@target` dependency
|
|
622
|
+
runs its own cleanup, then its caller runs the caller's. Cleanup blocks are exempt from the abort, so their own
|
|
623
|
+
steps — including a `@teardown` they delegate to — run in full. Press Ctrl+C **again** to quit immediately if a
|
|
624
|
+
cleanup block is itself slow or stuck.
|
|
625
|
+
|
|
617
626
|
#### Single-shell mode with `sameShell`
|
|
618
627
|
|
|
619
628
|
By default each step runs in its own shell process, so `cd`, exported variables, and other shell state don't carry
|
|
@@ -684,6 +693,7 @@ provenance so a client can bucket local vs. included vs. global targets itself:
|
|
|
684
693
|
{
|
|
685
694
|
"filePath": "/abs/path/Runfile.json",
|
|
686
695
|
"kind": "local", // "local" | "included" | "global"
|
|
696
|
+
"onlyInDirectories": ["~/w"], // only on globals restricted to certain dirs
|
|
687
697
|
"targets": [
|
|
688
698
|
{
|
|
689
699
|
"name": "api:build", // full canonical invocation name
|
|
@@ -696,6 +706,11 @@ provenance so a client can bucket local vs. included vs. global targets itself:
|
|
|
696
706
|
}
|
|
697
707
|
```
|
|
698
708
|
|
|
709
|
+
`onlyInDirectories` appears only on a `global` source that declared
|
|
710
|
+
[`globals.onlyInDirectories`](.github/DOCS.md#onlyindirectories) — meaning it merged in only because the
|
|
711
|
+
current directory is inside one of those paths. Such a source is registered machine-wide but scoped in
|
|
712
|
+
practice, so clients are expected to treat it as project-local rather than truly global.
|
|
713
|
+
|
|
699
714
|
Skip a target from the generated configs by setting `metadata.excludeFromGenerateCommand: true`. The
|
|
700
715
|
`metadata` block on `globals` and on each target is **fully open** — any property of any JSON type
|
|
701
716
|
(strings, numbers, booleans, arrays, deeply-nested objects) is accepted and round-trips untouched, so
|
package/bin/darwin-arm64/run
CHANGED
|
Binary file
|
package/bin/darwin-x64/run
CHANGED
|
Binary file
|
package/bin/linux-arm64/run
CHANGED
|
Binary file
|
package/bin/linux-x64/run
CHANGED
|
Binary file
|
package/bin/win32-arm64/run.exe
CHANGED
|
Binary file
|
package/bin/win32-x64/run.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED