Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cypress-io/cypress
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v8.3.1
Choose a base ref
...
head repository: cypress-io/cypress
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v8.4.0
Choose a head ref

Commits on Aug 27, 2021

  1. 4
    Copy the full SHA
    fa4b9d7 View commit details

Commits on Aug 29, 2021

  1. chore: breaking apart elements.ts into separate files by concern to r…

    …emove circular dependencies (#17927)
    JessicaSachs authored Aug 29, 2021
    4
    Copy the full SHA
    bf65606 View commit details

Commits on Aug 30, 2021

  1. feat: support webpack-dev-server v4 (#17918)

    * feat: migrate to new webpack-dev-server public api
    
    * fix: extract version check, and disallow minor releases matching `/3\./` with a starts with req.
    
    * feat: support webpack-dev-server v4
    
    * fix webpack warning causing overlay and types
    
    * pin test dependency
    
    * fix tests that were using incorrect wewbpack configuration
    
    Co-authored-by: Ollie Relph <ollie@relph.me>
    ZachJW34 and BBB authored Aug 30, 2021
    Copy the full SHA
    16e4759 View commit details
  2. 4
    Copy the full SHA
    880e174 View commit details
  3. Copy the full SHA
    3db0334 View commit details
  4. Copy the full SHA
    ca4146d View commit details

Commits on Aug 31, 2021

  1. Copy the full SHA
    e01db39 View commit details
  2. improve types

    lmiller1990 committed Aug 31, 2021
    Copy the full SHA
    a27793d View commit details
  3. fix: Cypress.testingType should not be undefined. (#17931)

    * fix
    
    * Use Cypress type.
    sainthkh authored Aug 31, 2021
    4
    Copy the full SHA
    1570383 View commit details
  4. Merge pull request #17850 from cypress-io/lmiller1990/ts-open-project

    * chore: rename open_project to ts
    * improve types
    kuceb authored Aug 31, 2021
    Copy the full SHA
    3d23b7f View commit details
  5. fix: match Cypress.dom.getElementPositioning implementation to the …

    …declared type signature by actually accepting native `HTMLElement` (#17914)
    
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    Andarist and chrisbreiding authored Aug 31, 2021
    Copy the full SHA
    d076ac3 View commit details
  6. Copy the full SHA
    94c028d View commit details

Commits on Sep 1, 2021

  1. 3
    Copy the full SHA
    3b86f82 View commit details
  2. 3
    Copy the full SHA
    c65d9f7 View commit details
  3. 5
    Copy the full SHA
    339b642 View commit details

Commits on Sep 7, 2021

  1. 4
    Copy the full SHA
    55ef4c3 View commit details
  2. docs: Add readmes to packages that are missing Readmes (#17937)

    Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
    Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
    3 people authored Sep 7, 2021
    4
    Copy the full SHA
    5476904 View commit details
  3. 4
    Copy the full SHA
    207ec56 View commit details
  4. 4
    Copy the full SHA
    a6a2c49 View commit details
  5. Copy the full SHA
    6cbfeae View commit details
  6. Copy the full SHA
    9013388 View commit details
  7. fix(server): Fix EACCES on extension installation if copied from read…

    …-only location (#17800)
    
    Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
    Co-authored-by: Zach Bloomquist <github@chary.us>
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    4 people authored Sep 7, 2021
    3
    Copy the full SHA
    d8796bc View commit details
  8. Merge pull request #17951 from cypress-io/chore/esm-driver

    chore: switching @packages/driver to be esm
    JessicaSachs authored Sep 7, 2021
    3
    Copy the full SHA
    e216ae2 View commit details

Commits on Sep 8, 2021

  1. 3
    Copy the full SHA
    8a1aefa View commit details
  2. chore: Update Chrome (stable) to 93.0.4577.63 and Chrome (beta) to 94…

    ….0.4606.31 (#17910)
    
    Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    3 people authored Sep 8, 2021
    3
    Copy the full SHA
    1feb668 View commit details
  3. fix: add warning for check/uncheck when values passed with elements w…

    …ith no values (#17925)
    
    Co-authored-by: Ben Kucera <14625260+Bkucera@users.noreply.github.com>
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    3 people authored Sep 8, 2021
    4
    Copy the full SHA
    956e1c5 View commit details

Commits on Sep 9, 2021

  1. fix: global hooks cause duplicated hooks after domain navigation (#17884

    )
    
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    kuceb and chrisbreiding authored Sep 9, 2021
    4
    Copy the full SHA
    22a51fa View commit details
  2. Copy the full SHA
    49de24f View commit details
  3. 4
    Copy the full SHA
    01e8a6c View commit details
  4. docs: restore author of react,vue,ng component testing (#16800)

    Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
    bahmutov and jennifer-shehane authored Sep 9, 2021
    Copy the full SHA
    36be9eb View commit details
  5. 4
    Copy the full SHA
    2e005c4 View commit details
  6. fix: add missing clientCertificate type to ResolvedConfigOptions (#18028

    )
    
    Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
    ImCesar and lmiller1990 authored Sep 9, 2021
    4
    Copy the full SHA
    790e7b2 View commit details
  7. 4
    Copy the full SHA
    a747c21 View commit details
  8. Copy the full SHA
    da4b1e0 View commit details
  9. Merge branch 'develop' into da4b1e0-master-into-develop

    Barthélémy Ledoux authored Sep 9, 2021
    Copy the full SHA
    2c298fc View commit details

Commits on Sep 10, 2021

  1. Copy the full SHA
    6b229e9 View commit details
  2. update imports

    lmiller1990 committed Sep 10, 2021
    Copy the full SHA
    62106a8 View commit details
  3. Copy the full SHA
    bf9d2d5 View commit details
  4. remove server-ct package

    lmiller1990 committed Sep 10, 2021
    Copy the full SHA
    d737aef View commit details
  5. Copy the full SHA
    7a09856 View commit details
  6. fix(vite-dev-server): remove base and root from inlineVitConfig types (

    …#17180)
    
    * feat(vite-dev-server): allow user to config root path
    
    * fix(vite-dev-server): remove root from inlineConfig types
    
    Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
    pengx17 and lmiller1990 authored Sep 10, 2021
    4
    Copy the full SHA
    07e7d0e View commit details
  7. bump yarn lock

    lmiller1990 committed Sep 10, 2021
    Copy the full SHA
    d02461d View commit details
  8. Merge branch 'develop' into da4b1e0-master-into-develop

    Barthélémy Ledoux authored Sep 10, 2021
    Copy the full SHA
    9b48e79 View commit details
  9. 4
    Copy the full SHA
    2c381ed View commit details

Commits on Sep 11, 2021

  1. Copy the full SHA
    599e113 View commit details
  2. Merge branch 'lmiller1990/chore-server-ct-server-move' of https://git…

    …hub.com/cypress-io/cypress into lmiller1990/chore-server-ct-server-move
    lmiller1990 committed Sep 11, 2021
    Copy the full SHA
    5bb8c32 View commit details
  3. 4
    Copy the full SHA
    8b5cb13 View commit details

Commits on Sep 13, 2021

  1. 4
    Copy the full SHA
    5955544 View commit details
  2. 4
    Copy the full SHA
    7b1d49c View commit details
  3. release 8.4.0 [skip ci]

    flotwig committed Sep 13, 2021
    Copy the full SHA
    e2d3ef7 View commit details
Showing 394 changed files with 11,136 additions and 29,437 deletions.
8 changes: 0 additions & 8 deletions .vscode/terminals.json
Original file line number Diff line number Diff line change
@@ -23,14 +23,6 @@
"execute": false,
"command": "yarn cypress:run --project ../project"
},
{
"name": "cypress open (CT)",
"focus": true,
"onlySingle": true,
"execute": true,
"cwd": "[cwd]/packages/server-ct",
"command": "yarn cypress:open"
},
{
"name": "packages/server test-e2e",
"focus": true,
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -290,7 +290,6 @@ Here is a list of the core packages in this repository with a short description,
| [server](./packages/server) | `@packages/server` | The <3 of Cypress. This orchestrates everything. The backend node process. |
| [server-ct](./packages/server-ct) | `@packages/server-ct` | Some Component Testing specific overrides. Mostly extends functionality from `@packages/server` |
| [socket](./packages/socket) | `@packages/socket` | A wrapper around socket.io to provide common libraries. |
| [static](./packages/static) | `@packages/static` | Serves static assets used in the Cypress GUI. |
| [ts](./packages/ts) | `@packages/ts` | A centralized version of typescript. |

Public packages live within the [`npm`](./npm) folder and are standalone modules that get independently published to npm under the `@cypress/` namespace. These packages generally contain extensions, plugins, or other packages that are complementary to, yet independent of, the main Cypress app.
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ branches:
only:
- master
- develop
- windows-code-signing
- fix-test-other-projects
- /win*/

# https://www.appveyor.com/docs/lang/nodejs-iojs/
4 changes: 2 additions & 2 deletions browser-versions.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"chrome:beta": "93.0.4577.58",
"chrome:stable": "92.0.4515.159"
"chrome:beta": "94.0.4606.31",
"chrome:stable": "93.0.4577.63"
}
26 changes: 12 additions & 14 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ macBuildFilters: &macBuildFilters
branches:
only:
- develop
- issue-17773-slow-browser-detection
- fix-test-other-projects

defaults: &defaults
parallelism: 1
@@ -42,6 +42,7 @@ onlyMainBranches: &onlyMainBranches
branches:
only:
- develop
- fix-test-other-projects
requires:
- create-build-artifacts

@@ -303,6 +304,7 @@ commands:
dpkg -i /usr/src/google-chrome-<<parameters.channel>>_<<parameters.version>>_amd64.deb ; \
apt-get install -f -y && \
rm -f /usr/src/google-chrome-<<parameters.channel>>_<<parameters.version>>_amd64.deb
which google-chrome-<<parameters.channel>> || (printf "\n\033[0;31mChrome was not successfully downloaded - bailing\033[0m\n\n" && exit 1)
echo "Location of Google Chrome Installation: `which google-chrome-<<parameters.channel>>`"
echo "Google Chrome Version: `google-chrome-<<parameters.channel>> --version`"
@@ -1032,18 +1034,6 @@ jobs:
path: /tmp/cypress
- store-npm-logs

server-ct-unit-tests:
<<: *defaults
parallelism: 1
steps:
- restore_cached_workspace
- run: yarn test-unit --scope @packages/server-ct
- verify-mocha-results:
expectedResultCount: 1
- store_test_results:
path: /tmp/cypress
- store-npm-logs

server-integration-tests:
<<: *defaults
resource_class: medium
@@ -1491,7 +1481,7 @@ jobs:
- run:
name: Check current branch to persist artifacts
command: |
if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "issue-17773-slow-browser-detection" ]]; then
if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "fix-test-other-projects" ]]; then
echo "Not uploading artifacts or posting install comment for this branch."
circleci-agent step halt
fi
@@ -2126,6 +2116,7 @@ linux-workflow: &linux-workflow
branches:
only:
- develop
- fix-test-other-projects
requires:
- build
- test-kitchensink:
@@ -2137,6 +2128,7 @@ linux-workflow: &linux-workflow
branches:
only:
- develop
- fix-test-other-projects
requires:
- build
- create-build-artifacts:
@@ -2186,13 +2178,15 @@ linux-workflow: &linux-workflow
branches:
only:
- develop
- fix-test-other-projects
requires:
- create-build-artifacts
- test-npm-module-and-verify-binary:
filters:
branches:
only:
- develop
- fix-test-other-projects
requires:
- create-build-artifacts
- test-binary-against-staging:
@@ -2201,6 +2195,7 @@ linux-workflow: &linux-workflow
branches:
only:
- develop
- fix-test-other-projects
requires:
- create-build-artifacts

@@ -2225,6 +2220,7 @@ linux-workflow: &linux-workflow
branches:
only:
- develop
- fix-test-other-projects
requires:
- create-build-artifacts

@@ -2296,6 +2292,7 @@ mac-workflow: &mac-workflow
branches:
only:
- develop
- fix-test-other-projects
requires:
- darwin-create-build-artifacts

@@ -2307,6 +2304,7 @@ mac-workflow: &mac-workflow
branches:
only:
- develop
- fix-test-other-projects
requires:
- darwin-create-build-artifacts

87 changes: 77 additions & 10 deletions cli/types/cypress.d.ts
Original file line number Diff line number Diff line change
@@ -22,6 +22,19 @@ declare namespace Cypress {
password: string
}

interface RemoteState {
auth?: {
username: string
password: string
}
domainName: string
strategy: 'file' | 'http'
origin: string
fileServer: string
props: Record<string, any>
visiting: string
}

interface Backend {
/**
* Firefox only: Force Cypress to run garbage collection routines.
@@ -2060,7 +2073,7 @@ declare namespace Cypress {
* @alias cy.location('href')
* @see https://on.cypress.io/url
*/
url(options?: Partial<Loggable & Timeoutable>): Chainable<string>
url(options?: Partial<UrlOptions>): Chainable<string>

/**
* Control the size and orientation of the screen for your application.
@@ -2488,6 +2501,47 @@ declare namespace Cypress {
cmdKey: boolean
}

interface PEMCert {
/**
* Path to the certificate file, relative to project root.
*/
cert: string
/**
* Path to the private key file, relative to project root.
*/
key: string
/**
* Path to a text file containing the passphrase, relative to project root.
*/
passphrase?: string
}

interface PFXCert {
/**
* Path to the certificate container, relative to project root.
*/
pfx: string
/**
* Path to a text file containing the passphrase, relative to project root.
*/
passphrase?: string
}

interface ClientCertificate {
/**
* URL to match requests against. Wildcards following [minimatch](https://github.com/isaacs/minimatch) rules are supported.
*/
url: string
/**
* Paths to one or more CA files to validate certs against, relative to project root.
*/
ca?: string[]
/**
* A PEM format certificate/private key pair or PFX certificate container
*/
certs: PEMCert[] | PFXCert[]
}

interface ResolvedConfigOptions {
/**
* Url used as prefix for [cy.visit()](https://on.cypress.io/visit) or [cy.request()](https://on.cypress.io/request) command’s url
@@ -2750,6 +2804,11 @@ declare namespace Cypress {
* @default {}
*/
e2e: Omit<ResolvedConfigOptions, TestingType>

/**
* An array of objects defining the certificates
*/
clientCertificates: ClientCertificate[]
}

/**
@@ -2810,19 +2869,15 @@ declare namespace Cypress {
projectName: string
projectRoot: string
proxyUrl: string
remote: RemoteState
report: boolean
reporterRoute: string
reporterUrl: string
socketId: null | string
socketIoCookie: string
socketIoRoute: string
spec: {
absolute: string
name: string
relative: string
specFilter: null | string
specType: 'integration' | 'component'
}
spec: Cypress['spec']
specs: Array<Cypress['spec']>
xhrRoute: string
xhrUrl: string
}
@@ -3173,6 +3228,18 @@ declare namespace Cypress {
eventConstructor: string
}

/**
* Options to change the default behavior of .url()
*/
interface UrlOptions extends Loggable, Timeoutable {
/**
* Whether the url is decoded
*
* @default false
*/
decode: boolean
}

/** Options to change the default behavior of .writeFile */
interface WriteFileOptions extends Loggable {
flag: string
@@ -5263,7 +5330,7 @@ declare namespace Cypress {
tag?: string
}

interface DevServerOptions {
interface DevServerConfig {
specs: Spec[]
config: ResolvedConfigOptions & RuntimeConfigOptions
devServerEvents: NodeJS.EventEmitter
@@ -5282,7 +5349,7 @@ declare namespace Cypress {
(action: 'before:spec', fn: (spec: Spec) => void | Promise<void>): void
(action: 'before:browser:launch', fn: (browser: Browser, browserLaunchOptions: BrowserLaunchOptions) => void | BrowserLaunchOptions | Promise<BrowserLaunchOptions>): void
(action: 'file:preprocessor', fn: (file: FileObject) => string | Promise<string>): void
(action: 'dev-server:start', fn: (file: DevServerOptions) => Promise<ResolvedDevServerConfig>): void
(action: 'dev-server:start', fn: (file: DevServerConfig) => Promise<ResolvedDevServerConfig>): void
(action: 'task', tasks: Tasks): void
}

5 changes: 5 additions & 0 deletions cli/types/tests/cypress-tests.ts
Original file line number Diff line number Diff line change
@@ -483,6 +483,11 @@ namespace CypressLocationTests {
cy.location('pathname') // $ExpectType Chainable<string>
}

// https://github.com/cypress-io/cypress/issues/17399
namespace CypressUrlTests {
cy.url({decode: true}).should('contain', '사랑')
}

namespace CypressBrowserTests {
Cypress.isBrowser('chrome')// $ExpectType boolean
Cypress.isBrowser('firefox')// $ExpectType boolean
14 changes: 11 additions & 3 deletions npm/angular/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "@cypress/angular",
"version": "0.0.0-development",
"description": "Test Angular components using Cypress",
"private": true,
"main": "dist/index.js",
"scripts": {
@@ -62,7 +63,7 @@
"tslib": "^2.2.0",
"tslint": "5.20.1",
"typescript": "4.2.4",
"webpack-dev-server": "3.11.2",
"webpack-dev-server": "4.0.0",
"zone.js": "0.11.4"
},
"peerDependencies": {
@@ -84,5 +85,12 @@
"type": "git",
"url": "https://github.com/cypress-io/cypress.git"
},
"homepage": "https://on.cypress.io/component-testing"
}
"homepage": "https://on.cypress.io/component-testing",
"author": "Gleb Bahmutov <gleb.bahmutov@gmail.com>",
"contributors": [
{
"name": "Jean-Michel Leclercq",
"social": "@LeJeanbono"
}
]
}
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@ import { JsonObject } from '@angular-devkit/core'
export interface CypressBuilderOptions extends JsonObject {
baseUrl: string
configFile: string | false
browser: 'electron' | 'chrome' | 'chromium' | 'canary' | 'firefox' | string
browser: 'electron' | 'chrome' | 'chromium' | 'canary' | 'firefox' | 'edge' | string
devServerTarget: string
env: Record<string, string>
quiet: boolean
3 changes: 2 additions & 1 deletion npm/cypress-schematic/src/builders/cypress/schema.json
Original file line number Diff line number Diff line change
@@ -27,7 +27,8 @@
"chrome",
"chromium",
"canary",
"firefox"
"firefox",
"edge"
]
},
"devServerTarget": {
11 changes: 8 additions & 3 deletions npm/react/examples/a11y/cypress/plugins/index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
// load file preprocessor that comes with this plugin
// @ts-check

// load file devServer that comes with this plugin
// https://github.com/bahmutov/cypress-react-unit-test#install
const preprocessor = require('@cypress/react/plugins/react-scripts')
const devServer = require('@cypress/react/plugins/react-scripts')

/**
* @type Cypress.PluginConfig
*/
module.exports = (on, config) => {
preprocessor(on, config)
devServer(on, config)

// IMPORTANT to return the config object
// with the any changed environment variables
4 changes: 2 additions & 2 deletions npm/react/examples/craco/README.md
Original file line number Diff line number Diff line change
@@ -7,10 +7,10 @@ Use the plugin:

// import your craco.config.js
const cracoConfig = require('../../craco.config.js')
const injectDevServer = require('@cypress/react/plugins/craco')
const devServer = require('@cypress/react/plugins/craco')

module.exports = (on, config) => {
injectDevServer(on, config, cracoConfig)
devServer(on, config, cracoConfig)

return config
}
Loading