Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trying to run Percy icm Cypress #138

Closed
pgroot91 opened this issue Jul 18, 2019 · 17 comments
Closed

Trying to run Percy icm Cypress #138

pgroot91 opened this issue Jul 18, 2019 · 17 comments

Comments

@pgroot91
Copy link

pgroot91 commented Jul 18, 2019

Hi Guys,

I thought lets see if i could make Percy to work icm Cypress on my local machine. I have unfortunately some trouble with setting it up and run a cypress project.

I'm running the following command
$ DEBUG=* $(npm bin)/percy exec -- cypress run

2019-07-18T14:23:43.845Z @oclif/config reading core plugin C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent
2019-07-18T14:23:43.846Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent\package.json
2019-07-18T14:23:43.848Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent\oclif.manifest. json
(node:9156) Error Plugin: @percy/agent: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules @percy\agent\package.json
module: @oclif/config@1.13.2
plugin: @percy/agent
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent
See more details with DEBUG=*
Error Plugin: @percy/agent: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agen t\package.json
at Plugin.warn (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\config\lib\plugin.js:174:19)
at Plugin.load (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\config\lib\plugin.js:36:18)
module: @oclif/config@1.13.2
plugin: @percy/agent
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent
See more details with DEBUG=*
2019-07-18T14:23:43.850Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent.oclif.manifest .json
2019-07-18T14:23:43.850Z @oclif/config:@percy/agent using manifest from C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@per cy\agent.oclif.manifest.json
2019-07-18T14:23:43.851Z @oclif/config reading user plugins pjson C:\Users\Patrick.DESKTOP-Q3EBHKB\AppData\Local@percy\ag ent\package.json
2019-07-18T14:23:43.851Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\AppData\Local@percy\agent\package.json
2019-07-18T14:23:43.852Z @oclif/config loading plugins [ '@oclif/plugin-help', '@oclif/plugin-not-found' ]
2019-07-18T14:23:43.854Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent\package.json
2019-07-18T14:23:43.854Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent\package.json
2019-07-18T14:23:43.855Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\package.json
2019-07-18T14:23:43.855Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\package.json
2019-07-18T14:23:43.855Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules\package.json
2019-07-18T14:23:43.855Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules\package.json
2019-07-18T14:23:43.855Z @oclif/config reading core plugin C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-hel p
2019-07-18T14:23:43.855Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help\package.j son
2019-07-18T14:23:43.856Z @oclif/config reading core plugin C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not -found
2019-07-18T14:23:43.856Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found\pack age.json
2019-07-18T14:23:43.857Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help\oclif.manifest.json
(node:9156) Error Plugin: @oclif/plugin-help: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help\package.json
module: @oclif/config@1.13.2
plugin: @oclif/plugin-help
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help
See more details with DEBUG=*
Error Plugin: @oclif/plugin-help: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help\package.json
at Plugin.warn (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\config\lib\plugin.js:174:19)
at Plugin.load (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\config\lib\plugin.js:36:18)
module: @oclif/config@1.13.2
plugin: @oclif/plugin-help
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help
See more details with DEBUG=*
2019-07-18T14:23:43.858Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found\oclif.manifest.json
(node:9156) Error Plugin: @oclif/plugin-not-found: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found\package.json
module: @oclif/config@1.13.2
plugin: @oclif/plugin-not-found
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found
See more details with DEBUG=*
Error Plugin: @oclif/plugin-not-found: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found\package.json
at Plugin.warn (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\config\lib\plugin.js:174:19)
at Plugin.load (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\config\lib\plugin.js:36:18)
module: @oclif/config@1.13.2
plugin: @oclif/plugin-not-found
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found
See more details with DEBUG=*
2019-07-18T14:23:43.858Z @oclif/config:@oclif/plugin-help using manifest from C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help\oclif.manifest.json
2019-07-18T14:23:43.859Z @oclif/config loadJSON C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found.oclif.manifest.json
2019-07-18T14:23:43.859Z @oclif/config:@oclif/plugin-not-found using manifest from C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found.oclif.manifest.json
2019-07-18T14:23:43.860Z @oclif/config config done
2019-07-18T14:23:43.860Z @oclif/config start init hook
2019-07-18T14:23:43.861Z @oclif/config init hook done
2019-07-18T14:23:43.861Z percy init version: @oclif/command@1.5.15 argv: [ 'exec', '--', 'cypress', 'run' ]
2019-07-18T14:23:43.866Z @oclif/config runCommand exec [ '--', 'cypress', 'run' ]
2019-07-18T14:23:43.867Z @oclif/config:@percy/agent require C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent\dist\commands\exec.js
2019-07-18T14:23:44.215Z @oclif/config start prerun hook
2019-07-18T14:23:44.215Z @oclif/config prerun hook done
Thu, 18 Jul 2019 14:23:44 GMT express:application set "x-powered-by" to true
Thu, 18 Jul 2019 14:23:44 GMT express:application set "etag" to 'weak'
Thu, 18 Jul 2019 14:23:44 GMT express:application set "etag fn" to [Function: generateETag]
Thu, 18 Jul 2019 14:23:44 GMT express:application set "env" to 'development'
Thu, 18 Jul 2019 14:23:44 GMT express:application set "query parser" to 'extended'
Thu, 18 Jul 2019 14:23:44 GMT express:application set "query parser fn" to [Function: parseExtendedQueryString]
Thu, 18 Jul 2019 14:23:44 GMT express:application set "subdomain offset" to 2
Thu, 18 Jul 2019 14:23:44 GMT express:application set "trust proxy" to false
Thu, 18 Jul 2019 14:23:44 GMT express:application set "trust proxy fn" to [Function: trustNone]
Thu, 18 Jul 2019 14:23:44 GMT express:application booting in development mode
Thu, 18 Jul 2019 14:23:44 GMT express:application set "view" to [Function: View]
Thu, 18 Jul 2019 14:23:44 GMT express:application set "views" to 'C:\Users\Patrick.DESKTOP-Q3EBHKB\test\views'
Thu, 18 Jul 2019 14:23:44 GMT express:application set "jsonp callback name" to 'callback'
Thu, 18 Jul 2019 14:23:44 GMT express:router use '/' query
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router use '/' expressInit
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router use '/' corsMiddleware
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router use '/' urlencodedParser
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router use '/' jsonParser
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router use '/' serveStatic
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router:route new '/percy/snapshot'
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/percy/snapshot'
Thu, 18 Jul 2019 14:23:44 GMT express:router:route post '/percy/snapshot'
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router:route new '/percy/stop'
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/percy/stop'
Thu, 18 Jul 2019 14:23:44 GMT express:router:route post '/percy/stop'
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
Thu, 18 Jul 2019 14:23:44 GMT express:router:route new '/percy/healthcheck'
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/percy/healthcheck'
Thu, 18 Jul 2019 14:23:44 GMT express:router:route get '/percy/healthcheck'
Thu, 18 Jul 2019 14:23:44 GMT express:router:layer new '/'
2019-07-18T14:23:44.463Z percy:exec init version: @oclif/command@1.5.15 argv: [ '--', 'cypress', 'run' ]
[percy] created build #14: https://percy.io/projectname/demo/builds/2219046
2019-07-18T14:23:45.012Z puppeteer:protocol SEND ► {"method":"Target.setDiscoverTargets","params":{"discover":true},"id":1 }
2019-07-18T14:23:45.014Z puppeteer:protocol ◀ RECV {"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"42 cb873a-c4ff-4f88-935a-cf32f2d0d2ec","type":"browser","title":"","url":"","attached":true}}}
2019-07-18T14:23:45.015Z puppeteer:protocol ◀ RECV {"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"FD AB92755EEA51A92257E4D25DBCD96B","type":"page","title":"","url":"about:blank","attached":false,"browserContextId":"E1C232D2 2938D38A7B0C6B3F18147F65"}}}
2019-07-18T14:23:45.015Z puppeteer:protocol ◀ RECV {"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"aa d7b4b8-bb8b-4d5f-b9f1-76b65a3e28af","type":"browser","title":"","url":"","attached":false}}}
2019-07-18T14:23:45.015Z puppeteer:protocol ◀ RECV {"id":1,"result":{}}
2019-07-18T14:23:45.017Z puppeteer:protocol SEND ► {"method":"Target.createTarget","params":{"url":"about:blank"},"id":2}
[percy] percy has started.
2019-07-18T14:23:45.061Z puppeteer:protocol ◀ RECV {"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"2E B62FDBE6D318544547EF7844701A8B","type":"page","title":"","url":"","attached":false,"browserContextId":"E1C232D22938D38A7B0C6B3F18147F65"}}}
2019-07-18T14:23:45.061Z puppeteer:protocol ◀ RECV {"id":2,"result":{"targetId":"2EB62FDBE6D318544547EF7844701A8B"}}
2019-07-18T14:23:45.065Z puppeteer:protocol ◀ RECV {"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId" :"FDAB92755EEA51A92257E4D25DBCD96B","type":"page","title":"about:blank","url":"about:blank","attached":false,"browserContextId":"E1C232D22938D38A7B0C6B3F18147F65"}}}
'cypress' is not recognized as an internal or external command,
operable program or batch file.
events.js:174
throw er; // Unhandled 'error' event
^

Error: spawn cypress ENOENT
at notFoundError (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules\cross-spawn\lib\enoent.js:6:26)
at verifyENOENT (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules\cross-spawn\lib\enoent.js:40:16)
at ChildProcess.cp.emit (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules\cross-spawn\lib\enoent.js:27:25)
at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
Emitted 'error' event at:
at ChildProcess.cp.emit (C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules\cross-spawn\lib\enoent.js:30:37)
at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)

Anyone has a clue on how to fix this?

{
  "devDependencies": {
    "@percy/cypress": "^1.0.9",
    "cypress": "^3.4.0"
  }
}

Regards,
Patrick

@pgroot91 pgroot91 changed the title Trying to run percy icm cypress local Trying to run Percy icm Cypress local Jul 18, 2019
@pgroot91 pgroot91 changed the title Trying to run Percy icm Cypress local Trying to run Percy icm Cypress Jul 18, 2019
@pgroot91
Copy link
Author

pgroot91 commented Jul 19, 2019

Tried multiple environments with the same result

When running the following

$ npx percy exec -- cypress run
$ npx percy exec -- cypress run --browser chrome

Linux environment (Ubuntu 18.04)

  • Cypress 3.4.0
  • Percy 1.0.9

Message: (node:1826) Error Plugin: @percy/agent: files attribute must be specified in /home/patrick/node_modules/@percy/agent/package.json
module: @oclif/config@1.13.2
plugin: @percy/agent
root: /home/patrick/node_modules/@percy/agent
See more details with DEBUG=*
(node:1826) Error Plugin: @oclif/plugin-help: files attribute must be specified in /home/patrick/node_modules/@oclif/plugin-help/package.json
module: @oclif/config@1.13.2
plugin: @oclif/plugin-help
root: /home/patrick/node_modules/@oclif/plugin-help
See more details with DEBUG=*
(node:1826) Error Plugin: @oclif/plugin-not-found: files attribute must be specified in /home/patrick/node_modules/@oclif/plugin-not-found/package.json
module: @oclif/config@1.13.2
plugin: @oclif/plugin-not-found
root: /home/patrick/node_modules/@oclif/plugin-not-found
See more details with DEBUG=*
[�[35mpercy�[39m] Failed to establish a connection with http://localhost:5338/percy/healthcheck

Windows environment (Win 10)

  • Cypress 3.4.0
  • Percy 1.0.9

(node:12376) Error Plugin: @percy/agent: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent\package.json
module: @oclif/config@1.13.2
plugin: @percy/agent
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@percy\agent
See more details with DEBUG=*
(node:12376) Error Plugin: @oclif/plugin-help: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help\package.json
module: @oclif/config@1.13.2
plugin: @oclif/plugin-help
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-help
See more details with DEBUG=*
(node:12376) Error Plugin: @oclif/plugin-not-found: files attribute must be specified in C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found\package.json
module: @oclif/config@1.13.2
plugin: @oclif/plugin-not-found
root: C:\Users\Patrick.DESKTOP-Q3EBHKB\node_modules@oclif\plugin-not-found

both same result

@pgroot91 pgroot91 reopened this Jul 19, 2019
@Robdel12
Copy link
Contributor

Robdel12 commented Jul 19, 2019

Hey Patrick!

I'm going to look to try and reproduce this today. I can't reproduce it on my local machine but I'll try on my windows machine a little later today. It looks like from that output the release might have been botched. Could you try npx @percy/agent -- cypress run? We mirror the percy package with @percy/agent, so I'm wondering if both packages are suffering from this.

It looks like ubuntu gets further, even if it's spitting out a bunch of error goop at the beginning.

[percy] Failed to establish a connection with http://localhost:5338/percy/healthcheck

That usually means you're hitting this issue: #104

@pgroot91
Copy link
Author

pgroot91 commented Jul 19, 2019

Hi @Robdel12,

When running the command npx @percy/agent -- cypress run

I get the following Did you mean exec? [y/n]: y hit enter

Error: EEXIT: 0 at Object.exit (C:\Users\Patrick.DESKTOP-Q3EBHKB\AppData\Roaming\npm-cache\_npx\3056\node_modules\@percy\agent\node_modules\@oclif\errors\lib\index.js:18:11) at Object.exit (C:\Users\Patrick.DESKTOP-Q3EBHKB\AppData\Roaming\npm-cache\_npx\3056\node_modules\@percy\agent\node_modules\@oclif\config\lib\config.js:108:43) at Object.hook (C:\Users\Patrick.DESKTOP-Q3EBHKB\AppData\Roaming\npm-cache\_npx\3056\node_modules\@percy\agent\node_modules\@oclif\plugin-not-found\lib\index.js:37:14) Error: ENOTEMPTY: directory not empty, rmdir 'C:\Users\Patrick.DESKTOP-Q3EBHKB\AppData\Roaming\npm-cache\_npx\3056\node_modules\@percy\agent\node_modules\puppeteer\.local-chromium\win64-672088' at Object.rmdirSync (fs.js:684:3) at rmkidsSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:356:25) at rmdirSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:334:7) at rimrafSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:304:9) at C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:342:5 at Array.forEach (<anonymous>) at rmkidsSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:341:26) at rmdirSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:334:7) at rimrafSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:304:9) at C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:342:5 at Array.forEach (<anonymous>) at rmkidsSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:341:26) at rmdirSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:334:7) at rimrafSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:304:9) at C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:342:5 at Array.forEach (<anonymous>) at rmkidsSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:341:26) at rmdirSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:334:7) at rimrafSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:304:9) at C:\Program Files\nodejs\node_modules\npm\nod

