@codecov/remix-vite-plugin
v1.6.0
Published
Official Codecov Remix plugin
Downloads
878
Readme
Codecov Remix Plugin
A Remix plugin that provides bundle analysis support for Codecov.
[!NOTE] This plugin only supports Remix 2.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/remix-vite-plugin --save-dev
Using yarn:
yarn add @codecov/remix-vite-plugin --dev
Using pnpm:
pnpm add @codecov/remix-vite-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.
// vite.config.ts
import { vitePlugin as remix } from "@remix-run/dev";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
import { codecovRemixPlugin } from "@codecov/remix-vite-plugin";
export default defineConfig({
plugins: [
remix(),
tsconfigPaths()
// Put the Codecov Remix plugin after all other plugins
codecovRemixPlugin({
enableBundleAnalysis: true,
bundleName: "example-remix-bundle",
uploadToken: process.env.CODECOV_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
.
// vite.config.ts
import { vitePlugin as remix } from "@remix-run/dev";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
import { codecovRemixPlugin } from "@codecov/remix-vite-plugin";
export default defineConfig({
plugins: [
remix(),
tsconfigPaths()
// Put the Codecov Remix plugin after all other plugins
codecovRemixPlugin({
enableBundleAnalysis: true,
bundleName: "example-remix-bundle",
uploadToken: process.env.CODECOV_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.
// vite.config.ts
import { vitePlugin as remix } from "@remix-run/dev";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
import { codecovRemixPlugin } from "@codecov/remix-vite-plugin";
export default defineConfig({
plugins: [
remix(),
tsconfigPaths()
// Put the Codecov Remix plugin after all other plugins
codecovRemixPlugin({
enableBundleAnalysis: true,
bundleName: "example-remix-bundle",
uploadToken: process.env.CODECOV_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.
// vite.config.ts
import { vitePlugin as remix } from "@remix-run/dev";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
import { codecovRemixPlugin } from "@codecov/remix-vite-plugin";
export default defineConfig({
plugins: [
remix(),
tsconfigPaths()
// Put the Codecov Remix plugin after all other plugins
codecovRemixPlugin({
enableBundleAnalysis: true,
bundleName: "example-remix-bundle",
oidc: {
useGitHubOIDC: true,
},
}),
],
});