* Added type_check.js
* Now checks cli, too.
* Ignored a line that should fail.
* Removed cli shims and post-install.
* Updated @types/chai to fix type error.
* Fixed keyboard type errors.
* Updated typescript to 3.7.2 to fix window.Node error in dom/document.
* Removed tsconfig errors that caused type errors in reporter and runner.
* Ignored error test by dtslint. Becaust it's done by type_check.js
* Added npm command.
* Added it to CI.
* Added skipLibCheck option.
* Removed checking chai folder existence.
copy of chai is unnecessary.
* Added 'ignore-progress' option for CI.
* Show success message when type check is finished successfully.
* Use ignore-progress option on CI.
* Moved type definitions from devDependencies to dependencies.
* Fixed new type errors after rebase.
* Updated type errors.
* Removed cli. Because its types are checked by dtslint.
* type_check -> type-check for consistency.
* Updated json-schema.
* Updated blob-util.
* Fix wrong command in CI.
* Revert "Updated blob-util."
This reverts commit e46549af54.
Because it's a breaking change.
* Remove copies of @types if exists.
* Fix stream buffer type error.
* Fix type errors in ui-components.
* Fix type failure.
* Fix lint error.
* Fix type errors
* Regenerate yarn.lock
* Fix type error.
* Fix type failures.
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: Gleb Bahmutov <gleb.bahmutov@gmail.com>
CLI
The CLI is used to build the cypress npm module to be run within a terminal.
The CLI has the following responsibilities:
- Allow users to print CLI commands
- Allow users to install the Cypress executable
- Allow users to print their current Cypress version
- Allow users to run Cypress tests from the terminal
- Allow users to open Cypress in the interactive Test Runner.
- Allow users to verify that Cypress is installed correctly and executable
- Allow users to manages the Cypress binary cache
- Allow users to pass in options that change way tests are ran or recorded (browsers used, specfiles ran, grouping, parallelization)
Building
See scripts/build.js. Note that the built npm package will include NPM_README.md as its public README file.
Testing
Automated
From the repo's root, you can run unit tests with:
yarn test-unit --scope cypress
yarn test-watch --scope cypress
yarn test-debug --scope cypress
This will take and compare snapshots of the CLI output. To update snapshots, see snap-shot-it instructions: https://github.com/bahmutov/snap-shot-it#advanced-use
Manual
To build and test an NPM package:
yarnyarn build
This creates build folder.
cd build; yarn pack
This creates an archive, usually named cypress-v<version>.tgz. You can install this archive from other projects, but because there is no corresponding binary yet (probably), skip binary download. For example from inside cypress-example-kitchensink folder
yarn add ~/{your-dirs}/cypress/cli/build/cypress-3.3.1.tgz --ignore-scripts
Which installs the tgz file we have just built from folder Users/jane-lane/{your-dirs}/cypress/cli/build.