summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/witty-roses-relate.md5
-rw-r--r--packages/astro/src/events/session.ts5
-rw-r--r--packages/astro/test/events.test.js8
3 files changed, 17 insertions, 1 deletions
diff --git a/.changeset/witty-roses-relate.md b/.changeset/witty-roses-relate.md
new file mode 100644
index 000000000..ef46e2a7a
--- /dev/null
+++ b/.changeset/witty-roses-relate.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Fix telemetry reporting for integrations that return an array
diff --git a/packages/astro/src/events/session.ts b/packages/astro/src/events/session.ts
index f2c26d980..706779d4b 100644
--- a/packages/astro/src/events/session.ts
+++ b/packages/astro/src/events/session.ts
@@ -83,7 +83,10 @@ export function eventCliSession(
) ?? []),
] as string[],
adapter: userConfig?.adapter?.name ?? null,
- integrations: (userConfig?.integrations ?? []).filter(Boolean).map((i: any) => i?.name),
+ integrations: (userConfig?.integrations ?? [])
+ .filter(Boolean)
+ .flat()
+ .map((i: any) => i?.name),
trailingSlash: userConfig?.trailingSlash,
build: userConfig?.build
? {
diff --git a/packages/astro/test/events.test.js b/packages/astro/test/events.test.js
index 98eaa2d54..b67c889b5 100644
--- a/packages/astro/test/events.test.js
+++ b/packages/astro/test/events.test.js
@@ -385,6 +385,14 @@ describe('Events', () => {
expect(payload.config.integrations.length).to.equal(0);
});
+ it('finds names for integration arrays', () => {
+ const config = {
+ integrations: [{ name: 'foo' }, [{ name: 'bar' }, { name: 'baz' }]],
+ };
+ const [{ payload }] = events.eventCliSession({ cliCommand: 'dev' }, config);
+ expect(payload.config.integrations).to.deep.equal(['foo', 'bar', 'baz']);
+ });
+
it('includes cli flags in payload', () => {
const config = {};
const flags = {