LinusU / LinusU/node-appdmg

Doesn't work on Node 12 — PRs submitted for dependencies

Open
#181 1 comment 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
1.7k
Forks
158
PR merge metrics
No merged PRs in 30d

Description

Appdmg currently doesn't work on Node 12, because compilation of native code in two dependencies was broken by a change in the V8 API.

The dependencies in question are [macos-alias](https://github.com/LinusU/node-alias) (via [ds-store](https://github.com/LinusU/node-ds-store)) and [capture-window](https://github.com/LinusU/node-capture-window), all of which you own. I have submitted PRs LinusU/node-capture-window#2 and LinusU/node-alias#16 to fix this problem by converting them to use N-API, which unlike the V8 API is guaranteed to remain stable. When I manually applied them to my local copy of appdmg, it built successfully and all tests passed on Node 12.

---

In the mean time, in case anyone else needs it, my fork of appdmg has [a branch “node-12-temporary-fix”](https://github.com/argv-minus-one/node-appdmg/tree/node-12-temporary-fix), which brings in the patches to macos-alias and capture-window. To use it, in `package.json`, set the version of your appdmg dependency to `argv-minus-one/node-appdmg#node-12-temporary-fix`. Example:

```json
{
"dependencies": {
"appdmg": "argv-minus-one/node-appdmg#node-12-temporary-fix"
}
}
```

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with package.json and the dependency PRs for node-capture-window and node-alias, then check how appdmg brings in ds-store and macos-alias. Confirm the upstream N-API fixes are available, update the dependency references as needed, and verify that appdmg builds and its tests pass on Node 12.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
build-system, desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.