UNPKG

obsidian-dev-utils

Version:

This is the collection of useful functions that you can use for your Obsidian plugin development

39 lines (35 loc) 957 B
import type { OnLoadResult, Plugin } from 'esbuild'; import type { CliTaskResult } from 'obsidian-dev-utils/ScriptUtils/CliUtils'; import { BuildMode, buildObsidianPlugin } from 'obsidian-dev-utils/ScriptUtils/esbuild/ObsidianPluginBuilder'; import { readFile } from 'obsidian-dev-utils/ScriptUtils/NodeModules'; export async function invoke(): Promise<CliTaskResult> { return await buildWithCustomPlugin(); } export async function buildWithCustomPlugin(): Promise<CliTaskResult> { return await buildObsidianPlugin({ mode: BuildMode.Production, customEsbuildPlugins: [ customPlugin() ] }); } function customPlugin(): Plugin { return { name: 'custom-plugin', setup(build): void { build.onLoad({ filter: /\.png$/ }, async (args): Promise<OnLoadResult> => { const contents = await readFile(args.path); return { loader: 'dataurl', contents }; }); } }; }