Skip to content

fix(npm): commit root launcher package; anchor .gitignore binary patterns#1

Merged
protonspy merged 1 commit into
mainfrom
fix/npm-launcher-gitignore
May 31, 2026
Merged

fix(npm): commit root launcher package; anchor .gitignore binary patterns#1
protonspy merged 1 commit into
mainfrom
fix/npm-launcher-gitignore

Conversation

@protonspy
Copy link
Copy Markdown
Owner

Problem

The first v0.1.0 release run built all 5 binaries and the GitHub Release fine, but the publish npm packages job failed with:

ENOENT  lstat  /home/runner/work/csdd/csdd/npm/csdd/bin/csdd.js

Root cause: the root .gitignore had bare csdd / csdd.md patterns. Without a leading slash, gitignore matches at any depth, so the pattern silently swallowed the entire npm/csdd/ launcher package. Only npm/.gitignore, npm/README.md, and npm/scripts/build-packages.mjs were ever tracked — npm/csdd/{bin/csdd.js,package.json,README.md} were never committed, so CI's build-packages.mjs couldn't find them.

Fix

  • Anchor the ignore patterns to the repo root: /csdd and /csdd.md. They still ignore the compiled binary and generated guide at the root, but no longer match npm/csdd/.
  • Commit the launcher package files (npm/csdd/bin/csdd.js, npm/csdd/package.json, npm/csdd/README.md).

Verified

  • git check-ignore csdd → still ignored (root binary stays out).
  • git check-ignore npm/csdd/bin/csdd.js → no longer ignored.
  • Local pipeline dry-run (cross-compile 5 targets → build-packages.mjsnpm publish --dry-run) assembles all 6 packages cleanly.

Without this, every future v* tag's auto-publish job will keep hitting the same ENOENT. The v0.1.0 npm packages themselves are being published via the documented manual bootstrap, which is unaffected.

🤖 Generated with Claude Code

The bare 'csdd' / 'csdd.md' ignore patterns matched at any depth, so the
entire npm/csdd/ launcher package (bin/csdd.js, package.json, README.md) was
silently ignored and never committed. The release workflow's build-packages.mjs
then failed in CI with ENOENT on npm/csdd/bin/csdd.js, breaking npm publishing.

Anchor both patterns to the repo root (/csdd, /csdd.md) so they only ignore the
compiled binary and generated guide, and commit the launcher package files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@protonspy protonspy merged commit bd56418 into main May 31, 2026
1 check passed
protonspy added a commit that referenced this pull request Jun 1, 2026
fix(npm): commit root launcher package; anchor .gitignore binary patterns
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