Skip to content

feat: add dgbuild bundle command - #14

Merged
hlship merged 1 commit into
mainfrom
hlship/260831-dgbuild-bundle
Sep 1, 2026
Merged

feat: add dgbuild bundle command#14
hlship merged 1 commit into
mainfrom
hlship/260831-dgbuild-bundle

Conversation

@hlship

@hlship hlship commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

What

Adds a bundle subcommand to the dgbuild headless CLI:

dgbuild bundle [export-name]

It builds a complete web page (out/web/ plus a zip at out/<name>-<release>.zip) for one of dialog.json's named export configurations — the command-line equivalent of the extension's Export Web Page.... This lets a GitHub Action build and publish a project release with no extension host.

How

  • Wraps the existing, already vscode-free bundleWebExport pipeline (src/dialog-web-export.ts) — no core logic duplicated, no new runtime dependencies, no package.json files-allowlist changes (resources/**/* and yazl already ship to npm).
  • Config selection mirrors the extension's QuickPick, resolved from a CLI arg: explicit name must match exactly; an omitted name auto-selects the sole configuration when exactly one is defined, otherwise errors listing the names.
  • Preflights dialogc / dgdebug / aambundle; -v/--verbose un-quiets the dgdebug lifecycle logging from the story-info query (same pattern as run-skein).
  • Any failure (missing config, missing binary, pipeline step) exits non-zero with a message.

Tests

  • bundle.spec.tsresolveExportConfig cases + validation (no dialog.json, no exports).
  • bundle-integration.spec.ts — real end-to-end against dialogc/dgdebug/aambundle, self-skipping when the toolchain is absent (matches run-skein-integration.spec.ts).
  • Full suite green (951 pass, 5 skipped). Manually verified end-to-end against the dgsample fixture.

Docs

CHANGELOG.md, README.md, and the command-line-dgbuild manual page (new section + a GitHub Pages CI snippet).

🤖 Generated with Claude Code

Headless equivalent of the extension's "Export Web Page..." - builds
out/web/ + a release zip for a dialog.json export configuration, so a
GitHub Action can publish a project release. Wraps the existing
vscode-free bundleWebExport pipeline.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RTppFtoRZ3ZmWYF14xDiXX
@hlship
hlship merged commit 30b5dad into main Sep 1, 2026
1 check passed
@hlship hlship self-assigned this Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant