2019/11/19

node-ffi 公式は node 12 でビルドが通らない

node から直接Cのライブラリを呼び出せる [ffi](https://www.npmjs.com/package/ffi) というライブラリを
インストールしようとしたところ、以下のようなエラーが出てインストール出来ませんでした。

```bash
`gutter: false;
$ npm install --save ffi

> ref@1.3.5 install /home/yusuke/ffi_sample/node_modules/ref
> node-gyp rebuild

make: Entering directory '/home/yusuke/tmp/node_modules/ref/build'
  CXX(target) Release/obj.target/binding/src/binding.o
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE {anonymous}::WriteObject(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:222:43: error: no matching function for call to ‘v8::Value::BooleanValue()’
   bool persistent = info[3]->BooleanValue();

... 省略

gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
```

依存している [ref](https://www.npmjs.com/package/ref) というライブラリのビルドに失敗しているようです。

この `v8::Value::BooleanValue()` 等の参照関数はだいぶ前から deprecated だったようです。
そして、node v.12 でついに削除されました。
そのため、node v.12 以降ではビルドが通らなくなってしまったのです。


### 解決策(一時的な)
幸いなことに、この問題は既に PullRequest として報告されていました。

2019/10/26

Electron のデフォルトでは Spectron が正しく動作しない

@Electron 7.0.0
@Spectron 9.0.0

[electron-quick-start](https://github.com/electron/electron-quick-start) に [mocha](https://mochajs.org/) と [spectron](https://electronjs.org/spectron) をインストールして、簡単なテストを走らせてみました。
すると、以下のようなエラーが。

```
  1) Application launch
       shows an initial window:
     TypeError: waitUntilWindowLoaded Cannot read property 'isLoading' of undefined
      at waitUntil(, ) - application.js:263:17
```

実際に走らせたのは以下のコードです。