* fix: force moduleResolution: 'node' when ts-node is registered in the cypress process to make sure value is compatible with commonjs (which is already forced). [run ci]
* Update cli/CHANGELOG.md
* chore: set up instrumentation and instrument middleware
* chore: set up console exporter
* chore: add parent span option to telemetry package
* chore: set up telemetry verbose mode
* chore: instrument the network proxy - part 1
* chore: make sure to terminate spans when request is aborted
* fix telemetry, create/end the request middle prior to sending the outbound request
* avoid telemetry ts build step, create entrypoint into packages/telemetry using TS conventions
* allow env vars to be "true" or "1"
* when creating child span, inherit their attributes directly from the parent
* create custom honeycomb exporter and span processor to log traces
* remove duplicate code that's already called in this.setRootContext
* cleanup
* more clean up
* update honeycomb network:proxy attributes, update console.log message
* yarn lock
* chore: remove performance API in middleware
* chore: end response on correct event
* recursively gather parent attributes on close
* added key and some clean up
* github action detector, move verbose into index, verbose log commands
* some tests
* clean up honeycomb exporter
* some renaming
* testing console trace link exporter
* Don't lose the top span when running in verbose.
* link to the right place for prod/dev
* changes to verbose to make sure it is read in the browser
* Apply suggestions from code review
* pass parent attributes between telemetry instances
* default to false
* 'fix' build issues
* src not dist
* add back on start span
* once more with feeling
* Fix some tests
* try this i guess
* revert auto build
* Apply suggestions from code review
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* support failed commands
* Address PR comments
* Address PR Comments
* error handling
* handle all the errors
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Brian Mann <brian.mann86@gmail.com>
* initial commit, a kinda working prototype
* Ready to test in CI
* "SyntaxError: Cannot use import statement outside a module" I blame VS code for always inserting the wrong dependency
* try using built js instead of the ts file
* typescript fixes?
* get version correctly, don't use optional chaining in child process.
* trying this, idk
* try running telemetry for driver-integration-tests-chrome
* fix missing spans, add more attributes for some spans
* fix missing spans and add suite spans
* types
* Remove un-used require
* remove spans for describe blocks in favor of the full title for tests
* migrate to sync resource discovery, start new custom exporters for spans
* encrypted
* localhost
* don't do things on child process
* latest changes
* update server start span time / add v8 snapshot span & update command span names
* prepare for sync
* don't send blank key
* make telemetry work again for sending directly to honeycomb
* web-socket exporter
* Add in IPC exporter and message the child process before disconnecting
* Use the cloud api by default
* move cloud span exporter into telemetry package
* shutdown fixes
* fix enabled
* improve types
* run in ci
* yml is the worst
* type!
* add spans for timing insights for visible areas of improvement
* type errors
* lets try sending data to staging
* types
* types again
* remove problematic attributes
* clean up exporters
* i like this better even though it doesn't seem to matter much
* some self review cleanup
* Update comment
* add debug messages
* mocha tests
* actually exit with the right code... oops
* simple mistake... have to look into how to fix with ts...
* try this i guess
* don't return undefined
* read me diagram
* color?
* no rect
* moar diagram
* docs!
* formatting
* build more binaries
* Supposedly fix cypress in cypress test failures
* test 'fixes'
* try this instead
* do not transpile cypress packages dir
* lets try escaping our regex string
* Add some diagnostics to help test the built binary....
* try a more complex solution
* fix tests probably
* just ignore the specific file
* fix unit tests
* cr updates
* Apply suggestions from code review
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Pr updates
* don't change the command queue
* move encoding and decoding telemetry context for ipc to the telemetry package
* build darn it
* plead for mercy from the testing gods, i merely wished to have named test reports, but clearly i have overreached.
* pr updates, send record key
* pr review
* optional chaining fails tests
* Apply suggestions from code review
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* tests for cloud-span-exporter
* bad merge
* adding tests for the remaining exporters
* note
* docs
* Correctly set test under the current run span for component testing
* gate sending the message.
* pr updates
* finally, fingers crossed.
---------
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* fix: support ESM projects using TypeScript with ts-node/esm
* better error handling
* fix test
* indentation
* register ts-node via --require hook
* be less aggressive with erroring
* update fix system tests
* remove obsolete test
* handle case of not using typescript
* replicate 9.x behavior for legacy plugins w/ ts-node
* make test project valid and adjust tests accordingly
* use ts-node/esm transpile only
* dummy
* extract util function
* merge in refactor using projectFixtureDirectory
* fix test
* fix: UNIFY-1774, throw error if we do not detect a webpackConfig for the user
* remove dead code, rely on auto-sourcing webpack config
* fix error styles, exit the devServer process when config is missing, guard against empty remoteState
* Add missing webpack for todos project
* Update npm/webpack-dev-server/src/makeWebpackConfig.ts
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
* fix: support loading config files for projects with type module, without esbuild
* fix: adding process.cwd() to require.resolve paths so that system-tests do not use local dev version of esbuild
* fix: add missing esbuild in test projects
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
* fix: restart dev-server on config change
* close dev server before cp is spawned
* fix test that is failing... not sure why
* cleanup unsued close events
* remove wait
* add back in close for unit tests
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
* removing vite-dev-server local dependency from react-vite-ts-configured system test
* moving some CRA examples over to use the object api for setup
* fixing issue where function API was broken by object API for cy config + devservers
* adding deeply nested react import to project-fixtures for cra
* finishes cutting over cypress/react for sys tests
* chore: adding circle for this feature branch
* chore: moving over many vue + vite system tests to use object API instead of function API (#21080)
* doing webpack-dev-server cutovers
* removing more webpack-dev-server refrences
* fixing snapshots
* bumping yarn.lock
* wip
* fix test
* fix assertion
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
* feat: removing all references for "fresh" dev servers (webpack-dev-server-fresh and vite-dev-server-fresh) (#21094)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
* chore: add dev-servers as deps to server to be included in the binary (#21091)
* fix bad merge
* fix next types and webpack-dev-server- resolve
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
* fix: Plugin error when sending on disconnected IPC channel
* Add unit test for new no send behaviour
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Adds the new webpack-dev-server-fresh package, exposing the new object api. This package will eventually be merged with/replace the existing webpack-dev-server
closes: UNIFY-1267
* develop: (35 commits)
fix(deps): update dependency url-parse to v1.5.6 [security] (#20270)
chore: fix cache keys to include PLATFORM (#20279)
chore: fix server performance flake (#20271)
test(system-tests): support docker-based tests against built binary (#20250)
chore: fix system-test-firefox screenshots_spec flake (#20268)
chore(deps): update dependency fs-extra to v9 🌟 (#19939)
fix: Wait for child process to be ready (#19792)
fix: treat form-data bodies as binary (#20144)
test: replace cypress-test-example-repos coverage + remove bump (#20186)
fix(driver): update wrapErr to ignore number and boolean values (#20172)
release 9.5.0 [skip ci]
chore: Update Chrome (stable) to 98.0.4758.102 (#20192)
chore: enable volar.takeOverMode
Add span names, merge develop
fix: Update `.type(' ')` to not emit clicks when the keyup event has been prevented (#20156)
test: remove redundant "other projects" CI jobs (#20133)
chore(driver): move cy.focused and cy.root into their own files (#20054)
Move sending root event to own script
chore: release @cypress/vue-v3.1.1
chore: release @cypress/react-v5.12.3
...
* develop:
feat: gray out the path to system node in cypress run header (#20121)
feat: redesign server errors (#20072)
test: fix awesome-typescript-loader test and remove test-binary job (#20131)
fix: Fix issues with stack traces and command log in Chrome 99 (#20049)
fix: `cy.type(' ')` fires click event on button-like elements. (#20067)
fix: `change`, `input` events are not fired when the same option is selected again. (#19623)
build: publish vue3 on latest (#20099)
chore: release @cypress/webpack-preprocessor-v5.11.1
chore: release @cypress/webpack-dev-server-v1.8.1
fix: detect newly added specs in dev-server compilation (#17950)
chore: Remove pkg/driver //@ts-nocheck part 3 (#19837)
chore: set up semantic-pull-request GitHub Action (#20091)
chore: release @cypress/react-v5.12.2
fix: remove nullish coalescing in js files to support node 12 (#20094)
docs: update @cypress/webpack-preprocessor links (#19902)
refactor: use aliases instead of meta (#19566)