@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 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
Binary file
Binary file
Binary file
package/bin/linux-x64/run CHANGED
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -13,5 +13,5 @@
13
13
  "license": "MIT",
14
14
  "name": "@runfile/cli",
15
15
  "repository": "https://github.com/JoaaoVerona/runfile",
16
- "version": "0.42.0"
16
+ "version": "0.44.0"
17
17
  }