Skip to content

Plugins file fails on lodash import after upgrade to 7.1.0 #16111

@kubijo

Description

@kubijo

Current behavior

When I upgrade my cypress instance from 6.8.0 to 7.1.0 I get an error where cypress thinks that my plugins file has invalid syntax, but the root cause is that it can't import lodash that I use for deep merge of default & our settings.

This used to work fine & I've tried to mitigate this by creating a custom importer akin to this: https://stackoverflow.com/questions/62298396/making-a-dependencys-dependencies-available-with-yarn-2/64242991#64242991 …alas it didn't help

I do have lodash installed in the root "workspace".

**Message:** The plugins file is missing or invalid.

Your `pluginsFile` is set to `…/web-ui/cypress/plugins/index.ts`, but either the file is missing, it contains a syntax error, or threw an error when required. The `pluginsFile` must be a `.js`, `.ts`, or `.coffee` file.

Or you might have renamed the extension of your `pluginsFile`. If that's the case, restart the test runner.

Please fix this, or set `pluginsFile` to `false` if a plugins file is not necessary for your project.

**Details:** Error: Cannot find module 'lodash'
Require stack:
- …/web-ui/cypress/plugins/index.ts
- /home/…/.cache/Cypress/7.1.0/Cypress/resources/app/packages/server/lib/plugins/child/run_plugins.js
- /home/…/.cache/Cypress/7.1.0/Cypress/resources/app/packages/server/lib/plugins/child/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:887:15)
    at Module._load (internal/modules/cjs/loader.js:732:27)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12684)
    at Module.require (internal/modules/cjs/loader.js:959:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/opt/dev/…/pool/web-ui/cypress/plugins/index.ts:8:19)
    at Module._compile (internal/modules/cjs/loader.js:1078:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1108:10)
    at Module.load (internal/modules/cjs/loader.js:935:32)
    at Module._load (internal/modules/cjs/loader.js:776:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12684)
    at Module.require (internal/modules/cjs/loader.js:959:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at runPlugins (/home/…/.cache/Cypress/7.1.0/Cypress/resources/app/packages/server/lib/plugins/child/run_plugins.js:175:15)
    at Object.<anonymous> (/home/…/.cache/Cypress/7.1.0/Cypress/resources/app/packages/server/lib/plugins/child/index.js:8:25)
    at Module._compile (internal/modules/cjs/loader.js:1078:30)

**Stack trace:**

Error: The plugins file is missing or invalid.

Your pluginsFile is set to …/web-ui/cypress/plugins/index.ts, but either the file is missing, it contains a syntax error, or threw an error when required. The pluginsFile must be a .js, .ts, or .coffee file.

Or you might have renamed the extension of your pluginsFile. If that's the case, restart the test runner.

Please fix this, or set pluginsFile to false if a plugins file is not necessary for your project.
at Object.get (/home/…/.cache/Cypress/7.1.0/Cypress/resources/app/packages/server/lib/errors.js:988:15)
at EventEmitter. (/home/…/.cache/Cypress/7.1.0/Cypress/resources/app/packages/server/lib/plugins/index.js:154:21)
at EventEmitter.emit (events.js:315:20)
at ChildProcess. (/home/…/.cache/Cypress/7.1.0/Cypress/resources/app/packages/server/lib/plugins/util.js:19:22)
at ChildProcess.emit (events.js:315:20)
at emit (internal/child_process.js:903:12)
at processTicksAndRejections (internal/process/task_queues.js:81:21)


### Test code to reproduce
I've tried to reproduce this in the `cypress-test-tiny`, but wasn't able to… if you can point me in some direction I'll provide what's needed

### Versions
- Operating System: Ubuntu 20.10
- Cypress: 7.1.0
- Yarn: 2.4.0-git.20210226.hash-97663a9d with P'n'P enabled & workspaces setup
- Typescript: 4.2.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions