fix: sync npm package version and prevent root publish#67
Conversation
Releases v1.8.12-v1.8.15 were published from the root directory instead of packages/lacy/, so the published npm package had no bin field, causing "could not determine executable to run" on npx lacy. - Sync packages/lacy/package.json version to 1.8.15 - Sync packages/lacy/package-lock.json version - Update bin/lacy VERSION_FALLBACK to 1.8.15 - Add "private": true to root package.json to prevent future accidental publishes from root (npm publish from root will now error)
There was a problem hiding this comment.
Code Review
This pull request updates the project version to 1.8.15 across several files, including the shell script fallback and package manifests, while also marking the root package as private. Feedback identifies that the package-lock.json was previously significantly out of sync with the package version, suggesting that the release automation script should be updated to ensure lockfiles are correctly synchronized during future releases.
| { | ||
| "name": "lacy", | ||
| "version": "1.7.2", | ||
| "version": "1.8.15", |
There was a problem hiding this comment.
The lockfile was significantly out of sync with the package version (1.7.2 vs 1.8.11). This suggests that the release automation in script/release.ts is manually updating package.json files but omitting the corresponding package-lock.json updates. To prevent future drift, the release script should be updated to either use npm version or explicitly update and stage the lockfiles during the release process.
Summary
packages/lacy/, so the published npm package had nobinfield, causingnpx lacyto fail with "could not determine executable to run"packages/lacy/package.jsonversion to 1.8.15, updatebin/lacyVERSION_FALLBACK, and add"private": trueto rootpackage.jsonto prevent accidental root publishes in the futurebun run releaseso the npm package gets the correctbinfield frompackages/lacy/Fixes LAC-2055. Related: LAC-1963.
Test plan
bun run release patchto publish v1.8.16 from the correct directorynpx lacyworks:npm view lacy@latest binshould show{ lacy: "index.mjs" }npm publishfrom root fails with "private" error (safeguard)