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

3.1.0 • Public • Published

@codspeed/vitest-plugin

Vitest plugin for CodSpeed

CI npm (scoped) Discord CodSpeed Badge

Documentation

Check out the documentation for complete integration instructions.

Installation

First, install the plugin @codspeed/vitest-plugin and vitest (if not already installed):

[!NOTE] The CodSpeed plugin is only compatible with vitest@1.2.2 and above.

npm install --save-dev @codspeed/vitest-plugin vitest

or with yarn:

yarn add --dev @codspeed/vitest-plugin vitest

or with pnpm:

pnpm add --save-dev @codspeed/vitest-plugin vitest

Usage

Let's create a fibonacci function and benchmark it with vitest.bench:

import { describe, bench } from "vitest";

function fibonacci(n: number): number {
  if (n < 2) {
    return n;
  }
  return fibonacci(n - 1) + fibonacci(n - 2);
}

describe("fibonacci", () => {
  bench("fibonacci10", () => {
    fibonacci(10);
  });

  bench("fibonacci15", () => {
    fibonacci(15);
  });
});

Create or update your vitest.config.ts file to use the CodSpeed runner:

import { defineConfig } from "vitest/config";
import codspeedPlugin from "@codspeed/vitest-plugin";

export default defineConfig({
  plugins: [codspeedPlugin()],
  // ...
});

Finally, run your benchmarks (here with pnpm):

$ pnpm vitest bench --run
[CodSpeed] bench detected but no instrumentation found, falling back to default vitest runner

... Regular `vitest bench` output

And... Congrats 🎉, CodSpeed is installed in your benchmarking suite! Locally, CodSpeed will fallback to vitest since the instrumentation is only available in the CI environment for now.

You can now run those benchmarks in your CI to continuously get consistent performance measurements.

Package Sidebar

Install

npm i @codspeed/vitest-plugin

Homepage

codspeed.io

Weekly Downloads

2,142

Version

3.1.0

License

Apache-2.0

Unpacked Size

19.7 kB

Total Files

7

Last publish

Collaborators

  • adriencaccia
  • art049