Skip to content

@mrmt/vite ​

Composable Vite plugins that handle the boring parts of building a TypeScript library: entry discovery, type declarations, externals, an embedded documentation site and a generated API reference.

sh
npm install --save-dev @mrmt/vite vite typescript
ts
// vite.config.ts
import { defineConfig } from "vite";
import { Lib } from "@mrmt/vite/lib";

export default defineConfig({ plugins: Lib() });

What's inside ​

Import pathWhat it gives youRead
@mrmt/vite/libLib(), LibConfig(): build an ESM TypeScript libraryBuilding a library
@mrmt/vite/docsDocs(): a VitePress site embedded in your Vite server (included in Lib)Documentation plugin
@mrmt/vite/dtsdts(), getDTSPlugin(): declaration filesAPI reference
@mrmt/vite/lib/contextVitePluginContext, contextFactory(): path resolution for your own pluginsAPI reference
@mrmt/vite/codegenregisterCommentTypeResolver(): teach generated-file headers new comment syntaxesAPI reference
@mrmt/vite/base-configBaseConfig(), BaseBundle(): the shared baselineAPI reference
@mrmt/vite/package-metaPackageMeta(): injects the package name and versionAPI reference

Lib() is a bundle of lower-level plugins, including the TypeDoc plugin from @mrmt/unplugin-typedoc. Vue and Vuetify projects use @mrmt/vite-ui instead.

The api/ pages are generated by the build (vp run build): they don't exist on a fresh checkout.