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
Houston (Bot) aa05be3313
[ci] release (#11481)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-18 16:05:23 +01:00
..
src Let web vitals route handle all requests under that path (#11120) 2024-05-23 10:45:03 +02:00
test [ci] format 2024-05-18 14:34:08 +00:00
CHANGELOG.md [ci] release (#11481) 2024-07-18 16:05:23 +01:00
package.json [ci] release (#11481) 2024-07-18 16:05:23 +01:00
README.md Support deprecating Web Vitals table (#11096) 2024-05-20 16:51:02 +02:00
tsconfig.json

@astrojs/web-vitals (experimental) ⏱️

This Astro integration enables tracking real-world website performance and storing the data in Astro DB.

Pre-requisites

  • Astro DB@astrojs/web-vitals will store performance data in Astro DB in production
  • An SSR adapter@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:

    npx astro add web-vitals
    
  2. Push the tables added by the Web Vitals integration to Astro Studio:

    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 and deploying with 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:

    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:

    npx astro db push
    
  3. Remove the web vitals integration in astro.config.mjs:

    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:

    npx astro db push
    

Support

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:

License

MIT

Copyright (c) 2023present Astro