Skip to content

Loading 'nyc' config broken with Cypress 10.x #586

Open
@jhpedemonte

Description

@jhpedemonte

Logs and screenshots

Versions

  • What is this plugin's version? latest
  • If the plugin worked before in version X, but stopped after upgrading to version Y, please try the released versions between X and Y to see where the breaking change was.
  • What is Cypress version? 10.4.0
  • What is your operating system? MacOS 12.5
  • What is the shell? bash
  • What is the Node version? 16.3.1
  • What is the NPM version? 8.3.2
  • How do you instrument your application? @cypress/instrument-cra
  • When running tests, if you open the web application in regular browser, and open DevTools, do you see window.__coverage__ object? Yes
  • Is there .nyc_output folder? Is there .nyc_output/out.json file. Is it empty? Can you paste at least part of it so we can see the keys and file paths?
  • Do you have any custom NYC settings in package.json (nyc object) or in other NYC config files. Yes, in package.json
  • Do you run Cypress tests in a Docker container? Yes, but issue is also seen locally, outside of Docker container

Describe the bug

This plugin no longer reads the 'nyc' config inside of {project root}/package.json. This appears to be due to changes in Cypress 10.0: now, the Cypress config file is loaded in a child process with cwd set to the parent dir of the config file, rather than the project root. That means that this code in this plugin will try to load {cypress config dir}/package.json (which doesn't exist for me and probably many others) instead of the on at project root, like with Cypress 9.x.

cypress-io/cypress#22689 has a few more details, including reproduction repo.

Link to the repo
See cypress-io/cypress#22689

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions