17c02925c5
* wip: config migration * fix: formatting * refactor: projectRoot -> root * refactor: pageUrlFormat -> format * refactor: buildOptions.site -> site * refactor: public -> publicDir * refactor: dist -> outDir * refactor: styleOptions -> style * fix: some dist tests -> outDir * refactor: remove legacyBuild (with TODOs) * refactor: more legacyBuild cleanup * refactor: server host and port * fix: remove experimentalStaticBuild CLI flag * refactor: src -> srcDir * refactor: devOptions.trailing -> trailing * refactor: remove sitemap + related flags * refactor: experimentalSSR -> experimental.ssr * fix: last devOptions * refactor: drafts -> markdown.drafts * fix: TS error on port as const * refactor: remove pages * refactor: more --project-root updates * refactor: markdownOptions -> markdown * fix: remaining type errors * feat: update AstroUserConfig * refactor: update CLI flag mapper + server mapper * fix: loadFixture projectRoot * fix: merge CLI flags before validating / transforming * wip: attempt to fix bad createRouteManifest config * refactor: combine config.base and config.site * fix: skip route manifest test for now * fix: site and base handling * refactor: update failing config testes * fix: build failure * feat: update config types with migration help * chore: update types * fix(deno): update deno fixture * chore: remove config migration logic * chore: remove logLevel * chore: clean-up config types * chore: update config warning * chore: add changeset * Sitemap Integration (#2965) * feat: add sitemap filter config option * feat: add canonicalURL sitemap config option * docs: update sitemap README * fix: update for new config * fix: filter not being applied * chore: changeset Co-authored-by: bholmesdev <hey@bholmes.dev> * fred pass * fix: Astro.resolve typo * fix: public => publicDir Co-authored-by: bholmesdev <hey@bholmes.dev> Co-authored-by: Fred K. Schott <fkschott@gmail.com> |
||
---|---|---|
.. | ||
src | ||
CHANGELOG.md | ||
package.json | ||
README.md | ||
tsconfig.json |
@astrojs/partytown 🎉
This Astro integration enables Partytown in your Astro project.
Partytown is a lazy-loaded library to help relocate resource intensive scripts into a web worker, and off of the main thread.
Installation
There are two ways to add integrations to your project. Let's try the most convenient option first!
(experimental) astro add
command
Astro includes a CLI tool for adding first party integrations: astro add
. This command will:
- (Optionally) Install all necessary dependencies and peer dependencies
- (Also optionally) Update your
astro.config.*
file to apply this integration
To install @astrojs/partytown
, run the following from your project directory and follow the prompts:
# Using NPM
npx astro add partytown
# Using Yarn
yarn astro add partytown
# Using PNPM
pnpx astro add partytown
If you run into any hiccups, feel free to log an issue on our GitHub and try the manual installation steps below.
Install dependencies manually
First, install the @astrojs/partytown
integration like so:
npm install @astrojs/partytown
Then, apply this integration to your astro.config.*
file using the integrations
property:
astro.config.mjs
import partytown from '@astrojs/partytown';
export default {
// ...
integrations: [partytown()],
}
Getting started
Partytown should be ready-to-use with zero config. If you have an existing 3rd party script on your site, try adding the type="text/partytown"
attribute:
- <script src="fancy-analytics.js"></script>
+ <script type="text/partytown" src="fancy-analytics.js"></script>
If you open the "Network" tab from your browser's dev tools, you should see the partytown
proxy intercepting this request.
Head to the Partytown docs for configuration options and more usage examples. You can also check our Astro Integration Documentation for more on integrations.