0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
astro/packages/integrations/web-vitals/README.md
2024-05-20 16:51:02 +02:00

108 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# @astrojs/web-vitals (experimental) ⏱️
This **[Astro integration][astro-integration]** enables tracking real-world website performance and storing the data in [Astro DB][db].
## Pre-requisites
- [Astro DB](https://astro.build/db) — `@astrojs/web-vitals` will store performance data in Astro DB in production
- [An SSR adapter](https://docs.astro.build/en/guides/server-side-rendering/) — `@astrojs/web-vitals` injects a server endpoint to manage saving data to Astro DB
## Installation
1. Install and configure the Web Vitals integration using `astro add`:
```sh
npx astro add web-vitals
```
2. Push the tables added by the Web Vitals integration to Astro Studio:
```sh
npx astro db push
```
3. Redeploy your site.
4. Visit your project dashboard at https://studio.astro.build to see the data collected.
Learn more about [Astro DB](https://docs.astro.build/en/guides/astro-db/) and [deploying with Astro Studio](https://docs.astro.build/en/guides/astro-db/#astro-studio) in the Astro docs.
## Uninstalling
To remove the Web Vitals integration, follow the Astro DB deprecation process:
1. Mark the integration as deprecated in `astro.config.mjs`, by setting the `deprecated` option to `true`:
```js
import db from '@astrojs/db';
import webVitals from '@astrojs/web-vitals';
import { defineConfig } from 'astro/config';
export default defineConfig({
integrations: [
db(),
// Mark the web vitals integration as deprecated:
webVitals({ deprecated: true }),
],
// ...
});
```
2. Push the deprecation to Astro Studio:
```sh
npx astro db push
```
3. Remove the web vitals integration in `astro.config.mjs`:
```diff
import db from '@astrojs/db';
- import webVitals from '@astrojs/web-vitals';
import { defineConfig } from 'astro/config';
export default defineConfig({
integrations: [
db(),
- webVitals({ deprecated: true }),
],
// ...
});
```
4. Push the table deletion to Astro Studio:
```sh
npx astro db push
```
## Support
- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
- Submit bug reports and feature requests as [GitHub issues][issues].
## Contributing
This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
- [Contributor Manual][contributing]
- [Code of Conduct][coc]
- [Community Guide][community]
## License
MIT
Copyright (c) 2023present [Astro][astro]
[astro]: https://astro.build/
[db]: https://astro.build/db/
[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
[discord]: https://astro.build/chat/
[issues]: https://github.com/withastro/astro/issues
[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/