tested above on windows.

@Robdel12
Copy link
Contributor

Ahhh so sorry about my typo! I meant npx @percy/agent exec -- cypress run but it looks like that still failed. This time with a puppeteer failure, which is interesting.

@Robdel12
Copy link
Contributor

Hm, I can't replicate on my Windows machine either. Would you be able to tell me what version of NPM you're using? Typically when we see that kind of error its either a old NPM version (oclif/oclif#198) or an improperly built package (which I'd hope would impact everyone and not just a few 😱)

Though, it can't be the NPM version either since you're able to use npx?? Hmm, I'm not sure what's going on here to be honest.

@pgroot91
Copy link
Author

pgroot91 commented Jul 20, 2019

@Robdel12 thanks for getting back to me on this matter. I guess my node.js was the latest version.

That being said i did the tests on my workstation at the office. I Will do a test today also at my homestation and check out if im having the same issues. Will comeback with my findings later today.

@pgroot91
Copy link
Author

pgroot91 commented Jul 24, 2019

Well also at home i didn't succeed with the test project to generate any snapshots... what am i missing 🤔

npx @percy/agent exec -- cypress run

image

Also cloned the example provided and runned that example-percy-cypress test. Same thing and no snapshots were created.

@Robdel12
Copy link
Contributor

Hey @pgroot91, that looks like you’re hitting #104 where the health check fails. If you open up the cypress UI I bet in the command log it logs out the heath check failed and it’s skipping snapshots.

@pgroot91
Copy link
Author

pgroot91 commented Jul 24, 2019

{stdout: "", stderr: "/c/Program: Files\Git\usr\bin\bash.exe: No such file or directory", code: 127}
[percy] Percy agent is not running. Skipping snapshots
Message: /c/Program: Files\Git\usr\bin\bash.exe: No such file or directory

Is this something that can be fixed from my side or is this related too some library used by Cypress / Percy that needs to be fixed and what issue to follow #104 to keep track for an fix?

@Robdel12
Copy link
Contributor

It's a Cypress/execa bug where it can't find an installed version of node to run the command. Most of the time it's because execa (the package that's running a CLI command) doesn't respect your systems PATH variable and assumes node is installed in one specific place.

