astro/packages/integrations/partytown
Ben Holmes 6b004363f9
Docs: remaining integration READMEs (#2885)
* docs: partytown README

* docs: sitemap README

* docs: tailwind README

* docs: turbolinks README

* chore: changeset

* update: make partytown 10% less fun

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* docs: add summaries for each integration

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-03-25 17:45:34 -04:00
..
src Astro Integration System (#2820) 2022-03-18 15:35:45 -07:00
CHANGELOG.md [ci] release (next) (#2851) 2022-03-21 20:27:46 -07:00
package.json add build:ci command which skips tsc (#2869) 2022-03-23 19:46:16 -05:00
README.md Docs: remaining integration READMEs (#2885) 2022-03-25 17:45:34 -04:00
tsconfig.json Astro Integration System (#2820) 2022-03-18 15:35:45 -07:00

@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:

  1. (Optionally) Install all necessary dependencies and peer dependencies
  2. (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.