hughsk / smokestack

Pipe your JavaScript into a browser, logging console output in Node
Other
245 stars 26 forks source link

interested in adding other browsers? #30

Open davidtheclark opened 9 years ago

davidtheclark commented 9 years ago

I made https://github.com/davidtheclark/safari-location in case you are interested in adding Safari to the mix. I could also try making one for IE.

yoshuawuyts commented 9 years ago

That's rad! The reason only chrome and firefox are in here is because there hasn't been need to test on other browsers, but if you want to PR it / create modules to support it it'd be much appreciated. I can definitely see this coming in useful in the near future. Thanks!

davidtheclark commented 9 years ago

Ok. I do have a need test in IE and Safari, so I will try to write a little mode for locating IE, at some point, in addition to the one for Safari. And then maybe I can get to PRs to integrate them here. This would be necessary for my organization to try experimenting with smokestack as an alternative to karma.

davidtheclark commented 9 years ago

Created IE locator: https://github.com/davidtheclark/ie-location

yoshuawuyts commented 9 years ago

@davidtheclark dope! :tada:

davidtheclark commented 9 years ago

Update on this -- following up on some discussion here https://github.com/hughsk/chrome-location/pull/4:

I've written up a bunch of async browser-locaters derived from the existing chrome-location and firefox-location:

As far as I can tell these work as well as the originals, but are async. (I don't know a great way to write unit tests for this filesystem stuff -- any recommendations?) They return promises and also take callbacks.

Wondering if there might be interest in adopting these async adaptations?

timoxley commented 9 years ago

nice

timoxley commented 9 years ago

The second part is figuring out how to launch each browser.

davidtheclark commented 9 years ago

I looked at the existing chrome-launch and firefox-launch and noticed that they are also all expecting fully sync code. So in those modules a few lines would need to be changed (and the signature, with a callback and/or returned promise) — as well as in smokestack itself.

If you were interested in that happening, I could give it a shot and also look into writing launchers for IE and Safari that fit the same (async) API.