You could try symlinking the node executable to where execa expects it to be. I'm not sure where that is on Windows -- I'll have to do a little bit of debugging on my Windows machine to find that out.


Though, as I read that error message over and over again, it seems like it's a different error. It almost seems like execa isn't spawning the command correctly on Windows. This issue is interesting when googling the error that's spit out: yarnpkg/yarn#5717

Robdel12 added a commit that referenced this issue Aug 2, 2019
This will fix #104 (and hopefully #138).

`cy.task` will always execute within the version of node that is bundled with
Cypress, so we no longer have to worry about `$PATH` issues that `cy.exec`
faces. We're also no longer running a CLI command for the health check, this new
implementation will make a HTTP request from node.

This does mean we need to update the docs to let users know there's an extra
step to configure the SDK properly now.

In an ideal world we would be able to `.catch` on `cy.request` and disable Percy
after the first failed `POST` of the DOM. I think in the future we should look
into working with Cypress to implement this so we can shrink the integration,
make the SDK more reliable, and faster (since we won't make 2 network requests
per-snapshot).
Robdel12 added a commit that referenced this issue Aug 2, 2019
…HANGE) (#140)

BREAKING CHANGE:

## The problem

In all of the Percy SDKs we do a thing called a "heath check", which makes sure the Percy agent server is open and ready to accept the DOM we're going to `POST` to it. If the health check fails, we will disable Percy in the SDK so we're not failing your tests due to Percy not running. 

In the Cypress SDK, this was implemented in an interesting way due a limitation with `cy.request`.  The TL:DR of that is we can't `.catch` a failed request, so we needed to use `cy.exec` to health check & gracefully fall out. You can read a little more about that limitation here: cypress-io/cypress#3161

`cy.exec` has it's own issues, which are outlined here: #104 This is a major blocker for _a lot_ of customers. 

## What is this?

This will fix #104 (and hopefully #138).

`cy.task` will always execute within the version of node that is bundled with Cypress, so we no longer have to worry about `$PATH` issues that `cy.exec` faces. We're also no longer running a CLI command for the health check, this new implementation will make a HTTP request from node.

This does mean we need to update the docs to let users know there's an extra step to configure the SDK properly now.

### Upgrading to v2.x

With this change, you will now need to import this new task into your projects plugins (`cypress/plugins/index.js`) file. Without that, the SDK will not work at all. 


```js
/// In cypress/plugins/index.js

let percyHealthCheck = require('@percy/cypress/task')

module.exports = (on, config) => {
  // `on` is used to hook into various events Cypress emits
  // `config` is the resolved Cypress config

  // Make it possible to log things to stdout by calling 'cy.task('log', 'some message to log').
  // Useful for development and debugging.
  on("task", {
    log(message) {
      console.log(message);
      return null;
    }
  });
  on("task", percyHealthCheck);
};
```

## In the future

In an ideal world we would be able to `.catch` on `cy.request` and disable Percy after the first failed `POST` of the DOM. I think in the future we should look into working with Cypress to implement this so we can shrink the integration, make the SDK more reliable, and faster (since we won't make 2 network requests per-snapshot).

## FAQ

#### Why can't you use `fetch` over `cy.request` & `.catch` that?

We need to use `cy.request` since those requests aren't actually executed in the browser and avoid any CORS issues. 

## TODOs

- [x] Update Docs
- [x] How can I guarantee semantic release makes this a major version bump 
- [x] How does one integrate this task into their suite? It's not a default export.. And it runs in node. Maybe it can be apart of the default export
djones pushed a commit that referenced this issue Aug 2, 2019
# [2.0.0](v1.0.9...v2.0.0) (2019-08-02)

### Bug Fixes

* Use `cy.task` for health check rather than `cy.exec` (BREAKING CHANGE) ([#140](#140)) ([40550f7](40550f7)), closes [#104](#104) [#104](#104) [#138](#138)

### BREAKING CHANGES

* ## The problem

In all of the Percy SDKs we do a thing called a "heath check", which makes sure the Percy agent server is open and ready to accept the DOM we're going to `POST` to it. If the health check fails, we will disable Percy in the SDK so we're not failing your tests due to Percy not running.

In the Cypress SDK, this was implemented in an interesting way due a limitation with `cy.request`.  The TL:DR of that is we can't `.catch` a failed request, so we needed to use `cy.exec` to health check & gracefully fall out. You can read a little more about that limitation here: cypress-io/cypress#3161
@Robdel12
Copy link
Contributor

Robdel12 commented Aug 2, 2019

Hey @pgroot91 can you give v2.x of the SDK a try? https://github.com/percy/percy-cypress/releases/tag/v2.0.0 Very curious to hear if this clears your issues up!

@pgroot91
Copy link
Author

pgroot91 commented Aug 5, 2019

In the runner and console i'm having the following error:

Command: task
cypress_runner.js:157770 Task: percyHealthCheck
cypress_runner.js:157770 Error: CypressError: cy.task('percyHealthCheck') failed with the following error:

The 'task' event has not been registered in the plugins file. You must register it before using cy.task()

Fix this in your plugins file here:
C:\Users\Patrick\cypress\plugins\index.js

https://on.cypress.io/api/task

Running eg like $(npm bin)/cypress run, $(npm bin)/cypress open and npx @percy/agent exec -- cypress run

@Robdel12
Copy link
Contributor

Robdel12 commented Aug 5, 2019

Hey @pgroot91,

Looks like you haven't added the new task that v2 needs. Make sure you follow the "Upgrading" section in the release: https://github.com/percy/percy-cypress/releases/tag/v2.0.0

I'll post it here too, for completeness. With v2, you will now need to import this new task into your projects plugins (cypress/plugins/index.js) file. Without that, the SDK will not work.

/// In cypress/plugins/index.js
let percyHealthCheck = require('@percy/cypress/task')

module.exports = (on, config) => {
  // `on` is used to hook into various events Cypress emits
  // `config` is the resolved Cypress config
  on("task", percyHealthCheck);
};

@pgroot91
Copy link
Author

pgroot91 commented Aug 5, 2019

@Robdel12 i did exactly that and percy seems to be version 2. Will have a look at a later moment to see if i miss something.

C:\Users\Patrick
+-- @percy/cypress@2.0.0
| +-- @percy/agent@0.9.0
| | +-- @oclif/command@1.5.16
| | | +-- @oclif/errors@1.2.2
| | | | +-- clean-stack@1.3.0
| | | | +-- fs-extra@7.0.1
| | | | | +-- graceful-fs@4.2.0 deduped
| | | | | +-- jsonfile@4.0.0 deduped
| | | | | -- universalify@0.1.2 deduped | | | | +-- indent-string@3.2.0 | | | | +-- strip-ansi@5.2.0 | | | | | -- ansi-regex@4.1.0
| | | | -- wrap-ansi@4.0.0 deduped | | | +-- @oclif/parser@3.8.4 | | | | +-- @oclif/linewrap@1.0.0 | | | | +-- chalk@2.4.2 deduped | | | | -- tslib@1.10.0 deduped
| | | +-- debug@4.1.1
| | | | -- ms@2.1.2 deduped | | | -- semver@5.7.0
| | +-- @oclif/config@1.13.2
| | | +-- @oclif/parser@3.8.4 deduped
| | | +-- debug@4.1.1 deduped
| | | -- tslib@1.10.0 | | +-- @oclif/plugin-help@2.2.0 | | | +-- @oclif/command@1.5.16 deduped | | | +-- chalk@2.4.2 deduped | | | +-- indent-string@3.2.0 | | | +-- lodash.template@4.5.0 | | | | +-- lodash._reinterpolate@3.0.0 | | | | -- lodash.templatesettings@4.2.0
| | | | -- lodash._reinterpolate@3.0.0 deduped | | | +-- string-width@3.1.0 | | | | +-- emoji-regex@7.0.3 | | | | +-- is-fullwidth-code-point@2.0.0 | | | | -- strip-ansi@5.2.0 deduped
| | | +-- strip-ansi@5.2.0
| | | | -- ansi-regex@4.1.0 | | | +-- widest-line@2.0.1 | | | | -- string-width@2.1.1
| | | | +-- is-fullwidth-code-point@2.0.0
| | | | -- strip-ansi@4.0.0 | | | | -- ansi-regex@3.0.0
| | | -- wrap-ansi@4.0.0 | | | +-- ansi-styles@3.2.1 | | | | -- color-convert@1.9.3 deduped
| | | +-- string-width@2.1.1
| | | | +-- is-fullwidth-code-point@2.0.0
| | | | -- strip-ansi@4.0.0 deduped | | | -- strip-ansi@4.0.0
| | | -- ansi-regex@3.0.0 | | +-- @oclif/plugin-not-found@1.2.2 | | | +-- @oclif/color@0.0.0 | | | | +-- ansi-styles@3.2.1 | | | | | -- color-convert@1.9.3 deduped
| | | | +-- supports-color@5.5.0 deduped
| | | | -- tslib@1.10.0 deduped | | | +-- @oclif/command@1.5.16 deduped | | | +-- cli-ux@4.9.3 | | | | +-- @oclif/errors@1.2.2 deduped | | | | +-- @oclif/linewrap@1.0.0 deduped | | | | +-- @oclif/screen@1.0.4 | | | | +-- ansi-escapes@3.2.0 | | | | +-- ansi-styles@3.2.1 | | | | | -- color-convert@1.9.3 deduped
| | | | +-- cardinal@2.1.1
| | | | | +-- ansicolors@0.3.2
| | | | | -- redeyed@2.1.1 | | | | | -- esprima@4.0.1 deduped
| | | | +-- chalk@2.4.2 deduped
| | | | +-- clean-stack@2.2.0
| | | | +-- extract-stack@1.0.0
| | | | +-- fs-extra@7.0.1
| | | | | +-- graceful-fs@4.2.0 deduped
| | | | | +-- jsonfile@4.0.0 deduped
| | | | | -- universalify@0.1.2 deduped | | | | +-- hyperlinker@1.0.0 | | | | +-- indent-string@3.2.0 | | | | +-- is-wsl@1.1.0 | | | | +-- lodash@4.17.14 deduped | | | | +-- password-prompt@1.1.2 | | | | | +-- ansi-escapes@3.2.0 | | | | | -- cross-spawn@6.0.5 deduped
| | | | +-- semver@5.7.0 deduped
| | | | +-- strip-ansi@5.2.0
| | | | | -- ansi-regex@4.1.0 | | | | +-- supports-color@5.5.0 deduped | | | | +-- supports-hyperlinks@1.0.1 | | | | | +-- has-flag@2.0.0 | | | | | -- supports-color@5.5.0 deduped
| | | | +-- treeify@1.1.0
| | | | -- tslib@1.10.0 deduped | | | +-- fast-levenshtein@2.0.6 | | | -- lodash@4.17.14
| | +-- axios@0.18.1 deduped
| | +-- body-parser@1.19.0
| | | +-- bytes@3.1.0
| | | +-- content-type@1.0.4
| | | +-- debug@2.6.9
| | | | -- ms@2.0.0 | | | +-- depd@1.1.2 | | | +-- http-errors@1.7.2 | | | | +-- depd@1.1.2 deduped | | | | +-- inherits@2.0.3 deduped | | | | +-- setprototypeof@1.1.1 deduped | | | | +-- statuses@1.5.0 deduped | | | | -- toidentifier@1.0.0
| | | +-- iconv-lite@0.4.24
| | | | -- safer-buffer@2.1.2 | | | +-- on-finished@2.3.0 | | | | -- ee-first@1.1.1
| | | +-- qs@6.7.0
| | | +-- raw-body@2.4.0
| | | | +-- bytes@3.1.0 deduped
| | | | +-- http-errors@1.7.2 deduped
| | | | +-- iconv-lite@0.4.24 deduped
| | | | -- unpipe@1.0.0 | | | -- type-is@1.6.18
| | | +-- media-typer@0.3.0
| | | -- mime-types@2.1.24 deduped | | +-- colors@1.3.3 | | +-- cors@2.8.5 | | | +-- object-assign@4.1.1 | | | -- vary@1.1.2
| | +-- cross-spawn@6.0.5
| | | +-- nice-try@1.0.5
| | | +-- path-key@2.0.1
| | | +-- semver@5.7.0 deduped
| | | +-- shebang-command@1.2.0
| | | | -- shebang-regex@1.0.0 | | | -- which@1.3.1
| | | -- isexe@2.0.0 | | +-- deepmerge@3.3.0 | | +-- express@4.17.1 | | | +-- accepts@1.3.7 | | | | +-- mime-types@2.1.24 deduped | | | | -- negotiator@0.6.2
| | | +-- array-flatten@1.1.1
| | | +-- body-parser@1.19.0 deduped
| | | +-- content-disposition@0.5.3
| | | | -- safe-buffer@5.1.2 deduped | | | +-- content-type@1.0.4 deduped | | | +-- cookie@0.4.0 | | | +-- cookie-signature@1.0.6 | | | +-- debug@2.6.9 | | | | -- ms@2.0.0
| | | +-- depd@1.1.2 deduped
| | | +-- encodeurl@1.0.2
| | | +-- escape-html@1.0.3
| | | +-- etag@1.8.1
| | | +-- finalhandler@1.1.2
| | | | +-- debug@2.6.9
| | | | | -- ms@2.0.0 | | | | +-- encodeurl@1.0.2 deduped | | | | +-- escape-html@1.0.3 deduped | | | | +-- on-finished@2.3.0 deduped | | | | +-- parseurl@1.3.3 deduped | | | | +-- statuses@1.5.0 deduped | | | | -- unpipe@1.0.0 deduped
| | | +-- fresh@0.5.2
| | | +-- merge-descriptors@1.0.1
| | | +-- methods@1.1.2
| | | +-- on-finished@2.3.0 deduped
| | | +-- parseurl@1.3.3
| | | +-- path-to-regexp@0.1.7
| | | +-- proxy-addr@2.0.5
| | | | +-- forwarded@0.1.2
| | | | -- ipaddr.js@1.9.0 | | | +-- qs@6.7.0 deduped | | | +-- range-parser@1.2.1 | | | +-- safe-buffer@5.1.2 deduped | | | +-- send@0.17.1 | | | | +-- debug@2.6.9 | | | | | -- ms@2.0.0
| | | | +-- depd@1.1.2 deduped
| | | | +-- destroy@1.0.4
| | | | +-- encodeurl@1.0.2 deduped
| | | | +-- escape-html@1.0.3 deduped
| | | | +-- etag@1.8.1 deduped
| | | | +-- fresh@0.5.2 deduped
| | | | +-- http-errors@1.7.2 deduped
| | | | +-- mime@1.6.0
| | | | +-- ms@2.1.1
| | | | +-- on-finished@2.3.0 deduped
| | | | +-- range-parser@1.2.1 deduped
| | | | -- statuses@1.5.0 deduped | | | +-- serve-static@1.14.1 | | | | +-- encodeurl@1.0.2 deduped | | | | +-- escape-html@1.0.3 deduped | | | | +-- parseurl@1.3.3 deduped | | | | -- send@0.17.1 deduped
| | | +-- setprototypeof@1.1.1
| | | +-- statuses@1.5.0
| | | +-- type-is@1.6.18 deduped
| | | +-- utils-merge@1.0.1
| | | -- vary@1.1.2 deduped | | +-- generic-pool@3.7.1 | | +-- globby@9.2.0 | | | +-- @types/glob@7.1.1 | | | | +-- @types/events@3.0.0 | | | | +-- @types/minimatch@3.0.3 | | | | -- @types/node@12.6.9
| | | +-- array-union@1.0.2
| | | | -- array-uniq@1.0.3 | | | +-- dir-glob@2.2.2 | | | | -- path-type@3.0.0
| | | | -- pify@3.0.0 | | | +-- fast-glob@2.2.7 | | | | +-- @mrmlnc/readdir-enhanced@2.2.1 | | | | | +-- call-me-maybe@1.0.1 | | | | | -- glob-to-regexp@0.3.0
| | | | +-- @nodelib/fs.stat@1.1.3
| | | | +-- glob-parent@3.1.0
| | | | | +-- is-glob@3.1.0
| | | | | | -- is-extglob@2.1.1 deduped | | | | | -- path-dirname@1.0.2
| | | | +-- is-glob@4.0.1
| | | | | -- is-extglob@2.1.1 | | | | +-- merge2@1.2.4 | | | | -- micromatch@3.1.10
| | | | +-- arr-diff@4.0.0
| | | | +-- array-unique@0.3.2
| | | | +-- braces@2.3.2
| | | | | +-- arr-flatten@1.1.0
| | | | | +-- array-unique@0.3.2 deduped
| | | | | +-- extend-shallow@2.0.1
| | | | | | -- is-extendable@0.1.1 | | | | | +-- fill-range@4.0.0 | | | | | | +-- extend-shallow@2.0.1 | | | | | | | -- is-extendable@0.1.1 deduped
| | | | | | +-- is-number@3.0.0
| | | | | | | -- kind-of@3.2.2 | | | | | | | -- is-buffer@1.1.6
| | | | | | +-- repeat-string@1.6.1
| | | | | | -- to-regex-range@2.1.1 | | | | | | +-- is-number@3.0.0 deduped | | | | | | -- repeat-string@1.6.1 deduped
| | | | | +-- isobject@3.0.1
| | | | | +-- repeat-element@1.1.3
| | | | | +-- snapdragon@0.8.2 deduped
| | | | | +-- snapdragon-node@2.1.1
| | | | | | +-- define-property@1.0.0
| | | | | | | -- is-descriptor@1.0.2 | | | | | | | +-- is-accessor-descriptor@1.0.0 | | | | | | | | -- kind-of@6.0.2 deduped
| | | | | | | +-- is-data-descriptor@1.0.0
| | | | | | | | -- kind-of@6.0.2 deduped | | | | | | | -- kind-of@6.0.2 deduped
| | | | | | +-- isobject@3.0.1 deduped
| | | | | | -- snapdragon-util@3.0.1 | | | | | | -- kind-of@3.2.2
| | | | | | -- is-buffer@1.1.6 | | | | | +-- split-string@3.1.0 | | | | | | -- extend-shallow@3.0.2 deduped
| | | | | -- to-regex@3.0.2 deduped | | | | +-- define-property@2.0.2 | | | | | +-- is-descriptor@1.0.2 | | | | | | +-- is-accessor-descriptor@1.0.0 | | | | | | | -- kind-of@6.0.2 deduped
| | | | | | +-- is-data-descriptor@1.0.0
| | | | | | | -- kind-of@6.0.2 deduped | | | | | | -- kind-of@6.0.2 deduped
| | | | | -- isobject@3.0.1 deduped | | | | +-- extend-shallow@3.0.2 | | | | | +-- assign-symbols@1.0.0 | | | | | -- is-extendable@1.0.1
| | | | | -- is-plain-object@2.0.4 | | | | | -- isobject@3.0.1 deduped
| | | | +-- extglob@2.0.4
| | | | | +-- array-unique@0.3.2 deduped
| | | | | +-- define-property@1.0.0
| | | | | | -- is-descriptor@1.0.2 | | | | | | +-- is-accessor-descriptor@1.0.0 | | | | | | | -- kind-of@6.0.2 deduped
| | | | | | +-- is-data-descriptor@1.0.0
| | | | | | | -- kind-of@6.0.2 deduped | | | | | | -- kind-of@6.0.2 deduped
| | | | | +-- expand-brackets@2.1.4
| | | | | | +-- debug@2.6.9
| | | | | | | -- ms@2.0.0 | | | | | | +-- define-property@0.2.5 | | | | | | | -- is-descriptor@0.1.6 deduped
| | | | | | +-- extend-shallow@2.0.1
| | | | | | | -- is-extendable@0.1.1 deduped | | | | | | +-- posix-character-classes@0.1.1 | | | | | | +-- regex-not@1.0.2 deduped | | | | | | +-- snapdragon@0.8.2 deduped | | | | | | -- to-regex@3.0.2 deduped
| | | | | +-- extend-shallow@2.0.1
| | | | | | -- is-extendable@0.1.1 deduped | | | | | +-- fragment-cache@0.2.1 deduped | | | | | +-- regex-not@1.0.2 deduped | | | | | +-- snapdragon@0.8.2 deduped | | | | | -- to-regex@3.0.2 deduped
| | | | +-- fragment-cache@0.2.1
| | | | | -- map-cache@0.2.2 | | | | +-- kind-of@6.0.2 | | | | +-- nanomatch@1.2.13 | | | | | +-- arr-diff@4.0.0 deduped | | | | | +-- array-unique@0.3.2 deduped | | | | | +-- define-property@2.0.2 deduped | | | | | +-- extend-shallow@3.0.2 deduped | | | | | +-- fragment-cache@0.2.1 deduped | | | | | +-- is-windows@1.0.2 | | | | | +-- kind-of@6.0.2 deduped | | | | | +-- object.pick@1.3.0 deduped | | | | | +-- regex-not@1.0.2 deduped | | | | | +-- snapdragon@0.8.2 deduped | | | | | -- to-regex@3.0.2 deduped
| | | | +-- object.pick@1.3.0
| | | | | -- isobject@3.0.1 deduped | | | | +-- regex-not@1.0.2 | | | | | +-- extend-shallow@3.0.2 deduped | | | | | -- safe-regex@1.1.0
| | | | | -- ret@0.1.15 | | | | +-- snapdragon@0.8.2 | | | | | +-- base@0.11.2 | | | | | | +-- cache-base@1.0.1 | | | | | | | +-- collection-visit@1.0.0 | | | | | | | | +-- map-visit@1.0.0 | | | | | | | | | -- object-visit@1.0.1 deduped
| | | | | | | | -- object-visit@1.0.1 | | | | | | | | -- isobject@3.0.1 deduped
| | | | | | | +-- component-emitter@1.3.0 deduped
| | | | | | | +-- get-value@2.0.6
| | | | | | | +-- has-value@1.0.0
| | | | | | | | +-- get-value@2.0.6 deduped
| | | | | | | | +-- has-values@1.0.0
| | | | | | | | | +-- is-number@3.0.0 deduped
| | | | | | | | | -- kind-of@4.0.0 | | | | | | | | | -- is-buffer@1.1.6
| | | | | | | | -- isobject@3.0.1 deduped | | | | | | | +-- isobject@3.0.1 deduped | | | | | | | +-- set-value@2.0.1 | | | | | | | | +-- extend-shallow@2.0.1 | | | | | | | | | -- is-extendable@0.1.1 deduped
| | | | | | | | +-- is-extendable@0.1.1 deduped
| | | | | | | | +-- is-plain-object@2.0.4 deduped
| | | | | | | | -- split-string@3.1.0 deduped | | | | | | | +-- to-object-path@0.3.0 | | | | | | | | -- kind-of@3.2.2
| | | | | | | | -- is-buffer@1.1.6 | | | | | | | +-- union-value@1.0.1 | | | | | | | | +-- arr-union@3.1.0 deduped | | | | | | | | +-- get-value@2.0.6 deduped | | | | | | | | +-- is-extendable@0.1.1 deduped | | | | | | | | -- set-value@2.0.1 deduped
| | | | | | | -- unset-value@1.0.0 | | | | | | | +-- has-value@0.3.1 | | | | | | | | +-- get-value@2.0.6 deduped | | | | | | | | +-- has-values@0.1.4 | | | | | | | | -- isobject@2.1.0
| | | | | | | | -- isarray@1.0.0 deduped | | | | | | | -- isobject@3.0.1 deduped
| | | | | | +-- class-utils@0.3.6
| | | | | | | +-- arr-union@3.1.0
| | | | | | | +-- define-property@0.2.5
| | | | | | | | -- is-descriptor@0.1.6 deduped | | | | | | | +-- isobject@3.0.1 deduped | | | | | | | -- static-extend@0.1.2
| | | | | | | +-- define-property@0.2.5
| | | | | | | | -- is-descriptor@0.1.6 deduped | | | | | | | -- object-copy@0.1.0
| | | | | | | +-- copy-descriptor@0.1.1
| | | | | | | +-- define-property@0.2.5
| | | | | | | | -- is-descriptor@0.1.6 deduped | | | | | | | -- kind-of@3.2.2
| | | | | | | -- is-buffer@1.1.6 | | | | | | +-- component-emitter@1.3.0 | | | | | | +-- define-property@1.0.0 | | | | | | | -- is-descriptor@1.0.2
| | | | | | | +-- is-accessor-descriptor@1.0.0
| | | | | | | | -- kind-of@6.0.2 deduped | | | | | | | +-- is-data-descriptor@1.0.0 | | | | | | | | -- kind-of@6.0.2 deduped
| | | | | | | -- kind-of@6.0.2 deduped | | | | | | +-- isobject@3.0.1 deduped | | | | | | +-- mixin-deep@1.3.2 | | | | | | | +-- for-in@1.0.2 | | | | | | | -- is-extendable@1.0.1
| | | | | | | -- is-plain-object@2.0.4 deduped | | | | | | -- pascalcase@0.1.1
| | | | | +-- debug@2.6.9
| | | | | | -- ms@2.0.0 | | | | | +-- define-property@0.2.5 | | | | | | -- is-descriptor@0.1.6
| | | | | | +-- is-accessor-descriptor@0.1.6
| | | | | | | -- kind-of@3.2.2 | | | | | | | -- is-buffer@1.1.6
| | | | | | +-- is-data-descriptor@0.1.4
| | | | | | | -- kind-of@3.2.2 | | | | | | | -- is-buffer@1.1.6
| | | | | | -- kind-of@5.1.0 | | | | | +-- extend-shallow@2.0.1 | | | | | | -- is-extendable@0.1.1 deduped
| | | | | +-- map-cache@0.2.2 deduped
| | | | | +-- source-map@0.5.7
| | | | | +-- source-map-resolve@0.5.2
| | | | | | +-- atob@2.1.2
| | | | | | +-- decode-uri-component@0.2.0
| | | | | | +-- resolve-url@0.2.1
| | | | | | +-- source-map-url@0.4.0
| | | | | | -- urix@0.1.0 | | | | | -- use@3.1.1
| | | | -- to-regex@3.0.2 | | | | +-- define-property@2.0.2 deduped | | | | +-- extend-shallow@3.0.2 deduped | | | | +-- regex-not@1.0.2 deduped | | | | -- safe-regex@1.1.0 deduped
| | | +-- glob@7.1.4
| | | | +-- fs.realpath@1.0.0
| | | | +-- inflight@1.0.6
| | | | | +-- once@1.4.0 deduped
| | | | | -- wrappy@1.0.2 | | | | +-- inherits@2.0.3 deduped | | | | +-- minimatch@3.0.4 | | | | | -- brace-expansion@1.1.11
| | | | | +-- balanced-match@1.0.0
| | | | | -- concat-map@0.0.1 | | | | +-- once@1.4.0 | | | | | -- wrappy@1.0.2 deduped
| | | | -- path-is-absolute@1.0.1 | | | +-- ignore@4.0.6 | | | +-- pify@4.0.1 | | | -- slash@2.0.0
| | +-- js-yaml@3.13.1
| | | +-- argparse@1.0.10
| | | | -- sprintf-js@1.0.3 | | | -- esprima@4.0.1
| | +-- percy-client@3.0.12
| | | +-- base64-js@1.3.0
| | | +-- bluebird@3.5.5
| | | +-- bluebird-retry@0.11.0
| | | +-- es6-promise-pool@2.5.0
| | | +-- jssha@2.3.1
| | | +-- regenerator-runtime@0.13.3
| | | +-- request@2.88.0 deduped
| | | +-- request-promise@4.2.4
| | | | +-- bluebird@3.5.5 deduped
| | | | +-- request-promise-core@1.1.2
| | | | | -- lodash@4.17.14 deduped | | | | +-- stealthy-require@1.1.1 | | | | -- tough-cookie@2.4.3 deduped
| | | -- walk@2.3.14 | | | -- foreachasync@3.0.0
| | +-- puppeteer@1.19.0
| | | +-- debug@4.1.1 deduped
| | | +-- extract-zip@1.6.7 deduped
| | | +-- https-proxy-agent@2.2.2
| | | | +-- agent-base@4.3.0
| | | | | -- es6-promisify@5.0.0 | | | | | -- es6-promise@4.2.8
| | | | -- debug@3.2.6 | | | | -- ms@2.1.2 deduped
| | | +-- mime@2.4.4
| | | +-- progress@2.0.3
| | | +-- proxy-from-env@1.0.0
| | | +-- rimraf@2.6.3 deduped
| | | -- ws@6.2.1 | | | -- async-limiter@1.0.1
| | +-- retry-axios@1.0.1
| | -- winston@2.4.4 | | +-- async@1.0.0 | | +-- colors@1.0.3 | | +-- cycle@1.0.3 | | +-- eyes@0.1.8 | | +-- isstream@0.1.2 deduped | | -- stack-trace@0.0.10
| -- axios@0.18.1 | +-- follow-redirects@1.5.10 | | -- debug@3.1.0
| | -- ms@2.0.0 | -- is-buffer@2.0.3
+-- cypress@3.4.1
| +-- @cypress/listr-verbose-renderer@0.4.1
| | +-- chalk@1.1.3
| | | +-- ansi-styles@2.2.1
| | | +-- escape-string-regexp@1.0.5 deduped
| | | +-- has-ansi@2.0.0
| | | | -- ansi-regex@2.1.1 deduped | | | +-- strip-ansi@3.0.1 deduped | | | -- supports-color@2.0.0
| | +-- cli-cursor@1.0.2
| | | -- restore-cursor@1.0.1 | | | +-- exit-hook@1.1.1 | | | -- onetime@1.1.0
| | +-- date-fns@1.30.1
| | -- figures@1.7.0 | | +-- escape-string-regexp@1.0.5 deduped | | -- object-assign@4.1.1 deduped
| +-- @cypress/xvfb@1.2.4
| | +-- debug@3.2.6
| | | -- ms@2.1.2 deduped | | -- lodash.once@4.1.1
| +-- arch@2.1.1
| +-- bluebird@3.5.0
| +-- cachedir@1.3.0
| | -- os-homedir@1.0.2 | +-- chalk@2.4.2 | | +-- ansi-styles@3.2.1 | | | -- color-convert@1.9.3
| | | -- color-name@1.1.3 | | +-- escape-string-regexp@1.0.5 | | -- supports-color@5.5.0 deduped
| +-- check-more-types@2.24.0
| +-- commander@2.15.1
| +-- common-tags@1.8.0
| +-- debug@3.2.6
| | -- ms@2.1.2 | +-- execa@0.10.0 | | +-- cross-spawn@6.0.5 deduped | | +-- get-stream@3.0.0 | | +-- is-stream@1.1.0 | | +-- npm-run-path@2.0.2 | | | -- path-key@2.0.1 deduped
| | +-- p-finally@1.0.0
| | +-- signal-exit@3.0.2
| | -- strip-eof@1.0.0 | +-- executable@4.1.1 | | -- pify@2.3.0
| +-- extract-zip@1.6.7
| | +-- concat-stream@1.6.2
| | | +-- buffer-from@1.1.1
| | | +-- inherits@2.0.3
| | | +-- readable-stream@2.3.6
| | | | +-- core-util-is@1.0.2
| | | | +-- inherits@2.0.3 deduped
| | | | +-- isarray@1.0.0
| | | | +-- process-nextick-args@2.0.1
| | | | +-- safe-buffer@5.1.2 deduped
| | | | +-- string_decoder@1.1.1
| | | | | -- safe-buffer@5.1.2 deduped | | | | -- util-deprecate@1.0.2
| | | -- typedarray@0.0.6 | | +-- debug@2.6.9 | | | -- ms@2.0.0
| | +-- mkdirp@0.5.1
| | | -- minimist@0.0.8 | | -- yauzl@2.4.1
| | -- fd-slicer@1.0.1 | | -- pend@1.2.0 deduped
| +-- fs-extra@5.0.0
| | +-- graceful-fs@4.2.0
| | +-- jsonfile@4.0.0
| | | -- graceful-fs@4.2.0 deduped | | -- universalify@0.1.2
| +-- getos@3.1.1
| | -- async@2.6.1 | | -- lodash@4.17.14 deduped
| +-- is-ci@1.2.1
| | -- ci-info@1.6.0 | +-- is-installed-globally@0.1.0 | | +-- global-dirs@0.1.1 | | | -- ini@1.3.5
| | -- is-path-inside@1.0.1 | | -- path-is-inside@1.0.2
| +-- lazy-ass@1.6.0
| +-- listr@0.12.0
| | +-- chalk@1.1.3
| | | +-- ansi-styles@2.2.1 deduped
| | | +-- escape-string-regexp@1.0.5 deduped
| | | +-- has-ansi@2.0.0 deduped
| | | +-- strip-ansi@3.0.1 deduped
| | | -- supports-color@2.0.0 | | +-- cli-truncate@0.2.1 | | | +-- slice-ansi@0.0.4 | | | -- string-width@1.0.2
| | | +-- code-point-at@1.1.0
| | | +-- is-fullwidth-code-point@1.0.0
| | | | -- number-is-nan@1.0.1 | | | -- strip-ansi@3.0.1 deduped
| | +-- figures@1.7.0 deduped
| | +-- indent-string@2.1.0
| | | -- repeating@2.0.1 | | | -- is-finite@1.0.2
| | | -- number-is-nan@1.0.1 deduped | | +-- is-promise@2.1.0 | | +-- is-stream@1.1.0 deduped | | +-- listr-silent-renderer@1.1.1 | | +-- listr-update-renderer@0.2.0 | | | +-- chalk@1.1.3 | | | | +-- ansi-styles@2.2.1 deduped | | | | +-- escape-string-regexp@1.0.5 deduped | | | | +-- has-ansi@2.0.0 deduped | | | | +-- strip-ansi@3.0.1 deduped | | | | -- supports-color@2.0.0
| | | +-- cli-truncate@0.2.1 deduped
| | | +-- elegant-spinner@1.0.1
| | | +-- figures@1.7.0 deduped
| | | +-- indent-string@3.2.0
| | | +-- log-symbols@1.0.2
| | | | -- chalk@1.1.3 deduped | | | +-- log-update@1.0.2 deduped | | | -- strip-ansi@3.0.1 deduped
| | +-- listr-verbose-renderer@0.4.1
| | | +-- chalk@1.1.3
| | | | +-- ansi-styles@2.2.1 deduped
| | | | +-- escape-string-regexp@1.0.5 deduped
| | | | +-- has-ansi@2.0.0 deduped
| | | | +-- strip-ansi@3.0.1 deduped
| | | | -- supports-color@2.0.0 | | | +-- cli-cursor@1.0.2 deduped | | | +-- date-fns@1.30.1 deduped | | | -- figures@1.7.0 deduped
| | +-- log-symbols@1.0.2
| | | -- chalk@1.1.3 deduped | | +-- log-update@1.0.2 | | | +-- ansi-escapes@1.4.0 | | | -- cli-cursor@1.0.2 deduped
| | +-- ora@0.2.3
| | | +-- chalk@1.1.3
| | | | +-- ansi-styles@2.2.1 deduped
| | | | +-- escape-string-regexp@1.0.5 deduped
| | | | +-- has-ansi@2.0.0 deduped
| | | | +-- strip-ansi@3.0.1 deduped
| | | | -- supports-color@2.0.0 | | | +-- cli-cursor@1.0.2 deduped | | | +-- cli-spinners@0.1.2 | | | -- object-assign@4.1.1 deduped
| | +-- p-map@1.2.0
| | +-- rxjs@5.5.12
| | | -- symbol-observable@1.0.1 | | +-- stream-to-observable@0.1.0 | | -- strip-ansi@3.0.1
| | -- ansi-regex@2.1.1 | +-- lodash@4.17.15 | +-- log-symbols@2.2.0 | | -- chalk@2.4.2 deduped
| +-- minimist@1.2.0
| +-- moment@2.24.0
| +-- ramda@0.24.1
| +-- request@2.88.0
| | +-- aws-sign2@0.7.0
| | +-- aws4@1.8.0
| | +-- caseless@0.12.0
| | +-- combined-stream@1.0.8
| | | -- delayed-stream@1.0.0 | | +-- extend@3.0.2 | | +-- forever-agent@0.6.1 | | +-- form-data@2.3.3 | | | +-- asynckit@0.4.0 | | | +-- combined-stream@1.0.8 deduped | | | -- mime-types@2.1.24 deduped
| | +-- har-validator@5.1.3
| | | +-- ajv@6.10.2
| | | | +-- fast-deep-equal@2.0.1
| | | | +-- fast-json-stable-stringify@2.0.0
| | | | +-- json-schema-traverse@0.4.1
| | | | -- uri-js@4.2.2 | | | | -- punycode@2.1.1
| | | -- har-schema@2.0.0 | | +-- http-signature@1.2.0 | | | +-- assert-plus@1.0.0 | | | +-- jsprim@1.4.1 | | | | +-- assert-plus@1.0.0 deduped | | | | +-- extsprintf@1.3.0 | | | | +-- json-schema@0.2.3 | | | | -- verror@1.10.0
| | | | +-- assert-plus@1.0.0 deduped
| | | | +-- core-util-is@1.0.2 deduped
| | | | -- extsprintf@1.3.0 deduped | | | -- sshpk@1.16.1
| | | +-- asn1@0.2.4
| | | | -- safer-buffer@2.1.2 deduped | | | +-- assert-plus@1.0.0 deduped | | | +-- bcrypt-pbkdf@1.0.2 | | | | -- tweetnacl@0.14.5 deduped
| | | +-- dashdash@1.14.1
| | | | -- assert-plus@1.0.0 deduped | | | +-- ecc-jsbn@0.1.2 | | | | +-- jsbn@0.1.1 deduped | | | | -- safer-buffer@2.1.2 deduped
| | | +-- getpass@0.1.7
| | | | -- assert-plus@1.0.0 deduped | | | +-- jsbn@0.1.1 | | | +-- safer-buffer@2.1.2 deduped | | | -- tweetnacl@0.14.5
| | +-- is-typedarray@1.0.0
| | +-- isstream@0.1.2
| | +-- json-stringify-safe@5.0.1
| | +-- mime-types@2.1.24
| | | -- mime-db@1.40.0 | | +-- oauth-sign@0.9.0 | | +-- performance-now@2.1.0 | | +-- qs@6.5.2 | | +-- safe-buffer@5.1.2 | | +-- tough-cookie@2.4.3 | | | +-- psl@1.2.0 | | | -- punycode@1.4.1
| | +-- tunnel-agent@0.6.0
| | | -- safe-buffer@5.1.2 deduped | | -- uuid@3.3.2
| +-- request-progress@3.0.0
| | -- throttleit@1.0.0 | +-- supports-color@5.5.0 | | -- has-flag@3.0.0
| +-- tmp@0.1.0
| | -- rimraf@2.6.3 | | -- glob@7.1.4 deduped
| +-- url@0.11.0
| | +-- punycode@1.3.2
| | -- querystring@0.2.0 | -- yauzl@2.10.0
| +-- buffer-crc32@0.2.13
| -- fd-slicer@1.1.0 | -- pend@1.2.0
-- cypress-dark@1.7.13 +-- postcss@7.0.16 | +-- chalk@2.4.2 deduped | +-- source-map@0.6.1 | -- supports-color@6.1.0
| -- has-flag@3.0.0 deduped -- postcss-css-variables@0.12.0
+-- escape-string-regexp@1.0.5 deduped
+-- extend@3.0.2 deduped
-- postcss@6.0.23 +-- chalk@2.4.2 deduped +-- source-map@0.6.1 -- supports-color@5.5.0 deduped

@Robdel12
Copy link
Contributor

Robdel12 commented Aug 5, 2019

Something funky is going on then. Is it possible to push up a reproduction project? I want to try and isolate what the issue is (your system vs the project). If I can reproduce with the project that'll be good. If not, we probably should jump onto a call and debug what's going on with your system.

@pgroot91
Copy link
Author

pgroot91 commented Aug 5, 2019

@Robdel12 Managed to get it working with Windows cmd. So its related somehow to git bash 🤔 Anyway want to thank you for your patience with me and the great support! 👍 Will close this thread and will demo this soon to the dev team and finally start using Percy.

@pgroot91 pgroot91 closed this as completed Aug 5, 2019
@Robdel12
Copy link
Contributor

Robdel12 commented Aug 6, 2019

Hey @pgroot91 happy to hear that!

I'm going to keep an eye out for git bash issues 🤔 Pretty curious as to what's going on there. Feel free to reach out with any other questions / issues, we'd love to help!

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

No branches or pull requests

2 participants