Files
PaperClipAI/packages/plugins/examples/plugin-quick-notes-example/esbuild.config.mjs
T
DottaandPaperclip 571fbac248 Add Quick Notes example plugin demonstrating core plugin surfaces
Mirrors the Bookmarks example (PAP-3575) with a company-scoped note
library: database namespace, scoped API routes, page/sidebar/widget/
settings UI slots. All 7 tests pass.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 15:15:28 -05:00

18 lines
773 B
JavaScript

import esbuild from "esbuild";
import { createPluginBundlerPresets } from "@paperclipai/plugin-sdk/bundlers";
const presets = createPluginBundlerPresets({ uiEntry: "src/ui/index.tsx" });
const watch = process.argv.includes("--watch");
const workerCtx = await esbuild.context(presets.esbuild.worker);
const manifestCtx = await esbuild.context(presets.esbuild.manifest);
const uiCtx = await esbuild.context(presets.esbuild.ui);
if (watch) {
await Promise.all([workerCtx.watch(), manifestCtx.watch(), uiCtx.watch()]);
console.log("esbuild watch mode enabled for worker, manifest, and ui");
} else {
await Promise.all([workerCtx.rebuild(), manifestCtx.rebuild(), uiCtx.rebuild()]);
await Promise.all([workerCtx.dispose(), manifestCtx.dispose(), uiCtx.dispose()]);
}