Modernize ds-store for Node.js 24 - #2
Conversation
|
CI status update: Ubuntu passed, macos-15-intel exposed a helper bug in @appdmg/macos-alias when APFS inode IDs exceed uint32 during alias creation. I am fixing macos-alias first, then I will update this PR lockfile to the fixed helper commit and rerun CI. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 450c144253
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "dependencies": { | ||
| "bplist-creator": "~0.0.3", | ||
| "macos-alias": "~0.2.5", | ||
| "tn1150": "^0.1.0" | ||
| "@appdmg/bplist-creator": "~1.0.0", | ||
| "@appdmg/macos-alias": "~3.0.0", | ||
| "@appdmg/tn1150": "~1.0.0" |
There was a problem hiding this comment.
Publish installable dependency sources
These runtime dependencies now point to plain semver ranges, but the tested artifacts are GitHub tarballs pinned only in package-lock.json; when @appdmg/ds-store is installed as a dependency, npm ignores this package’s lockfile and resolves from the registry. That means downstream installs can fail (if these scoped versions are not yet published) or silently pull different code than CI validated, so consumers may not be able to install or reproduce the release.
Useful? React with 👍 / 👎.
Summary
Modernizes
ds-storeinto the scoped@appdmg/ds-storepackage for the Node.js 24 appdmg stack.@appdmg/ds-store@1.0.0with Node>=24@appdmg/bplist-creator,@appdmg/macos-alias, and@appdmg/tn1150write()supportnew Buffer()usage in active code pathsThe public dependency contract in
package.jsonuses patch-line semver ranges. Because the scoped helper packages are merged but not published to npm yet,package-lock.jsonpins their current GitHub tarballs so CI can install reproducibly before the npm release-chain task completes.Verification
npm cinpm testnpm audit --audit-level=moderatenpm ls --omit=dev --allnpm pack --dry-runnode --check index.jsnode --check lib/buddy-allocator.jsnode --check lib/ds-store.jsnode --check lib/entry.jsnode --check lib/partition.jsnode --check test/ds-store.jsnode --check test/entry.jsCloses #1