@runfile/cli 0.41.0 → 0.43.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
@@ -1,6 +1,6 @@
1
1
  # Runfile
2
2
 
3
- [Quick start](#quick-start) · [Why Runfile?](#why-runfile) · [Features](#what-makes-it-different) · [Platforms](#platform-support) · [Docs](.github/DOCS.md)
3
+ [Quick start](#quick-start) · [Why Runfile?](#why-runfile) · [Features](#what-makes-it-different) · [VS Code](#vs-code-extension) · [Platforms](#platform-support) · [Docs](.github/DOCS.md)
4
4
 
5
5
  **One JSON file. One binary. Every OS. Every shell.**
6
6
 
@@ -98,6 +98,30 @@ prints that command to run from a fresh shell (npm can't overwrite the running `
98
98
 
99
99
  ---
100
100
 
101
+ ## VS Code extension
102
+
103
+ Every release ships a VS Code extension that puts your targets in the editor — no `tasks.json` to generate or keep
104
+ in sync. It runs `run :generate task-descriptors` and turns the result into real VS Code tasks plus a
105
+ **Runfile → Targets** sidebar, complete with namespace folders and a **Globals** bucket for machine-wide targets.
106
+
107
+ **Install** — download `runfile-vscode-<version>.vsix` from the
108
+ [latest release](https://github.com/JoaaoVerona/runfile/releases/latest), then:
109
+
110
+ ```bash
111
+ code --install-extension runfile-vscode-<version>.vsix
112
+ ```
113
+
114
+ (or, in VS Code: **Extensions → … → Install from VSIX…**)
115
+
116
+ Targets then show up in **Terminal → Run Task…** and in the Runfile sidebar. Every task is invoked with
117
+ `--stdin-args`, so targets that need input prompt for it right in the task terminal. Nothing is written to your
118
+ repository.
119
+
120
+ The source lives in [`editors/vscode`](editors/vscode) — see its [README](editors/vscode/README.md) for settings,
121
+ commands, and how the sidebar groups targets.
122
+
123
+ ---
124
+
101
125
  ## Why Runfile?
102
126
 
103
127
  Other runners assume one platform and one shell. Runfile assumes **none**.
@@ -642,7 +666,7 @@ independent flags widen the set:
642
666
  ##### Building your own integration: `task-descriptors`
643
667
 
644
668
  For tooling that builds its **own** editor integration (like the
645
- [Runfile VS Code extension](https://github.com/JoaaoVerona/runfile)), there's an editor-agnostic
669
+ [Runfile VS Code extension](editors/vscode) shipped with this repo), there's an editor-agnostic
646
670
  alternative that always prints to stdout and never touches disk:
647
671
 
648
672
  ```bash
@@ -660,6 +684,7 @@ provenance so a client can bucket local vs. included vs. global targets itself:
660
684
  {
661
685
  "filePath": "/abs/path/Runfile.json",
662
686
  "kind": "local", // "local" | "included" | "global"
687
+ "onlyInDirectories": ["~/w"], // only on globals restricted to certain dirs
663
688
  "targets": [
664
689
  {
665
690
  "name": "api:build", // full canonical invocation name
@@ -672,6 +697,11 @@ provenance so a client can bucket local vs. included vs. global targets itself:
672
697
  }
673
698
  ```
674
699
 
700
+ `onlyInDirectories` appears only on a `global` source that declared
701
+ [`globals.onlyInDirectories`](.github/DOCS.md#onlyindirectories) — meaning it merged in only because the
702
+ current directory is inside one of those paths. Such a source is registered machine-wide but scoped in
703
+ practice, so clients are expected to treat it as project-local rather than truly global.
704
+
675
705
  Skip a target from the generated configs by setting `metadata.excludeFromGenerateCommand: true`. The
676
706
  `metadata` block on `globals` and on each target is **fully open** — any property of any JSON type
677
707
  (strings, numbers, booleans, arrays, deeply-nested objects) is accepted and round-trips untouched, so
@@ -775,6 +805,16 @@ run lint # auto-format + clippy
775
805
  run test # full workspace test suite
776
806
  ```
777
807
 
808
+ The VS Code extension in [`editors/vscode`](editors/vscode) has its own targets, namespaced under `vscode:`:
809
+
810
+ ```bash
811
+ run vscode:deps # one-time: pnpm install (required before the targets below)
812
+ run vscode:compile # type-check + compile to editors/vscode/out
813
+ run vscode:watch # recompile on change
814
+ run vscode:package # build the .vsix
815
+ run vscode:install # package + install into VS Code
816
+ ```
817
+
778
818
  ---
779
819
 
780
820
  ## License
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.41.0"
16
+ "version": "0.43.0"
17
17
  }