Repository navigation
feat: publish diffcop to npm - #9
Merged
Merged
Conversation
BrianEstrada
force-pushed
the
feat/publish-to-npm
branch
2 times, most recently
from
October 11, 2026 13:51
4fc93d4 to
187938c
Compare
BrianEstrada
force-pushed
the
feat/publish-to-npm
branch
from
October 11, 2026 13:52
187938c to
1fa2af9
Compare
diffcop review✅ All good Dropped by verification (1)
What we looked atI read the diff and checked the package metadata and runtime assumptions against the repo. That covered the Read (3): Searched (3): Reviewed 1fa2af9 · 41s · 6 tool calls · 84.2K input tokens (60% cached) · 3.6K output · ~$0.19 run |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Running diffcop without cloning it means
bunx github:BrianEstrada/diffcop#v0.1.0 review .... Publishing to npm makes itbunx diffcop review ..., with normal version pinning andbun add --global diffcop.Approach
private, adds the npm metadata (copied from oxlint-deslopify's shape) and afileslist that shipssrc/without tests, plustsconfig.json, which Bun needs to resolve the@/imports fromnode_modules.typescriptmoves frompeerDependenciestodevDependencies, since npm and Bun install peers and every user would have pulled in TypeScript.bun-npm-releaseworkflow, the same one oxlint-deslopify uses: it picks the version with git-cliff, bumpspackage.json, prepends toCHANGELOG.md, runsbun run check, pusheschore(release): vX.Y.Zand its tag to main, publishes with npm trusted publishing (noNPM_TOKEN, provenance included) and creates the GitHub Release fromCHANGELOG.md.release.ymlis now only the caller, because npm's trusted publisher matches the calling workflow's file name.CHANGELOG.mdis seeded with v0.1.0, andcliff.tomland thechangelogscript are copied from oxlint-deslopify.Bun.$,Bun.file), so the README saysnpx diffcopworks only where Bun is installed. Bundling withbun buildwas skipped: shipping source works, as tested below.Review focus
The release workflow, since it can only really be tested by releasing. The rest is package metadata and docs.
Verification
npm publish --dry-run: 34 files, no tests, no warnings.npm packtarball into a scratch project withbun add:diffcop --versionprints0.1.0anddiffcop review --helploads the review command through the@/imports. TypeScript isn't installed with it.bun run changelog: it prepends a 0.2.0 section above 0.1.0, the workflow'sawkpulls out just that section for the notes, and a second run stops with "CHANGELOG.md already has 0.2.0". Restored afterwards.actionlintpasses onrelease.ymland on the shared workflow.bun run checkpasses.Before the first release
RELEASE_APP_CLIENT_IDvariable andRELEASE_APP_PRIVATE_KEYsecret.diffcop: repositoryBrianEstrada/diffcop, workflowrelease.yml.npm publishfrom main once by hand, then add the trusted publisher.bunx diffcopquick start won't work.