mbolotov / cypress-intellij-reporter

Intermediary mocha reporter for enabling Cypress support inside WebStorm and other IntelliJ IDEs with NodeJS support
Apache License 2.0
5 stars 1 forks source link

Error: Cannot find module 'mocha' #2

Closed sergeyblohin closed 3 years ago

sergeyblohin commented 3 years ago

Hi, I use:

  1. macOS, Version 14.0.2 (16610.3.7.1.9)
  2. NodeJS: v14.5.0
  3. Cypress: 6.2.0
  4. JetBrains WebStorm: 2020.3.1
  5. cypress-intellij-reporter: 0.0.5

When I run tests from IDE, then Cypress/IDE returns error:

/usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npx-cli.js cypress run --browser chrome --headless --reporter /e2e-tests/node_modules/cypress-intellij-reporter --spec /e2e-tests/cypress/integration/**/*
warn mocha-intellij: cannot load base reporter from "./lib/reporters/base.js".  Error: Cannot find module 'mocha'
Require stack:
- /e2e-tests/node_modules/cypress-intellij-reporter/lib/cypressIntellijUtil.js
- /e2e-tests/node_modules/cypress-intellij-reporter/lib/cypressIntellijTree.js
- /e2e-tests/node_modules/cypress-intellij-reporter/index.js
- /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/reporter.js
- /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/project.js
- /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/modes/run.js
- /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/modes/index.js
- /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/cypress.js
- /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/index.js
- /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/index.js
- 
    at Module._resolveFilename (internal/modules/cjs/loader.js:972:15)
    at Function.n._resolveFilename (electron/js2c/browser_init.js:249:921)
    at Function.resolve (internal/modules/cjs/helpers.js:78:19)
    at findMochaInnerDependency (/e2e-tests/node_modules/cypress-intellij-reporter/lib/cypressIntellijUtil.js:213:35)
    at requireMochaModule (/e2e-tests/node_modules/cypress-intellij-reporter/lib/cypressIntellijUtil.js:184:29)
    at Object.requireBaseReporter (/e2e-tests/node_modules/cypress-intellij-reporter/lib/cypressIntellijUtil.js:260:18)
    at Object.<anonymous> (/e2e-tests/node_modules/cypress-intellij-reporter/index.js:313:27)
    at Module._compile (internal/modules/cjs/loader.js:1152:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1173:10)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12694)
    at Function.Module._load (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/override_require.js:18:25)
    at Module.require (internal/modules/cjs/loader.js:1032:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Function.loadReporter (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/reporter.js:499:14)
    at Project.watchSettingsAndStartWebsockets (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/project.js:306:18)
    at /Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/project.js:139:16
    at tryCatcher (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:544:35)
    at Promise._settlePromise (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:729:18)
    at Promise._fulfill (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:673:18)
    at PromiseArray._resolve (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise_array.js:127:19)
    at PromiseArray._promiseFulfilled (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise_array.js:145:14)
    at PromiseArray._iterate (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at PromiseArray.init [as _init] (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at Promise._settlePromise (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:601:21)
    at Promise._settlePromise0 (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/promise.js:729:18)
    at _drainQueueStep (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/async.js:93:12)
    at _drainQueue (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues [as _onImmediate] (/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (internal/timers.js:456:21)
 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/e2e-tests/node_modules/cypress-intellij-reporter/lib/cypressIntellijUtil.js',
    '/e2e-tests/node_modules/cypress-intellij-reporter/lib/cypressIntellijTree.js',
    '/e2e-tests/node_modules/cypress-intellij-reporter/index.js',
    '/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/reporter.js',
    '/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/project.js',
    '/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/modes/run.js',
    '/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/modes/index.js',
    '/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/lib/cypress.js',
    '/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/packages/server/index.js',
    '/Users/sergeyblohin/Library/Caches/Cypress/6.2.0/Cypress.app/Contents/Resources/app/index.js',
    undefined
  ]
}

What I do wrong?

mbolotov commented 3 years ago

Hi Sergey, A couple of questions:

  1. what is the Cypress Support plugin version?
  2. do you have your specs outside of the default cypress folder?

Anyway, you could try install mocha globally: npm install --global mocha

sergeyblohin commented 3 years ago

@mbolotov,

what is the Cypress Support plugin version?

1.4

do you have your specs outside of the default cypress folder?

Hm... yes, I have directory /e2e-tests/cypress/quarantine/ where I storage some specs, but I do not want run they.

Anyway, you could try install mocha globally:

I installed mocha globally and rerun tests. That didn't solve the problem. The error still appeared.

After there, I remove all .spec.js files from non-integration folder and rerun tests again. That didn't solve the problem, too. The error still appeared.

mbolotov commented 3 years ago

Is it possible to share you project with me somehow to reproduce the problem?

sergeyblohin commented 3 years ago

@mbolotov

Is it possible to share you project with me somehow to reproduce the problem?

I'm afraid that my project is NDA, but I will now create a new, clean project, add one test and check in it. I'll be back with the results.

sergeyblohin commented 3 years ago

I found a scenario where the problem reproduces.

mkdir e2e-tests
cd e2e-tests
yes '' | npm init
npm install cypress

# returns error after install this package
npm install cypress-intellij-reporter

# for init cypress project
npx cypress open 

Close cypress runner. Run all tests from integration folder in JetBrains IDE.

Without npm install cypress-intellij-reporter tests run without errors. As soon as we install the cypress-intellij-reporter package, errors appear.