diff options
author | 2022-06-16 14:53:07 -0400 | |
---|---|---|
committer | 2022-06-16 14:53:07 -0400 | |
commit | 9c8a7c0b09db2fb6925929d4efe01d5ececbf08e (patch) | |
tree | 74eead0a8bab911d19c32911c233fce96088bd51 /packages/telemetry/test/session-event.test.js | |
parent | 493441f57b304b298c1869e09875a27ba6a4a438 (diff) | |
download | astro-9c8a7c0b09db2fb6925929d4efe01d5ececbf08e.tar.gz astro-9c8a7c0b09db2fb6925929d4efe01d5ececbf08e.tar.zst astro-9c8a7c0b09db2fb6925929d4efe01d5ececbf08e.zip |
fix(@astrojs/telemetry): add optional integrations field (#3614)
* fix: filter out falsy integration from telemetry
Falsy integrations are now ignored in `@astrojs/telemetry`
This error should no longer occur,
```ts
error Cannot read properties of null (reading 'name')
at file:///workspaces/bundle/node_modules/.pnpm/@astrojs+telemetry@0.1.2/node_modules/@astrojs/telemetry/dist/events/session.js:53:117
...
```
* ci: add tests for optional integrations
* ci: add changeset
* fix(@astrojs/telemetry): count number of optional integrations in use
* ci: add test for counting the total number of optional integrations in use
* ci: update changeset
* chore: make the changes @tony-sull sugested
* revert(@astrojs/webapi): mod.d.ts -> a4c78b5: [ci] format
* ci: remove `@astrojs/webapi` patch change
* chore(@astrojs/telemetry): remove totalIntegrations payload field
* fix(@astrojs/telemetry): add optional integrations field
* ci: add changeset
Diffstat (limited to 'packages/telemetry/test/session-event.test.js')
-rw-r--r-- | packages/telemetry/test/session-event.test.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/telemetry/test/session-event.test.js b/packages/telemetry/test/session-event.test.js index 70705512f..07b214c30 100644 --- a/packages/telemetry/test/session-event.test.js +++ b/packages/telemetry/test/session-event.test.js @@ -411,6 +411,48 @@ describe('Session event', () => { }); }); + describe('config.integrations + optionalIntegrations', () => { + it('optional/conditional integrations', () => { + const config = { + srcDir: 1, + integrations: [ + null, + undefined, + { name: "example-integration" } + ] + }; + const [{ payload }] = events.eventCliSession( + { + cliCommand: 'dev', + astroVersion: '0.0.0', + }, + config + ); + expect(payload.config.integrations).deep.equal(["example-integration"]); + expect(payload.optionalIntegrations).to.equal(2); + }); + + it('falsy integrations', () => { + const config = { + srcDir: 1, + integrations: [ + null, + undefined, + false + ] + }; + const [{ payload }] = events.eventCliSession( + { + cliCommand: 'dev', + astroVersion: '0.0.0', + }, + config + ); + expect(payload.config.integrations.length).to.equal(0); + expect(payload.optionalIntegrations).to.equal(3); + }); + }); + describe('flags', () => { it('includes cli flags in payload', () => { const config = {}; |