Vite plugin for building Obsidian plugins
Vite plugin for building Obsidian plugins.
npm install -D @aliou/vite-plugin-obsidian
Create a manifest.config.ts in your project root:
// manifest.config.ts
import { defineManifest } from "@aliou/vite-plugin-obsidian";
export default defineManifest({
id: "my-plugin",
name: "My Plugin",
version: "1.0.0",
minAppVersion: "1.0.0",
description: "A cool plugin",
author: "Your Name",
});
Then import the manifest in your Vite config and pass it to the plugin:
// vite.config.ts
import { obsidian } from "@aliou/vite-plugin-obsidian";
import { defineConfig } from "vite";
import manifest from "./manifest.config";
export default defineConfig({
plugins: [obsidian({ manifest })],
});
This mirrors the @crxjs/vite-plugin API. defineManifest also accepts a promise or a Vite config-env callback:
import { defineManifest } from "@aliou/vite-plugin-obsidian";
export default defineManifest((env) => ({
id: env.mode === "development" ? "my-plugin-dev" : "my-plugin",
name: "My Plugin",
version: "1.0.0",
minAppVersion: "1.0.0",
description: "A cool plugin",
author: "Your Name",
}));
obsidian, electron, all @codemirror/*, @lezer/*, and Node builtinsmanifest.json from the manifest optionstyles.cssexport interface ObsidianPluginOptions {
manifest: ObsidianManifestExport; // object, promise, or env callback
entry?: string; // default: "main.ts"
outDir?: string; // default: "dist"
cssFileName?: string; // default: "styles.css"
sourcemap?: "inline" | "hidden" | false;
minify?: boolean; // default: false
external?: string[]; // additional externals
}
MIT