Skip to content

Commit ddbbe22

Browse files
committed
chore: make the @packages/telemetry an independent bundle without needed ts-node to register entrypoint. Both ESM and CJS distributions are built and types are used as source to be compatible with older styles of commonjs bundling. Types are not shipped with the package.
1 parent 9e8777d commit ddbbe22

23 files changed

+151
-55
lines changed

guides/esm-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ When migrating some of these projects away from the `ts-node` entry [see `@packa
6666
- [ ] packages/server **PARTIAL** - many source/test files in JS. highest priority
6767
- [ ] packages/socket **PARTIAL** - entry point is JS. Tests are JS
6868
- [x] packages/stderr-filtering ✅ **COMPLETED**
69-
- [ ] packages/telemetry **PARTIAL** - entry point is JS
69+
- [x] packages/telemetry **COMPLETED**
7070
- [ ] packages/ts **PARTIAL** - ultimate goal is removal and likely not worth the effort to convert
7171
- [x] packages/types ✅ **COMPLETED**
7272
- [x] packages/v8-snapshot-require

packages/app/src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import Toast, { POSITION } from 'vue-toastification'
1313
import 'vue-toastification/dist/index.css'
1414
import { createWebsocket } from './runner'
1515
import { getRunnerConfigFromWindow } from './runner/get-runner-config-from-window'
16-
import { telemetry } from '@packages/telemetry/src/browser'
16+
import { telemetry } from '@packages/telemetry/browser/client'
1717

1818
// Grab the time just before loading config to include that in the cypress:app span
1919
const now = performance.now()

packages/app/src/runner/event-manager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { useStudioStore } from '../store/studio-store'
1414
import { getAutIframeModel } from '.'
1515
import { handlePausing } from './events/pausing'
1616
import { addTelemetryListeners } from './events/telemetry'
17-
import { telemetry } from '@packages/telemetry/src/browser'
17+
import { telemetry } from '@packages/telemetry/browser/client'
1818
import { addCaptureProtocolListeners } from './events/capture-protocol'
1919
import { getRunnerConfigFromWindow } from './get-runner-config-from-window'
2020

packages/app/src/runner/events/telemetry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { telemetry } from '@packages/telemetry/src/browser'
1+
import { telemetry } from '@packages/telemetry/browser/client'
22

33
export const addTelemetryListeners = (Cypress: Cypress.Cypress) => {
44
Cypress.on('test:before:run', (attributes, test) => {

packages/driver/src/cypress.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import type { CachedTestState } from '@packages/types'
4848
import { DocumentDomainInjection } from '@packages/network/lib/document-domain-injection'
4949
import { setSpecContentSecurityPolicy } from './util/privileged_channel'
5050

51-
import { telemetry } from '@packages/telemetry/src/browser'
51+
import { telemetry } from '@packages/telemetry/browser/client'
5252

5353
const debug = debugFn('cypress:driver:cypress')
5454

packages/driver/src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import './config/bluebird'
44
import './config/jquery'
55
import './config/lodash'
66
import $Cypress from './cypress'
7-
import { telemetry } from '@packages/telemetry/src/browser'
7+
import { telemetry } from '@packages/telemetry/browser/client'
88

99
// Telemetry has already been initialized in the 'app' package
1010
// but since this is a different package we have to link up the instances.

packages/proxy/lib/network-proxy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export class NetworkProxy {
5555
isVerbose: true,
5656
})
5757

58-
await this.http.handleHttpRequest(req, res, span).finally(() => {
58+
await this.http.handleHttpRequest(req, res, span || undefined).finally(() => {
5959
span?.end()
6060
})
6161
}

packages/telemetry/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
cjs/
2+
esm/
3+
browser/
4+
!src/browser

packages/telemetry/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,18 +140,18 @@ const { OTLPTraceExporterIPC } = require('@packages/telemetry')
140140
141141
### Browser
142142
143-
To access the browser telemetry singleton use the browser export directly.
143+
To access the browser telemetry singleton use the browser export.
144144
145145
```js
146-
import { telemetry } from '@packages/telemetry/src/browser'
146+
import { telemetry } from '@packages/telemetry/browser/client'
147147

148148
telemetry.init({options})
149149
```
150150
151151
The browser singleton is also stored on window, in some cases when the telemetry package is included in multiple packages you can use the `attach` method to retrieve and setup the singleton from the instance saved on window.
152152
153153
```js
154-
import { telemetry } from '@packages/telemetry/src/browser'
154+
import { telemetry } from '@packages/telemetry/browser/client'
155155

156156
telemetry.attach()
157157
```
@@ -198,7 +198,7 @@ const { telemetry } = require('@packages/telemetry')
198198
Browser:
199199
200200
```js
201-
import { telemetry } from '@packages/telemetry/src/browser'
201+
import { telemetry } from '@packages/telemetry/browser/client'
202202
```
203203
204204
### Spans

packages/telemetry/index.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)