Commit Graph

337 Commits

Author SHA1 Message Date
Cacie Prins 48c2ba28e7 chore: upgrade cli eslint to 9 (#32446)
* chore: replace dtslint with eslint-plugin-expect-type

* update guide

* add lint-staged

* rm stale script

* modify cli eslint and tsconfigs to support ts migration

* separate expect-type files

* modifications to tsconfigs to make eslint a little easier

* revert workflow.yml

* further revision

* put tslint config for dtslint back in

* ensure false negative case is tested

* correct tsconfigs

* align dtslint tsconfig with eslint 9 config

* consolidate / DRY tsconfigs
2025-09-26 11:16:42 -04:00
Cacie Prins 654c27ea52 chore: add vitest config to cli (#32496) 2025-09-15 15:29:45 -04:00
Bill Glesias 91fe08e57e chore: update CLI snapshots to include ANSI, replace check-more-types and la, and use vi.mocked (#32486)
* chore: rework vitest mocks

* chore: turn on ANSI for snapshots in the CLI

* chore: remove check-more-types from the CLI and just use lodash/regex

* chore: remove lazy-ass in favor of the native assertion library in node
2025-09-15 15:15:52 -04:00
Bill Glesias 31ee30b6f3 chore: convert CLI tests to vitest (#32416)
* chore: rename snapshots and spec files to fit vitest convention (#32405)

* chore: move compiled files to dist directory to make vitest convertion easier (#32406)

* chore: convert utils to vitest (#32407)

* chore: convert logger to vitest

* chore: convert errors spec to vitest

* chore: convert cypress spec to vitest

* chore: convert `exec` directory to `vitest` (#32428)

* chore: cut over exec directory to vitest

* Update cli/test/lib/exec/run.spec.ts

* Update cli/test/lib/exec/run.spec.ts

* Update cli/test/lib/exec/run.spec.ts

* chore: convert the CLI and build script specs over to vitest (#32438)

* chore: convert tasks directory to vitest (#32434)

change way verify module is exported due to issues interpreting module (thinks its an esm)

rework scripts as we cannot run an empty mocha suite

chore: fix snapshots and verify requires that are internal to the cypress project

fix stubbing issues with fs-extra which is also used by request-progress under the hood

fix issues where xvfb was stopping prematurely

* chore: remove files no longer used now that mocha tests are converted to vitest (#32455)

* build binaries

* chore: fix CLI tests (#32484)

* chore: remove CI branch
2025-09-12 19:20:13 -04:00
Bill Glesias 484b177fb5 chore: update tsx to 4.20.5 and set minimum node 20 to 20.1.0 (#32469) 2025-09-12 12:12:17 -04:00
Bill Glesias 3481d1acaf chore: refactor cypress/cli to TypeScript (#32063)
* migrate cli scripts to TypeScript

* convert all javascript source files in the CLI to TypeScript

rebase into first

* chore: refactor all tests to TypeScript

rebase into second

* add npmignore for cli for typescript files

* update build process

* fix publically available exports

* Fix cy-in-cy tests

* add ts-expect-error to failing files

* fix projectConfigIpc failures as there are now multiple installs of tsx

* fix after-pack hook

* fix binary script

* chore: update publish binary to account for CLI being an ESModule compiled down to CommonJS

* does this work?

* fix the verify spec by making the listr2 renderer silent as it behaves differently since the refactor and is printing non deterministic outputs into our tests that do not have a large impact on the area we are testing and mostly served to actually test the renders of the listr2 framework itself

* empty commit

* additional refactor to code to remove strange any typing and exporting

* bump cache and build binaries

* fix CLI exports to keep backwards compatibility

* fix unit-tests

* turn on mac jobs

* fix group name rename in CLI

* remove babel deps from cli and explicitly install typescript

* address feedback from code review

* dont just falsy check results and instead explicitly check for null or undefined

* add ts-expect-error

* additional pass on cleaning up dynamic require / import from global lib references

* annotate ts-expect-errors with reason for why error is expected

* add rest of ts-expect-error comments

* removing hardcoded branch to publish binary chore/migrate_cli_to_typescript
2025-09-02 17:52:45 -04:00
Bill Glesias d39eee3776 chore: patch dtslint to work until we can find a replacement (#32383) 2025-08-28 17:18:34 -04:00
Jennifer Shehane ab2004bbde fix: move from getos to systeminformation to fix OS distro/release info (#32283)
* fix: move from getos to systeminformation

* add changelog entry

* remove extraneous package that isn't used

* update changelog
2025-08-27 09:52:48 -04:00
Bill Glesias 19df26c279 chore: update babel to latest (#32203) 2025-08-12 15:07:23 -04:00
Bill Glesias b6f3eead33 Merge branch 'develop' into merge_develop_15 2025-08-07 15:45:04 -04:00
Mike McCready ed89b8dba6 dependency: update tmp to ~0.2.4 (#32177) 2025-08-07 14:39:56 -04:00
Jennifer Shehane 5cad25c7ab Merge branch 'develop' into release/15.0.0 2025-07-25 09:44:01 -04:00
Cacie Prins 7825936902 chore(dep): upgrade cypress/request to 3.0.9 to address form-data vulnerabilities (#32096)
* chore(deps): upgrade @cypress/request

* changelog
2025-07-24 15:10:57 -04:00
Jennifer Shehane 968dabbe45 Merge branch 'develop' into release/15.0.0 2025-06-17 13:51:52 -04:00
renovate[bot] d51db04755 chore(deps): update dependency hasha to v5.2.2 (#31880)
* chore(deps): update dependency hasha to v5.2.2

* use hashs instead of copied code

* chore(deps): update dependency hasha to v5.2.2

* move to dep instead of devDep

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-06-16 16:58:37 -04:00
Jennifer Shehane 74daed48b7 Merge branch 'develop' into release/15.0.0 2025-05-21 11:57:04 -04:00
renovate[bot] 91d5a2ee5f chore(deps): update dependency sinon-chai to v3.7.0 (#31716)
* chore(deps): update dependency sinon-chai to v3.7.0

* empty commit

* bump circle cache

* add sinon-chai to base package.json as its used to test base level scripts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
2025-05-15 11:05:03 -04:00
Bill Glesias 86c2233a3a Merge branch 'develop' of github.com:cypress-io/cypress into merge_dev_rel_15 2025-05-07 15:43:34 -04:00
Jennifer Shehane 7423b5b439 Merge branch 'develop' into release/15.0.0 2025-05-06 15:33:03 -04:00
Cacie Prins 1119625a39 fix: no longer hang when piping stdout+stderr to a file under certain conditions (#31631)
* revert cli-table3 to 0.6.1 due to hangs when piping std(err,out) to file

* changelog

* changelog
2025-05-06 10:29:56 -04:00
Jennifer Shehane 1f81595fdb breaking: Remove support for Node.js 18 & 23 (#31409)
* remove support for Node.js 18 & 23

BREAKING CHANGE: remove support for Node.js 18 & 23

* remove binary tests for Node 18

* Add made up date

* Update cli/package.json

Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>

---------

Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com>
2025-04-01 10:35:51 -04:00
renovate[bot] 18e3698ae1 chore(deps): update dependency snap-shot-it to v7.9.10 (#31386)
* chore(deps): update dependency snap-shot-it to v7.9.10

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-27 10:53:52 -04:00
renovate[bot] a566242f7f dependency: update dependency semver to v7.7.1 (#31341)
* fix(deps): update dependency semver to v7.7.1

* changelog

* caret dep

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-20 13:58:02 -04:00
renovate[bot] f35da771c8 dependency: update dependency @cypress/request to ^3.0.8 (#31311)
* fix(deps): update dependency @cypress/request to ^3.0.8

* add changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-03-18 12:36:57 -04:00
renovate[bot] 290638acd1 dependency: update dependency cli-table3 to v0.6.5 (#31166)
* fix(deps): update dependency cli-table3 to v0.6.5

* add changelog entry

* remove ts-expect-error

* empty commit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-02-26 12:08:03 -05:00
renovate[bot] 64f93d80df dependency: update dependency ci-info to ^4.1.0 (#31132)
* fix(deps): update dependency ci-info to ^4.1.0

* empty commit

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-02-18 16:39:40 -05:00
renovate[bot] d733b86a71 dependency: update dependency @cypress/request to ^3.0.7 (#31063)
* fix(deps): update dependency @cypress/request to ^3.0.7

* empty commit

* add dep to changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2025-02-11 10:43:10 -05:00
Bill Glesias 0c661b4f35 breaking: remove support for React 16 and 17 for Cypress Component Testing. Additionally, remove the cypress/react18 testing harness and merge it upstream with cypress/react (#30590)
* breaking: remove support for react 16 and 17 for component testing and move cypress/react18 upstream into cypress/react [run ci]

* update tests / suggestions from code review [run ci]
2024-11-15 16:14:48 -05:00
Bill Glesias edd9a27031 breaking: remove the cypress/angular-signals test harness. The changes incorporated in @cypress/angular-signals are now merged upstream into @cypress/angular and the package is no longer needed [run ci] (#30540) 2024-11-07 13:16:18 -05:00
Bill Glesias ccb6e28fe0 breaking: Cypress Component Testing no longer supports vue2 [run ci] (#30502) 2024-11-05 08:55:19 -05:00
Jennifer Shehane 575b9b7665 Merge branch 'develop' into release/14.0.0 2024-11-01 11:02:09 -04:00
DevMiner b8a5280fd3 chore: replace is-ci with underlying ci-info package (#30465)
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-11-01 10:57:01 -04:00
Jennifer Shehane a3a975fc1c Merge branch 'develop' into release/14.0.0 2024-10-30 17:02:10 -04:00
Jennifer Shehane 0e5b131b46 dependency: bump cypress/request dependency (#30488)
* dependency: bump cypress/request dependency

* changelog entry
2024-10-30 09:08:14 -04:00
Ryan Manuel 9fda261dde chore: upgrade electron to 32.2.0 (#30394)
* chore: upgrade electron to 32.2.0 -- run ci

* fix node versions

* fix build

* fix evil-dns

* various fixes

* fix srcdoc

* various fixes

* update package.json

* update yarn.lock

* various fixes

* fix integrity check

* fix binary verification

* various fixes

* update yarn.lock

* fix typo

* fix lock file

* fix tests

* fix tests

* various fixes

* various fixes

* various fixes

* fix stuff

* fix things

* try to fix errors

* fix

* updates

* add yarn berry

* upgrade electron

* attempt with gcc

* blank

* update arm64 executor

* try to fix the arm64 issue

* fix arm64

* bump cache

* attempt to fix arm64 again

* attempt to fix arm64 again

* fix darwin problems

* merge release/14.0.0

* update yarn.lock

* blank -- run ci

* blank

* blank

* blank

* try something

* try something

* clean up

* blank

* try to fix sessions issue

* fixes

* get more info

* get more info

* try something

* fix

* try something

* try something

* try something

* tweak

* one more thing

* let us see if this works

* blank

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* Apply suggestions from code review

* Apply suggestions from code review

* Update cli/CHANGELOG.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update cli/CHANGELOG.md

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>

* Update CHANGELOG.md

* Update cache-version.txt

* fix nx (maybe)

* Update package.json

* try something

* Update packages/app/src/runner/aut-iframe.ts

* bump version

* try to bust cache

* try to invalidate cache

* Update cli/CHANGELOG.md

* suppress benign warnings

* Apply suggestions from code review

* PR comments

* PR comment

* Apply suggestions from code review

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* Update cli/CHANGELOG.md

Co-authored-by: Matt Schile <mschile@cypress.io>

* update debug scenario 4 regex

* Update scripts/binary/trigger-publish-binary-pipeline.js

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Matt Schile <mschile@cypress.io>
2024-10-29 14:55:26 -05:00
Jennifer Shehane dab5047756 breaking: Remove support for Node.js 16, Node.js 21, and glibc < 2.28 (#30307)
* Update minimum node engines

BREAKING CHANGE: Remove Node.js 16 and Node.js 21 support

* update changelog

* change entry to addresses

* trigger publish-binary pipeline on appropriate branch

* remove better-sqlite code

* Update changelog

* changelog
2024-10-01 11:30:13 -04:00
Bill Glesias af3839d990 misc: replace marionette-client with geckodriver as b2g marionette client is no longer supported (#30250)
* misc: replace marionette-client with geckodriver as b2g marionette client is no longer supported [run ci]

* install pump [run ci]

* refactor to have geckodriver launch the browser and split out webdriver to own class [run ci]

fix other failing tests [run ci]

fix other failing tests [run ci]

pass env variables to firefox

* fix sigkill / treekill issues on windows with firefox binary being a dangling process [run ci]

* fix issue where browser in headed mode was not starting maximized [run ci]

* stub firefox_spec added deps different to get type inference

* add comment to geckodriver patch

* move capabilities to verbose debug statement

* update changelog

* address comments from code review

* add pending for changelog

* update with suggestions from code review

* remove debug enable as the process needs to be bound to stderr and stdout

* add comment on why we need to bind

* add comments from code review

* address comments from code review

* make sure sessionId is set
2024-09-30 12:19:03 -04:00
Jennifer Shehane 0a15c8d2cc dependency: bump @cypress/request to ^3.0.4 (#30194)
* empty commit

* dependency: bump cypress/request

* add changelog entry
2024-09-10 12:29:25 -04:00
renovate[bot] 507be6ce1b chore(deps): update babel monorepo (#30073)
* empty commit

* chore(deps): update babel monorepo

* empty commit

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* yarn

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
2024-08-26 14:28:07 -04:00
renovate[bot] 699fec50e4 chore(deps): update dependency dtslint to v4.2.1 (#30065)
* empty commit

* chore(deps): update dependency dtslint to v4.2.1

* empty commit

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 16:29:39 -04:00
renovate[bot] 0d5065a106 dependency: update dependency strip-ansi to v6.0.1 (#29931)
* fix(deps): update dependency strip-ansi to v6.0.1

* changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-29 14:54:06 -04:00
Mike McCready 767ddf8584 dependency: update @cypress/request to 3.0.1 (#29864)
* dependency: update @cypress/request to 3.0.1

* move changelog entry to next version

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-25 11:01:21 -04:00
renovate[bot] a901ea332e dependency: update dependency minimatch to v3.1.2 (#29821)
* fix(deps): update dependency minimatch to v3.1.2

* empty commit

* changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-07-12 14:56:38 -04:00
Bill Glesias f2554f12d6 feat: add Angular Signals CT Harness for Angular 17.2 and up for users to be able to use Angular Signals within their component tests (#29621)
* direct copy paste of angular npm package to angular18 (no changes)

* feat: implement angular-signals test hardness to support angular signals

add changelog entry and build binary [run ci]

rename angular18 to angular-signals until we are able to merge back into core package [run ci]

fix linting job [run ci]

make sure angular-signals harness is copied to cli after build [run ci]

add project fixture directory to angular 18 and build binaries for newly named branch

run ci

update cache [run ci]

bust nx cache [run ci]

bust cache on linux [run ci]

try busting the cache... again [run ci]

usually helps when you have the correct build output... [run ci]

fix issue where component internal props were getting blown away when user would not set prop in componentProperties [run ci]

* update test harness description

* add built-in control flow tests with signals

* make sure to clean up rxjs observables in order to prevent a memory leak

* address comments from code review

* yarn lock

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-06-28 13:37:54 -04:00
Mike McCready 54127e3c61 dependency: update tmp to 0.2.3 (#29696)
* dependency: update tmp to 0.2.3

* Update changelog

* Update cli/CHANGELOG.md

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Matt Schile <mschile@gmail.com>
2024-06-20 17:03:27 -04:00
Bill Glesias ee3ff8820a chore: update vite to version 5 inside the monorepo (#29617)
* chore: update babel to latest in packages and update vite to version 5, vite related vue plugins to version 5, and svg plugin to v5

update vitejs react to v5

updated vite plugins

updates unplugin-vue-components and unplugin-icons for vite

remove vite-plugin-copmponents as it is the same thing as unplugin-vue-components

update vue-i18n from beta package to released v9

get unplugin-vue-i18n to latest

add @babel/types to no rewrite [run ci]

fix typing errors [run ci]

* update snapshot [run ci]

* coerce type for compiled messages to bridge type compatibility between unplugin-vue-i18n and vue-i18n [run ci]

* chore: update babel to latest in packages and update vite to version … (#29634)

* fix vite

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

---------

Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>

* update other hard coded @babel/core

* chore: updating v8 snapshot cache

* chore: updating v8 snapshot cache

---------

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-06-12 16:51:50 -04:00
Jennifer Shehane d5d434559e chore: Remove forked xvfb package from server (#29511)
* dependency: Replace forked xvfb package with xvfb

* changelog entry

* replace call to cypress/xvfb to xvfb

* put the cypress/xvfb dep back!

* Remove xvfb package from server

* Remove changelog entry
2024-05-15 12:57:38 -04:00
renovate[bot] e0255f99c2 dependency: update dependency buffer to ^5.7.1 (#28934)
* fix(deps): update dependency buffer to ^5.7.1

* empty commit

* add changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-02-14 13:11:35 -05:00
renovate[bot] fcf73c7c6b dependency: update dependency is-ci to ^3.0.1 (#28933)
* fix(deps): update dependency is-ci to ^3.0.1

* fix: add changelog entry

* whoops, wrong changelog entry

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
2024-02-14 13:10:25 -05:00
Sharmila Jesupaul 9f8dc10a08 dependency: remove @types/node as a dependency of cli (#28475)
* dependency: declare @types/node as a peerdep and allow >=16

Instead of pushing a pinned version of of types/node as a dependency on all consumer packages, allow any version of types/node that is supported by Cypress. It looks like cypress supports node v16 and up, so I set the peerdep semver to match that.

* Revert "dependency: declare @types/node as a peerdep and allow >=16"

This reverts commit 338fb8491e.

* dependency: remove @types/node as a dependency of cli

* Add changelog entry

---------

Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2024-01-02 13:16:56 -05:00