Skip to content
This repository has been archived by the owner on Nov 24, 2018. It is now read-only.

Consider merging with NightmareJS #235

Closed
stassinari opened this issue Aug 15, 2017 · 10 comments
Closed

Consider merging with NightmareJS #235

stassinari opened this issue Aug 15, 2017 · 10 comments
Labels

Comments

@stassinari
Copy link

I know it might seem silly, but since I've done some research in the last few days to choose a front-end testing solution, and tried both chromeless and Nightmare, one question came to mind.

Why don't you join forces with NightmareJS instead of trying to do something new?

You've borrowed a lot from the (admittedly awesome) Nightmare syntax, and, at least from my understanding, the main difference is that under the hood you're sending instructions to either Chrome directly through CDP (chromeless) or to Electron (Nightmare).

From what I've understood, this would be the main selling point of chromeless, making it very quick and easy to run on AWS Lamba, which is awesome.

What spurred this question, though, is a very interesting PR on the Nightmare project that is getting quite some interest: segment-boneyard/nightmare#1211.
This would make Nightmare use CDP and make it much more similar to chromeless.

All I'm saying is that seeing this two projects merging would be a GitHub dream and possibly make the two even more powerful 😄

@johnferro
Copy link

johnferro commented Aug 16, 2017

It would be great to have a discussion about collaboration among all of these projects instead of splitting efforts. I know recently it sounds like Navalia and Chromeless are going to join forces which is awesome. But there is also clearly still a lot of fracture, including the above Nightmare PR and very recently the first release of Puppeteer. Its sounds like they reached out to a number of other similar projects (of which I'm sure this was one) to talk about collaboration. I think many developers are closely following the release and state of these Chrome automation libraries and it would benefit all of us to have some of those discussions in the open.

@schickling
Copy link
Owner

schickling commented Aug 18, 2017

Thanks a lot for your comments @stassinari @johnferro. I'll try to give a bit of context:

We actually used NightmareJS a lot before we eventually created Chromeless. We did this for a couple of reasons:

  • There is still a "! Massive security hole in nightmare #1060"
  • We're using Typescript at Graphcool and wanted to have first class support for types (this just provides a way better developer experience)
  • As our integration tests took more than 20min, we needed a way to run them in parallel, that's why AWS Lambda support is directly baked into Chromeless

Regarding Puppeteer: We're really excited about this project and it's awesome that it also sees a lot of traction. @paulirish actually reached out to us a couple of weeks ago to see how we could collaborate. We're planning to use Puppeteer under the hood as a better foundation for Chromeless to focus more on a higher-level abstraction and double down on the AWS Lambda (and similar) execution layer.

I hope this gives you a better view on our perspective and motivations. 🙂

@johnferro
Copy link

@schickling Thank you for your insights into this, it definitely gives more context for where Chromeless stands and what the project is hoping to accomplish going forward. I agree that it definitely made sense to move away from Nightmare given those issues and your use cases, and it will be interesting to see if Nightmare now starts to move on from Electron through either the PR linked above or other efforts.

With regard to Chromeless using Puppeteer, is that dependent on Puppeteer supporting Node 6 (puppeteer/puppeteer#316)?

@nacimgoura
Copy link

nacimgoura commented Aug 20, 2017

There are multiple projects similar at chromeless : https://medium.com/@kensoh/chromeless-chrominator-chromy-navalia-lambdium-ghostjs-autogcd-ef34bcd26907

@stassinari
Copy link
Author

@schickling @johnferro Thank you very much for the replies, now everything is much clearer and I'm really looking forward to seeing where you guys will take Chrome automation in the future!

@mderazon
Copy link

We're planning to use Puppeteer under the hood

Does that mean you are going to change the api to match puppeteer as well ?

@siparker
Copy link

Does that mean you are going to change the api to match puppeteer as well ?

I am hoping this means that Puppeteer will essentially be the API.

@klichukb
Copy link

klichukb commented Nov 5, 2017

Hello guys. I'm currently using chromeless since it the most mature in terms of Lambda deployment, and it seems to work well. Indeed though, Puppeteer becomes something I'd probably want to use in the nearest future.

What is the timeline for the Chromeless to start using Puppeteer under the hood? This sounds so awesome I'm really looking forward to seeing.
Thanks for the great job anyway.

@eliranhe
Copy link

Any update on puppeteer? :)
Can't wait!

@siparker
Copy link

indeed any update for us please. Puppeteer will make this the leading platform.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

9 participants