Skip to content

Cypress cannot start with importHelpers and allowJS TypeScript options #7503

Closed
@agg23

Description

@agg23

Current behavior:

Attempting to launch Cypress with this tsconfig results in the following exception:

{
  "compilerOptions": {
    "importHelpers": true,
    "allowJs": true
  }
}
Error: Cannot find module 'tslib'
Require stack:
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\reporter\lib\resolve-dist.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\controllers\reporter.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\routes.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\server.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\project.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\gui\events.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\modes\interactive.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\modes\index.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\cypress.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\index.js
- C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\index.js
- 
    at Module._resolveFilename (internal/modules/cjs/loader.js:798:15)
    at Function../lib/common/reset-search-paths.ts.Module._resolveFilename (electron/js2c/browser_init.js:7630:16)
    at Module._load (internal/modules/cjs/loader.js:691:27)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\override_require.js:18:25)
    at Module.require (internal/modules/cjs/loader.js:853:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\reporter\lib\resolve-dist.js:1:15)
    at Module._compile (internal/modules/cjs/loader.js:968:30)
    at Module.m._compile (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\ts-node\src\index.ts:536:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:986:10)
    at Object.require.extensions.<computed> [as .js] (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\ts-node\src\index.ts:539:12)
    at Module.load (internal/modules/cjs/loader.js:816:32)
    at Module._load (internal/modules/cjs/loader.js:728:14)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\override_require.js:18:25)
    at Module.require (internal/modules/cjs/loader.js:853:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\controllers\reporter.js:8:14)
    at Object.<anonymous> (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\controllers\reporter.js:18:4)
    at Module._compile (internal/modules/cjs/loader.js:968:30)
    at Module.m._compile (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\ts-node\src\index.ts:536:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:986:10)
    at Object.require.extensions.<computed> [as .js] (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\ts-node\src\index.ts:539:12)
    at Module.load (internal/modules/cjs/loader.js:816:32)
    at Module._load (internal/modules/cjs/loader.js:728:14)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\override_require.js:18:25)
    at Module.require (internal/modules/cjs/loader.js:853:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\routes.js:9:18)
    at Module._compile (internal/modules/cjs/loader.js:968:30)
    at Module.m._compile (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\ts-node\src\index.ts:536:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:986:10)
    at Object.require.extensions.<computed> [as .js] (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\ts-node\src\index.ts:539:12)
    at Module.load (internal/modules/cjs/loader.js:816:32)
    at Module._load (internal/modules/cjs/loader.js:728:14)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\override_require.js:18:25)
    at Module.require (internal/modules/cjs/loader.js:853:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Server.createRoutes (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\server.js:159:14)
    at C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\server.js:205:17
    at tryCatcher (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\util.js:16:23)
    at Function.Promise.attempt.Promise.try (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\method.js:39:29)
    at Server.open (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\server.js:180:28)
    at C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\lib\project.js:135:26
    at tryCatcher (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\promise.js:547:31)
    at Promise._settlePromise (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\promise.js:604:18)
    at Promise._settlePromise0 (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\promise.js:649:10)
    at Promise._settlePromises (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\promise.js:729:18)
    at _drainQueueStep (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\async.js:93:12)
    at _drainQueue (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\async.js:86:9)
    at Async._drainQueues (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\async.js:102:5)
    at Immediate.Async.drainQueues [as _onImmediate] (C:\Users\adgastin\AppData\Local\Cypress\Cache\4.7.0\Cypress\resources\app\packages\server\node_modules\bluebird\js\release\async.js:15:14)
    at processImmediate (internal/timers.js:439:21)

Removing either flag fixes the error. tslib is forcibly installed to guarantee there is no issue resolving it.

This appears to occur regardless of what is in the Cypress tsconfig, so as long as the parent project contains this config, Cypress cannot start.

Versions

Cypress 4.6.0 - 4.7.0

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions