electron-userland / electron-spellchecker

Implement spellchecking, correctly
MIT License
237 stars 83 forks source link

Windows - _Observable.Observable.merge is not a function #122

Open smithalan92 opened 5 years ago

smithalan92 commented 5 years ago

When running an build electron app on Windows, I get the following error

_Observable.Observable.merge is not a function

The line of code in question is this one https://github.com/electron-userland/electron-spellchecker/blob/master/src/spell-check-handler.js#L245

The distributable lib looks like

var _Observable = require('rxjs/Observable');
...
disp.add(_Observable.Observable.merge(this.spellCheckInvoked, this.currentSpellcheckerChanged).subscribe(() => wordsTyped = 0));

On MacOS it works fine, because It seems the above code is not executed.

I'm not familar with RxJS, but looking at the imports here https://github.com/electron-userland/electron-spellchecker/blob/master/src/spell-check-handler.js#L10-L14 , is it possible that an import for a 'merge' lib is missing?

chrisknepper commented 5 years ago

@smithalan92 Yep, I got the same problem. I'm using this spellchecker in a personal project and found it would either fail to build or just not work as in #128 . This seems to be happening because of an upstream issue with rxjs and that project changing its exports without a proper semantic version change. You should be able to build/get it working on Windows by changing that line in spell-check-handler.js (in the distributable or lib folder) to var _Observable = require('rxjs');

chrisknepper commented 5 years ago

Seems related to https://github.com/ReactiveX/rxjs/issues/1694