@runfile/cli 0.40.0 → 0.41.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
@@ -629,14 +629,9 @@ $ run :generate zed-tasks
629
629
  $ run :generate jetbrains-run-configurations
630
630
  ```
631
631
 
632
- Pass `--stdout` to any of these to print the generated configuration to standard output instead of
633
- writing it to disk — handy for previewing, piping, or diffing in CI. The output is the freshly
634
- generated config (not merged with any existing file on disk) and nothing is created or modified.
635
- For `jetbrains-run-configurations`, which produces one file per target, each block is delimited by a
636
- `<!-- .run/<file> -->` comment when more than one is emitted.
637
-
638
- By default only the local Runfile's own targets are generated. Two independent flags widen the set,
639
- and both compose with `--stdout` and the on-disk writers:
632
+ Each writes its editor's config to disk (`.vscode/tasks.json`, `.zed/tasks.json`, `.run/*.run.xml`),
633
+ merging with any existing file. By default only the local Runfile's own targets are generated; two
634
+ independent flags widen the set:
640
635
 
641
636
  - `--include-namespaces` also generates entries for targets pulled in via `includes` — namespaced
642
637
  targets carry their `namespace:` prefixes, exactly as `run :list` shows them (e.g. `run api:build`).
@@ -644,6 +639,39 @@ and both compose with `--stdout` and the on-disk writers:
644
639
  `run :config global-files` — the same ones `run :list` folds in. Handy when an editor integration
645
640
  should offer your machine-wide targets (e.g. `run c`, `run backup-git`) alongside a project's own.
646
641
 
642
+ ##### Building your own integration: `task-descriptors`
643
+
644
+ 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
646
+ alternative that always prints to stdout and never touches disk:
647
+
648
+ ```bash
649
+ $ run :generate task-descriptors
650
+ ```
651
+
652
+ It always resolves `includes` and merges registered global files (no `--include-*` flags), and emits
653
+ a stable JSON document describing every runnable target grouped by its source file, with per-target
654
+ provenance so a client can bucket local vs. included vs. global targets itself:
655
+
656
+ ```jsonc
657
+ {
658
+ "formatVersion": 1,
659
+ "sources": [
660
+ {
661
+ "filePath": "/abs/path/Runfile.json",
662
+ "kind": "local", // "local" | "included" | "global"
663
+ "targets": [
664
+ {
665
+ "name": "api:build", // full canonical invocation name
666
+ "namespace": "api", // omitted for un-namespaced targets
667
+ "description": "Build the API"
668
+ }
669
+ ]
670
+ }
671
+ ]
672
+ }
673
+ ```
674
+
647
675
  Skip a target from the generated configs by setting `metadata.excludeFromGenerateCommand: true`. The
648
676
  `metadata` block on `globals` and on each target is **fully open** — any property of any JSON type
649
677
  (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.40.0"
16
+ "version": "0.41.0"
17
17
  }