Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Cypress 10.0.x #342

Open
kmgalanakis opened this issue Jun 10, 2022 · 10 comments
Open

Support for Cypress 10.0.x #342

kmgalanakis opened this issue Jun 10, 2022 · 10 comments
Labels
enhancement New feature or request

Comments

@kmgalanakis
Copy link

Hello. Is the CLI going to be updated to support Cypress 10.0.0 and above? Thank you

@pranavj1001
Copy link
Member

pranavj1001 commented Jun 29, 2022

Hey, support for cypress 10.x.x is currently in progress on BrowserStack and will be released soon.

@Taapsa
Copy link

Taapsa commented Aug 3, 2022

Hey, support for cypress 10.x.x is currently in progress on BrowserStack and will be released soon.

Hi, any guesstimate when this would happen, weeks, months?

@renatobenks
Copy link

hey @pranavj1001, any estimates on when BrowserStack will get support to cypress latest?

@pranavj1001
Copy link
Member

pranavj1001 commented Aug 22, 2022

BrowserStack now supports Cypress 10. Please update the browserstack-cypress-cli to start running your tests using Cypress 10 on BrowserStack. Here's the link for the docs page.

@slowjack2k
Copy link

Does this mean cypress.config.ts is supported as well? With my first try I got a TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for .\cypress.config.ts

@Ross-mc
Copy link

Ross-mc commented Aug 22, 2022

I am also having this same error. Browserstack json below:

"run_settings": {
    "cypress_config_file": "./cypress/cypress.config.ts",
    "project_name": "project-name",
    "build_name": "build-name",
    "exclude": [],
    "parallels": "2",
    "npm_dependencies": {},
    "package_config_options": {},
    "headless": true,
    "cypress_version": "10"
  }

I am using Cypress v10.3.0 and my Cypress tests run fine.

@dspaeth-breuni
Copy link

dspaeth-breuni commented Aug 22, 2022

I was able to get my tests running, but it was not fun. I needed to compile the ts files to js. I used tsc --outDir ./dist/cypress --resolveJsonModule.

Further more it was important to add cypress, as an npm_dependencies,

"run_settings": {
        ...
        "npm_dependencies": {
            "cypress": "10.3.0"
        },
        ...
    },

because my cypress.config.ts includes an

import {defineConfig} from 'cypress';

After this I needed to copy some files here and there. I don't think it's practical at the moment.

@Taapsa
Copy link

Taapsa commented Aug 22, 2022

Same thing without TypeScript.
If cypress.config.js contains
const { defineConfig } = require("cypress");

You have to give cypress in npm_dependencies.
If not CLI returns

Require stack:
- ./cypress.config.js
- /root/node_modules/@packages/server/lib/plugins/child/run_require_async_child.js
- /root/node_modules/@packages/server/lib/plugins/child/require_async_child.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:101:18)
    at Object.<anonymous> (./cypress.config.js:1:26)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:101:18)
    at loadFile (/root/node_modules/@packages/server/lib/plugins/child/run_require_async_child.js:89:14)
    at EventEmitter.<anonymous> (/root/node_modules/@packages/server/lib/plugins/child/run_require_async_child.js:116:38)
    at EventEmitter.emit (events.js:400:28)
    at process.<anonymous> (/root/node_modules/@packages/server/lib/plugins/util.js:33:22)
    at process.emit (events.js:400:28)```

@dspaeth-breuni
Copy link

will there be typescript support for cypress 10.x in the near feature?

@jean-bernard-valentaten

In case you came here because you used TypeScript configuration files for Cypress (which is not mandatory and therefore not a dependency of the cypress package), here is the solution to your problem. The following changes must be made to your browserstack.json:

{
    "run_settings": {
        "cypress_config_file": "./cypress.config.ts",
        "cypress_version": "13.latest",
        "npm_dependencies": {
            "typescript": "^4.6.3"
        }
    }
}

This will tell browserstack-cypress-cli to use the latest Cypress 13 version and add the typescript package to the list of packages that is being generated by browserstack-cypress-cli.
In case you're planning to use a different version of Cypress, have a look here at how to write the version constraint: https://www.browserstack.com/docs/automate/cypress/supported-versions

As for adding further dependencies, have a look here: https://www.browserstack.com/docs/automate/cypress/npm-packages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants