You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Apt-style meta-packages on top of the install atom. Bundles are
JSON-LD ItemList docs naming app specs to install. Same auth, same
target, same per-app status; composes with positional ad-hoc names.
jss install --bundle ./media.jsonld
jss install --bundle media # → solid-apps/bundles/main/media.jsonld
jss install --bundle <org>/<repo> # → that repo's main/bundle.jsonld
jss install --bundle https://example.com/.jsonld
jss install --bundle media chrome vellum # bundle + ad-hoc
Bundle items are bare strings (any Phase 1+2 spec) OR objects with
required app:spec + optional app:label / app:description. The install
path normalizes both forms and feeds them through the existing
parseAppSpec + installOne machinery.
Bundle header (name + description) prints once. Per-app failures
report individually; continue-on-error; exit non-zero if any failed.
Resolves to raw.githubusercontent.com for the URL shorthands so the
fetch returns the raw JSON-LD body (not GitHub's HTML page wrapper).
Verified end-to-end:
- local-file bundle (./media.jsonld) → all items installed
- absolute-path bundle (/tmp/...) → works
- items as bare strings + items as objects + items with rename suffix
- bundle + ad-hoc args composed
- bare-name shorthand → correctly fetches solid-apps/bundles/main/<name>.jsonld
- malformed JSON, missing items, invalid spec — clear errors, exit 1
FixesJavaScriptSolidServer#485
Copy file name to clipboardExpand all lines: bin/jss.js
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -316,12 +316,13 @@ program
316
316
* resolution, NIP-98 auth, curated default sets, and --bundle.
317
317
*/
318
318
program
319
-
.command('install <names...>')
320
-
.description('Install a Solid app from github.com/solid-apps/<name> into a running pod')
319
+
.command('install [names...]')
320
+
.description('Install a Solid app (or a bundle of apps) into a running pod')
321
321
.option('--pod <url>','Target pod URL','http://localhost:4443')
322
322
.option('--user <name>','Username for IDP auth','me')
323
323
.option('--password <pw>','Password (default: $JSS_SINGLE_USER_PASSWORD or "me")')
324
324
.option('--nostr-privkey <hex>','Sign install pushes with NIP-98 using this 64-char hex Nostr privkey instead of fetching a bearer token (default: $NOSTR_PRIVKEY)')
325
+
.option('--bundle <source>','Install everything in a bundle (JSON-LD doc). Source: bare name → solid-apps/bundles, <org>/<repo>, https://..., or a local path')
0 commit comments