Skip to main content

Nameof Vitest Plugin Examples

Use these snippets to enable compile-time name replacement during test execution so typed name helpers add no runtime overhead.

nameOfPluginTransform

import { nameOfPluginTransform } from '@twin.org/nameof-vitest-plugin';

const source = `
import { nameof } from '@twin.org/nameof';
class UserSession {}
const className = nameof<UserSession>();
`;

const transformed = nameOfPluginTransform(source, 'session.spec.ts');

transformed.includes("'UserSession'"); // true

NameOfPlugin

import { defineConfig } from 'vitest/config';
import { NameOfPlugin } from '@twin.org/nameof-vitest-plugin';

export default defineConfig({
plugins: [NameOfPlugin],
test: {
include: ['tests/**/*.spec.ts']
}
});