Only activate partytown if necessary

This commit is contained in:
prototypa
2022-11-24 14:28:24 -05:00
parent 15ccb6da1e
commit ae7a951e87
3 changed files with 10 additions and 9 deletions

View File

@ -9,15 +9,15 @@ import image from '@astrojs/image';
import mdx from '@astrojs/mdx'; import mdx from '@astrojs/mdx';
import partytown from '@astrojs/partytown'; import partytown from '@astrojs/partytown';
import { remarkReadingTime } from './src/utils/frontmatter.js'; import { remarkReadingTime } from './src/utils/frontmatter.mjs';
import { SITE } from './src/config.mjs'; import { SITE } from './src/config.mjs';
const __dirname = path.dirname(fileURLToPath(import.meta.url)); const __dirname = path.dirname(fileURLToPath(import.meta.url));
// https://astro.build/config const whenExternalScripts = (items = []) =>
SITE.googleAnalyticsId ? (Array.isArray(items) ? items.map((item) => item()) : [items()]) : [];
export default defineConfig({ export default defineConfig({
// Astro uses this full URL to generate your sitemap and canonical URLs in your final build
site: SITE.origin, site: SITE.origin,
base: SITE.basePathname, base: SITE.basePathname,
trailingSlash: SITE.trailingSlash ? 'always' : 'never', trailingSlash: SITE.trailingSlash ? 'always' : 'never',
@ -36,10 +36,11 @@ export default defineConfig({
}), }),
mdx(), mdx(),
/* Disable this integration if you don't use Google Analytics (or other external script). */ ...whenExternalScripts(() =>
partytown({ partytown({
config: { forward: ['dataLayer.push'] }, config: { forward: ['dataLayer.push'] },
}), })
),
], ],
markdown: { markdown: {