JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 311
  • Score
    100M100P100Q115404F
  • License MIT

Track your website's performance with Astro DB

Package Exports

  • @studiocms/web-vitals
  • @studiocms/web-vitals/client-script
  • @studiocms/web-vitals/db-config
  • @studiocms/web-vitals/endpoint
  • @studiocms/web-vitals/middleware

Readme

@studiocms/web-vitals

NPM Version Formatted with Biome Built with Astro

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

@studiocms/web-vitals is a fork of the @astrojs/web-vitals package originally provided by the WithAstro organization for the Astro Studio product offering they have since sunset. StudioCMS was asked to takeover this package due to our integration of this package within StudioCMS for vitals and analytics reporting.

Pre-requisites

  • Astro DB@studiocms/web-vitals will store performance data in Astro DB in production
  • An SSR adapter@studiocms/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 @studiocms/web-vitals
  2. Push the tables added by the Web Vitals integration to Astro DB Database:

    npx astro db push
  3. Redeploy your site.

  4. Your data will now be stored within your db!

Learn more about Astro DB in the Astro docs.

Migrating from @astrojs/web-vitals

Migrating is super easy, just replace the entries in your package.json and astro.config.* files with the new name @studiocms/web-vitals and your good to go! We have not changed any of the table structures or variables as it's simply not needed as this project worked perfectly beforehand.

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 '@studiocms/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 DB Database:

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

    import db from '@astrojs/db';
    - import webVitals from '@studiocms/web-vitals';
    import { defineConfig } from 'astro/config';
    
    export default defineConfig({
      integrations: [
        db(),
    -   webVitals({ deprecated: true }),
      ],
      // ...
    });
  4. Push the table deletion to Astro DB Database:

    npx astro db push

Support

License

MIT

Copyright (c) 2023–present Astro - Modified by StudioCMS 2025