@codecov/nuxt-plugin
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

Codecov by Sentry logo

Codecov Nuxt Plugin

A Nuxt plugin that provides bundle analysis support for Codecov.

[!NOTE] This plugin only supports Nuxt 3.x when building with Vite.

The plugin does not support code coverage, see our docs to set up coverage today!

Installation

Using npm:

npm install @codecov/nuxt-plugin --save-dev

Using yarn:

yarn add @codecov/nuxt-plugin --dev

Using pnpm:

pnpm add @codecov/nuxt-plugin --save-dev

Public Repo Example - GitHub Actions

This configuration will automatically upload the bundle analysis to Codecov for public repositories. When an internal PR is created it will use the Codecov token set in your secrets, and if running from a forked PR, it will use the tokenless setting automatically. For setups not using GitHub Actions see the following example. For private repositories see the following example.

// nuxt.config.ts
import { defineNuxtConfig } from "nuxt/config";

export default defineNuxtConfig({
  devtools: { enabled: true },
  // Ensure that the builder is set to "vite"
  builder: "vite",
  // Ensure that the plugin is added to the modules array
  modules: [
    [
      "@codecov/nuxt-plugin",
      {
        enableBundleAnalysis: true,
        bundleName: "nuxt-bundle-analysis",
        uploadToken: process.env.CODECOV_UPLOAD_TOKEN,
        gitService: "github",
      },
    ],
  ],
});

Public Repo Example - Non-GitHub Actions

This setup is for public repositories that are not using GitHub Actions, this configuration will automatically upload the bundle analysis to Codecov. You will need to configure the it similar to the GitHub Actions example, however you will need to provide a branch override, and ensure that it will pass the correct branch name, and with forks including the fork-owner i.e. fork-owner:branch.

// nuxt.config.ts
import { defineNuxtConfig } from "nuxt/config";

export default defineNuxtConfig({
  devtools: { enabled: true },
  // Ensure that the builder is set to "vite"
  builder: "vite",
  // Ensure that the plugin is added to the modules array
  modules: [
    [
      "@codecov/nuxt-plugin",
      {
        enableBundleAnalysis: true,
        bundleName: "nuxt-bundle-analysis",
        uploadToken: process.env.CODECOV_UPLOAD_TOKEN,
        gitService: "github",
        uploadOverrides: {
          branch: "<branch value>",
        },
      },
    ],
  ],
});

Private Repo Example

This is the required way to use the plugin for private repositories. This configuration will automatically upload the bundle analysis to Codecov.

// nuxt.config.ts
import { defineNuxtConfig } from "nuxt/config";

export default defineNuxtConfig({
  devtools: { enabled: true },
  // Ensure that the builder is set to "vite"
  builder: "vite",
  // Ensure that the plugin is added to the modules array
  modules: [
    [
      "@codecov/nuxt-plugin",
      {
        enableBundleAnalysis: true,
        bundleName: "nuxt-bundle-analysis",
        uploadToken: process.env.CODECOV_UPLOAD_TOKEN,
      },
    ],
  ],
});

OIDC Configuration Example

For users with OpenID Connect (OIDC) enabled, setting the uploadToken is not necessary. You can use OIDC with the oidc configuration as following.

// nuxt.config.ts
import { defineNuxtConfig } from "nuxt/config";

export default defineNuxtConfig({
  devtools: { enabled: true },
  // Ensure that the builder is set to "vite"
  builder: "vite",
  // Ensure that the plugin is added to the modules array
  modules: [
    [
      "@codecov/nuxt-plugin",
      {
        enableBundleAnalysis: true,
        bundleName: "nuxt-bundle-analysis",
        oidc: {
          useGitHubOIDC: true,
        },
      },
    ],
  ],
});

More information

Package Sidebar

Install

npm i @codecov/nuxt-plugin

Weekly Downloads

512

Version

1.2.0

License

MIT

Unpacked Size

25.2 kB

Total Files

10

Last publish

Collaborators

  • codecov-devops
  • trent-codecov
  • nicholas-codecov
  • hootener
  • drazisil