Skip to content

fix(release): enable --unstable-raw-imports for whole-workspace publish (alpha.5 republish)#138

Merged
rickylabs merged 1 commit into
mainfrom
fix/publish-raw-imports
Jun 26, 2026
Merged

fix(release): enable --unstable-raw-imports for whole-workspace publish (alpha.5 republish)#138
rickylabs merged 1 commit into
mainfrom
fix/publish-raw-imports

Conversation

@rickylabs

Copy link
Copy Markdown
Owner

Fix partial publish of v0.0.1-alpha.5

The v0.0.1-alpha.5 JSR publish partial-failed: 23 of 31 members published, but @netscript/fresh-ui and @netscript/plugin failed and 6 dependents (incl. @netscript/cli) were skipped.

Root cause

These members use JSR-safe asset embedding — with { type: 'text' } import attributes (#135). The deno publish module-graph builder rejects those attributes unless raw-imports is enabled:

failed to build module graph: The import attribute type of 'text' is unsupported
  • A member deno.json cannot carry "unstable" — Deno only honors it in the workspace-root config ("unstable" field can only be specified in the workspace root deno.json file).
  • The root config's "unstable": ["raw-imports"] does not propagate into per-member publish graph builds.
  • deno publish --dry-run does not enforce this restriction, so publish:dry-run stayed green while the real publish failed — a true dry-run blind spot.

Fix

Pass --unstable-raw-imports explicitly on the deno publish command in .llm/tools/publish-workspace.ts so every member's publish graph build enables the feature. The flag is recognized by deno publish 2.9.0.

Why this is safe to re-publish

deno publish skips versions already on the registry, so re-running after a partial publish is idempotent — the 23 already-published members are skipped; only fresh-ui, plugin, cli, and the 6 skipped dependents publish at alpha.5.

Follow-up (tracked)

The publish dry-run gate is a blind spot for this failure class — a real-publish-equivalent preflight is tracked under the deterministic JSR release/publish e2e mechanism (#114).

🤖 Generated with Claude Code

The JSR-safe asset embedding (with { type: 'text' } import attributes) is
rejected by the deno publish module-graph builder unless raw-imports is
enabled. A member deno.json cannot carry "unstable" (Deno only honors it in
the workspace-root config), and the root config's "unstable" does not
propagate into per-member publish graph builds.

As a result v0.0.1-alpha.5 partial-published: @netscript/fresh-ui and
@netscript/plugin failed with "The import attribute type of 'text' is
unsupported" and 6 dependents were skipped (23 of 31 members published).

Pass --unstable-raw-imports explicitly on the publish command so every
member's publish graph build enables the feature. The publish dry-run path
does not enforce this restriction, which is why publish:dry-run stayed green
while the real publish failed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct
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