mosaic 0.0.31: npm package drops exec bits on tools/_scripts/* — breaks 'mosaic yolo' preflight #539
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
After installing @mosaicstack/mosaic@0.0.31 via npm, every file synced to ~/.config/mosaic/tools/_scripts/ is mode 644 (no exec bit). This breaks the mosaic yolo preflight, which invokes these scripts directly (e.g. mosaic-doctor, mosaic-critical) and fails with permission-denied.
Evidence
The published package payload itself ships without exec bits — this is a pack-time loss, not an install-time one:
npm preserves tarball modes on install, so files that enter the tarball as 644 install as 644.
Workaround (applied locally on web1)
Suggested fix (either works; both is belt-and-braces)
Observed on: web1, Linux, npm global install, @mosaicstack/mosaic@0.0.31.