Skip to content

Yarn

Wallaby.js supports projects that use Yarn.

To start Wallaby with a Yarn project, start Wallaby as you normally would for your testing framework.

Resolving Dependency Issues

Some Wallaby internals need to dynamically load your project dependencies and patch them both at runtime and in the file system. Depending on your project type and the packages you are using, sometimes Wallaby may fail to load without modifications to your .yarnrc.yml file.

If this happens for your project, an error similar to the one below will be reported to your Wallaby Console:

Terminal window
Failed to initialize wallaby.
{PACKAGE_1} tried to access {PACKAGE_2}, but it isn't declared in its dependencies;
this makes the require call ambiguous and unsound.
Required package: {PACKAGE_2} (via "jest-runtime")
Required by: {PACKAGE_1}
Require stack:
...

If this happens for your project, you need to add those packages as dependencies of your project in your .yarnrc.yml using the packageExtensions section. After adding the packages be sure to run:

Terminal window
yarn install

Repeat the process until all dependency issues have been resolved.

Jest Settings

If you are using jest with Yarn, you need to set your packageExtensions as shown below:

yarnPath: ".yarn/releases/yarn-berry.cjs"
packageExtensions:
jest-config@*:
dependencies:
jest-runtime: "*"
jest-cli@*:
dependencies:
"@jest/reporters": "*"
"@jest/console": "*"