diff --git a/.changeset/chilly-dingos-eat.md b/.changeset/chilly-dingos-eat.md new file mode 100644 index 000000000000..fbbd4a522d31 --- /dev/null +++ b/.changeset/chilly-dingos-eat.md @@ -0,0 +1,5 @@ +--- +'@astrojs/partytown': minor +--- + +Expose more partytown config properties diff --git a/packages/integrations/partytown/README.md b/packages/integrations/partytown/README.md index 68a2e55331d3..43b611922166 100644 --- a/packages/integrations/partytown/README.md +++ b/packages/integrations/partytown/README.md @@ -85,7 +85,7 @@ export default defineConfig({ }); ``` -This mirrors the [Partytown config object](https://partytown.builder.io/configuration), but only `debug` and `forward` are exposed by this integration. +This mirrors the [Partytown config object](https://partytown.builder.io/configuration). ### config.debug diff --git a/packages/integrations/partytown/src/index.ts b/packages/integrations/partytown/src/index.ts index adeab75dda91..9f05ae809e38 100644 --- a/packages/integrations/partytown/src/index.ts +++ b/packages/integrations/partytown/src/index.ts @@ -1,4 +1,5 @@ import { partytownSnippet } from '@builder.io/partytown/integration'; +import type { PartytownConfig } from '@builder.io/partytown/integration'; import { copyLibFiles, libDirPath } from '@builder.io/partytown/utils'; import type { AstroConfig, AstroIntegration } from 'astro'; import * as fs from 'fs'; @@ -10,10 +11,7 @@ const resolve = createRequire(import.meta.url).resolve; type PartytownOptions = | { - config?: { - forward?: string[]; - debug?: boolean; - }; + config?: PartytownConfig; } | undefined; @@ -31,9 +29,12 @@ export default function createPlugin(options: PartytownOptions): AstroIntegratio hooks: { 'astro:config:setup': ({ config: _config, command, injectScript }) => { const lib = `${appendForwardSlash(_config.base)}~partytown/`; - const forward = options?.config?.forward || []; - const debug = options?.config?.debug || command === 'dev'; - partytownSnippetHtml = partytownSnippet({ lib, debug, forward }); + const partytownConfig = { + ...options?.config, + lib, + debug: options?.config?.debug ?? command === 'dev', + }; + partytownSnippetHtml = partytownSnippet(partytownConfig); injectScript('head-inline', partytownSnippetHtml); }, 'astro:config:done': ({ config: _config }) => {