Skip to content

fix: stage publish dir mirroring repo layout so dist/ ships in package#27

Merged
gueritopollito merged 1 commit into
mainfrom
fix/publish-from-staging-dir
Jun 11, 2026
Merged

fix: stage publish dir mirroring repo layout so dist/ ships in package#27
gueritopollito merged 1 commit into
mainfrom
fix/publish-from-staging-dir

Conversation

@gueritopollito

Copy link
Copy Markdown
Contributor

Problem

v1.0.3 published successfully but the package is empty of JavaScript — installing it fails with extension entry not found: ./dist/index.js.

Root cause: the workflow publishes from inside dist/, but package.json declares files: ["dist", ...], main: dist/index.js, and openclaw extensions: ["./dist/index.js"]. Relative to dist/ as package root, there is no dist/ subdirectory — so npm packed only package.json, README, LICENSE, openclaw.plugin.json, and skills/. Same broken layout went to ClawHub.

(The manual 0.1.0 publish worked because it ran from the repo root.)

Fix

Stage a pack/ directory that mirrors the repo layout — dist/ as a subdirectory alongside package.json, skills/, etc. — and run semantic-release + ClawHub publish from there. Also strips prepublishOnly/prebuild from the staged package.json (CI already builds and tests; those hooks assume full repo layout).

Verified locally with npm pack --dry-run from a staged dir: tarball now contains dist/index.js and all compiled output at the correct paths.

Notes

  • v1.0.3 is burned on NPM; this will release as v1.0.4
  • scripts/ no longer needs to be copied (hooks that needed it are stripped)

Test plan

  • Merge, verify v1.0.4 releases to NPM + ClawHub
  • openclaw plugins install clawhub:@expediagroup/expedia-openclaw succeeds

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 1 0 0 0.25s
✅ COPYPASTE jscpd yes no no 1.73s
✅ EDITORCONFIG editorconfig-checker 1 0 0 0.27s
✅ REPOSITORY git_diff yes no no 0.01s
✅ REPOSITORY secretlint yes no no 0.71s
✅ REPOSITORY syft yes no no 3.05s
✅ REPOSITORY trivy yes no no 9.11s
✅ REPOSITORY trivy-sbom yes no no 1.18s
✅ REPOSITORY trufflehog yes no no 23.01s
✅ YAML prettier 1 0 0 0 0.42s
✅ YAML yamllint 1 0 0 0.33s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@gueritopollito gueritopollito merged commit 46d2222 into main Jun 11, 2026
2 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.0.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant